feat(searchbar): improve accessibility

Pull request checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[x] Build (npm run build) was run locally and any changes were pushed
[x] Lint (npm run lint) has passed locally and any fixes were made for failures

Pull request type
Please check the type of change your PR introduces:

[x] Feature

What is the current behavior?

Issue Number: https://github.com/ionic-team/ionic/issues/18796
Changes

added role=“search” to ion-searchbar
added aria-label="search text" to the search input
added aria-label="reset" to the button that clears input
added aria-hidden="true" to ion-icons (for close and arrow-back icons only)

What is the new behavior?
Improved support for screen readers. Improved accessibility audit scores and greatly reduced reported errors\violations. The following results were collected by running tests against the searchbar 'basic' test page in the browser, using well-known developer tools and extensions.
Chrome Lighthouse  Accessibility Audit:
Before 65%
After: 77%
WAVE web accessibility evaluation tool:
Errors Before: 49
Errors After: 1
axe for Chrome:
Violations Before: 28
Violations After: 10
Does this introduce a breaking change?

[x] No

Other information
For an in-depth description of the problem this solves and supporting documentation, see: https://github.com/ionic-team/ionic/issues/18796

This is great, thanks!

Hello, how can I translate this hardcoded aria-label texts?


safety_button set STACK_MAIN

Caught by px4_fmu-v5_stackcheck on the test rack.

GPS hardfault in px4_fmu-v5_stackcheck. http://ci.px4.io:8080/blue/organizations/jenkins/PX4_misc%2FFirmware-hardware/detail/pr-stack_fixes/1/pipeline


I want to know how the server initiated streams?

the server code,etc.
// ChannelHandler that is added into QuicChannel pipeline.
.handler(new ChannelInboundHandlerAdapter() {
@Override
public void channelActive(ChannelHandlerContext ctx) throws InterruptedException {
QuicChannel channel = (QuicChannel) ctx.channel();
// Create streams etc..
QuicStreamChannel streamChannel = channel.createStream(QuicStreamType.BIDIRECTIONAL,
new ChannelInboundHandlerAdapter() {
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
ByteBuf byteBuf = (ByteBuf) msg;
System.err.println(byteBuf.toString(CharsetUtil.US_ASCII));
byteBuf.release();
}
                                @Override
                                public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
                                    if (evt == ChannelInputShutdownReadComplete.INSTANCE) {
                                        // Close the connection once the remote peer did send the FIN for this stream.
                                        ((QuicChannel) ctx.channel().parent()).close(true, 0,
                                                ctx.alloc().directBuffer(16)
                                                        .writeBytes(new byte[]{'k', 't', 'h', 'x', 'b', 'y', 'e'}));
                                    }
                                }
                            }).sync().getNow();
                }

when I send the message,I receive an error.

Maximum number of streams of each type is bound by initial transport parameters and MAX_STREAMS frames. Additionally these limits are controlled by the peer receiving data on these streams, so in this case you will have to see what are these limits set by the client.
See the specifications for more details: https://datatracker.ietf.org/doc/html/rfc9000#section-4.6

Oh,it work.Thank you very much.


Failed to execute Start on TimeRanges

Browser:
Chrome Version 85.0.4183.121 (Official Build) (64-bit)
OS:
Server 2019 / Win 10
Clappr Version:
0.4.1 (latest)
Steps to reproduce:
I have a script that saves the time of the video and then resumes that time.  On version 0.4.0 it works fine, but on 0.4.1 I get the following error...

Can you share the media and the script to reproduce the problem? You can use clappr.io/demo to do this (:

@asheroto ping

I believe this has been resolved, I'll close it.


Redundant and missing history transactions

@franckc swapped ETH for OETH on Curve and the transaction is missing. Meanwhile, the same redeem transaction is showing up repeatedly (as a swap).

@micahalcorn are you able to test this?

@micahalcorn are you able to test this?

Yep, I've got this one covered, thanks.


Update all Visual Studio projects and configs to target C++20

Noticed a few missing setting updates related to PR #1064.

Adding references to: Issue #826, PR #1064, PR #1063


dead keys, from international keyboard layout, don't work in terminal

I am not sure if this is the correct place to post this issue, sorry.
The terminal in tmpnb.org doesn't behave well with "dead keys". I am using the "U.S. International - PC" keyboard layout in mac os x and both in Safari and Firefox I cannot type in a quote " or tilde ~ characters, and etc.
As far as I understand dead key works as follows:
To type ä you would press " and then a. To type " you would press " and space. Alternatively, if you're following the " character with a non-diacritic-able character, you could just type that character. For example, I don't think h-with-trema exists, so you could get the string "h by typing " and h (you could also put a space between those two keystrokes for the same effect)
There are a few different ways I've seen applications handle deadkeys.

When you press a dead key, nothing happens. A character gets emitted if you do one of the three things above (a. hit space, b. hit a diacritic-able character, c. hit a non-diacritic-able character)
When you press a dead key, the character appears as if it weren't a dead key. It then a. stays there and cursor moves over, b. gets replaced by, e.g. ä, c. stays there, another character gets emitted, and the cursor moves over two spaces`

Some applications that do number 2 will highlight the character or underline the character immediately after hitting a dead key to indicate that it is not totally emitted yet. Note that the notebook cell does number 2, without any of the indications I just mentioned.

Closing in favor of current issues reported on ipython/ipython and on jupyter/notebook.


Setup steps now update the service statuses

The create_service function used for the setup steps will either
create a new service or update it if that service already exists.
Unfortunately, updating a service wouldn't reset the service's status.
Adding a second API call to update services to 'published' so that
tests run as expected.

Create seems like a funny name if it sometimes updates but I guess it doesn't really matter. Looks good. :+1:


Adjust docs for Entra for Customers (preview)

Firstly, thanks for this demo :-)
I struggled for a long time to get this right...finally figured out the deltas and got it working with the applications authenticating against  MS Entra Id for Customers (preview).
BlazorWebAppOidc (server) value changes in Program.cs:
oidcOptions.Scope.Add("api://efc9xxxx-xxxx-xxxx-xxxx-xxxxxxxx2d15/Weather.Get");
"efc9xxxx-xxxx-xxxx-xxxx-xxxxxxxx2d15" is the ClientId of the MinimalApiJwt App Registration
MinimalApiJwt value changes in Program.cs:
jwtOptions.Audience = "api://efc9xxxx-xxxx-xxxx-xxxx-xxxxxxxx2d15";
again "efc9xxxx-xxxx-xxxx-xxxx-xxxxxxxx2d15" is the ClientId of the WebAPI app registration
jwtOptions.Authority = "https://sts.windows.net/87dcxxxx-xxxx-xxxx-xxxx-xxxxxxxx2c98/";
"87dcxxxx-xxxx-xxxx-xxxx-xxxxxxxx2c98" is the TenantId of the Entra for customers directory
Notice the different value: https://sts.windows.net/... on the WebAPI side.
That part cost me so much time.  Token kept getting rejected after I reviewed the docs repeatedly.
I finally discovered the iss: value was different in the token than the authority.
(someone that knew what they were doing probably would have identified it right away but dumb me didn't realize that iss: = authority)
Credit to this article for helping me identify the problem
Thanks again, looking forward to .Net 9 and new templates.  Keep up the good work.

Hello @swegele ... A couple of points ...

Thanks for the feedback and kind words.

It's always better to open issues for the docs from the bottom of the article. This repo isn't the main working repo for issues. I'll take care of opening the issue and cross-linking it to this issue.

I see that you're specifying api://-types of scopes because of your tenant domain. If the tenant domain is of the ME-ID type, the App ID URI goes with the api://. If the tenant is of the AAD B2C type, then the scope APP ID URI goes with the https://contoso.onmicrosoft.com/4ba ... f9f5f0f/ format. I can see now that the article section didn't take this into account, just like the sample app here doesn't have a code comment on it ...
https://learn.microsoft.com/en-us/aspnet/core/blazor/security/blazor-web-app-with-oidc?view=aspnetcore-8.0&pivots=with-bff-pattern#configuration-1
Therefore, I'll need to update it on both sides with more information calling out the type of tenant in use will dictate which App ID URI one can use.

... and the same is true for the Minimal API JWT project ...
https://learn.microsoft.com/en-us/aspnet/core/blazor/security/blazor-web-app-with-oidc?view=aspnetcore-8.0&pivots=with-bff-pattern#configuration-2
... which also doesn't call out the tenant type and only shows the AAD B2C format of the App ID URI.

Thanks for the report on this. I'll get it fixed tomorrow morning.

I'll re-open and work from over here first.
... and this will be for tomorrow morning. I'm TOAST for the day 😩 and need to get off of this PC! 😆

Thank you sir!  Enjoy your day and "eat toast...don't be toast" :-)


in Complex Values example, only initial values for colors is working properly

Referring to this page:  http://erikras.github.io/redux-form/#/examples/complex
in the example code, I see this:
  initialValues: {
    hobbies: [potentialHobbies[0], potentialHobbies[2]],
    favoriteHobby: potentialHobbies[2],
    colors: ['Red', 'Green', 'Blue']
  }

But in the actual page, you can clearly see the hobbies are not selected.  Also Favorite Hobby should be set to Hiking.

When I do a submit without changing anything, I do get the hobbies I'm expecting:
{
  "hobbies": [
    {
      "id": 1,
      "label": "Guitar",
      "category": "music"
    },
    {
      "id": 3,
      "label": "Hiking",
      "category": "outdoors"
    }
  ],
  "favoriteHobby": {
    "id": 3,
    "label": "Hiking",
    "category": "outdoors"
  },
  "colors": [
    "Red",
    "Green",
    "Blue"
  ]
}

I ended up fixing it this way:
in ObjectSelect.js I changed the following:
        {options.map(option =>
          <option key={option.id} value={JSON.stringify(option)}>{option.label}</option>)}

to
        {options.map(option =>
          <option key={option.id} value={option.id}>{option.label}</option>)}

in ComplexValuesForm.js I changed the following:
  initialValues: {
    hobbies: [potentialHobbies[0], potentialHobbies[2]],
    favoriteHobby: potentialHobbies[2],
    colors: ['Red', 'Green', 'Blue']
  }

to
  initialValues: {
    hobbies: [1, 3],
    favoriteHobby: 3,
    colors: ['Red', 'Green', 'Blue']
  }

Just replace value={value} on select with value={value && value.id}. I'm so glad that there is no two-way bindings in react!


DatePicker: AutoOK prop?

Hi, i'm loving react-toolbox :), just finding a little too much having to click the OK button on the DatePicker; having the selector closed after picking a day is very useful in most cases.
Also while on dates, how about some options to support I18n?

Hi @alexamart! I'm very happy you like it :)
I think it definitively would give some flexibility. I'm going to add onCalendarChange prop to the picker so you can subscribe by passing a function that can retrieve the value and update the dialog setting active to false. The difference with onChange would be precisely that in the first one you have to update the value yourself while the second one happens once you accepted the dialog. I need to try it but I think it's an easy change that would be available via patch during the next couple of days.
About i18n I think it's very important but we still need to prepare the components to work well on mobile and add some layout components. Contributions with first steps with i18n are very welcome!
Thanks for your kind words!

