Import process

Some thoughts about what would be needed in the next phase to get a structured import process:

An import page is needed to get the import approved, first by the Swedish community (on the forum or the mail list) and then by the Import mail list. Requirements are set out in the Import Guidelines. Example. The import page wiki will be the "project page" for the import. It will contain for example an overview about how the NVDB attributes are converted to OSM tags.
A structured way to keep track of status. Example
A wiki page to provide guidelines for the import itself. Important for recruiting new participants. Example
This Github page. Instructions for running the program (but not the import process etc).

Again great ideas, however I will probably not be involved in that though, not for the time being at least, my time slot working on this is sort of running out. Not everyone will agree on imports either, there's always politics, not something I particularly enjoy working with.
The tool can be used already today by experienced users for assisted manual editing. Scripted imports with automated overwriting and synching of existing data seems pretty far off to me. And as long as you just merge it manually, basically looking at each road by hand, double-checking with photos, using replace geometry tool etc, taking previous tags into account, I don't really see it as "import" as such, just a way to do manual mapping more efficiently. I just tested the tool on Dorotea Kommun (small kommun in the north). It took about 20 hours of hand-merging. About 90% of the roads where already there, of those 40% had quite poor alignment, and 10% very poor alignment. Tags like speed limits etc often wrong, missing road names. The biggest gain when making a merge like this is that you get a baseline that you can trust the quality of that roads we expect to be there are there and in the right location. There are no house addresses in NVDB though unfortunately, so that's still largely missing.
I found some improvement ideas from working with Dorotea, I hope to get time to put them in... but I cannot work as intensely as the past month any longer, so it will probably move a bit slower now for a while.
In northern Sweden we are very few active mappers and the map is still quite immature in many places, so there's not much organizing that need to be done to make improvement. In southern Sweden and densely populated areas I expect imports to be much more controversial and technical difficult, but there is also less need for them as the map is more mature.
I do support a more structured and organized way to use the tool though, but I'm probably not going to be in charge of such an effort.

I am quite sure it will be considered an import since it is based on external data, and there will eventually be complaints and the usual threats of reverting the edits etc.
Maybe somebody else in the Swedish community could create the wiki page needed for complying with the import guidelines.

Draft import plan: https://wiki.openstreetmap.org/wiki/Import/Catalogue/Sweden_highway_import
Needs further edits.

Just to make clear my driving force behind this -- for my own egoistic needs, a good map in Norrbotten and Västerbotten is basically all I need, because that's where I do my cycling and use OSM end services. In time I could cover all that personally, so I don't have a strong drive to make a nation-wide organized import at this time. But on the other hand I have nothing against it either.
I think however that it can be a bit hard, politically speaking. I'm already using this script for mapping myself and got acceptance for what I do, but so far I keep to rural municipalities where there are few other mappers and lots of outdated and missing data. My process is also very manual and quite much reworking of the output from the script, especially highway types in rural areas, adding turning circles, merging with existing roads that doesn't exist in NDVB, and fixing alignment in existing data, sometimes having to move whole villages 20 - 40 meters to be able to merge properly. Also careful to keep history and not just delete and replace (but instead use replace geometry for automated modify).
The import work should be carried out by experienced mappers, who see it not purely as an import, but a tool to map faster, with more accurate geometry and with more tags.
Thanks to my quite careful process and open discussion about what I do, my work has been accepted, but a less careful import would for sure cause great controversy and could turn the community against any type of import effort. On reason the README is in Swedish is because I don't want the script to be too wide-spread. I write English here out of habit and simply because my Norwegian just sucks, so it becomes easier to discuss issues in English for me.
There are many traditionalists in the Swedish OSM community which are very skeptical about imports, and also thinks it takes away some of the fun of mapping and originality of OSM. I understand that view, but personally I think one can argue that we need imports to maintain a decent coverage and make OSM data as useful as possible, and even if we do make imports there is lots of original on-the-ground mapping one can do in addition. However, I don't want to engage in that struggle to convince the unwilling that I expect it will be if we try to get consensus to agree that we should do a nation-wide import.
Hopefully I'm wrong, and it will be quite easy to get all on board, but I'm not the person that want to bring this out to the community.
If I would organize a strategy, I would be careful which municipalities we do, and keep away from traditionalists "hometowns" (which usually are quite well mapped anyway), and then keep an import plan just like yours above to make sure we make consistent imports, but not really try to make it a nation-wide mandate or try to get a consensus. Just be like "are you an experienced mapper and want to map more efficiently? Use this script, following these guidelines", and then it's each mapper on their own responsibility.
As long as we clearly improve the municipalities we map in, it's not that controversial. Problems arise when we go in and say change primary/secondary highway from OSM design to what we think NVDB mandates, and change geometry in cities like Stockholm to match NVDB despite what's already in is an alternate but still correct way to map, which does happen in cities quite often with multi-lane roads and lots of cycleways and footways.

I don't want to sound too negative though.
I think I'll write up a guideline which in shorter terms and more specified describes how I manually preprocess the NVDB data and merge it with existing, which then could be discussed and included on the wiki. I think a preprocessing step and manually looking at each road is key, both to getting a good result, and to get acceptance from the community.
Once we have a baseline inside the OSM database, updates will be easier to partially automate since the automation script can then get some properties from OSM and some from NVDB before looking for differences.
I'm against just putting in all tags unmodified from the script, and in order to do that change current tagging traditions. Here's a few things that need consideration:

small road naming: often spelling mistakes, sometimes false naming gaps, lazy group naming that can be clarified
missing turning circles, must be added manually
residential/unclassified: often strange borders in smaller villages, leaving stubs of unclassified/residential, than needs merging
current tradition is to map smaller skogsbilväg as track, and more important ones (popular destinations, connecting roads etc) as unclassified. NVDB cannot make that distinction between track/unclassified correctly, must be done manually. Track road quality is traditionally mapped with tracktype grade, that information does not exist in NVDB (it exists partially in the Lantmäteriet raster map, interestingly enough)
NVDB has preliminary geometry on new skogsbilvägar, need to be corrected by matching arial photos or raster map.
Current mapping tradition is to make roads to individual houses service (sometimes adding driveway to be explicit), if there's a group of houses make the road unclassified, unless it's grade4 or grade5 it's kept as track. In tourism, argiculture and rural areas there's a lot of this. In larger villages residential can take over the unclassified/service types.
50+% of bridges need position and/or size adjustment. Bridges for cycleways are often missing completely.
Railway crossings are in my script nowadays aligned to railway geometry so they are better placed than they otherwise are, however, even the NVDB railway geometry has some offset errors in some places, so further manual tuning may be required (one can usually trust the raster map there)

Inside cities it becomes even more complex. Roads except for multilane roads are usually quite straightforward, but cycleways and footways not so much. Bridges and tunnels often needs manual fixes, quite common that a bridge over a road is connected as a crossing in the NVDB geometry. Parkings and dead-end roads have different mapping solutions. NVDB of course have no parkings as areas at all.
All these things need to be in an import wiki, and makes the import less of a pure import and more as using NVDB data as a tool to make traditional mapping quicker with smoother more accurate geometry and with more tags.

Good idea to have a wiki for import guidelines, i.e. all the manual steps which should be checked during the import. It seems to be similar to the guidelines I have made here for Norway: Veileder Elveg-import. Could be written in Swedish, by the way (not English).
It is still the import plan which needs to be reviewed by the OSM community (according to the import guidelines), but it can refer to the additional wiki with further instructions, and the two may be reviewed together. The workflow section in the import plan could just be very basic, similar to the current state.
My main concern has been that no matter how manual the processing is, this is still an import, and it would be a pity to get reverts or to ruin one's reputation. And when making all the municipality files available, I think we take on a responsibility to not mislead anyone into an unauthorised import.
I am regarding imports like this as initiatives to just get the basics in place for OSM. Then we may continue refining that in the years to come doing what OSM is best at - local mapping of what we see on the ground. And there is no need to push for a nation wide import. After the import plan has been reviewed, we just make the files available for anyone who is interested.

Great, it sounds like we are in agreement. Should I start editing somewhere to contribute to this plan? My contribution would be on guidelines how to preprocess the data etc, which then can be discussed and adjusted of course.
Maybe we should align our scripts first so we agree within ourselves how we should do the tagging? I haven't had much time to look at your script's tagging yet and compare, I've added railway crossings though.
(Regarding OSM as a whole I'm ambivalent which I guess shines through, I haven't had the greatest of experience of the "community" on the international level (Swedish community is fine), and I personally think the project is very poorly managed causing a stagnant technical platform and lack of quality geo services actually using the data we contribute, and with nature even blocking the possibility to contribute high quality mapping due to unwillingness to implement necessary features.
So I have a love-hate relationship and I'm not too much emotionally invested, I would not cry if this whole effort gets blocked by the community (I think it's unlikely though), then I just move on to some other project. That said when I actually contribute my interest is making good mapping, so I don't think my ambivalence to OSM should be a problem in developing the script, but I don't have much respect for fundamentalist interpretations of original OSM processes and principles which I think today is a poison to the community on the international level)

Agree, let us work through the last details of tagging before we complete the tagging section of the import plan. I have some personal preferences but no strong views about tagging. I think the most important thing is to get feedback from the Swedish community on the forum once the last details are clarified and the product is ready for a review. Now that we have all the files it should be easier to get more specific feedback.
My learning has been that if we get the tagging as right as possible (i.e. defaults which are for example 80-90% ok), the import will go a lot quicker, and there is less chance that someone takes the lazy approach and do not care about the details of tagging. I spend maybe 10% on tagging when I import, mostly adjusting highway classes between unclassified/service/track + adding turn:lanes tagging at bigger junctions.
Also, you could create a https://wiki.openstreetmap.org/wiki/Import/Catalogue/Sweden_highway_import/Import_guidelines page where you start on the guidelines. Technical details about how the script works is better to document on GitHub, I think.
I have had a number of import plans for review on the international import list, and they have been very kind every time. In fact I have a plan for review there this week which have not received a single comment: Norway Building Import.