I'll second this comment, and also mention something I've thought about for this library and material-ui.com version (so maybe it's more of a Material UI thing in general):
A combined datepicker and timepicker would be very useful. For example, you want to set a reminder or a specific time on a specific day for something. To chain both of the 'pickers' in sequence, or something?
Just a thought!

I think it makes sense from a consumer point of view. All depends on whether we want to stick hard to the spec or if it's better to make it flexible with requirements made from people. I would happy to add stuff out of the spec and as a last priority :)

@javivelasco The main issue is solved in 7dfa13fb7538732eaf36db6e6b3ffbf3105a4f04. As for the i18n support, we could open another ticket and close this one.

Yep

I would really like to see i18n followed up.
Whats the current state and thinking on this ?
I noticed that the team at material-ui have not fully done it. they ended up with ramming it n via react props, and so you end up with lots of prop.

Not sure how can it be implemented without messing too much. Honestly I did not spent time thinking on this yet..

I know what you mean about messing too much. I noticed the other teams working on react had problems. Angular2 handled it from the start because its so disruptive to the code base, etc.
i18n is really a cross cutting concern in project:

front end needs it
front end validation messages need it.
backend needs it.

So, I have a weird idea, and would like you to think about it.
What if the translated text can from a separate service (like a web server) at runtime ? I have worked with these before. But for react-toolbox what you it mean ?

Maybe each component that needs it can call for it at the level they are running and not need them to be passed in as props.
A standard storage (caching in reality) layer using local storage is included, so that whenever a component calls for the translation text, it will hit the local storage first, and if a cache miss occurs will get it from the server.

I know the project quite well because I'm working in an project using it. I propose to open an issue and:

Identify components that should be internationalized.
Think about use cases and provide a function to pass the appropriated values at rendering time. For example, localize a Date would be different from a String for obvious reasons. The former needs some transformation and the latter it's just a Text.

Probably turning i18n strings into functions that receive the appropiated values would be enough. Also, having functional components this is really easy because we are externalizing the state so anyone using it can bind the values to the functions generating localized strings.

@javivelasco
I made a new issue here:
https://github.com/react-toolbox/react-toolbox/issues/623
I tried to highlight the goal, but also the architectural choices a bit.
Also the fact that it fits into a bigger picture, and is not easy to get right.
I think its every single component when i think about it realistically.  Maybe i am wrong.
SO its a framework level thing.
Lets try and work this out and move it forward in the new Issue :)

Great! 👍


CombinedScrollPhysics

Proposal
I would like to have a mixed ScrollPhysics, where at the start of a scrollable area it behaves like ClampingScrollPhysics (stiff) and at the end like BouncingScrollPhysics (allows overscrolling)
Possible API design:
CombinedScrollPhysics(start: BouncingScrollPhysics(), end: ClampingScrollPhysics())
Usecase
May be useful in any lists / scroll views where I need to prevent overscrolling in one direction and keep it in the other.

@subzero911
Per documentation:
Instead of creating your own subclasses, [parent](https://api.flutter.dev/flutter/widgets/ScrollPhysics/parent.html) can be used to combine [ScrollPhysics](https://api.flutter.dev/flutter/widgets/ScrollPhysics-class.html) objects of different types to get the desired scroll physics. For example:

const BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics())
You can also use applyTo, which is useful when you already have an instance of [ScrollPhysics](https://api.flutter.dev/flutter/widgets/ScrollPhysics-class.html):

ScrollPhysics physics = const BouncingScrollPhysics();
// ...
final ScrollPhysics mergedPhysics = physics.applyTo(const AlwaysScrollableScrollPhysics());

Can you check if above helps in achieve your use case ?

No, it won't help.
You can merge physics, but you can't merge it like "clamp on above, bounce on below".
But I found a ready-made package which does exactly what I proposed.
https://pub.dev/packages/flutter_top_blocked_bouncing_scroll_physics
How about checking it for quality and adding it as a part of Flutter?

Thanks for the update. Good to know a package exists for such feature. Since the functionality is already present, the possibility of having it in the framework out of the box may not be feasible.
On that basis, I'll go ahead and close this issue, since a community package already offers the feature you proposed.


Bug in dask==2022.05.1

Dask updated a few days ago and interpolation with xESMF no longer works:
  File "/conda/miniconda38/envs/txy/lib/python3.9/site-packages/xesmf/frontend.py", line 770, in __init__
    grid_in, shape_in, input_dims = ds_to_ESMFgrid(
  File "/conda/miniconda38/envs/txy/lib/python3.9/site-packages/xesmf/frontend.py", line 113, in ds_to_ESMFgrid
    lon, lat = _get_lon_lat(ds)
  File "/conda/miniconda38/envs/txy/lib/python3.9/site-packages/xesmf/frontend.py", line 45, in _get_lon_lat
    if ('lat' in ds and 'lon' in ds) or ('lat' in ds.coords and 'lon' in ds.coords):
  File "/conda/miniconda38/envs/txy/lib/python3.9/site-packages/xarray/core/dataarray.py", line 780, in __contains__
    return key in self.data
  File "/conda/miniconda38/envs/txy/lib/python3.9/site-packages/dask/array/core.py", line 1826, in __bool__
    raise ValueError(
ValueError: The truth value of a Array is ambiguous. Use a.any() or a.all().

We need to require dask<=2022.05.0 until it is fixed.

This has been addressed in #50


Add concensus voting capability

Concensus voting functionality should be added to godcr.
The following documentation should be able to assist.
https://docs.decred.org/governance/consensus-rule-voting/overview/
https://docs.decred.org/governance/consensus-rule-voting/how-to-vote/

If the voting interface is hidden due to wallet not having any tickets, this should be made clear in the UI.

If no proposals have active voting it should be made clear in the interface

temporarily blocked by https://github.com/planetdecred/godcr/pull/769

temporarily blocked by https://github.com/planetdecred/dcrlibwallet/pull/225

#769 and https://github.com/planetdecred/dcrlibwallet/pull/225 are now merged work and progress and usual.


Wargame license

https://github.com/Trilarion/opensourcegames/blob/5e77f1e9a8ad969d933d609b142a7550703144e3/games/strategy/wargame.md does not seem to have license information attached to the source code
Contact the author(s) and ask for clarification and/or possibility to add a suitable license.

There are no contact information on the codeplex page but it seems the creator of the game is/was semagsoft (https://semagsoft.com/games/wargame/). Site looks commercial but also a bit like out of business. Contacted via the contact form (https://semagsoft.com/contact/).

Contact was not possible. The form said that it could not send the message.
Without any apparent way to contact the original authors and without a clear indication within the source of the used license, I assume that it's not sure whether modifying and sharing is allowed. Will remove the entry.


[WFLY-20047] Restore the 1.0 model version; remove the unused Namespace class

This addresses a couple non-blocking comments I made on https://github.com/wildfly/wildfly/pull/18470

<--- THIS SECTION IS AUTOMATICALLY GENERATED BY WILDFLY GITHUB BOT. ANY MANUAL CHANGES WILL BE LOST. --->

Wildfly issue links:

WFLY-20047
WFLY-20050

<--- END OF WILDFLY GITHUB BOT REPORT --->
More information about the wildfly-bot[bot]

I am hearing that this change to register on "/" is causing a problem so we need to hold off on merging this /cc @marcosgopen @mnovak1 @xstefank

@bstansberry I closed my original pull request so would ask you to close this one too, please - or maybe you would like to get at least the removal of the Namespace.java in?

@tomjenkinson @xstefank sure I can rebase this and turn it into just dropping that class.
It's not urgent though so I'll put this on hold to avoid wasting peoples' time.

@xstefank @tomjenkinson I converted this into just a remove of the cruft Namespace class.

Thank you @bstansberry assuming CI passes it looks good to me :)


Errors page implementation in the Home scope

See mockup:
https://www.figma.com/proto/MxA95ZHK5NqGX4ptFQljRJ/⭐-Design-System-3.0?page-id=4193%3A89582&node-id=12929-173939&viewport=541%2C-60947%2C0.87&t=AbhBdFz2FRL2nqLq-1&scaling=min-zoom&content-scaling=fixed&starting-point-node-id=12929%3A173939&show-proto-sidebar=1
Explanation of link behavior:

Step 1:
Show all errors in Home.
Use new styling. The status label (e.g Escalating, High number of errors is shown in today's implementation as Characteristic)
Features NOT included in step 1:

Filters
Affected endpoints
Ticket
Dismiss
Dates selection

Search should be by:
Message, Exception Type, Location (where the error was triggered)
Sort should be by criticality (score)/newest

Step 2:
Add the affected endpoint to the error card (similar to issues).
This widget should be shown only if we know what the endpoints are based on the traces associated with the error.
Step 3:
Add filter by services. Add the filter component (our standard one) and a services filter box. The errors shown are only those that were triggered by these services. (today we already have that connection between errors -> services). The list of services in the filter should be all services in the current environment. (not just those with errors).
Step 4:
Add filter by affected endpoints. The endpoint list should be affected by the services filter and vice versa (like in Assets Filters today).  Endpoints are sorted by alphabet.  Endpoints are - HTTP, Consumer and Internal Operations
Step 5:
Add date filter, the user should be able to see only errors that occurred on specific days (last x days)
Step 6:
Add chart option for an error, this allows the user to see the number of occurrences on each day.

Step 7:
Add pin option - this error will be pinned to the top (regardless of filters and always at the top).
The user would like to follow a specific error. The pin is global for an env.
Step 8:
Add a dismiss option,when the user is not interested in an error or he deemed it unimportant. These errors will move into a 'dimissed' status (similar to issues). The user will still have the option to show them again by clicking on the eye icon at the bottom (similar to issues).

epic created https://github.com/digma-ai/digma-ui/issues/1084


Full Admin Panel

I wrote @KrauseFx an email the other day about this. After playing with this, the idea is great, however, I (and I am sure many other would feel the same) don't like the current flow where anyone can actually add themselves to TestFlight. Before Apple bought them, you were able to share a link to a page where people could sign up and join, but you had to approve people.

Enable or Disable Signups
Set a date signups are open
Set a limit on signups
Enable automatic TestFlight enrollment
Approve/Deny Signups.

The first three are pretty self explanatory, but let me go into detail about the 5th. Basically, a system I would use would work like this.
 If Option #4 is disabled and you have it set to approve or deny signups, you would be presented with a list of people who signed up via the form. From here you can then approve users, thus enrolling them in TestFlight.
It's just an idea so if anyone has any suggestions or comments, feel free to leave them.

+1, I think the most useful parts are 4 and 5, since some companies want to vet users before adding them to their beta.

What do you mean with 4? boarding will automatically enable the latest build for the newly added TestFlight user.

To clarify #4
When Automatic TestFlight enrollment is enabled, anyone who signs up will automatically be added to TestFlight in ITC as a tester, otherwise, if it is disabled, you will have to approve testers before they are added to ITC.


Timezone problems. Moves everything over a day

Do you want to request a feature or report a bug?

Code for screenshot(13)
	//moment.tz.setDefault("America/Vancouver"); 	console.log(moment().format()); 	BigCalendar.setLocalizer(BigCalendar.momentLocalizer(moment));
Code for screenshot(14)
	moment.tz.setDefault("America/Vancouver"); 	console.log(moment().format()); 	BigCalendar.setLocalizer(BigCalendar.momentLocalizer(moment));
You can see that the current date in the calendar moves over to the 16th when it is in fact the 17th in both timezones. You can see that I am console logging the moment date out. Does anyone have any ideas on how to fix this?
What's the current behavior?
You can see the error clearly in this sandbox:
https://codesandbox.io/s/m34q6xw6lx
It shifts all of the days over by one. Saying the current date is one less than the real current date.
Line 7 in the sandbox makes this occur, for some reason setting the moment timezone shifts all the days over by 1.
What's the expected behavior?
The expected behavior would be to display the correct dates, instead of moving everything over a day.

I have the same problem when setting the timezone

@jquense Hi there, do you know of any way to fix this? If not could you point me in the right direction to try myself and then I will make a push request.

@ghostit-dev  did you manage to solve the problem in any way?

@ghostit-dev @thienlhh I've been working on this issue for a while now and have a few things I can add that might help fix (some) of the issues.
First and foremost, the largest problem with timezone lies in the fact that, when converting to JS Dates (which react-big-calendar requires) it uses the timezone of your machine. Setting a time zone with moment and then converting to a JS Date will ignore the set time zone.
My current workaround for events has been to pass strings to my component that houses BigCalendar and convert those to JS Dates (ie moment('2018-04-21 15:30:00').toDate()). The time zone of the JS Date will be incorrect, but the date/time will be accurate.
For setting the highlighted date of 'Today', it's best to use the defaultDate prop for react-big-calendar. This isn't documented anywhere, which is a problem, but I found it in a past issue. However, it's best to use a string here as well for the time you're trying to set (also not convenient, but it works). For us, we have it set up as a prop in local state. It looks something like this:
class CalendarWrapper extends Component {
  state = {
    today: null
  }

  comonentDidMount() {
    const { todayString } = this.props

    this.setState({ today: moment(todayString).toDate() })
  }

  render() {
    const { today } = this.state

    return (
      <BigCalendar
        defaultDate={today}
      />
    )
  }
}

There's also a getNow prop you can use that is a function that returns a JS Date (mostly used for placing the time indicator). This is, unfortunately, another prop that isn't documented in the react-big-calendar examples page. It also only works up to a point. If you're a day ahead or behind, it will place on either tomorrow or yesterday respectively due to the today() method in the dates utilities, which uses new Date() to determine what the current date is.
I'm about to open an issue for this to see if anyone has a solution, though, admittedly, if timezone capabilities were added, none of this would require a workaround. I know this may not answer your question specifically, but maybe it can shed some light on how to solve some of the time zone issues.

Timezone support is a known issue but we need support if we are going to fix it. #118

Does anyone know a fix for this problem?

I am also currently running into this problem. We show class schedules for a gym in the gym's timezone. When the user is in a timezone ahead of the gym's, it offsets the entire calendar by 1 day and starts the day at 10pm instead of midnight in the case of the user's timezone being ahead by 2 hours.
It also starts the week on Saturday instead of Sunday.
Correct:

Incorrect: (User 2 Hours Ahead)

I've reviewed all other timezone issues in react-big-calendar and nothing has resolved this issue...
I think this deserves being re-opened.

I have the same issue. My local time is CET and timezones work correctly if I set it to Tokyo, for example. But not for USA timezones.
@KenneyE were you able to find a workaround for this problem?

@goktugerce I didn't. We actually ended up displaying everything in the user's local timezone to not have to deal with this.
We added a notice above the calendar that detected if the user was in a different tz than the facility, and let them know which tz the events are being displayed in, and that it isn't the same as the facility.

I found a simple workaround for this, but it only works for display purposes. We are not doing any actions from the calendar apart from showing the events.
// Find the difference of hours between your local timezone and the requested timezone.
const gymOffset = moment.tz(gym.timezone).utcOffset();
const localOffset = moment().utcOffset();
const offsetHours = (gymOffset - localOffset) / 60;

// Change props startAccessor and endAccessor accordingly
<BigCalendar
   ...
   startAccessor={(event) => moment(event.from).clone().add(offsetHours, 'hours').toDate()}
   endAccessor={(event) => moment(event.to).clone().add(offsetHours, 'hours').toDate()}
/>

No need to do anything specific for the localizer, just use your local one without setting the default timezone for moment.

@goktugerce you are life savior. Thank you


Documentation is wrong

TBA WCF currently doesn't work with Xamarin.  See https://github.com/dotnet/wcf/issues/2463#issuecomment-387836438.

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

ID: 6b6d6bd0-71b7-f141-2eed-9f99e5d30099
Version Independent ID: 37b4dd5f-4f41-d850-6be1-be92fcb3b739
Content: Walkthrough - Working with WCF - Xamarin
Content Source: docs/cross-platform/data-cloud/web-services/walkthrough-working-with-wcf.md
Service: xamarin
GitHub Login: @asb3993
Microsoft Alias: amburns

Thanks @PhilPJL. I've added a note to our internal backlog to take a look at this. Appreciate the help.


Latest editor does not match tutorial

This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?
1.Download latest Dart and editor
2.Follow the tutorial and make a new helloworld command line project
3.
What is the expected output? What do you see instead?
Expected scaffolding, got only an empty folder. It did work, however, with the clickme web app. I did get the scaffolding by using stagehand. In both apps, however, the folder/file structures did not match the tutorial.
What version of the product are you using? 1.8.0
On what operating system? Windows 7 Home Premium
What browser (if applicable)?
Please provide any additional information below.

We are removing Dart Editor from the dartlang.org site. See http://news.dartlang.org/2015/04/the-present-and-future-of-editors-and.html


chore: Update grapahan dashboard reference

During prod update of build-service both build-service kustomization and build-service graphana dashboard reference should be updated as per the update script. But since one of them got updated manually, so it broke and now only updating build-service production kustomization file during stage to prod update PR. This PR is will sync both of them, so the next time both get updated together.

/test appstudio-e2e-tests


[FEATURE] - Update transaction view command so that it shows proposals and votes inside the transaction.

What
Update transaction view command so that it shows votes inside the transaction.
Why
On a setup where there is several individuals involved in witnessing a transactions that contain votes or proposals, each individual wants to verify that the transaction body contains the right proposal/vote.
Personas

[x] DRep
[x]  CC member
[x] SPOs
[ ] dApp Devs
[ ] Exchanges
[ ] Wallets
[ ] 3rd party tools
[ ] ADA holders

Definition of Done (DoD)

[ ] Acceptance Criteria + User Stories & DoD created and singed-off (by PO, dev & test owners)
[ ] Builds successfully on CI
[ ] Code & Test review (as per Acceptance Criteria)
[ ] There is documentation and/or examples for the new functionality (usage/response)
[ ] Log/record changes on Vnext (or similar depending on what we adopt)
[ ] Ticket number(s) included in PR description
[ ] All Acceptance Criteria met and covered by dev/unit/property/integration tests
[ ] System/E2E automated tests + System Test Engineer Owner Sign-off

NOTE:  Ideally, we should merge only fully implemented and tested features into the master branch.
So all the above steps are required for the PR to be merged.
In order to avoid the PRs becoming stale and requiring to be rebased on master, these can be merged
after a reasonable time (current agreement is 3 days) if the System Test Engineer Owner's sign-off
was not provided (last step in the DoD).

IMPORTANT: Any deviation from the plan should be discussed and agreed as a comment in the Feature file.

Sign-off

[ ] Product Owner
[ ] Dev Owner
[ ] System Test Engineer Owner

Related PRs

PR # here

Acceptance Criteria
Acceptance Criteria & User Stories define here (or in a separate file (linked here) for a big feature)
Example - https://github.com/input-output-hk/cardano-node/issues/4453

Reproduction procedure: cabal run cardano-cli -- conway transaction view --tx-file pv3.tx.raw with pv3.tx.raw being:
{
    "type": "Unwitnessed Tx ConwayEra",
    "description": "Ledger Cddl Format",
    "cborHex": "84a400d9010281825820ec5681a833819aa9c337526d89d68d0a5ce14ed970d453ad9870276a01dd862c0001818258390062573d3d7e30dc551b41fc1e11a9558cba6d0b7b179057aa55963c4208f121b36abf2bcdd7daa2551c1e6653413a78c419e170d3319924d31b0000000ba4384edf021a0003252114d9010281841b0000000ba43b7400581de008f121b36abf2bcdd7daa2551c1e6653413a78c419e170d3319924d38400f6a112a1029f1a0003236119032c01011903e819023b00011903e8195e7104011903e818201a0001ca761928eb041959d818641959d818641959d818641959d818641959d818641959d81864186418641959d81864194c5118201a0002acfa182019b551041a000363151901ff00011a00015c3518201a000797751936f404021a0002ff941a0006ea7818dc0001011903e8196ff604021a0003bd081a00034ec5183e011a00102e0f19312a011a00032e801901a5011a0002da781903e819cf06011a00013a34182019a8f118201903e818201a00013aac0119e143041903e80a1a00030219189c011a00030219189c011a0003207c1901d9011a000330001901ff0119ccf3182019fd40182019ffd5182019581e18201940b318201a00012adf18201a0002ff941a0006ea7818dc0001011a00010f92192da7000119eabb18201a0002ff941a0006ea7818dc0001011a0002ff941a0006ea7818dc0001011a0011b22c1a0005fdde00021a000c504e197712041a001d6af61a0001425b041a00040c660004001a00014fab18201a0003236119032c010119a0de18201a00033d7618201979f41820197fb8182019a95d1820197df718201995aa18201a0218f4f50a1a0374f693194a1f0a1a0254f375197e040a1959d818641959d818641a000cb528121a0030f786061a00050ebb011a03eef01c195a39121a0001be42121a05a0543f1a00015414121a00fa8cf9121a0020be0618241a0039e9910c1a000d90bf011a0c2c69e2195ae718241a0001f88d18241a0b52d4be1a00014f8e18241a01f7bc8018241a17272ce0011a17f44a4118481a002392f318481a001d6af61a0001425b041a0001ca761928eb041a0013b72b195f95184a00011a000e48dd19c1c118ed0001fff682785968747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6361726c6f736c6f64656c61722f70726f706f73616c732f6d61696e2f7768792d706c7574757376332d636f73746d6f64656c2e747874582016ffc0c69f7b6aa066ca90b66d887072cb2eb4e9bef01fdbbc1ef9cccec407a9a0f5f6"
}

Here is the concerned call stack:

https://github.com/IntersectMBO/cardano-cli/blob/main/cardano-cli/src/Cardano/CLI/EraBased/Run/Transaction.hs#L1447
https://github.com/IntersectMBO/cardano-cli/blob/main/cardano-cli/src/Cardano/CLI/Read.hs#L551
https://github.com/IntersectMBO/cardano-cli/blob/main/cardano-cli/src/Cardano/CLI/Read.hs#L1035
https://github.com/IntersectMBO/cardano-api/blob/main/cardano-api/internal/Cardano/Api/SerialiseLedgerCddl.hs#L301 with ttoken being Unwitnessed Tx ConwayEra
https://github.com/IntersectMBO/cardano-api/blob/main/cardano-api/internal/Cardano/Api/SerialiseLedgerCddl.hs#L166
https://github.com/IntersectMBO/cardano-api/blob/main/cardano-api/internal/Cardano/Api/SerialiseLedgerCddl.hs#L199
https://github.com/IntersectMBO/cardano-api/blob/main/cardano-api/internal/Cardano/Api/SerialiseCBOR.hs#L26
https://github.com/IntersectMBO/cardano-ledger/blob/master/eras/byron/ledger/impl/src/Cardano/Chain/UTxO/Tx.hs#L113 (probably?)

Output of cabal run cardano-cli -- conway transaction view --tx-file pv3.tx.raw, as of a2873b3225582ba3524cc52c8492a41afc47887b:
{
    "auxiliary scripts": null,
    "certificates": null,
    "collateral inputs": [],
    "era": "Conway",
    "fee": "206113 Lovelace",
    "governance actions": [
        {
            "anchor": {
                "dataHash": "16ffc0c69f7b6aa066ca90b66d887072cb2eb4e9bef01fdbbc1ef9cccec407a9",
                "url": "https://raw.githubusercontent.com/carloslodelar/proposals/main/why-plutusv3-costmodel.txt"
            },
            "deposit":<PHONE_NUMBER>0,
            "governance action": {
                "contents": [
                    null,
                    {
                        "costModels": ...
                    },
                    null
                ],
                "tag": "ParameterChange"
            },
            "return address": {
                "credential": {
                    "keyHash": "08f121b36abf2bcdd7daa2551c1e6653413a78c419e170d3319924d3"
                },
                "network": "Testnet"
            }
        }
    ],
    "inputs": [
        "ec5681a833819aa9c337526d89d68d0a5ce14ed970d453ad9870276a01dd862c#0"
    ],
    "metadata": null,
    "mint": null,
    "outputs": [
        {
            "address": "addr_test1qp39w0fa0ccdc4gmg87puydf2kxt5mgt0vteq4a22ktrcssg7ysmx64l90xa0k4z25wpuejngya833qeu9cdxvveynfscsskf5",
            "address era": "Shelley",
            "amount": {
                "lovelace":<PHONE_NUMBER>7
            },
            "network": "Testnet",
            "payment credential key hash": "62573d3d7e30dc551b41fc1e11a9558cba6d0b7b179057aa55963c42",
            "reference script": null,
            "stake reference": {
                "stake credential key hash": "08f121b36abf2bcdd7daa2551c1e6653413a78c419e170d3319924d3"
            }
        }
    ],
    "redeemers": {},
    "reference inputs": [],
    "required signers (payment key hashes needed for scripts)": null,
    "return collateral": null,
    "total collateral": null,
    "update proposal": null,
    "validity range": {
        "lower bound": null,
        "upper bound": null
    },
    "votes": {},
    "withdrawals": null,
    "witnesses": []
}


Support s

Could you provide an example DocBook document? Just link to it somewhere on the web if it exists.

I suppose we could use the example from here: http://www.docbook.org/tdg/en/html/part.html

I tried that today with a fresh version of sources from master branch and received:
No visitor defined for <part>! Skipping.
I tried converting the DocBook documentation of our project here - https://github.com/PerfCake/Docs/tree/master/src/docbkx

IMHO, AsciiDoc does not have an equivalent for this.
The problem is that AsciiDoc only has sections, and that <part> elements are more like subbooks -- for example, in the table of comments, they are shown a level above sections.
AsciiDoc doesn't have this functionality, AFAIK.

https://github.com/asciidoctor/docbookrx/pull/69/files

AsciiDoc does support parts, so long as the doctype on the document is book. See https://docs.asciidoctor.org/asciidoc/latest/sections/parts/


Combine smart search with $and matching

Hi
As mention in issue #239:
Example log table:

Date
Level
Message

2016-01-01
warning
something happened

2016-01-02
info
just some info

Searching for all warnings in 2016, typing: 2016 warning
With smart search on, it will split the search term, search all columns using $or. The result is both lines, since both lines have 2016 OR warning in one of their fields.
With smart search off, it will search for 2016 warning in a single column, meaning it will not return any result.
The desired option is, as @aldeed wrote in #239: "it would split and do $or within a single document property, but all terms would have to be present somewhere in the same document."

+1

+1

Could be something in this direction:
---
 client/pubSelector.js | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/client/pubSelector.js b/client/pubSelector.js
index 6a4cf9e..3e88cc2 100644
--- a/client/pubSelector.js
+++ b/client/pubSelector.js
@@ -53,6 +53,8 @@ getPubSelector = function getPubSelector(
     _.each(searchValue, function (searchTerm) {
       var m1 = {}, m2 = {};

+      searches[searchTerm] = searches[searchTerm] ? searches[searchTerm] : [];
+
       // String search
       m1[field.data] = { $regex: searchTerm };

@@ -61,13 +63,13 @@ getPubSelector = function getPubSelector(
         m1[field.data].$options = "i";
       }

-      searches.push(m1);
+      searches[searchTerm].push(m1);

       // Number search
       var numSearchString = Number(searchTerm);
       if (!isNaN(numSearchString)) {
         m2[field.data] = numSearchString;
-        searches.push(m2);
+        searches[searchTerm].push(m2);
       }
     });
   });
@@ -76,7 +78,7 @@ getPubSelector = function getPubSelector(
   if (selector) {
     result = {$and: [selector, {$or: searches}]};
   } else {
-    result = {$or: searches};
+    result = {$and: [{$or: searches['First']}, {$or: searches['Second']}]};
   }

   return result;
--

This makes an array of each keyword, but at the end it should be a loop, which I couldn't figure out at the moment, for each keyword.
The result is: $and requires a hit of every keyword, but each keyword(array) is separated with $or making it match any field with that keyword.
In this example, it only works if I search for "First Second", but maybe some of you get the idea and could take this thing furtherer.

+1 for and filter

I'm trying to implement this too?
Any idea on how to do a global extend or something until this is committed?

This works perfectly with Reactive Table (https://atmospherejs.com/aslagle/reactive-table) but I'd like to keep using aldeed:tabular for it's other great features. I would +1 this request too.

Hi, does anyone have a solution or hack to get this working yet?

Since the search string is split by spaces, replace spaces with an escaped space character like this: search.replace(' ', \s);. Works great for me.


[8.x] Testing: Access component properties from the return value of $this->component()

The benefits for this pull-request would be that it's possible to access component attributes when using
$this->component() in your test
Example:
$table = $this->component(Table::class, [ 'data' => ['foo','bar','baz','quz'] ]);

$string = $table->concatenated_data;

$this->assertEquals( 'foobarbazquz', $string );

It's not going to break any existing features because It's still possible to use the assertions from TestView::class since TestComponent::class it extends to that class...
I know that it's possible to use $this->app->make($componentClass, $data); to instantiate and access properties from a component but it does not have the assertions that $this->component() have....
if you want to access the component properties and use the assertions you need to do both...
also $this->app->make($componentClass, $data); is not documented.
I was looking to the test for the TestView::class but I didn't found any so I just added it into InteractsWithViewsTest
It's my first contribution, and I'm open to constructive criticism.

Hi, I merged https://github.com/laravel/framework/pull/38398 into 8.x to get the test suite passing again. I've put your PR in draft. Please rebase your PR against 8.x to make the tests of this PR pass. After you've done that and tests pass, mark this PR as ready for review. Thanks.

So I need to support lower versions of php8.0 😅 My Bad... will update the code

@driesvints  just a question... before I touch anything else... the errors are showing that tests are failing... but on test that this pull-request has not even touched... is this normal? and should I modify and fix those test files even thou It's not concerned with my pull-request in the first place?
I also checked...there's a commit from 2 days ago with a comment of "Apply Fixed from Style-CI"
or is there something wrong here that I'm not catching-up?

@driesvints  sorry about that... I just needed to fetch from upstream... I forked a commit that has a failing test... and forgot to fetch from upstream before making the request...
I read about the Contribution Guide.. and it says that I shouldn't worry about StyleCI Errors since it would automatically fix styling

I read about the Contribution Guide.. and it says that I shouldn't worry about StyleCI Errors since it would automatically fix styling

Yes, it will. When the PR is merged, the fixes will be applied.


[TA] Drop preview and change readme links to absolute

Fixes: https://github.com/Azure/azure-sdk-for-net/issues/12472
Fixes: https://github.com/Azure/azure-sdk-for-net/issues/12513
It also includes:

Rename text analytics to Text Analytics
Update service REST API link to point to v3.0

/check-enforcer reset


Add py.typed file

The py.typed file is necessary for mypy to know that the library includes types.
This will help remove some of the type: ignores from https://github.com/home-assistant/core/pull/75540.
Although preferred, it's not strictly necessary for a library to be fully typed in order to add py.typed. As long as the existing types are good enough and don't cause any issue, it's fine to add. The types can still be refined later.
https://peps.python.org/pep-0561/

Thanks @cdce8p!


xclogparser parses the second to the latest .xcactivitylog

As noted in the README for XCLogParser, .xcactivitylog file is generated a few seconds after the build action is completed. I added the xclogparser parse command into the build's post action and what I see is that the xclogparser parses the xcactivitylog for the second to the latest build log.
I am using Xcode 12.5.1 and I am not sure if this is by design or a bug. Can someone also confirm that adding xclogparser as the post build action is guaranteed to wait for the latest .xcactivitylog file to be generated and then parse it?

Hi!
No, XCLogParser doesn't retry if .xcactivitylog is invalid.
For your scenario with post build action, you can use XCMetrics, which actually validates .xcactivitylog and retries if is not ready yet:
https://github.com/spotify/XCMetrics/blob/0f449cc9dc328de3fcd85e08edec18f43da3a041/Sources/XCMetricsClient/Log Management/LogManager.swift#L128-L155

...am using Xcode 12.5.1 and I am not sure if this is by design or a bug.

I can reproduce the same with Xcode Version 13.3 (13E113)
Adding something along the lines of sleep 5; before executing xclogparser... in the post-build section does not work either.

Closing since the original question is answered


Move substreams alpha init to substreams init

Take substreams alpha init out of alpha.

Done in branch feature/alpha-init-integration

Re-opening until merged in develop (add in one of your commit Closes #319 and it will auto-close when merged).

Was this not merged? :)

Yep, this is done.


"An error occured" when trying to use the newznab functionality

Using Ubuntu 14.04/Python 2.7.4 with the latest commit (83235c750cae58854aab4dd179e8f58aa1ed80d1) of HTPC Manager under the master2 branch.
Newznab option doesn't work no matter what provider I use, it just comes up with a blank screen with the black text "An error occured" appearing.
Here is the debug log, but it doesn't show much.
http://pastebin.com/iaEwFvVB

What did you do? Did you search on anything or click the newznab in the menu?

Den 26. mai 2015 kl. 07.23 skrev z1lt0id<EMAIL_ADDRESS>Using Ubuntu 14.04/Python 2.7.4 with the latest commit (83235c7) of HTPC Manager under the master2 branch.
Newznab option doesn't work no matter what provider I use, it just comes up with a blank screen with the black text "An error occured" appearing.
Here is the debug log, but it doesn't show much.
http://pastebin.com/iaEwFvVB
—
Reply to this email directly or view it on GitHub.

I know that happens if you click the link in the menu. Nzb search is getting some improvements https://github.com/Hellowlol/HTPC-Manager/issues/54

Just clicked the newznab button at the top and it went straight to "an
error occured"
On Tue, 26 May 2015 at 15:37 Hellowlol<EMAIL_ADDRESS>wrote:

What did you do? Did you search on anything or click the newznab in the
menu?

Den 26. mai 2015 kl. 07.23 skrev z1lt0id<EMAIL_ADDRESS>Using Ubuntu 14.04/Python 2.7.4 with the latest commit (83235c7) of HTPC
Manager under the master2 branch.
Newznab option doesn't work no matter what provider I use, it just comes
up with a blank screen with the black text "An error occured" appearing.
Here is the debug log, but it doesn't show much.
http://pastebin.com/iaEwFvVB
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/Hellowlol/HTPC-Manager/issues/189#issuecomment-105399091
.

Ok, that doesn't work :D

Is there a way to get to the functionality or is it just currently disabled?
On Tue, 26 May 2015 at 15:51 Hellowlol<EMAIL_ADDRESS>wrote:

Ok, that doesn't work :D
—
Reply to this email directly or view it on GitHub
https://github.com/Hellowlol/HTPC-Manager/issues/189#issuecomment-105406046
.

Its already fixed in a feature request I'm working on. For now you just have to search on something to get to that page

Fixed in https://github.com/Hellowlol/HTPC-Manager/tree/impnewznab I just have some cleanup left

Excellent, thank you so much :)
On Thu, 28 May 2015 at 15:03 Hellowlol<EMAIL_ADDRESS>wrote:

Fixed in https://github.com/Hellowlol/HTPC-Manager/tree/impnewznab I just
have some cleanup left
—
Reply to this email directly or view it on GitHub
https://github.com/Hellowlol/HTPC-Manager/issues/189#issuecomment-106173153
.

Fixed, please let me know if you find any bugs in the newznab module :)

Just a quick note. NZBGeek has a weird thing where its requires a much longer timeout compared to most NZB apis.  I had to do this NZB MegaSearch.  Here is the error I get occasionally with NZBGeek.
Failed to fetch results HTTPSConnectionPool(host='api.nzbgeek.info', port=443): Read timed out. (read timeout=60)

Having a api that takes more then 60 sec to respond is just... They should fix there api..

I know. Nzbgeek is dreadfully slow.


chore: reduce docker image size

Follow https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Fix #215
Signed-off-by: zwtop<EMAIL_ADDRESS>

Codecov Report

Merging #216 (4fe3fb6) into main (664020d) will decrease coverage by 0.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #216      +/-   ##
==========================================
- Coverage   65.43%   65.22%   -0.22%
==========================================
  Files          38       38
  Lines        6067     6067
==========================================
- Hits         3970     3957      -13
- Misses       1764     1773       +9
- Partials      333      337       +4

Impacted Files
Coverage Δ

pkg/controller/group/group_controller.go
71.11% <0.00%> (-1.86%)
:arrow_down:

plugin/tower/pkg/controller/policy/controller.go
80.33% <0.00%> (-0.50%)
:arrow_down:


[issueid # JAV-43] spring boot tranport demo code optimized as using …

…embedded servlet we directly use spring boot container and few modules not supported in open source branch so removed unused code like highwat,tcc..and added AT code
Signed-off-by: sukesh a c<EMAIL_ADDRESS>

Coverage decreased (-0.8%) to 78.353% when pulling a380c4c8a47c4ef294cef6b0a1fda2ae4f70cb2f on acsukesh:master into 3a0890cbe0b86d8b98d0c3834c745f2b48c3663c on WillemJiang:master.


Clean up review VMs for cancelled Airlock requests

Resolves #2829
What is being addressed
Review VMs are being cleaned up when an Airlock request is canceled.
How is this addressed

Moved the logic of cancelling airlock requests from the route to the service and added a call to delete review VMS
Added "disable VM" call to the method that deletes the review VM - this is necessary as disabling the resource might carry important logic, and this is what we force users to do in the UI (you can't delete a resource without disabling first).

/test

/test


install-mendix-studio-pro

Please use the form below, leaving the prefilled data to help us. Thank you.
Page link: install-mendix-studio-pro
Document link: install.md
My Issue/Suggestion
Mendix Native Mobile Builder one-click Installer
This link seems to be related to Native Mobile, should sit in a 'Native Mobile' sidebar link?

Hi @DysonQualityAudits . The Mendix Native Mobile Builder is indeed related to native mobile. However, it is a tool built-in to Mendix Studio Pro. Thus, it can sometimes affect Studio Pro installations.
It is linked in this document so that if customers are incurring errors, they can try to install the Builder separately before installing Studio Pro to circumvent the error.


Improve coveralls in travis build

Add coveralls badge and improve build script.
Update original comment!
The introduction of the coveralls build somewhat unintentionally
had all tests running at once. This used to fail which was the reason
that the coverage.sh script was introduced so that the coverage would
run separately for unit and integration tests and the results were combined.
However it should really be possible to run all tests at once, so that
it makes sense to do so in the build. This should allow to see regressions
in this respect.
The coverage script itself is kept as it can still be useful during
development if only to see how one can run the commands in a shell without
installing istanbul or mocha globally.
Finally the travis script now sends coverage data in a second step to
coveralls with the intent to easier distinguish cases where the tests fail and
where coveralls fails.

The build bage an only be seen in master.
This should be good to be pulled now.

Thanks!


Coulldn't send

When i try to test the bot in the Web chat and type "Hi" i only get "couldn't send" and a link "retry", but nothing happens

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

ID: cf112c0a-0400-ede4-ab7c-ce10f86d6f30
Version Independent ID: 5fa92c50-b8d1-460c-aa3c-f3f851c15da9
Content: Deploy your bot to Azure - Bot Service
Content Source: articles/bot-builder-howto-deploy-azure.md
Product: bot-framework
GitHub Login: @ivorb
Microsoft Alias: v-ivorb

Hi Jonathan,
Yes , I did test on Emulator and it was working perfectly.
Please find the error message recorded based on your steps,
There was an error sending this message to your bot: HTTP status code
NotFound
On Thu, Aug 23, 2018 at 11:22 PM Jonathan Fingold<EMAIL_ADDRESS>wrote:

Did you test your bot in the Emulator
https://docs.microsoft.com/en-us/azure/bot-service/bot-service-debug-emulator?view=azure-bot-service-3.0
before deploying it?
If that is working fine, then check the error message that the Web Chat
channel is generating:

On the Azure Portal, go to the Channels page for the Bot Channels
Registration service you created.
The table there should show one or more health alerts for Web Chat.
Click the notification in the Health column to see the issues generated
from the Web Chat channel.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/bot-docs/issues/231#issuecomment-415457138,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AmtwCEWTuMChqHo1YYydZnipnPsgZCqwks5uTsicgaJpZM4WJLNI
.

@Sreejith-Git - you can use stackoverflow to get help. Here is the link: https://stackoverflow.com/questions/tagged/botframework


Session connection thread does not close when Unity project not playing

Steps to reproduce:
1.) In the WalletConnectUnity demo project clear the session then provide a false custom bridge url like ws://bananas:3434 (obviously there is no bridge server at this endpoint =P)
2.) Click play on the app - WalletConnect tries to connect to the bridge and fails.
3.) Stop the app - WalletConnect does not stop attempting to connect to the bridge server and repeats the following forever:
[WebSocket] OnError Unable to connect to the remote server
System.Exception: Unable to connect to the remote server

So it looks like the connection thread never gets shut down properly. Unity version tested with: 2020.3.18f1
This issue exists in the latest stable as well as PR21 versions of WCU.

This issue has been addressed in #21, will close when it gets merged

started running into this problem all of a sudden on Unity 2021.3.23f1

closed due to v1 depreciation


Explain use of role presentation in onclick-has-role.md

I added a paragraph to onclick-has-role.md to explain the use of role presentation in cases where an interactive role would not be appropriate.

Coverage remained the same at 99.245% when pulling b46fd01d369f130f92510bbb06a94a2c0c45ac6e on jessebeach:update-onclick-has-role-docs into 318ba68c357710467f83a2957378ed3b0335b946 on evcohen:master.

Yes, I rebased on evcohen/master before pushing the branch.


Standardization, fixed typos, added a few details.

Standardization (added dots that were missing, added some caps...).
Fixed some typos (information is always singular 😄).
Reworded a few sentences for clarity.
Fixed some dead links.
Added some details on why using the Redstone Integrator.

Looks good! Thank you


Error message not escaping correctly special characters

Error messages in rendered form do not escape correctly special characters.
Had the following error message:
Role / Title is required
Instead got this:
Role / Title is required

We're currently addressing a backlog of GitHub issues. Closing this thread as it is outdated. Please re-open if it is still relevant. Thank you for your contribution!


How to use trimEnabled with Stencil Template?

trimEnabled seems to be one of the modifiable for Stencil Template. How to set this to true when running from command line or with .sourcery.yml.

This is only used by Sourcery Pro Xcode extension


Feature Add load more items

When you have a pagination Api you need to add load more event
combine with CanLoadMore property ( if end of last page attempt) to disable loadMore event you have the powerfull list !

Do we have any update on this?


Live feeding to PC(internet connected) from GO Pro

First of all, Thank you very much for all your wonderful work.
What I am trying to do:
I want to get the Livestream out of Gopro 8.
Right now, I am doing it by setting Gopro for RTMP and on the pc side, using the Mona server.
What’s the challenge now?
While previewing the live stream, my pc must be connected with the internet as well.
Also, I am not allowed to use the GoPro mobile App.
I believe, GoPro acts only as an Access Point for PCs to connect through Wifi.
What am I looking for?

How to Livestream(HTTP or UDP or whatever)  from gopro8 to a pc which must be connected with the Internet?
Or
Using Bluetooth commands, is there a way to automate what you see in the screenshot without GoPro or any mobile app? ( Connecting Go Pro with a specific access point, setting GoPro with RTMP URL, and start live streaming )
https://drive.google.com/file/d/1S3UI7eFL4pAejRt7MNnAFv6t68Mb-qvp/view?usp=sharing ( Screenshot)

Might this work for you: https://www.toolsforgopro.com/live ?

Wow.. https://www.youtube.com/watch?v=EvGU1MXpZ1E&feature=youtu.be - Yes, I think that's the perfect solution. Thank you.
As i want to integrate this rtmp contoller as part a part of my existing application, is there a way to do it my own ? References, if any please?


Ability to auto-detect output frequency from input files.

This can be done differencing the first time steps.
1h, 3h, 6h, daily, monthly.
Look at time deltas and pick the closest interval.
Whatever the the user provides gets applied as time aggregate after the auto detection.
FYI @tha051

This should be a configuration option, as are default aggregate frequencies from a user perspective.


chore: bump sso-express version

This PR bumps the sso-express version to 2.1.0

Sounds like we’re folding migration from public to confidential client into this PR; that change will require re-approval


TST: Test without building and uploading to testpypi

Problem
Testing new changes currently requires me to build and upload to testpypi and installing that back into the virtual environment.
Solution
Have the tests use the local zolltools instead of the testpypi one.
Resources

pytest -- Good Integration Practices

The fix was to install the package as pip install -e . from the root directly and install the package as import zolltools from the testing files. Just gotta keep it simple I guess.


Tweak and hopefully simplify the various import-related hacks in Toil (resolves #420, resolves #425)

Resolves #420 and #425

Jenkins, test this please.

Jenkins, test this please.

Jenkins, test this please.

Jenkins, test this please.

Jenkins, test this please.

Jenkins, test this please.


[DOCFIX]  Fix doc errors for Tencent Cloud EMR

What changes are proposed in this pull request?
Please outline the changes and how this PR fixes the issue.
Why are the changes needed?
Tencent Cloud EMR has updated some version information and needs to be synchronized to community documents
Does this PR introduce any user facing changes?
Please list the user-facing changes introduced by your change, including

change in user-facing APIs
addition or removal of property keys
webui

@Xenorith please help review this pr, thanks

alluxio-bot, merge this please


Running from source problems

Two issues that may be doc relate:

https://github.com/exzhawk/disk_treemap/blob/master/README.md?plain=1#L31 - fails for me with git: 'submodules' is not a git command. See 'git --help'.
https://github.com/exzhawk/disk_treemap/blob/master/README.md?plain=1#L33 - also failed for me with error: [WinError 2] The system cannot find the file specified - this appears to be due to not having "npm" in the path

Pip install worked fine! Thanks for making this available, I was literally about to start writing my own when I found this today :-)

There is a typo. The command should start with 'git submodule'. (without the 's' after 'submodule'). It will be fixed in a moment.
npm must be in PATH due to https://github.com/exzhawk/disk_treemap/blob/master/setup.py#L21. I don't know how to find the npm executable more smartly, so the build script just calls npm and relies on PATH. For Windows, install NodeJS from https://nodejs.org/en/download/. npm is bundled in the installer, and the installer adds npm into PATH by default. If the installer fails or you are on another platform, you can google that.


why not support percentage layout ???? You are irresponsible，shit

It's not needed. You can get any percentage you need using flex: 2, flex: 1. That's 66% and 33%.

:facepalm:
yall are too nice.

flex works only in one direction,


[Windows] Drag and Drop does not work to play files

I tried dragging a wav file just like it's advertised on the website and it showed the forbidden cursor

and if you drop the file regardless of that, what happens?

nothing

does it work in other applications? can you try googling "windows X drag and drop not working" and see the first few solutions? (put your windows version for X).
i haven't seen that problem at all on any windows computer yet, and there's not much i can think of that could be done of differently from my point of view. (but who knows...)

Yes, it works with other applications. only yours is having this issue...
I am a freelance technician.

For some reason it wasn't working properly.
I just tried again now and it does work properly.
Odd....

It's weird, it happens rarely but i am not sure how to reproduce this.
i happened to get it blocked after playing oscillofun.


Obfuscate the tasks.yaml file

So people can't cat it from the attack container when the scenario starts.

additionally, align the output obfuscation where some scenarios send stout to null to run normally after this is done.

added dying label as this has been outstanding for quite a while and I'm happy for this to be closed as 'won't fix'

closing this as been labelled dying for a while now


Add Query Parameter to URL & Adding Heise

It works on this link for example: https://www.heise.de/hintergrund/30-Jahre-Beneath-A-Steel-Sky-Big-LINC-is-watching-you-9658837.html?wt_mc=rss.red.ho.ho.rdf.beitrag.beitrag
In Fundus, the actual requested URL will be https://www.heise.de/hintergrund/30-Jahre-Beneath-A-Steel-Sky-Big-LINC-is-watching-you-9658837.html?wt_mc=rss.red.ho.ho.rdf.beitrag.beitrag&seite=all
To have a proper testing case I also had to add Heise as a publisher, I used the code from a former PR #353 , that was marked as draft due to other issues.

This PR has been split into #403 and #409


pd-ctl: Update pd-ctl document

[x] config show and delete
[x] store limit and scene
[x] placement-rules config
[x] remove label
[x] member output
[x] scheduler resume and pause
[x] hot scheduler config

@nolouch @rleungx @disksing PTAL

/merge


cyral_policy resource creates nill identities when undefined

Summary
When creating a cyral_policy_rule and omitting the optional identities field, the identitites field is still created when running terraform apply.
The nil identities map breaks subsequent queries with the error that would use the cyral policy:
ERROR:  Operation blocked due to a policy violation: Policy customer-data violated: read is disallowed

It appears that the provider correctly omits this field if it is undefined.
https://github.com/cyralinc/terraform-provider-cyral/blob/30c18a231452631a0166e63fbb162bb3094ed9dd/cyral/resource_cyral_policy_rule.go#L19
sample terraform
resource "cyral_policy_rule" "customer_data_rule" {
  policy_id = cyral_policy.customer_data.id

 reads {
    data = ["*"]
    rows     = 1
    severity = "medium"
  }
}

generated policy rule

Expectation
When a cyral_policy_rule is defined without an identities block, there should be no identities created in the cyral prolicy

Hi @igaskin , we appreciate your time to write this thorough description of the error. We will work to investigate and fix it. I will keep you posted.

Thanks for reporting the issue @igaskin ! We have resolved it for provider versions v3.0.1 and v2.10.2. The problem was that  the Identities field in the PolicyRule struct was not a pointer, so the omitempty JSON tag essentially doesn't work.


remove exception raise for no path found

It is reasonable to raise an error if the file is not exist. You can use try ... except ... if you do not want to see the error.

that is fine i did not need the changes to be merged, but i did need a way to passed it an in memory file that do not rely on a check for a path. a check for a path should not raise an exception for in memory files or any kind of file streams... I have decided just to use a local copy of the code that i can edit to my needs... Thanks...


[WIP] Port to ocaml-migrate-parsetree & OCaml 4.05

This PR is not ready for merge yet but feedback is welcome.
The main change is making use of ocaml-migrate-parsetree as an abstraction layer for manipulating parsetrees. ppx_deriving can be implemented on a single version of the ast (4.05 in that case), and the layer takes care of converting asts to different versions of the compiler.
This removes the needs for cppo in most files (only used for testuite).
Also, ocaml-migrate-parsetree introduces a new "driver" api, which can be used by libraries to register mapper and implements a ppx rewriter binary. It replaces various functions from Ast_mapper, such as register, run_main, etc.
The invocation of ppx_deriving had to be changed a bit: when passing a plugin to ppx_deriving_main, ont must add -deriving-plugin in front.
So ./ppx_deriving ./ppx_deriving_show.cma ./ppx_deriving_map.cma becomes ./ppx_deriving -deriving-plugin ./ppx_deriving_show.cma -deriving-plugin ./ppx_deriving_map.cma.

I see nothing wrong so far (provided that it doesn't break existing use cases, of course).

@let-def A dependency in the opam file seems to be missing, btw

Updated thank you.

If it complains about Driver is it a driver from compiler's source?
➜  ppx_deriving-def git:(master) opam pin
ppx_deriving.4.1           (uninstalled)  git  git+file:///home/kakadu/asp/ppx_deriving-def#master
ppx_tools_versioned.~dev                  git  git+https://github.com/let-def/ppx_tools_versioned.git
➜  ppx_deriving-def git:(master) mkae clean
ocamlbuild -clean
Finished, 0 targets (0 cached) in 00:00:00.
00:00:00 0    (0   ) STARTING                                                                                -------- |%➜  ppx_deriving-def git:(master) make
cp pkg/META.in pkg/META
ocaml pkg/build.ml native=true native-dynlink=true
ocamlfind ocamlopt -package unix -package ocamlbuild -linkpkg -package cppo_ocamlbuild myocamlbuild.ml /home/kakadu/.opam/4.04.0+fp+flambda/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
ocamlfind ocamldep -package findlib.dynload -predicates ppx_driver -package 'dynlink ocaml-migrate-parsetree ppx_tools_versioned.metaquot_405 result' -open Ast_405 -open Ppx_tools_405 -modules src/ppx_deriving_main.ml > src/ppx_deriving_main.ml.depends
ocamlfind ocamldep -package 'dynlink ocaml-migrate-parsetree ppx_tools_versioned.metaquot_405 result' -open Ast_405 -open Ppx_tools_405 -modules src/ppx_deriving.mli > src/ppx_deriving.mli.depends
ocamlfind ocamlc -c -g -bin-annot -safe-string -package 'dynlink ocaml-migrate-parsetree ppx_tools_versioned.metaquot_405 result' -w @5@8@10@11@12@14@23@24@26@29@40 -open Ast_405 -open Ppx_tools_405 -I src -o src/ppx_deriving.cmi src/ppx_deriving.mli
+ ocamlfind ocamlc -c -g -bin-annot -safe-string -package 'dynlink ocaml-migrate-parsetree ppx_tools_versioned.metaquot_405 result' -w @5@8@10@11@12@14@23@24@26@29@40 -open Ast_405 -open Ppx_tools_405 -I src -o src/ppx_deriving.cmi src/ppx_deriving.mli
findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/kakadu/.opam/4.04.0+fp+flambda/lib/ocaml/compiler-libs, /home/kakadu/.opam/4.04.0+fp+flambda/lib/ocaml
ocamlfind ocamlc -c -g -bin-annot -safe-string -package findlib.dynload -predicates ppx_driver -package 'dynlink ocaml-migrate-parsetree ppx_tools_versioned.metaquot_405 result' -w @5@8@10@11@12@14@23@24@26@29@40 -open Ast_405 -open Ppx_tools_405 -I src -o src/ppx_deriving_main.cmo src/ppx_deriving_main.ml
+ ocamlfind ocamlc -c -g -bin-annot -safe-string -package findlib.dynload -predicates ppx_driver -package 'dynlink ocaml-migrate-parsetree ppx_tools_versioned.metaquot_405 result' -w @5@8@10@11@12@14@23@24@26@29@40 -open Ast_405 -open Ppx_tools_405 -I src -o src/ppx_deriving_main.cmo src/ppx_deriving_main.ml
findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/kakadu/.opam/4.04.0+fp+flambda/lib/ocaml/compiler-libs, /home/kakadu/.opam/4.04.0+fp+flambda/lib/ocaml
File "src/ppx_deriving_main.ml", line 40, characters 8-25:
Error: Unbound module Driver
Command exited with code 2.
+ ocamlfind ocamlopt -package unix -package ocamlbuild -linkpkg -package cppo_ocamlbuild myocamlbuild.ml /home/kakadu/.opam/4.04.0+fp+flambda/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
File "_none_", line 1:
Warning 58: no cmx file was found in path for module Ocamlbuild_cppo, and its interface was not compiled with -opaque
Makefile:7: ошибка выполнения рецепта для цели «build»
make: *** [build] Ошибка 10
➜  ppx_deriving-def git:(master)

You should pin development version of ocaml-migrate-parsetree.
opam pin add ocaml-migrate-parsetree --dev-repo
opam pin add ppx_tools_versioned https://github.com/let-def/ppx_tools_versioned.git

Okay... I guess I got unbound module instead of unbound package because of some dynlink stuff...
But now something is wrong again...
➜  ppx_deriving-def git:(master) opam pin add ocaml-migrate-parsetree --dev-repo
[ocaml-migrate-parsetree.0.3] synchronised from git://github.com/let-def/ocaml-migrate-parsetree.git
[NOTE] Converting format of /home/kakadu/.opam/4.04.0+fp+flambda/.opam-switch/sources/ocaml-migrate-parsetree/ocaml-migrate-parsetree.opam from 1.2 to 2.0~beta
ocaml-migrate-parsetree is now pinned to git://github.com/let-def/ocaml-migrate-parsetree.git (version 0.3)

The following actions will be performed:
  ∗  install ocaml-migrate-parsetree 0.3*
Do you want to continue ? [Y/n] y
[ocaml-migrate-parsetree.0.3] synchronised from git://github.com/let-def/ocaml-migrate-parsetree.git

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of ocaml-migrate-parsetree failed at "jbuilder build --only-packages ocaml-migrate-parsetree --root . -j 7 @install".

#=== ERROR while compiling ocaml-migrate-parsetree.0.3 ========================#
# command      jbuilder build --only-packages ocaml-migrate-parsetree --root . -j 7 @install
# path         /home/kakadu/.opam/4.04.0+fp+flambda/.opam-switch/build/ocaml-migrate-parsetree.0.3
# exit-code    2
# env-file     /home/kakadu/.opam/log/ocaml-migrate-parsetree-31443-ad8886.env
# output-file  /home/kakadu/.opam/log/ocaml-migrate-parsetree-31443-ad8886.out
### output ###
# jbuilder: unknown option '--only-packages'.
# jbuild TARGETS
#   -j JOBS     concurrency
#   -drules     show rules
#   -ddep-path  show depency path of errors
#   -help       Display this list of options
#   --help      Display this list of options

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
┌─ The following actions failed
│ λ  build ocaml-migrate-parsetree 0.3
└─
╶─ No changes have been performed
[NOTE] Pinning command successful, but your installed packages may be out of sync.
➜  ppx_deriving-def git:(master)

You should pin jbuilder too. However it seems the current version still has problem, I notified @diml .

@let-def no-no-no, 1.0+beta1 is fine, alpha was bad. You probably just need a constraint.

Ah yes, my bad. Thank you!

btw, should merlin work OK with all this dynlinked stuff? I'm feeling a little bit worried when I look at all that errors and on the nickname of PR's author after that. Some of them should be simple but there is something that I didn't see before.....
This expression has type Ast_405.Parsetree.expression
       but an expression was expected of type Parsetree.expression
Ast_405.Parsetree.expression is abstract because no corresponding cmi file was found in path.

Better now?

The CI failure comes from the fact that CI was run before ppx_tools_versioned became available in opam; it has now been merged ( https://github.com/ocaml/opam-repository/pull/8669 ) so the CI could be restarted.

I've restarted the build.

If we plan on the six-month release agenda, the release target for 4.05 would be April 4th. Is it reasonable to hope for this PR to converge by that time, to have a 4.05-supporting version of ppx_deriving before the release? I am a bit worried by the "the invocation of ppx_deriving had to be changed a bit" part: does that mean that user software would also have to be updated? I'm considering whether it wouldn't make sense to also work on a business-as-before optcomp-enabled 4.05 patch to merge quickly (and without much user-visible change), to be able to check deriving-using software for 4.05 compatibility before the release.

@gasche: User software does not have to be changed.
Registration of deriving plugins themselves could be changed a bit in the future, for instance to allow transparent migration, but this can be extended without breaking uses.

@let-def What should write in the .merlin file to explain merlin how to apply syntax extension that is being developed? I have tried FLG -ppx '/home/kakadu/.opam/4.04.0+fp+flambda/lib/ppx_deriving/ppx_deriving -deriving-plugin _build/ppx/ppx_deriving_gt.cma' but it complains about
Cannot load _build/ppx/ppx_deriving_gt.cmxs: cannot find file /home/kakadu/asp/ocanren-antiphantom/regression/_build/ppx/ppx_deriving_gt.cmxs in search path

which does exist. Frédéric, can you add demo .merlin file to the src_samples directory?

@let-def Also, I think that I found some issues with toplevel
# #require "ppx_deriving.show";;
/home/kakadu/.opam/4.04.0+fp+flambda/lib/result: added to search path
/home/kakadu/.opam/4.04.0+fp+flambda/lib/result/result.cma: loaded
/home/kakadu/.opam/4.04.0+fp+flambda/lib/ppx_deriving: added to search path
/home/kakadu/.opam/4.04.0+fp+flambda/lib/ppx_deriving/ppx_deriving_runtime.cma: loaded
/home/kakadu/.opam/4.04.0+fp+flambda/lib/ppx_deriving/./ppx_deriving: activated
# #require "ppx_deriving.show";;rgument("Filename.chop_extension")
Error: Error while running external preprocessor
Command line: /home/kakadu/.opam/4.04.0+fp+flambda/lib/ppx_deriving/./ppx_deriving '/tmp/camlppx028eda' '/tmp/camlppxc6aaf3'

I see what the problem is. It seems the -deriving-plugin,blabla.cma part of the META is passed through cookies to ppx_deriving. However the dynlink code don't know what to do with -deriving-plugin.
I don't really understand how cookies are set. I can investigate later. @whitequark, does that ring a bell?

https://github.com/whitequark/ppx_deriving/blob/master/src/ppx_deriving_main.cppo.ml#L41-L57 and https://github.com/whitequark/ppx_deriving/blob/master/src/ppx_deriving_main.cppo.ml#L63-L64

@whitequark thanks!
@Kakadu thanks for reporting the problem it should be fixed now.

:+1:

Once https://github.com/ocaml/opam-repository/pull/8772 is merged, the API will be stable.
I think it is safe to rerun tests after and, as far as I am concerned, this PR should be ready for merging.

Once ocaml/opam-repository#8772 is merged

Done.

@let-def can you resolve conflicts with master?

Done. I made another changes: the ppx_driver predicate didn't seem appropriate for the .ml & .mli files.

@let-def The tests are failing.

@whitequark Fixed. Note that ppx_deriving binary now takes "--as-ppx" flag to behave like a ppx rewriter. By default it acts as a standalone rewriter (similar to calling ocamlfind ppx_tools/rewriter on the ppx). This convention was introduced by janestreet ppxs.
Are you fine enabling this in ppx_deriving? This should be transparent to the end-user, the change affects META files and is handled by findlib.

Why is it --as-ppx and not -as-ppx?

Initially ppx_driver recognized only -as-ppx. I though it was better to standardize --as-ppx thought, as it seems more standard to use -- for long option names. For instance you can't write a program using cmdliner that takes -as-ppx as argument, since cmdliner enforces that long option names start with --

But now we have -deriving-plugin and --as-ppx. Ugly.

Maybe we can rename -deriving-plugin to --deriving-plugin? Or support both --as-ppx and -as-ppx.
Alternatively, we can use -as-ppx everywhere. We need to change the omp driver but hopefully no projects started relying on the long options. In practice I expect that most people will end up using the omp driver, either through the ocamlbuild plugin, jbuilder or something else. And I suppose that it's unlikely that the omp driver will switch to something else than Arg.

I am fine with changing to --deriving-plugin.
(-)-as-ppx is an implementation detail, I don't think the aesthetic matters much. I am fine with either :)

Personally I feel that the short option is consistent with the way ocamlc, Arg, etc, work, and so probably preferable.

Note that Arg lets you use --foo (you have to explicitly use "--foo" as the argument), it's rather a quirk of the compiler distribution to not distinguish between short and long options, I think. (I am personally thorn on the question of what to prefer; --foo is indeed more standard and standard is good, but on the other hand I personally dislike the idea of stack short options together so I live in a world where only use -foo would make sense and be more convenient.)

The CI is failing.

Anyway, I guess --as-ppx is fine, it's not worth spending the time on it after all. If you revert the last commit, I'll do one more round of review and merge.

@let-def Sorry, I did not notice a push to this PR (not sure why GH did not send a mail). Can you please rebase one more time? I'll merge right after.

No problem, I will rebase, I keep you posted.

Done :)


[SMALLFIX] Site Properties Update

Makes it easier to maintain and read.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11530/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.worker.block.meta.TieredStoreIntegrationTest.deleteWhileRead
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11533/
Test PASSed.

Merged build finished. Test PASSed.

LGTM


Failing to connect with multi-client and getting RPC errors

I'm getting a whole bunch of errors intermittently -- it will work for awhile just fine and then sometimes it'll throw all these RPC errors.
I'm not sure I should be seeing the RPC call failed error, should I?
I'm assuming this is related to the mainnet server?
I am using TLS, and I'll usually get a few failed websockets but it still connects and works - but then this problem arises and usually can't connect to any nodes at all.

It seems to have gone away again, it lasted for about 5-10 minutes and that was probably the third time it's happened today (in the last 10 hours or so)

And now it's happening again. This makes a reliable connection very difficult. I can't have users reloading the page until there's fewer errors, or waiting some time to try again (

It seems to be getting worse -- as in happening more often and for longer. This basically makes NKN unusable

Yeah, this is a total blocker - makes transport completely unreliable -- I might have to scrap months of work building my app with NKN if this isn't fixed.

Just one thought, it could be a CORS issue -- I got this warning:

But that would be weird since it works sometimes and sometimes it doesn't. I'd assume anyone trying to use the SDK right now would have this same problem. I've switch VPN IP's and turned off the VPN -- nothing to work. This seems like it's on the NKN side.

Ok, maybe I'm sending too many requests to the server? Finally just looked up error 429. If so, how long do I have to not send requests? Is each client counting as a request? I'm using the multiclient and I have to use a large number for numSubClients because the TLS connections are very inconsistent. But then sending 8-10 requests each page reload could trigger your DDoS system. Although I thought you had told me there was no DDoS prevention as it's E2EE.

Please help me resolve this, I was hoping to launch my app in the next day or two and now this has stopped me from even being able to test - let alone reliably run an app where people can connect.

This is because the official seed node were effectively being DDoS'ed since a few hours ago. Currently there is a RPC rate limiting on NKN node (a few thousand requests per second per node), and node will return http 429 once the limit is reached to protect the node from overload.
We are currently trying to see what we can do to help fix this. At the same time, what you can do is simply switching to another nkn node as rpc node (rpcServerAddr in options). Any nkn node whose port 30003 is open can be a rpc node, but in general it works best if you use your own node for reliability.

Ok, well that's good it wasn't me, I'm not sending thousands of requests. And this sounds fixable, so that's very good.
Is there a way to catch that error so I could auto switch to a new seed node? And you say that any seed node will work? Like could I gather URLs from previous successful connections and then use those when needed?
And also is there a way to just run a seed node? I haven't even delved into setting up a miner yet, was trying to leverage the network purely from a SPA style app.

Yeah, it seems that onConnectFailed just returns undefined so there's no way to know what error code it's failing on. And also, I tried a few other seed node URLs and none seemed to work. I did wonder if this might be a problem, having the only solid alternative transport solution, you're going to have bad actors trying to shut it down. Let me know what I can do to help @yilunzhang, I've invested much time into using NKN for my apps, and I believe it's the future internet.

Any update on this @yilunzhang? I'm not an expert in this area, but it seems like it would be good to setup some sort of IP based throttle limit rather than giving everyone the 429 errors. I know I've done this with Traffik as a reverse proxy with IP based rate throttle.

Another strategy I've thought of could be to put a table of alternate RPC addr into the blockchain, allow nodes to list their addr and then the SDK could auto switch to an alt addr if the mainnet fails. And then maybe bake in some degree of IP throttling to each node and I think that would make it mostly DDoS proof.

So we have improved the official seed node anti DDOS strategy. Looks good so far but definitely can be further improved in the future. Per IP throttle might help but it alone is not enough for sure. Stats shows attacker has a large IP pool, and each IP doesn't have a crazy amount of requests.
So first of all, seed nodes are only used when client is created and wants to join the network. Once it's in they are no longer needed. So they are definitely important, but only as an entrance.
In general, for p2p networks, just don't rely on a fixed list of seed node, regardless if it's on blockchain or somewhere else. Those are basically stationary targets for attackers. The advantage of p2p networks is quantity. Since every node in the network can be the seed node, one of the best strategy is that each client (not each App) picks its own seed node (either randomly, or based on performance). As a simple example, each NKN multiclient can keep a record of the nodes it was connected to, and use those as seed nodes next time. Both our nMobile and tuna based apps have similar mechanism. Check this for an example. As best practice, we measure latency before using those nodes as seed so we can use the fastest node to client side, and avoid nodes that are offline or syncing.

It seems to working from my end as well. Great job!
I was actually already thinking to store rpc node addresses to use for connecting. Is there a way you could add the 429 error to the connect failed callback so I could auto switch if needed?
Looking through this tuna code, I don't quite understand how you're testing for the latency. Are you just creating a client with that addr and then measuring the delay or whether if fails? And are you testing every rpc address every time the client connects?

I'm not sure if adding http 429 to sdk is a good idea because http 429 is not part of the protocol (yet), but something a node owner does to protect his node. He doesn't have to use http 429. For example, he can put a nginx in front of port 30003/30005 and let it handles rate limiting, or he can even use services like CloudFlare for anti-ddos protection.
For latency measurement, basically we just make a rpc request to each potential rpc node, use those who are in persist finished state and sort them based on response time, as you can see here https://github.com/nknorg/tuna/blob/master/util.go#L227 . We only measure once when tuna starts, and use the results throughout the tuna lifecycle.

Ok, yeah that makes sense about the 429. But it seems like finding the favorite nodes could be a good work around. So if I create a multiclient, I'll get one or a few rpc nodes. But it doesn't seem like you get as much info in the js sdk as the go sdk? And then what call should I make to the rpc? Like getLatestBlock, looks like you're using nkn.GetNodeStateContext in tuna?
In this case, a lifecycle would be between every browser refresh -- I can use local storage for persistence of the rpc addresses, and so I could do a latency test and then sort them in the db. Or is it so dynamic that this kind of data would get stale quickly?

We just published v1.2.6, which added rpc.getNodeState method. Moreover, rpc.rpcCall method is exposed, so you can call other RPC method really easily, like
nkn.rpc.getNodeState({rpcServerAddr: 'http://ip:30003'})
is equivalent to
nkn.rpc.rpcCall('http://ip:30003', 'getnodestate')

In this case, a lifecycle would be between every browser refresh -- I can use local storage for persistence of the rpc addresses, and so I could do a latency test and then sort them in the db. Or is it so dynamic that this kind of data would get stale quickly?

Every browser refresh sounds a bit too much to me since each test is gonna take some time, so some sort of persistence might be better for user experience.
Node info should be pretty stable if nodes in network are relatively stable, but even if they do change it's probably not an issue since we can use official seed node as backup if none of the stored nodes work.

Ok, excellent - I see the PERSIST_FINISHED syncState like you mentioned. So, perhaps I should use the onConnect callback to get the node addr and then store that and then accumulate a few nodes before running a latency test and then sort by response time. If I get a connectFailed, I can put that node at the bottom of the list. And maybe retest after some interval.
One question, I assume that if I connect to the node with tls that node must have tls enabled and so that node would always accept tls?

Just in case you don't know, you can use client.node (https://github.com/nknorg/nkn-sdk-js/blob/master/src/client/client.js#L61) to get the node info of a client.

One question, I assume that if I connect to the node with tls that node must have tls enabled and so that node would always accept tls?

Yes, node side need to configure tls correctly (port, firewall, cert, etc), and client side has no way to know whether node has everything set up correctly without trying to connect

Well, the rpc call was working for awhile, but now it seems that the official mainnet addr is the only one that works. If I do the rpc call on an addr I got from a connected node it rejects with an error RpcError: Network Error. I noticed it went from using an IP addr to now a subdomain of nknlabs.io, not sure if that's why. Not an immediate issue, but this would mean that the next time the mainnet is ddos'd or down for any reason, I wouldn't have a good entrypoint.

Closing this issue for now as it seems resolved. Feel free to continue the discussion or reopen it if you still have issues


sample key acquisition code/usage should be shared as well

there should be guidence that if regeneration period is x days then service using the key should acquire it at least every x days, (but we suggest (x+1)/7 -- or something like that days).

there should be sample code on how to pick up the key from vault and use it: I don't think it is easy to get this right from scratch so making all devs write it on their own is not clean.
ideally it should be an extension to CloudStorageAccount where you feed in key vault client, so stuff happens underneath

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

ID: 1059069a-e860-f66d-3445-60425a5bffe1
Version Independent ID: 1d80c823-5a41-7d2b-f40d-b0f2ca3c673f
Content: Azure Key Vault managed storage account - PowerShell version
Content Source: articles/key-vault/key-vault-overview-storage-keys-powershell.md
Service: key-vault
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@peledins  Thanks for your feedback! We will investigate and update as appropriate.

@peledins  you're right, we will look into adding this code and information. Thanks for your feedback again!

This document is completely rewritten. It does not seem like we suggest key retrieval. Keys itself are hidden completely, we don't even store them in key vault and we expose SAS token instead for clients to use. #please-close


[#363] refactor: Make the coordinator client managed by CoordinatorClientFactory singleton

Hi @zuston @jerqi @xianjingfeng
I am re-submitting a PR to prevent potential conflict since the last PR is been a while, any comments and suggestions would be appreciated if you are available, thank you.
What changes were proposed in this pull request?
Make the coordinator client managed by CoordinatorClientFactory singleton
Why are the changes needed?
Fix: #363
Does this PR introduce any user-facing change?
No.
How was this patch tested?
current UT

Codecov Report

Merging #1046 (883fa84) into master (16942c2) will increase coverage by 0.25%.
The diff coverage is 16.12%.

@@             Coverage Diff              @@
##             master    #1046      +/-   ##
============================================
+ Coverage     54.33%   54.58%   +0.25%
+ Complexity     2550     2401     -149
============================================
  Files           382      345      -37
  Lines         21739    18244    -3495
  Branches       1803     1717      -86
============================================
- Hits          11811     9958    -1853
+ Misses         9227     7692    -1535
+ Partials        701      594     -107

Files Changed
Coverage Δ

...iffle/client/factory/CoordinatorClientFactory.java
0.00% <0.00%> (ø)

...he/uniffle/client/impl/ShuffleWriteClientImpl.java
35.98% <50.00%> (ø)

...a/org/apache/uniffle/server/RegisterHeartBeat.java
88.13% <100.00%> (+0.20%)
:arrow_up:

... and 39 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi @jerqi
I am still working on the integration test failure. May I know what is this test actually doing?
https://github.com/apache/incubator-uniffle/blob/13c71438c5fd614cdd08939d160afa722475beee/integration-test/common/src/test/java/org/apache/uniffle/test/CoordinatorAssignmentTest.java#L163
Do we expect the server to change the shuffle nodes to 5?
https://github.com/apache/incubator-uniffle/blob/13c71438c5fd614cdd08939d160afa722475beee/integration-test/common/src/test/java/org/apache/uniffle/test/CoordinatorAssignmentTest.java#L178
I am not sure why the info.getServerToPartitionRanges().keySet().size() returns 10 here
https://github.com/apache/incubator-uniffle/blob/13c71438c5fd614cdd08939d160afa722475beee/integration-test/common/src/test/java/org/apache/uniffle/test/CoordinatorAssignmentTest.java#L182


MinimalDataParser add options, allow Nerfstudio data format to specify test indices

PR allows more options for the MinimalDataparser and allows NerfstudioDataparser to specify train/test indices in the json.

It also tracks the changes to the coord system done in the ns-process-data.

I am unsure if we should track the "applied_transform" done by ns-process data. This would allow us to get back the original COLMAP poses if needed.

I have also added some simple tests for nerfstudio_parser. It can be extended in future.


[v6-beta.0] Plus sign (+) in URL path gets decoded into space

Version
v6.0.0-beta.0
Test Case
https://codesandbox.io/s/react-router-600-beta0-2n4ut
Steps to reproduce
https://user-images.githubusercontent.com/50610/107079246-90c15000-67bd-11eb-96bd-3596a9ca135d.mov
Expected Behavior
+ is a valid character (not an encoding) for pathname of URL, as referenced here: https://stackoverflow.com/a/1006074 and by Michael Jackson for past versions of this library here: https://github.com/ReactTraining/react-router/issues/716#issuecomment-71346876
Actual Behavior
+ character in pathname is turned into   (space character)
This is breaking our existing valid URLs that have a + in the pathname of the URL such as /brand/abraham+ivy/ (the brand's actual name is "abraham+ivy").
Reference
Some context that might be illuminating:
The code seems to be doing this intentionally but looks like it have have been inspired by code from an old version of this library that itself later had this behavior removed due to it being a bug:

https://github.com/ReactTraining/react-router/commit/fbc109c0218508a301caae36469c8fc5d70de5fa
https://github.com/ReactTraining/react-router/commit/20c2c9b6fd5797504b0ff9ba37261173a9164571

Thanks for flagging this. Also an issue my team is running into with v6. It's forcing us to change our pathing structure, unfortunately.

Looking back through the commit history, I couldn't find a good reason why the .replace(/\+/g, ' ') was basically added back. If this was the mistake, the fix is super easy and I have a PR up for it (unless of course I'm missing something!)