Ok, I'm already so deep in this so I just created a wiki user, I'll create that import guidelines page and write some stuff which you can review later.

@atorger here's the page @NKAmapper already created https://wiki.openstreetmap.org/wiki/Import/Catalogue/Sweden_highway_import

Thanks, I'll edit that one, and then create a guideline document on the side in Swedish.

@NKAMapper s document was already largely complete I think, I made some minor adjustments, removed the static translation table of tags and made a generic description and put a link to this script as there's like a crazy amount of static conversion to document it's just better to look at the code.
Next I'm going to work on the Swedish handledning. But I need to do some paid work too :-)

I have now made a draft of an import guideline in Swedish. It's a bit raw, but should contain "everything an importer needs to know"
https://wiki.openstreetmap.org/wiki/Import/Catalogue/Sweden_highway_import/Import_guidelines
I've also made a simple progress page:
https://wiki.openstreetmap.org/wiki/Import/Catalogue/Sweden_highway_import/Progress
Both are linked on the main page which I have updated slighty, but it's mostly NKAMapper's original work:
https://wiki.openstreetmap.org/wiki/Import/Catalogue/Sweden_highway_import
So now what's next?

I have sent announcements to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>as required by the process.

Amazing! 🥳

does it make sense to mention my accompanying project at all those touchpoints as well? If so, I could add some things but it's not really related to the import itself.

Yes, I think so. The link to batch downloads would be really nice to have, have already placeholder for link. Is the server permanent enough, or do we need to find hosting somewhere? The map project is also useful and interesting in this context I think, but I was not sure if you are ready to get "heat" on it so I didn't link or talk about it yet.
FYI, there's not much activity in terms of actual reviewing going on in these lists as the "formal" part of the Swedish OSM community (those on mailing lists and to some extent OSMs own forum) has very low activity, no signs of life yet. A few comments on facebook, but that does not count in terms of the OSM process.
If no feedback is received within X days I'm not sure how to proceed, except assuming it's ok and just proceed.

No feedback was received, but informal approval has been given in Facebook. More discussion may appear as more people actually start using the data, but the import process part is in this context finished, so closing this issue.


WIP required and update forms

don't have photos working yet, but creation and updating just as a proof of concept is up on dev

I'm going to merge this now to try to build off it.


CreateUserWithEmailAndPassword doesn't return error for existing users

If there is a user with the same email registered, the call will continue and then() method will be called. There is an HTTP error 400 visible in the console log that is not returned as an error (User Exists)
Example code:
const handleSignup = () => {
    const newUser: CoreUser = {
      email: watch("email"),
      password: watch("password"),
    };
    if (createUserWithEmailAndPassword) {
      createUserWithEmailAndPassword(newUser.email, newUser.password)
        .then((result) => {
          sendEmailVerification()
            .then((result) => {
              console.log(`Email was sent to ${newUser.email} `);
            })
            .catch((error) => {
              console.error(
                `error while sending email: ${error.message}`,
                error
              );
            });
          dispatch(userSignUpSuccess());
        })
        .catch((error) => {
          dispatch(userSignUpError(error));
        });
    }
  };

Console log:

Error returned visible in network section:
{
    "error": {
        "code": 400,
        "message": "EMAIL_EXISTS",
        "errors": [
            {
                "message": "EMAIL_EXISTS",
                "domain": "global",
                "reason": "invalid"
            }
        ]
    }
}

The promise will fail if email already exists.

@metacoding this was an oversight due to the way that the hooks catch errors.
As of v5.1.0 which has just been released, createUserWithEmailAndPassword will return an auth.UserCredential if successful or undefined if not. You'll want to check this before calling sendEmailVerification.


Make error messages on ring merge clearer

Addresses one of the points raised in #1949

perhaps ErrNewerVersion should be clearer too.

I changed ErrNewerVersion


Open API 3.1.0 Support

BREAKING CHANGE
The generator's constructor now takes a mandatory Open API version. This is required in order to drive different generation behaviour based on the version.
generateDocument no longer takes a openapi version and instead we will use the version from the generator's constructor to populate this field.
Why we need this change
Open API 3.1.0 made nullable an invalid key and instead chose to become JSON Schema compatible by using a type array with null inside it. The problem here is that the type array is invalid in previous versions.
https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0

Other Changes
Also adds nullable support for:

Union
Discriminated Union
Intersection
Array
Record

Question: should I add nullable tests for all the different types?

@samchungy

Question: should I add nullable tests for all the different types?
Don't think that's necessary.


[Launcher] Fluent UX: command bar UI glitches

There seems to be a gap between the buttons. With RevealStyle, it would be nice to have no gap. (see red)

On mouse over, the hoverbackground shows of the gridview containing the button control. We need to remove it since it's redundant. (Yellow)

The right margin of the gridview seems to be a bit big. Would be nice to align it with the search icon so there's a consistent margin.

Closed with #2427


Define default buckets for Prometheus Histogram

Requirement - what kind of business use case are you trying to solve?
By default, the underlying prometheus client uses the following default buckets:
DefBuckets = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10}

These values are tailored for measuring network latency, but also assume relatively low response times.
It should be possible to specify custom default buckets for the Histogram metric type that fit various use cases.
Problem - what in Jaeger blocks you from solving the requirement?
A function WithBuckets(buckets []float64) is already exposed in the prometheus package to define default buckets for the Factory type.
However, when calling the factory's Histogram(options metrics.HistogramOptions) method to build a new histogram, the default buckets that may have been set earlier are not taken into consideration.
Instead, only the buckets from the provided options argument are used.
Proposal - what do you suggest to solve the problem or improve the existing situation?
The factory Histogram method should determine whether to use the configured default buckets or the buckets from the provided histogram options. If the options.buckets slice is nil, the defaults must be used.
Any open questions to address
Please, let me know if all of this makes sense to you or have any additional questions.
I have also addressed the necessary changes in the code and I'm ready to open a PR if you agree.

Yes, looks like a bug in the implementation


issue : onWeightChange - controller.areas are not updated

Hi,
I try to get the updated area weights, I use onWeightChange , but the list of Area from _controller.areas i not updated.
I have checked the code (tried to debug) and I see in the _sizesCache is updated, but the list of area always remain the same !
I can't find any way to retrieve the list of updated size (in pixel if possible, or at least the weights).
Thanks

Sorry, the issue was on my side !


[rancher-compose] Unable to specify compose files in other locations from tool?

Rancher Version:
Rancher - v1.1.0-dev4
Rancher Compose - v0.8.3
Docker Version:
Docker version 1.11.1, build 5604cbe
Steps to Reproduce:
Try to run rancher-compose with the -f and -r flags pointing to their respective docker-compose and rancher-compose files in another location with full filepath
e.g.
./rancher-compose logs -f blah/docker-compose.yml -r blah/rancher-compose.yml
Results:
FATA[0000] flag provided but not defined: -f
Expected:
rancher-compose to read both files and work as expected

The command should be ./rancher-compose -f blah/docker-compose.yml -r blah/rancher-compose.yml <command>. Note that the command should be after the options.
e.g.
./rancher-compose -f blah /docker-compose.yml -r blah/rancher-compose.yml logs
./rancher-compose -f blah /docker-compose.yml -r blah/rancher-compose.yml up

Ah before the commands!  Many thanks.


[IOTDB-33] Test Apache-Rat check on Windows + Oracle JDK8/11, and Lin…

…ux +OpenJDK 11

I think... if we omit too many files by using -Drat.numUnapprovedLicenses, why we run apache-rat check?
(We run this for avoiding some new added files lack the Apache header. But, in this way, these files will be omitted..)
Therefore, if -Drat.numUnapprovedLicenses is the solution, I think it equals to skip to run mvn apache-rat:check.


Support for api/v2/apps/ to access app specific data

Is there any way to access apps information via client ? Currently, there is no method in client that supports requests like https://yoursubdomain.zendesk.com/api/v2/apps/12345/public_key.pem.
Any workaround for this via zendesk client?

Zendesk API Reference: https://developer.zendesk.com/rest_api/docs/core/apps
Hi @shokeenAnil, it looks like those methods would need to be added to the project, otherwise you could implement your own HTTP calls to the Zendesk APIs.
If you're willing and able to contribute these new methods to the project, I'd recommend reading the Contributing Guide.
Regards,


[5.1] syntax: perform rename to avoid name collision in syntax builder. NFC

@swift-ci please test


Bugfix: Errors during data form submission no longer freeze the app

https://github.com/Scrivito/scrivito-portal-app/pull/589 already provided a bugfix for a specific issue.
The issue could be reproduced, by trying to upload https://drive.google.com/file/d/1t5KUq5yxc9wYqNUI4FDm4yNsr3ukyR0z/view?usp=sharing (this can still be done in the PR). Since prior to https://github.com/Scrivito/scrivito-portal-app/pull/589 the mime type did not match and an error was passed to the rejected callback of the promise. This error message was shown in a toast.error.
But since the error message was quite long (~3 mb) it crashed the react rendering resulting in an endless "spinner".
This PR prevents the endless "spinner" by limiting the length of string passed to the toast.error. You still can't upload the file in this PR, but you will see an error message and be able to continue to use the application.
The bug could potentially also be not regarding the length of the string, but because of the content. It could also be, that this is a bug within React itself. I did not investigate further.

REVIEW (c19f825)
I also adjusted the title of the PR.


v1.2.0

v1.2.0

Codecov Report

Merging #5 (4274246) into main (41e85ea) will increase coverage by 0.11%.
The diff coverage is 75.01%.

@@            Coverage Diff             @@
##             main       #5      +/-   ##
==========================================
+ Coverage   73.67%   73.79%   +0.11%
==========================================
  Files         294      297       +3
  Lines       35706    35848     +142
==========================================
+ Hits        26308    26454     +146
+ Misses       7728     7652      -76
- Partials     1670     1742      +72

Impacted Files
Coverage Δ

blobstore/access/server.go
69.84% <0.00%> (-0.87%)
:arrow_down:

blobstore/access/stream_alloc.go
58.82% <0.00%> (ø)

blobstore/api/blobnode/client.go
85.71% <ø> (ø)

blobstore/api/blobnode/iostat.go
40.00% <0.00%> (-26.67%)
:arrow_down:

blobstore/api/blobnode/shard.go
34.55% <ø> (+0.12%)
:arrow_up:

blobstore/api/blobnode/worker.go
0.00% <0.00%> (ø)

blobstore/api/clustermgr/kv.go
0.00% <0.00%> (ø)

blobstore/api/clustermgr/proto.go
0.00% <ø> (ø)

blobstore/blobnode/base/workutils/buf_pool.go
0.00% <0.00%> (ø)

blobstore/blobnode/service.go
69.23% <ø> (-1.51%)
:arrow_down:

... and 99 more

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


Update to Cake.Issues.Recipe 0.3.2

Update Cake.Issues.Recipe to 0.3.2 which adds support for reporting issues to Azure Pipelines (which will show 10 of the issues)
Fixes #516

@pascalberger your changes have been merged, thanks for your contribution 👍


Add Full JSON-RPC Param Type Support

Updated the JSON-RPC implementation so that it supports setting the ContractParameterType consistently with the reference implementation. This includes not only the current hex representation, but also int value, string literal, and int string.

Added appropriate tests to ensure each of these permutations is functional.

What current issue(s) does this address, or what feature is it adding?
Not all of the usual JSON-RPC contract param types are supported currently. The current implementation only supports hex-encoded strings. This change adds support for the various types that are supported in the NEO reference implementation, including int (e.g. 7), string int (e.g. "7", and string literal (e.g. "String").
How did you solve this problem?
Updated the parser to support auto-detecting the type.
How did you make sure your solution works?
Tested it and added a test for each new variation that is supported.
Are there any special changes in the code that we should be aware of?
No.
Please check the following, if applicable:

[X] Did you add any tests?
[X] Did you run make lint?
[X] Did you run make test?
[X] Are you making a PR to a feature branch or development rather than master?
[X] Did you add an entry to CHANGELOG.rst? (if not, please do)

Coverage increased (+0.04%) to 75.672% when pulling 34ffb3c291c1173c9f6dd8457dcd731bf3e7b0ef on brianlenz:fix-json-rpc-param-types into<PHONE_NUMBER>4f15b30a3f22f5dbba7b04dbfdd486 on CityOfZion:development.

👍

👍


enable new app addon

story: https://github.com/stolostron/backlog/issues/18487
Signed-off-by: Zhiwei Yin<EMAIL_ADDRESS>

assign @philipwu08

/assign @philipwu08

/lgtm


Clear-Host fails to clear the first line

Environment
Windows build number: 10.0.19041.0
Windows Terminal version: 0.10.761.0

Any other software?
PowerShell Core 7.0.0
NodeJS 12.16.1
coronavirus-tracker-cli 0.6.0 (`npm install -g<EMAIL_ADDRESS>
Steps to reproduce

Open PowerShell Core
Run corona to get output
Run cls to clear the screen

Expected behavior
Screen should be fully cleared.
Actual behavior
The first line retains some characters. This is probably related to the color formatting being used by the CLI. The characters retained are also not from the line that was originally the topmost line.
Output before clearing:

Output after clearing:

Note: A second cls finishes clearing the screen.

This is really strange. Would you mind running a quick test for me?
Can you do this from Powershell Core outside of Terminal? To reproduce the same conditions as Terminal runs in, you will need to run this first (it will delete and temporarily disable your scrollback, but this is an important part of the repro!)
$Host.UI.RawUI.BufferSize = $Host.UI.RawUI.WindowSize

@DHowett
I performed the following steps (version of coranavirus-tracker-cli on npmjs.com has some issues with upstream API sources, so I pulled latest master):

Pulled latest source from https://github.com/sagarkarira/coronavirus-tracker-cli (b5f2f7e26bb98df0e47f7ebd3dcb6899d30d9409)
npm install
npm ./bin/index.js followed by cls in Windows Terminal to confirm the problem is still present
Switched to running PowerShell Core 7.0.0 directly, and ran $Host.UI.RawUI.BufferSize = $Host.UI.RawUI.WindowSize
npm ./bin/index.js followed by cls

The problem did not appear when running directly in PowerShell Core, only in Windows Terminal hosted PowerShell Core.

Yeah, alright, I can definitely reproduce this. Gotta fix for v1.
Notes to future debuggers:
When I run clear in powershell, this is what I get out of the pty.
␛[m␛[25l␛[94m␍␊␛[H(␛[m␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␍␊␛[K␛[1;2H␛[?25h␛[97mdhowett-sl␛[94m)␣␛[95m~␣␛[92m%␣
Weirdly enough, all those ESC [ K are coming through, but we don't end up clearing the line the prompt ends up on.

␛[H(␛[m␍␊ -- we're moving home, then cr, lf, and emitting one fewer EL than the entire screen. This seems to be related to the VT renderer when we circle the buffer.

Alright, this is also doable with some alt buffer trickery. It looks like we're not clearing the top line when [something something scrollback] happens.
From PowerShell 7:
"`e[?1049h`e#8" + ("`n" * $Host.UI.RawUI.WindowSize.Height) + "`e[?1049l"

enter the alt buffer
emit DECALN to fill the screen with EEEEEE...
push some of them off the screen with enough newlines to fill the screen height
exit the alt buffer

Critically, when we redraw PowerShell 7.0.0 we don't EL the rest of that line (!)

(note the missing ␛[K which should follow the 0)

VtEngine_TraceInvalidateScroll  scrollDelta: "(X:0, Y:-1)"
VtEngine_TraceInvalidate        invalidated: "(L:0, T:0, R:171, B:41) [W:171, H:41]"
VtEngine_TraceStartPaint        cursorMoved: true
                                invalidated: [whole screen],
                                lastView:    "(L:0, T:0, R:171, B:41) [W:171, H:41]"
                                quickReturn: false
                                scrollDelta: "(X:0, Y:-1)
VtEngine_TraceLastText          lastText:    "(X:0, Y:40)
VtEngine_TraceMoveCursor        cursorPos:   "(X:0, Y:40)
                                lastText:    "(X:0, Y:40)"
VtEngine_TraceString            seq:         ^J
VtEngine_TraceMoveCursor        cursorPos:   "(X:0, Y:0)"
                                lastText:    "(X:0, Y:40)"
VtEngine_TraceString            seq:         ^[[H
VtEngine_TraceString            seq:         PowerShellSPC7.0.0
VtEngine_TraceMoveCursor        cursorPos:   "(X:0, Y:1)"
                                lastText:    "(X:16, Y:0)"
VtEngine_TraceString            seq:         ^M^J
VtEngine_TraceString            seq:         CopyrightSPC(c)SPCMicrosoftSPCCorporation.SPCAllSPCrightsSPCreserved.

that scroll delta bit scares me

Okay, nailed it down. This is happening because _newBottomLine is true, even though we're rendering at 0,0 and we shouldn't care about the new bottom line.
Perhaps we had an assumption that when something scrolled, it was always triggering a draw into one of the new bottom lines.
This concept is invalidated by a full screen scroll-and-redraw.
We need to determine whether we're writing to the "new" bottom line before we optimize around its contents already being empty. :smile:
Open PR #5181 touches the code that sets _newBottomLine.

Moving the cursor clears the _newBottomLine state, but we only move the cursor after we do all the determinations about whether to clear the lines based on its state.

Okay so #5181 almost fixes this too:

Note the one mysterious 'E' immediately following the prompt that's left untouched.

Oh my goodness gracious. You wanna know something crazy? This won't repro without PSReadline as well.
With:

Without:

The trick is that the 'E's will only appear in spaces after the end of one run of text, before the next one starts. PSReadline will color the input as blue-on-default, but pure powershell won't. I've incorporated this into the test I'm building for #5113.

I’m think that’s less because of PSReadline and more because your top row is fully printed in every column, actually. If you go down one line before running that command, what happens?

psreadline:

no psreadline looks the same but apparently attempting to take a SS on my PC causes System to eat all the CPU, so I can't take another. I'll make sure the test covers this too


Clarity tutorial failures

Several steps in the tutorial fail when executed in the current CLI:
# clarity-cli execute /data/db $DEMO_ADDRESS.tokens mint! $DEMO_ADDRESS 100000
Transaction execution error:
Unchecked(TypeValueError(UIntType, Int(100000)))

and
# echo "(get owner (map-get name-map (tuple (name 10))))" | clarity-cli eval $DEMO_ADDRESS.names /data/db
Program execution error:
Unchecked(UndefinedFunction("map-get"))

Submitted PR #482
Also, the link to clarity-cli at the end of the tutorial is incorrect.
Correction in PR #484

@njordhov Thanks for the issue. I'll check with the dev team to see how the image changed.

Closing due to old PRs that address


IsA<_> can't be used for trait objects

Reason for this is that the associated types of all super-traits have to be specified, i.e. GlibType of Wrapper, Storage of ToGlibPtr. By specifying those, using trait objects becomes useless as you already specified one specific type.
We should try to solve this, either by making those associated types generic types in one way or another, or otherwise untangling the traits. Not being able to use IsA<_> as a trait object is a big problem :)
Example compiler error when trying to use it as trait object:
error[E0191]: the value of the associated type `GlibType` (from the trait `glib::wrapper::Wrapper`) must be specified
  --> src/bin.rs:24:37
   |
24 |     fn add_many(&self, elements: &[&IsA<Element>]) -> Result<(), glib::BoolError> {
   |                                     ^^^^^^^^^^^^ missing associated type `GlibType` value

error[E0191]: the value of the associated type `Storage` (from the trait `glib::translate::ToGlibPtr`) must be specified
  --> src/bin.rs:24:37
   |
24 |     fn add_many(&self, elements: &[&IsA<Element>]) -> Result<(), glib::BoolError> {
   |                                     ^^^^^^^^^^^^ missing associated type `Storage` value

If someone has any ideas, proposals, just put them down here. I don't have any yet

fn add_many<T:IsA<Element>>(&self, elements: &[&T])->.. don't works too ?
But even it this works, it only for one type.

I had this issue very recently, how nice of a coincidence! :)
Just thought: why don't implement directly *Ext traits on IsA<T> as well? It could reduce the pain of using them (not sure if possible though).

fn add_many<T:IsA>(&self, elements: &[&T])->.. don't works too ?
But even it this works, it only for one type.

That would not use trait objects, generate code for each invocation with different types and require each element to be of exactly the same type :)

Just thought: why don't implement directly *Ext traits on IsA as well? It could reduce the pain of using them (not sure if possible though).

Not sure what you mean. The Ext traits are implemented on IsA already, e.g. https://github.com/sdroege/gstreamer-rs/blob/342d5ab93527de463e5645182b09187dd6fff6d6/gstreamer/src/auto/bin.rs#L112

Urg, I meant the other way.  What about a Deref implementation directly on IsA which could return an actual object and not just a trait.

Deref must return an actual reference, which we can't create out of thin air here :) But that also wouldn't solve it, or am I missing something? The problem is that due to the associated types, we can't create a (useful, i.e. generic) trait object out of IsA<_>.

FWIW, I started working on this yesterday and as part of this work we'll also get https://github.com/gtk-rs/gir/issues/670. Lots of untangling of traits necessary

OK I have a nice solution that also cleans up some other stuff :) PRs coming in the next days

After a lot of back and forth, I now believe this is impossible to implement because of signal handlers.
pub trait FooExt: 'static {
    fn connect_meh<F: Fn(&Self)>(&self);
}

impl<T: IsA<Foo>> FooExt for T { ... }

The trampoline for the signal handler needs to be able to get from a *mut GObject somehow to a &Self. This would require either

All IsA<_> to have the same memory representation (i.e. the wrapper that glib_wrapper! currently creates). Then we could simply transmute. But that won't work for creating a &Box<IsA<Foo>> for example.
IsA<T> needs a trait function unsafe fn from_ref(obj: &T) -> &Self. But this is not object-safe.

All my changes still have some value, so I clean them up (and remove all the complexities I added to make it possible to create trait objects) and submit them some time later or in the next days.


pkg/osbuild: add ExpireDate to users

The ExpireDate field for the org.osbuild.users stage of osbuild has been added in https://github.com/osbuild/osbuild/pull/1648. This PR simply extends osbuild/images to support the new field.

If you have any testing recommendations/requirements on this please let me know!

I can't view the snyk scan issues, so I need a bit of assistance there. Thanks in advance!

Looks OK but it seems your editor (or you) also made some other changes. I'm fine with the other changes as well but I'd prefer them in two commits.

It was go fmt. I'll separate those out.

Thank you! Does anything have to be done about the failing snyk check?

This PR has breaking changes with osbuild-composer. I plan on updating that repo as well, but I don't know how I make the checks here pass. Seems like a circular dependency.

Reasonably sure that they're to be expected but we might want to have a PR ready in osbuild-composer before this merges, cc @achilleas-k?

This PR has breaking changes with osbuild-composer. I plan on updating that repo as well, but I don't know how I make the checks here pass. Seems like a circular dependency.

Yeah that's to be expected.  It's more of a warning so it's obvious that the update in osbuild-composer will require changes.

Reasonably sure that they're to be expected but we might want to have a PR ready in osbuild-composer before this merges, cc @achilleas-k?

I think we can merge without the PR being ready since the changes are rather trivial.

I also don't have access to snyk.

Looks like some of the gitlab CI jobs failed, probably due to issues on the runner?

Worth trying merge queue again?
Apologies if my daily comments are too frequent, please let me know if it is too much 🙏 I would do it myself if I could

Apologies if my daily comments are too frequent

No apologies necessary.  It's fine!

Thank you so much for all you efforts with this! I will have an osbuild-composer PR today


Second button bar item

Possible to implement second bar item (image) with slightly different scrolling?
The problem I have is that there are quite a lot of item names and they are long, so navigation might be confusing for a user.

So I was thinking to add an ico (image) for each item to make navigation simpler, BUT

I need those icos scroll slightly differently so that most of them fit the screen.
Same time this (icos) scrolling should be linked to the titles scrolling and vice versa.
In terms of scrolling and touches icos (images) should act same as button bar items act now.
I would also appreciate to have different title and image sizes for  selected and not selected items. You have implemented this in Navigation Bar option but no in the other ones.

Thank you in advance

I got your idea.
Options you have available are: show short titles, show only images, show image and title but scrolling at the same velocity.
Seems to me this is edge case scenario and it's not worth integrating to the library.


Add release notes maybe?

Having release notes would be really useful to see what new APIs were added and changed

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

ID: c420b152-7303-918a-dbc8-8d1e539c64ec
Version Independent ID: fe85e24f-c3fc-3763-b1db-6b360fb08067
Content: Xamarin.Essentials - Xamarin
Content Source: docs/essentials/index.md
Product: xamarin
Technology: xamarin-essentials
GitHub Login: @jamesmontemagno
Microsoft Alias: jamont

They are currently only on the GitHub repo
https://github.com/xamarin/essentials/wiki/Release-Notes
but if you'd like to see them hosted here, along with the rest of our platform, let @jamesmontemagno know 😉


React Hydration error

There is a hydration error when using plexus with nextjs+react. If you try using a plexus value exported from the usePlexus hook directly in the template of a React component, it will throw a hydration error. This could be fixed by utilizing the useState hook better inside usePlexus.

Fixed in v1.0.7


"Unexpected token M in JSON at position 15" (SyntaxError)

Hey. When i want to start the bot, the console return me that :

Can i have help to fix that ? Thanks~

Make sure that the token inside your config.json file is inside parentheses, and make sure that you are not missing any commas between lines. Most likely a problem on your end with the config file.

The problem is with the parentheses i think. But i dont know where i need to place it. Can you show me, please ?

show an image of your config

show an image of your config

Protect your token!

yes yes that is very important

Here it is

first of all take away the ("") around the token and keep one of the quotes other then that I don't see a problem

If i do that, the console return an error about a config error : Invalid ownerID. Must be a string of your Discord ID.

Your ownerID isnt your name and discrim. if you right click on your self and click copy id
thats your ownerID

If i do that, the console return an error about a config error : Invalid ownerID. Must be a string of your Discord ID.

Ok thanks, this error is fixed. But now, the console return the same error than before : Unexpected token M in JSON at position 16

Mind showing a picture of the updated config file? With the token protected like you did before. There is most likely something else wrong with it.

 Thanks !

But now, i just wanted to create a command... and that's not working...
There is the code :

And the error :

// Optional comment string to describe the command.
module.exports = (self) => {
  self.registerCommand('mlem', function (msg, args) {
    this.embed(msg, { // Send an embed
      title: 'Embed title',
      description: 'Embed description',
      color: 4627433
    })
  })
}

This is taken from the command example in the readme. You placed some parentheses where they arent suppost to be and you are missing some closing brackets on some places. Also change deleteDelay to an actual number in milliseconds or just remove it from the code like in the example above. If at anytime the code of a command does not work, check it against the code examples from the readme to see what is wrong.


msghdr for musl cannot be instantiated because of private padding fields

If I attempt to build
 let mut header = libc::msghdr {
            msg_name: std::ptr::null_mut(),
            msg_namelen: 0,
            msg_iov: std::ptr::null_mut(),
            msg_iovlen: 0,
            msg_control: std::ptr::null_mut(),
            msg_controllen: 0,
            msg_flags: 0,
        };

on a generic linux target this works, but with --target x86_64-unknown-linux-musl I receive:
error: cannot construct `msghdr` with struct literal syntax due to inaccessible fields
  --> init/src/main.rs:27:26
   |
27 |         let mut header = libc::msghdr {
   |                          ^^^^^^^^^^^^

error: aborting due to previous error; 1 warning emitted

This is because of private padding used in the musl version of these types: https://github.com/rust-lang/libc/blob/master/src/unix/linux_like/linux/musl/b64/mod.rs#L92
It is notable that in the types below the padding is made public, making this particular struct inconsistent.
Can be worked around with mem::zeroed but I think these fields should ideally be made public

Thanks for filing it! But I'm going to close as wontfix, see https://github.com/rust-lang/libc/pull/2346#issuecomment-899226540.

Could it at least derive Default?


Doesn't compile under Alexandria

Delphi 11 Alexandria Update 2

Many ProtoGen units not part of the project.

class function TFTensor.TF_NewTensor(data: TArray; shape: TFShape; dtype: TF_DataType):PTF_Tensor;
begin
...
if Assigned(data)  then
Move(@data[0], ttensor^, _length);  // should be data[0] instead of @data[0] ?
...
end;

To compile you need some external libraries:
Spring4d : https://bitbucket.org/sglienke/spring4d/src/master/
LoggerPro : https://github.com/danieleteti/loggerpro
Neon : https://github.com/paolo-rossi/delphi-neon
IPWorks Zip : https://www.nsoftware.com/ipworks/zip/download.aspx
1 : They are included in the project because some of them will be needed in the future.
2 : yes you are right it is a mistake. Thank you very much

Tensorflow.array_ops 321 error :  for var item in TUtils.zip<TNDArray,Integer>(ePaddings_constant, eInput_shape) do
[dcc32 Error] Tensorflow.array_ops.pas(321): E2250 There is no overloaded version of 'TUtils.zip<TensorFlow.DApi.TNDArray,System.Integer>' that can be called with these arguments

@syberi  it's not the latest commit and the function is this:
class function TUtils.zip<T1, T2>(e1 : Enumerable<T1>; e2 : TEnumerable<T2>): Enumerable<Tuple<T1,T2>> ; begin     var eE2 : Ienumerable<T2> := TCollections.CreateList<T2>(e2.ToArray) ;     var r := e1.Zip<T2, Tuple<T1,T2> >( eE2,function(first:  T1; second : T2 ): Tuple<T1,T2>                                                 begin                                                     Result := Tuple<T1,T2>.Create(first,second)                                                 end );     Result := r; end;
check the code or show me an example

i did try  TensorFlow Project from this rep., and Enumerable is class of Spring.Collection.Enumerable not class of Spring4d.Collection.Enumerable, i cant find classes Spring4d(from here  https://bitbucket.org/sglienke/spring4d/src/master/)
i don't understand what i'm doing wrong

This not last committ, update last committ.
 var ePaddings_constant := Enumerable<TNDArray>.Create([paddings_constant]);   var eInput_shape           := TList<Integer>.Create(input_shape.as_int_list);


fsevents can't find int linux system but osx,  so ng2-admin only for osx?

[root@VM_10_250_centos ng2-admin]# npm install fsevents
npm ERR! Linux 2.6.32-431.el6.x86_64
npm ERR! argv "/data/software/node-v6.9.5-linux-x64/bin/node" "/usr/local/bin/npm" "install" "fsevents"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.10
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! notsup Valid OS:    darwin
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   linux
npm ERR! notsup Actual Arch: x64
npm ERR! Please include the following file with any support request:
npm ERR!     /data/software/ng2-admin/npm-debug.log

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

What is the expected behavior?

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.0-rc.X
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

[root@VM_10_250_centos ng2-admin-lte]# npm install
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
Killed         ....] / extract:ember-cli-string-utils: sill gunzTarPerm modified mode [ 'src/htmlparser.js', 438, 420 ]

Hi @lsxredrain, please take a look here https://github.com/angular/angular/issues/13935

npm i -f
then it is ok
thanks a lot

npm i -f

worked for me in virtualized Ubuntu today. Use with caution tho...


x/crypto/acme: End polling on 400-series errors

In x/crypto/acme's WaitForAuthorization, polling continues until the response code is either StatusOK or StatusAccepted. However, 400-series errors, like 404 and 403, should generally not be considered retryable, and should result in an immediate error return.
At Let's Encrypt, we are seeing clients in the wild that continue polling their challenges long after those challenges have expired and started serving 404.

Whoops, sorry. Thanks for the report.
/cc @x1ddos

FYI, the ACMEv2 implementation does not have this bug, as it currently errors on all HTTP errors.
@jsha Should clients retry on 5XX errors?

Yep, 5XXs should be retried, with the usual backoff.


armv7 binaries are not available

Raspberry pi 3 and others are still being sold and available.

?

Rust supports the following armv7 targets (all tier 2):

armv7-unknown-linux-gnueabihf
armv7-unknown-linux-musleabihf
armv7-unknown-linux-musleabi

All three targets added in #810 and will be available in the 0.9.0 release.


Where to find osm.xml style file?

Where to find osm.xml style file? I can only find the uncompiled sources: https://github.com/openstreetmap/mapnik-stylesheets

The latest version of the style is in openstreetmap-carto. It needs a bit of work to be built, but it's all described there in install.md. And there are some alternatives listed in the readme.


Use Etcher for Mac ISO instructions

It sounds like Linusbobcat doesn't have any intentions to evolve his project into a proper app. Avi linked me to this project and I tested it. It's really simple and it works well. http://www.etcher.io

Just for Mac, or Windows too?

I haven't personally tested on Windows. If someone can verify that it works well on Windows, I think it would make sense to use the same app. It's much simpler than Rufus for sure.

Just tested it, works well on Windows

Honestly if we're comfortable with it, we could just recommend for everyone. Then we don't need many per-OS instructions at all.

I personally didn't know how to get the Linux version to run. Otherwise I would agree it would be simpler to have the same directions across the board

On linux you have to extract the archive, then run the executable as root. It's really nowhere near as comfortable as Unetbootin, and that's not a high bar.


License Location

Hey, thanks for the program.
Where can I find the exact location of the license for VSCE 2019?
Tried different files in different locations but none seem to work.
Thanks in advance.

I think you misinterpreted usage instructions. The X:\PATH\TO\VSCELicense is the path where you cloned this repo. You actually need to give Import-Module path to the VSCELicense.psd1 or path to the folder containing it without trailing slash.
Example (assuming you've cloned/downloaded this repo to C:\VSCELicense)

Import-Module -Name C:\VSCELicense
--or--
Import-Module -Name C:\VSCELicense\VSCELicense.psd1

Ohh, RIP xD
Thanks for clarifying 👍

No problem, I'll try to make it more clear in the readme.


Initial support for multiple php-fpm targets

Much of this needs to be refactored, but this was a straightforward way to get his done.

@bakins Hi, are you still working on this project ? Many thanks !

Yes I am. I only add things as I need them for my own needs or as folks open PRs.  I should get back into this PR soon.

@bakins Gotcha, good to know ~ feels good!


Support for events in picker calendars

Allows events to be displayed or hidden in any calendar type. Fixes #35.
Implementation notes
Adds new styleable boolean attribute "eventsEnabled" to determine if events should be shown or not. This attribute determines if R.layout.calendar_view_day or R.layout.calendar_view_picker_day is used for grid items.
To use, set app:eventsEnabled="true" or "false". The attribute defaults to true for classic calendars and false for all other calendar types, meaning calendars will behave the same as before if the xml attribute is omitted.
Some modifications to the layouts and background drawable had to be made to make the selection circle large enough in the layout with events. I've done my best to match the original dimensions.
The sample app has not been changed, but simply add app:eventsEnabled="true" and app:type="one_day_picker" to the calendar in calendar_activity.xml to test.
Screenshots
Events enabled in a picker calendar:

Events disabled in a classic calendar:

@thavelka  i am XAMARIN Android Developer, Time God u have update what we need that event adding other than classic , but while i am trying to update my .dll (jar) file in xamarin nugget package i did not getting the version 1.4 can plz kindly respond on this ...

@vishnutejar: This is my personal fork. The pull request to the official repository is still open at https://github.com/Applandeo/Material-Calendar-View/pull/44. I have not used Xamarin, so I do not know how the dependencies work, but if it is similar to Gradle, you can get these changes by including the dependency com.github.thavelka:Material-Calendar-View:develop-SNAPSHOT.

Is this still working?
Does not work properly.. any official changes?


usb loopback not work on nrf52840

Describe the bug
I try run testusb samples and simple program with libusb. But only can write to device. Reading from device fail with timeout. And event not call https://github.com/zephyrproject-rtos/zephyr/blob/67f43119be9485844219bb38025f9e49d37da0bf/subsys/usb/class/loopback.c#L80
To Reproduce
Steps to reproduce the behavior:

cmake -B usb_loopback -GNinja -DBOARD=nrf52840dongle_nrf52840 zephyrproject/zephyr/samples/subsys/usb/testusb
cmake --build usb_loopback
flash
compile and run test.c source code

Expected behavior
Output
0, transfer 4
0, transfer 5

Instead libusb_bulk_transfer read from device fail with timout
0, transfer 4
-7, transfer 0

Impact
How to read data from usb device/
Logs and console output
*** Booting Zephyr OS build zephyr-v2.4.0-3783-g3f1d1f5773dd  ***
[00:00:00.275,726] <dbg> usb_descriptor.ascii7_to_utf16le: char 4 : 34, idx 12 -> 25
--- 45 messages dropped ---
[00:00:00.275,756] <dbg> usb_descriptor.ascii7_to_utf16le: char B : 42, idx 11 -> 23
[00:00:00.275,756] <dbg> usb_descriptor.ascii7_to_utf16le: char 5 : 35, idx 10 -> 21
[00:00:00.275,787] <dbg> usb_descriptor.ascii7_to_utf16le: char 6 : 36, idx 9 -> 19
[00:00:00.275,817] <dbg> usb_descriptor.ascii7_to_utf16le: char 5 : 35, idx 8 -> 17
[00:00:00.275,817] <dbg> usb_descriptor.ascii7_to_utf16le: char 2 : 32, idx 7 -> 15
[00:00:00.275,848] <dbg> usb_descriptor.ascii7_to_utf16le: char B : 42, idx 6 -> 13
[00:00:00.275,878] <dbg> usb_descriptor.ascii7_to_utf16le: char 0 : 30, idx 5 -> 11
[00:00:00.275,878] <dbg> usb_descriptor.ascii7_to_utf16le: char 1 : 31, idx 4 -> 9
[00:00:00.275,909] <dbg> usb_descriptor.ascii7_to_utf16le: char 2 : 32, idx 3 -> 7
[00:00:00.275,939] <dbg> usb_descriptor.ascii7_to_utf16le: char 3 : 33, idx 2 -> 5
[00:00:00.275,939] <dbg> usb_descriptor.ascii7_to_utf16le: char 7 : 37, idx 1 -> 3
[00:00:00.275,970] <dbg> usb_descriptor.ascii7_to_utf16le: char 5 : 35, idx 0 -> 1
[00:00:00.281,768] <dbg> usb_device.usb_enable: lock usb_enable_lock mutex
[00:00:00.281,921] <dbg> usb_device.composite_setup_ep_cb: set cb, ep: 0x1
[00:00:00.281,951] <dbg> usb_device.composite_setup_ep_cb: set cb, ep: 0x81
[00:00:00.281,951] <dbg> usb_device.usb_enable: unlock usb_enable_lock mutex
[00:00:00.281,982] <inf> main: entered main.
[00:00:00.582,000] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.582,031] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0000
[00:00:00.582,061] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.582,153] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.707,855] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.707,885] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0000
[00:00:00.707,885] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.708,007] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.708,160] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.708,190] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0000
--- 3 messages dropped ---
[00:00:00.761,749] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
--- 15 messages dropped ---
[00:00:00.788,543] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.788,574] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0000
[00:00:00.788,574] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.788,726] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.788,909] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.788,940] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0000
[00:00:00.788,940] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.789,093] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.789,215] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.789,245] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0000
[00:00:00.789,276] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.789,367] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.789,489] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.789,550] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0409
[00:00:00.789,550] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.789,764] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.789,916] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.789,978] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0409
[00:00:00.789,978] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.790,130] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.790,252] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.790,313] <dbg> usb_device.custom_handler: bRequest 0x06, wIndex 0x0409
[00:00:00.790,313] <dbg> usb_device.usb_handle_std_device_req: REQ_GET_DESCRIPTOR
[00:00:00.790,435] <dbg> usb_device.usb_handle_control_transfer: ep 0x80, status 0x02
[00:00:00.796,630] <dbg> usb_device.usb_handle_control_transfer: ep 0x00, status 0x00
[00:00:00.796,661] <dbg> usb_device.custom_handler: bRequest 0x09, wIndex 0x0000
[00:00:00.796,691] <dbg> usb_device.usb_handle_std_device_req: REQ_SET_CONFIGURATION, conf 0x1
[00:00:00.796,722] <dbg> usb_device.set_endpoint: Set endpoint 0x1 type 2 MPS 64
[00:00:00.796,752] <dbg> usb_device.set_endpoint: Set endpoint 0x81 type 2 MPS 64
[00:00:34.231,628] <dbg> usb_loopback.loopback_out_cb: ep 0x1, bytes to read 4

Environment (please complete the following information):

OS:  Linux,
Toolchain Zephyr SDK 0.12.2
Commit: master branch

Additional context
In log no entry for loopback_in_cb. Maybe I wrong call libusb_bulk_transfer?

As described here samples/subsys/usb/testusb is there to test drivers and device stack. Sample works fine on nRF52840 and passes all the tests.
Of course you can write an application that communicates with the sample. loopback is unfortunately not quite the right class name and may be confusing. In your application, the host should make Set Interface request before the first IN transfer.


[Dubbo-6177] PojoUtils realize not correct for Multidimensional primi…

…tive array #6177
What is the purpose of the change
support Multidimensional primitive array
Brief changelog
modify ReflectUtils.isPrimitives method
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[x] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[x] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #6178 into master will decrease coverage by 0.04%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #6178      +/-   ##
============================================
- Coverage     60.90%   60.86%   -0.05%
  Complexity      494      494
============================================
  Files           999      999
  Lines         39898    39898
  Branches       5744     5744
============================================
- Hits          24301    24282      -19
- Misses        12907    12924      +17
- Partials       2690     2692       +2

Impacted Files
Coverage Δ
Complexity Δ

...va/org/apache/dubbo/common/utils/ReflectUtils.java
69.38% <100.00%> (ø)
0.00 <0.00> (ø)

...bo/config/event/listener/LoggingEventListener.java
37.50% <0.00%> (-25.00%)
0.00% <0.00%> (ø%)

...ava/org/apache/dubbo/config/DubboShutdownHook.java
63.82% <0.00%> (-10.64%)
0.00% <0.00%> (ø%)

...g/apache/dubbo/rpc/protocol/rest/RestProtocol.java
68.21% <0.00%> (-3.11%)
0.00% <0.00%> (ø%)

...pache/dubbo/registry/support/AbstractRegistry.java
78.06% <0.00%> (-1.49%)
0.00% <0.00%> (ø%)

.../apache/dubbo/config/bootstrap/DubboBootstrap.java
52.36% <0.00%> (-0.57%)
0.00% <0.00%> (ø%)

...rg/apache/dubbo/common/timer/HashedWheelTimer.java
63.10% <0.00%> (-0.35%)
0.00% <0.00%> (ø%)

Continue to review full report at Codecov.

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

fix #6177


TypeError: getRouter is not a function

module.exports = (app, { getRouter }) => {   const router = getRouter("/sync-testing");   router.use(require("express").static("public"));   // Add a new route   router.get("/hello-world", (req, res) => {     res.send("Hello World");   });
When I start the app with probot run ./app.js, I get this
TypeError: getRouter is not a function
Please help me on this

Thank you for your response
Here I have add 3 files which I created in google cloud function
https://gist.github.com/raju-a/aec6ad7887b9c9f9418831b5833ad575

Sorry, I get now what the problem is.
getRouter is not set when you use it with anything other than probot run ./app.js. When you run the function on GCF, then GCF is taking care of routing, there is no long-living node process running in the background that is also acting as router.
In a future release of probot we will probably remove the getRouter function altogether, to prevent that confusion.


update script link

Update the script link to main.

/lgtm

@maleck13 would you mind approving this one?


CRDs are not labeled

When a HelmRelease contains CRDs, they get applied on the cluster without the owner labels helm.toolkit.fluxcd.io/name and helm.toolkit.fluxcd.io/namespace.

Any resource with helm hook also do not get these labels. Would be nice to have the owner labels helm.toolkit.fluxcd.io/name  and helm.toolkit.fluxcd.io/namespace on all the resources.


[Doc] add document of #651

add the parameter option documents for #651.

@smdmts Thank you for writing the document.
Can you add the following document? I would like to know more detail about invalid_string_escape
behavior.
Especially invaild_string_escape PASTHROUGH and stop_invalid_record is false
example
The \a is the invalid string. The invalid_string_escapes behave like the below.

invalid_string_escapes
result

PASSTHROUGH*1
\a

SKIP
empty string

UNESCAPE
a

*1 Raise an exception and stop parsing if stop_on_invalid if true.

@hiroyuki-sato I got it, and fix soon.

@hiroyuki-sato I fix it!

@hiroyuki-sato I fixed it!

@smdmts Thank you!.
Please fix the following
The example json file is invalid.
The value of name unquote.
second record name is missing.
{"time":1455829282,"ip":"<IP_ADDRESS>","name":"frsyuki"}
{"time":1455829282,"ip":"<IP_ADDRESS>", "name":"sadayuki"}
{"time":1455829284,"ip":"example.com","name":"Treasure Data"}
{"time":1455829282,"ip":"<IP_ADDRESS>","name":"MessagePack"}

By the way,
If input data is below string. (It contains \a)
And invalid_string_escape is PASSTHROUGH.
Raise an exception even stop_on_invalid is false.
So *1 part should fix.  ~~
~~ What do you think?
You already fix this before I submit the comments.
{"time":1455829282,"ip":"<IP_ADDRESS>","name":"frsyuki\a"}

Oh! Sorry JSON data already are broken before you create PR.
I'll create another PR.
LGTM.
@dmikurube , @muga Please take a look when you can.

Merging. Thank you.


Batch prefill tokens uses max input tokens as default

max_batch_prefill_tokens is now optional, and it is defaulting to the value from max_input_length.
Now, users can define custom max_input_length without having to also specify max_batch_prefill_tokens

@noyoshi how we looking here?


[HOLD 27456][$500] Chat - Inconsistency in displaying unread green line when navigating from thread

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.3.96-5
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Navigate to staging.new.expensify.com
Go to chat with long history
Mark the latest message as unread
Scroll up and enter a thread
Tap on the subtitle in thread to return to main chat
Scroll down and note that green line is still there
Tap on the back button
Tap on the subtitle again
Scroll down and note that the green line is gone
Tap on the back button twice

Expected Result:
The green line for unread message will not show up since the unread message is visited and the green line is gone in Step 9
Actual Result:
The green line for unread message reappears
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/407d9ed1-c04d-4595-8673-c208ec588704
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e2d8d823ccdf91aa
Upwork Job ID:<PHONE_NUMBER>610829824
Last Price Increase: 2023-11-14

This issue will be fixed by https://github.com/Expensify/App/issues/30696#issuecomment-1791243687

Proposal
Please re-state the problem that we are trying to solve in this issue.
There are some inconsistencies in displaying unread green line marker when navigating from and to thread
What is the root cause of that problem?
The main issue is in weird logic of the following code
https://github.com/Expensify/App/blob/9cecdfa1439a03a943d6c776e00eaaac3f4cb58c/src/pages/home/report/ReportActionsList.js#L324-L330

Why can't we set currentUnreadMarker if that is not a null. I think this is wrong. currentUnreadMarker should be able to change when it's not a null
During the iteration, currentUnreadMarker can be changed and the iteration would be started again because the dependency changes. This forces re-render
We have redundant dependencies below. All other dependencies except shouldDisplayNewMarker are already shouldDisplayNewMarker's dependencies. No needs to add here
https://github.com/Expensify/App/blob/9cecdfa1439a03a943d6c776e00eaaac3f4cb58c/src/pages/home/report/ReportActionsList.js#L335

What changes do you think we should make in order to solve the problem?

Update
https://github.com/Expensify/App/blob/9cecdfa1439a03a943d6c776e00eaaac3f4cb58c/src/pages/home/report/ReportActionsList.js#L300-L335
to

    const shouldDisplayNewMarker = useCallback(
        (unreadMarker, reportAction, index) => {
            let shouldDisplay = false;
            if (!currentUnreadMarker) {
                const nextMessage = sortedReportActions[index + 1];
                const isCurrentMessageUnread = isMessageUnread(reportAction, report.lastReadTime);
                shouldDisplay = isCurrentMessageUnread && (!nextMessage || !isMessageUnread(nextMessage, report.lastReadTime));
            } else {
                shouldDisplay = reportAction.reportActionID === unreadMarker;
            }
            return shouldDisplay;
        },
        [report.lastReadTime, sortedReportActions],
    );

    useEffect(() => {
        // Iterate through the report actions and set appropriate unread marker.
        // This is to avoid a warning of:
        // Cannot update a component (ReportActionsList) while rendering a different component (CellRenderer).
        let unreadMarker = null;
        _.each(sortedReportActions, (reportAction, index) => {
            if (!shouldDisplayNewMarker(unreadMarker, reportAction, index)) {
                return;
            }
            unreadMarker = reportAction.reportActionID;
        });
        setCurrentUnreadMarker(unreadMarker);
    }, [shouldDisplayNewMarker]);

Remove the below code segments
https://github.com/Expensify/App/blob/4f9210729a368e16be965d1607a63559189a7e8c/src/pages/home/report/ReportActionsList.js#L149
https://github.com/Expensify/App/blob/4f9210729a368e16be965d1607a63559189a7e8c/src/pages/home/report/ReportActionsList.js#L193-L206

Update
https://github.com/Expensify/App/blob/4f9210729a368e16be965d1607a63559189a7e8c/src/pages/home/report/ReportActionsList.js#L348
to

        shouldDisplayNewMarker={shouldDisplayNewMarker(currentUnreadMarker, reportAction, index)}

This works as expected
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Inconsistency in displaying unread green line when navigating from thread
What is the root cause of that problem?
The logic for the display of unread green line in ReportActionsList is first when the report action list is rendered the shouldDisplayNewMarker function calculates according to the value of lastReadTime of the report with the logic that message is unread when its creation time is greater than the lastReadTime of the report(ofcourse the marker line is displayed only for the earliest unread message or report action). Then, if there is a report action for which shouldDisplayNewMarker returns true the currentUnreadMarker will be set to that reportActionID to leave the marker there as long as the user is on the current report. Then the logic of the display of the marker will be according to that currentUnreadMarker b/c the lastReadTime value will now be changed from the value it had when we opened the report the first time.
Here is the code
https://github.com/Expensify/App/blob/a1a0f3897995a0992f38a885412af723174c7be2/src/pages/home/report/ReportActionsList.js#L300-L316
Now, with all that being said, let me explain what is the cause of the problem step by step:

First the user pressed the mark as unread and the lastReadTime is updated to be 1 milisecond less than the created time of the report action the user has pressed the mark as unread. So now currentUnreadMarker will be set to the id of that report action.
https://github.com/Expensify/App/blob/a1a0f3897995a0992f38a885412af723174c7be2/src/libs/actions/Report.js#L907-L914
Now the user navigates to other thread and goes back to the report by pressing the subtitle, then the shouldDisplayNewMarker will be true for that report action because we have set lastReadTime to be 1 milisecond less than the created time of the report action in (1). And the currentUnreadMarker will set to the id of this report action. But the lastReadTime is now updated to the current time as we reopened the report.
Now the user opens another thread and the previous ReportScreen is not unmounted it will only push another screen of the thread to the stack navigator so our previous report screen is still there under the stack 👍 And when the user opens the report again while pressing the subtitle now the marker line is not there because we have set lastReadTime in (2)
But when the user navigate back twice and moves to the previous existing screen under the stack which was opened in (2) the marker appears because althought the lastReadTime is updated in (2) the currentUnreadMarker was already set to that report action id and whenever there is currentUnreadMarker we prioritize it in shouldDisplayNewMarker than lastReadTime of the report as I have explained above.
Hence, that's how the inconsistency in the display of the marker arises.

What changes do you think we should make in order to solve the problem?

To solve this we should reset the currentUnreadMarker whenever there is a change in lastReadTime of the report and isFocused but the report screen is not currently focused. This means that whenever lastReadTime changes and the current screen (ReportScreen) is not focused it means the user has read the same report but our screen is under the stack so the value of the current currentUnreadMarker is obsolete and causes an inconsistency in the display of the marker so should be reset 👍 .
So we should add this code to ReportActionList component  👍
const isFocused = useIsFocused();

    useEffect(() => {
        if (!isFocused && currentUnreadMarker) setCurrentUnreadMarker(null);
    }, [report.lastReadTime, isFocused]);

POC:
Uploading 2023-11-08_19-40-21.mp4…

This issue will be fixed by #30696 (comment)
@Ollyws
Will you take a look?

@s-alves10  to proof that your solution doesn't work just on your suggested changes applied, mark as unread a report action and refresh the page now the marker is expected to be displayed as the logic of mark as unread is to have that marker when next time a user opens the report. But in your case the marker will display for a sec and it disappears when lastReadTime is changed. For your information messageManuallyMarkedUnread is used to decide not to display the marker for the user's own message or report action unless it is manually marked unread.
https://github.com/Expensify/App/blob/b8f91a44ef938cb251543f37f9e7037ec090dcbb/src/pages/home/report/ReportActionsList.js#L306-L309
In my opinion, all other logic is working fine (expect the unnecessary dependencies you mentioned which we can remove) so I suggest we only fix this specific issue.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Inconsistency in displaying unread green line when navigating from thread
What is the root cause of that problem?
The shouldDisplayNewMarker() function in ReportActionsList.js determines if the unread line should be displayed or not.
https://github.com/Expensify/App/blob/dee9b3110a7ebe0aa250c3f966d6a69925d916f4/src/pages/home/report/ReportActionsList.js#L300-L313
The ReportActionsList.js component does not re-render when navigating back from other reports, thus currentUnreadMarker will not be initialized to null but remain equal to reportAction.reportActionID. Therefore, the root cause of the problem is that the logic in the shouldDisplayNewMarker() function fails to consider if the message has been viewed before when currentUnreadMarker is not null.
https://github.com/Expensify/App/blob/dee9b3110a7ebe0aa250c3f966d6a69925d916f4/src/pages/home/report/ReportActionsList.js#L332-L334
Hence, when the  currentUnreadMarker has a value that corresponds to the reportAction.reportActionID, the shouldDisplayNewMarker() function returns true and markerFound will become true. Thus, the setCurrentUnreadMarker(null) line is not called.
What changes do you think we should make in order to solve the problem?
We should fix the logic in the shouldDisplayNewMarker() function to return false in this situation. In addition to checking if the currentUnreadMarker is reportAction.reportActionID, considering if the message has been read will ensure markerFound remains false. Consequentially, the currentUnreadMarker will be set to null.
https://github.com/Expensify/App/blob/dee9b3110a7ebe0aa250c3f966d6a69925d916f4/src/pages/home/report/ReportActionsList.js#L311
Therefore, slightly editing the code above to something similar to this should prohibit the unread line from appearing when navigating back to the report.
shouldDisplay = reportAction.reportActionID === currentUnreadMarker && isMessageUnread(reportAction, report.lastReadTime);

This only seems to apply if we add currentUnreadMarker as a dependency of shouldDisplayNewMarker()

No @Ollyws it applies without adding currentUnreadMarker as a dependency. The reason the marker disappears after a second is : it appears first when the report action list is first rendered in which case the message will be regarded as new but immediately the lastReadTime is updated and the useEffect causes the re-execution of shouldDisplayNewMarker but now it is suppose to be determined by currentUnreadMarker but because his proposal removes the most important line of code
https://github.com/Expensify/App/blob/9cecdfa1439a03a943d6c776e00eaaac3f4cb58c/src/pages/home/report/ReportActionsList.js#L311
it will result in the removal of the new marker.
Generally, the illusion this proposal is making to seem like it is solving the issue is b/c it is breaking an already working logic of the component to sustain the marker as long as the user is on that screen which depends on the logic in shouldDisplayNewMarker that sets shouldDisplay true for the report action which is the currentUnreadMarker (whenever currentUnreadMarker is not null).

Self assigning this issue

Putting this on HOLD for https://github.com/Expensify/App/issues/27456

Still on hold, bumping to weekly

Still on hold

While on hold, bumped to weekly

Good call, thanks!

Thanks for confirming!

@MonilBhavsar sorry for misleading U looks like the issue is not solve and reproduced it on latest main here is a vid.
https://github.com/Expensify/App/assets/38649957/9a32ca6b-16bf-4ebb-821f-603ed03af196

Reopening to confirm if this is still reproducible

@FitseTLT is this reproducible on all platforms or only on iOS?
@Ollyws do you please mind taking a look at the proposal and if it fixes the root cause

@FitseTLT is this reproducible on all platforms or only on iOS?

On all platforms 👍

Can't reproduce this on latest staging v1.4.56-1.
https://github.com/Expensify/App/assets/79470910/e374865f-6da1-41e7-9bb9-26f17e24ab97

BTW @Ollyws The bug here is that after marking as unread a report action when u navigate to the same report (via reply in thread and then clicking subtitle) the marker will be displayed but when u navigate to the same report again(via reply in thread and then clicking subtitle)  the marker is not displayed; both these are expected behaviours 👍
Now when u navigate back twice (remember that currently marker is not displayed) u you will navigate to the previous screen( same report but different marker status) the marker is displayed which is confusing to the user as that is not new message at that moment.

Here is how the issue in OP is still reproducible with the latest main
https://github.com/Expensify/App/assets/38649957/f4819a25-39dd-4e10-8039-ae0cb4e25514

Expected Result:
The green line for unread message will not show up since the unread message is visited and the green line is gone in Step 9

Actual Result:
The green line for unread message reappears
From OP

@FitseTLT While you proposal would likely work I'm not sure we would be addressing the exact root cause, do you think you could track down the root cause of the current issue?

@Ollyws currentUnreadMarker is a state in report action list and as we open the same report via reply in thread and then subtitle link we are adding different ReportScreen instances on the navigation stack for the same report/reportID. Because we don't reset currentUnreadMarker when we go away from the report screen, although on the third opening of the report (via reply in thread and then subtitle link ) the currentUnreadMarker is null but when we navigate back twice we will come back to the report screen/reportActionList on which the currentUnreadMarker is not null (set on our second navigation) so we see the unread marker. This is the RCA if haven't made it clear in the proposal.

Issue not reproducible during KI retests. (First week)

Issue not reproducible during KI retests. (Second week)

It is still reproducible @mvtglobally Please follow the steps and video in OP. You have to reply in thread -> click on subtitle twice
https://github.com/Expensify/App/assets/38649957/361bbee5-4397-48d1-831b-6a88480a3575

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Issue is reproducible during KI retests.
https://github.com/Expensify/App/assets/43995119/cd4ac761-8d1a-4e7d-b639-acd82cd778ac

👍 Let's test it extensively to ensure we don't introduce any regression since it refactors core logic.
Here are the test cases we can test https://github.com/Expensify/Expensify/issues/378297#issue-2183153558

@MonilBhavsar We don't have access to it 😢

Oops sorry, Pasting it here

Unread tests
1. Different chat open:

Given a chat report between user A and user B, and user A and user C, and user A has chat view with user B open
When user C sends message to user A, and user A switches to chat view with user C
Then user A should see the new marker line above the new messages, and the new marker line should persist until userA switches to another chat view.

Same chat open(no unread message):

Given a chat report between user A and user B, and user A has chat view with user B open and no unread message and no unread marker
When user B sends message to user A
Then user A should not see any new marker line

Same chat open(with unread message):

Given a chat report between user A and user B, and user A has chat view with user B open and user A has unread messages and new marker line
When user B sends message to user A
Then the new marker line should persist until userA switches to another chat view.

Same chat open(with user scrolled up):

Given a chat report between user A and user B, and user A has chat view with user B open and has no unread messages and no new marker line
When user A scrolls up to the old chats and user B sends message to user A
Then user A should see the green badge with “New Messages” and the new marker line above the new messages, and the new marker line should persist until userA switches to another chat view.

Redirecting to chat from email notification:

Given a chat report between user A and user B, and user A is not active on chat or offline
When user B sends message to user A and user A receives email notification and clicks on the link in the message
Then user A should be redirected to the chat view with user B and see the new marker line above the new messages, and the new marker line should persist until userA switches to another chat view.

Marking message as unread:

Given a chat report between user A and user B, and user A is active on a chat view with user B
When user A marks any report as unread i.e. click on “Mark as unread”
Then user A should see the new marker line above that message, and it won’t be removed until the user revisits the chat and switches to another chat then.

Deleting a message(other than unread message):

Given a chat report between user A and user B, and user A is active on a chat view with user B, and there is an unread message and unread marker
When user B sends a new message and deletes that message (other then the message above which there is an unread marker)
Then there should be no effect on the new marker line and user A should see the new marker line, and it won’t be removed until the user switches to another chat or the sender deletes all new messages.

Deleting an unread message:

Given a chat report between user A and user B, and user A is active on a chat view with user B, and there is an unread message and unread marker
When user B deletes a message above which there is an unread marker
Then user A should should not see the unread marker and the new message that was deleted

Marking as unread and deleting a message

Given a chat report between user A and user B
User A sends message to user B and marks the last sent message as unread
User A deletes the last sent message
Then the new marker line above last message should be removed
Now user A, sends three messages to user B - m1, m2, and m3 in order
User A marks m2 as unread
Then New marker line should be above m2
Now user A deletes m2
Then new marker line should be above next message i.e m3 in this case

Thx

@FitseTLT what's the ETA for the PR?

@MonilBhavsar After https://github.com/Expensify/App/pull/40315 now the subtitle link will goBack instead of navigate So this bug is not reproducible anymore as we can't have two report screen with the same report id simultaneously by using subtitle link.

Okay, thanks for clarifying. Let's reopen if reproducible


Create macOS .tar.gz packages

Note that we need ponyc to build these. As of yet, we can't use
ponyup to create the environment, so for now, we install ponyc
via Homebrew.
Once ponyup is available on macOS, we should replace the
brew install ponyc with the installation of ponyup and ponyc
via it.

Apparently I hit merge without meaning to. Oops, well not a big deal. This should all be fine. Will find out later.

No worries, I would have approved but was offline for a couple of days.


Tryit Code Action for the services are shown even when there are syntax errors

Description:
Consider the following capture,

Here the source is having a syntax error and even in this case, we show the try it code action. We should not encourage the user/ navigate the user to such actions if the result of the action is ending in an error scenario.
Shall we allow this only in scenarios where semantic/ syntax errors are not available

After this https://github.com/wso2-enterprise/ballerina-plugin-vscode/pull/294 PR, run, debug and try it code lenses will be available for user. Since it is required that project is in already running condition, to use try out code action, any errors will be resulted at the execution time.
Additionally, if there is an already running service, user should be able to use the try it code action, (even though there are new changes which are causing semantic/ syntax errors) with the already running service.

@HirumalPriyashan I agree that we need a way to open the try it editor at any time. But, consider showing this for a newly added but incomplete source as shown below.

Consider the following as well.
https://user-images.githubusercontent.com/1329674/152271808-7b3c31f0-a9d0-40ae-a66b-44242e6986a3.mp4
Both these are captured after installing v3.0.0-m1 (after merging PR mentioned)
In this particular scenario, when the user clicks on the code lens, we prompt with an error which interrupts the user's expectation.
If we need to allow the user to open the try it editor even with errors in the source, we should find a separate way of enabling it without the on the fly validation.

@nadeeshaan
Even though there is a running service after changing the source to have errors, the same error message in the second capture will prompt.
So its better to have a separate way to validate source before enabling code lenses (which may require a separate LS call) or inform the user with a proper error message.

@HirumalPriyashan yes, that's my point as well. We should not show the code lens in erroneous syntax and the implementation detail is okay to decide whether we use LS calls or not


Live

Test PR

Docs Build status updates of commit 1cc2dcb:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

test PR


⚠ Bofrost.lu has degraded performance

In fdec984, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2375 ms

Resolved: Bofrost.lu performance has improved in fd0242c after 13 minutes.


GEOMESA-2000 Supporting projecting transforms in file system data store

Signed-off-by: Emilio Lahr-Vivaz<EMAIL_ADDRESS>

i'm testing

d'oh yeah me too... it works if you do the inverse for some reason:
./geomesa-fs export -p /tmp/fsds -e parquet -f example-csv -q "name = 'Harry'" -a lastseen
lastseen:Date:default=true:index=false
2015-05-06T00:00:00.000Z
INFO  Feature export complete to standard out in 1781ms for 1 features

this also work:
./geomesa-fs export -e parquet -p /tmp/fsds -f example-csv -a name -q "lastseen DURING 2015-05-05T00:00:00.000Z/2015-05-07T00:00:00.000Z"
name:String:index=true
Harry
INFO  Feature export complete to standard out in 1742ms for 1 features


[add-resource] New Theme: Rana

I would like to add my new plugin/theme to the Grav Repository.
Here are the project details: https://github.com/danzinger/grav-theme-rana

@rhukster, is there any problem with this contribution?

No i'm just on vacation for a couple of weeks. Sorry will get to this when i'm back.

Added to GPM


Center content with reasonable max-width

Page contents (everything below the app header) now constrained to 1300px wide and centered.

Addresses #792

@shanberg Love how this looks! Small thing - I noticed that the table view content is centered but the card view content isn't.

The solution to that might be pretty complicated. I’ll have to rewrite the card sizing. Would you mind filing a new issue for that?


Decrease testing times by increasing _INNER_JOBS

Addresses #8493
After playing around with local testing, I found 3 to be a good upper limit. At 4, sanitizer tests on Linux workers will cause CPU usage to be > 90% continuously for about an hour and does not yield significantly better testing times than 3.
As for -j X:

Reduce from 8 to 6 on Linux (CPU usage on Linux basic tests is similar to current CPU usage with significant testing time improvements)
Reduce from 8 to 6 on MacOS (Similar to above)
Keep the same for Windows (I don't see any significant differences in CPU usage for Windows basic tests and this is largely because only 2 test suites take longer than 5 minutes to complete)

Also, we can look into making _INNER_JOBS a parameter for run_tests_matrix.py and fine tune it for all test suites if we are interested in trying to shave off a few more minutes for a few more test suites.
Some results:

Linux basictests took 43 mins - last 2 that passed all tests took 59 and 58 minutes. After changing X, there will a slight increase in testing time, but it should still be around a 20% testing time reduction.
MacOS basictests went from 58 mins to 50 mins compared to last job with same results.
Hard to judge Windows basictests since consistent results are hard to get, but a few minutes were likely shaved off.
Linux sanitizers took 3 hrs 41 mins, but came w/ a lot of test failures. Running again to see if issue is related to increasing _INNER_JOBS

Somewhat related: I see that the -j is set to 4 for Master MacOS and 8 for PR MacOS. Shouldn't these be the same since they run the same tests?

Yes, I think -j should be the same for master and PRs, my mistake (feel free to adjust).


MariaDB changes jsonb to longtext so the getAndSetTranslatableColumns is not working

MariaDB changes jsonb to longtext so the getAndSetTranslatableColumns is not working because it's searching for json or jsonb - this is not a bug but if someone has a problem with setting translation when using the CRUD generator this is the reason.
A small fix for this is in line 108 WizardGeneratorTrait.php just change
->whereIn('type', ['json', 'jsonb']) to
->whereIn('type', ['json', 'jsonb', 'longtext'])

A small fix for this is in line 108 WizardGeneratorTrait.php just change
->whereIn('type', ['json', 'jsonb']) to
->whereIn('type', ['json', 'jsonb','longtext'])

This is in progress in the PR: fix/type-in-wizard-generator-trait


performance degradation (2x-10x) when using math builtin functions

Proposal:
Short summary of the feature.
Current behavior:
For example, when mapping over a stream of with math.sqrt and math.pow, slow down by (2x-10x). I observed that it takes an additional ~0.20s per math function calls. When I used x*x, instead of math.pow(), it would be about 0.20s faster.
Desired behavior:
At least match the performance of natively support math operations.
Use case:
Why is this important (helps with prioritizing requests)?
speed for high read and high cardinality computation to help with real-time data analysis. The alternative is to query raw data and compute it in code.
Disclaimer: I am new to Influx and might just not be using it right.

I've also noticed that nested math operations can take a couple minutes to complete.