New standard tag for protocol or operation type

I suggest a new tag which can be used to differ the operation type or protocol of a span.
Use Cases
These are the use cases which are relevant for stagemonitor which is an agent built on top of OT-API. It automatically instruments servlets for example and also extracts metrics from spans.
Filter tags by type
For stagemonitor, I've implemented a generic Kibana dashboard which can be used to analyze "all the spans". While systems like zipkin focus on the path of individual traces, this dashboard gives you a bird view on all collected spans. For example, you see the most frequently executed spans grouped by operation name and duration percentiles. In this dashboard, it makes sense to have a filter to only see the metrics for spans of a particular type.
The easiest and most clean way to implement such a filter in Kibana would be to have a single type tag which can have multiple values. That way it's easy to implement a pie chart for example which shows you the distribution for http vs sql spans. By clicking on it the dashboard will automatically be filtered to show only SQL metrics for example. Another useful visualization would be a table which lists the average execution time and count of spans per type.
This type is somewhat similar to span.kind. But the possible values client|server are not fine grained enough. One possible use case for that dashboard is to find out which frequently SQLs are particularly slow and then see the individual queries of those queries in order to be able to optimize the sql.
Extracting metrics from spans
Some of you might be familiar with @bhs's talk about tracing and metrics. Stagemonitor does something very similar. It wraps the Span and SpanBuilder and tracks relevant metrics like the duration of a span with dropwizard metrics. When analyzing the response time in a dashboard, it is quite important to distinguish the type of the span. For example as a user, I'd want a filter to see the timings of incoming http requests.
The timer created by stagemonitor looks more or less like this: name: response_time,  tags: {operation_name="span.operationName", type="span.tags.type"}
Sampling per operation type
This tag can also be useful to perform sampling per operation type. For example you could say I want to sample 100% of incoming and outgoing http requests but only 10% of jdbc queries (there are many applications which issue hundreds of SQLs per request).
See impl here: https://github.com/stagemonitor/stagemonitor/blob/f37386bfaf286038ad682ccb59a9430402a40512/stagemonitor-tracing/src/main/java/org/stagemonitor/tracing/sampling/ProbabilisticSamplingPreExecutionInterceptor.java
Alternatives/Work arounds
@ivantopo and @pavolloffay suggested that SQL spans or HTTP spans can be distinguished by looking for the presence of http.* or db.*  tags.
This seems to be a quite vague and can't be applied to all operation types. Besides, I think there is value in explicitly specifying how certain operation types should be named. For example http vs incoming-http vs outgoing-http. It would make interoperability between different OT related projects easier: There is contrib repo for OkHttp but it does not specify the type of the spans it creates. That makes it hard for a tool like stagemonitor to reuse it and to track the durations for OkHttp spans as it expects a type tag to be present.
What's next
If we decide that such a tag should be standardized, we should agree on a good name, as I'm not sure how to name it properly. Some suggestions: type, span.type, operationType, protocol.
Also, possible values of the type should be defined.

We also ran into a need for something like the ipc.protocol tag when emitting metrics for RPC spans. I think type, span.type, and operationType are too general to be useful. Protocol is a bit more concrete, but also has its problems. Would http be a valid value? What about grpc? Doesn't grpc use http under the hood?
What kind of values did you have in mind?

I think type, span.type, and operationType are too general to be useful.

I also think that. Unfortunately, I can't come up with a name I'm happy with.

Would http be a valid value?

Ideally, I'd like to be able to differ between incoming and outgoing http calls.

What kind of values did you have in mind?

I currently use incoming-http, outgoing-http (though I don't quite like that naming), jdbc and method_invocation.

well, I would be against "incoming-" prefix - that's now mixing orthogonal concerns, as the direction of the RPC is expressed via tags. If you backend needs a single tag for indexing purposes, you can easily pre-process the spans before saving / indexing them.
My use case for the protocol tag is around YARPC that abstracts away the underlying transport from the user code, so that the same logical endpoint name ServiceX::OperationY is called via YARPC, but the protocol tag would distinguish if the communication is done via HTTP, gRPC, or TChannel. Without the protocol tags the metrics for different transports become jumbled together.

tl/dr: My vote is for span.type, operation.type or span.type (or something like it).
To recap, the core use case of this proposal is to enable OT stats backends to sanely group similar operations - sql queries, requests to web servers, cpu computations - so they can be counted, ranked. It will easily enable questions like:

what are the slowest endpoints on my http app?
what are the slowest queries to my database?
what are the slowest templates i'm rendering in my web app?

I thinkoperation.type is the only clear signal that you are linking the operation you're tracing when creating the span. Using protocol eliminates the ability to use it for CPU bound spans that aren't network boundaries,  like templates or any expensive operation like image rendering.
Also note,  I think this concept is badly needed for opentracing contrib modules to be portable across backends, so in general, thanks for proposing this and I'd like to see something land.

In sky-walking, I think we have a similar tag like span.type, but we called it layer. I am not sure this is the good name, but I think this concept is useful for backend.
e.g. If layer=jdbc, sky-walking analysis backend knows to find jdbc.statement, jdbc.type etc.

e.g. If layer=jdbc, sky-walking analysis backend knows to find jdbc.statement, jdbc.type etc.

Note: I'm not sure that this should be first class goal of this proposal, since most of this is covered by the db tags.

@clutchski  I want to demostrate a type tag for backend. Even we have a lot of db.* tags, but as a backend implementation, it can't tell whether find the db.* tags or others. Maybe we can tell from the component somehow, but it doesn't work everytime. When I trace MyBatis, the component is mybatis, not JDBI.
Maybe I should demostrate on a rpc framework. If layer=rpc,(not a http) , the backend looks for peer.service, peer.ipv4/v6/hostname.
Hope this matches @felixbarny 's proposal.

have a single type tag which can have multiple values

I almost forgot two very important possible values:

full-page-load or something like that which is the initial page load in a browser. The corresponding span might have some values of window.performance attached to it.
ajax or xhr for ajax requests

well, I would be against "incoming-" prefix - that's now mixing orthogonal concerns, as the direction of the RPC is expressed via tags. If you backend needs a single tag for indexing purposes, you can easily pre-process the spans before saving / indexing them.

I like that idea. Also, I don't necessarily need a single tag to filter on. It would be possible that the user first has to select the span.kind tag and then the "operation type".
But that implies that there are both symmetric and asymmetric pairs of spans in regards to the operation type which is something we should be aware of.
Examples of asymmetric span pairs:
full-page-load|ajax (span.kind=client) -> http (span.kind=client)
Examples of symmetric span pairs:
http (span.kind=client) -> http (span.kind=client)
Do we really want that or wouldn't it make sense to say that there should only exist asymmetric span pairs so that it is always implicitly clear who the sender and who the receiver is?

If you backend needs a single tag for indexing purposes, you can easily pre-process the spans before saving / indexing them.

Prefixing asymmetrical operation types with the "direction" or the span.kind does not really make sense, because they are not ambiguous anyway. So if we decide that symmetric span pairs are possible I'd rather implement another filter which filters by the span.kind.

Using protocol eliminates the ability to use it for CPU bound spans that aren't network boundaries

The values full-page-load and ajax also are not a protocol. The protocol actually is HTTP in this case but I think it's important to distinguish between the types of http calls.

Hope this matches @felixbarny 's proposal.

This definitely goes in a similar direction, although this proposal is not about which tags should be present for which operation type, which could be another proposal once we agree on the operation type thing.

Any more thoughts or votes?
Recap on things we should decide on:

Tag name for the "operation type"
Possible tag values
Should symmetric operation types be legal?

I also think that the possible values should only be examples. But we
definitely should define if symmetrical operation types are valid.
Yuri Shkuro<EMAIL_ADDRESS>schrieb am Mi., 31. Mai 2017 19:09:

I find it difficult to come up with a sensible taxonomy for "operation
type". We can potentially define this tag with some examples, but leave the
actual values up to instrumentation code.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opentracing/specification/issues/72#issuecomment-305253966,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACEDCGmJoDxejqIx651eT8pVpPuTqNCYks5r_Z7PgaJpZM4Nnb2I
.

@felixbarny sorry for the insane delay in responding to this. I spent some time on my email filters over the weekend so that I'm not missing so much stuff I actually care about!
Re the proposal, IMO a type tag is too general. In many cases, what you're describing sounds similar to the existing component tag:

(https://github.com/opentracing/specification/blob/master/semantic_conventions.md)
Something like full-page-load is admittedly different than a component, though. We could try to introduce something like a semantics tag (a little more specific than type). Before doing so, I do want to make sure I understand the actual end-to-end use case: it's cool to think about measuring performance for every full-page-load, but aren't they ultimately going to be apples and oranges? I.e., different pages have wildly different performance characteristics, and that's both normal and expected. I just want to understand the full use case a bit better before making additions to the core spec (though I'm not opposed once we document those use cases).
Also, I'm sorry if I misread (or downright missed) something above, I'm catching up quickly on a lot of PRs/issues at once here.
Thanks again for making the proposal.

The .NET framework will get built-in support for distributed tracing with an OpenTracing-like API. They have some important differences though. One of them is that they changed the meaning of "operation name": When you create a span (they call it "activity") you have to specify a unique compile-time constant as the name instead of a "coarse-grained instance identifier".
As an example, an outgoing HTTP request will have the name "System.Net.Http.HttpRequestOut" and an incoming request in ASP.NET Core will have the name "Microsoft.AspNetCore.Hosting.HttpRequestIn". So the names are very specific and based on the module they are used in.
IIUC they've done this for the following reasons:

Every span type can be identified. One usage for this is a more fine-grained zero-allocation system since they have a corresponding IsEnabled(operationName) method. If no-one is interested in e.g. database spans, nothing will be allocated)
They allow tracers to access the instrumented object(s) as a parameter and tracers need this string to identify the object(s). So e.g. in case of an outgoing HTTP request, the tracer could listen to "Start" events of "System.Net.HttpRequestOut" and it would get the actual HttpRequestMessage object as a parameter. This allows tracers to set additional tags etc.

I don't like how they've re-used the term "operation name" for it (there's an open discussion for this here: https://github.com/dotnet/corefx/issues/19071  ) and their approach also has the obvious drawback that they no longer have the "operation name" feature from OpenTracing but all of this is a different story.
Anyway, I do like the fact that this unique identifier exists since it provides some useful features - like those already mentioned in this issue! Also, it would make writing a .NET -> OpenTracing bridge easier.
I also think that this feature is related/similar to OpenTracing's component tag. However, the way the .NET framework uses it is even more detailed. E.g. an "MVC" component could have multiple spans with different types (e.g. "MVC.ExecuteAction", "MVC.RenderView", ...).
One solution would be to "extend" the meaning of the component tag and formally allow hierarchy within it. Instrumentation-code could then use e.g. the "."-separator like in .NET and tracing systems could allow for grouping/filtering either based on full values or parts of it.
I also think that it's not required to formalize values. It's up to the instrumentation to come up with a unique name.

component would work for me if:

it's clear that a single package / module / whatever can trace multiple different types of operations (like rails.request and rails.template)
whenever an opentracing contrib library traces multiple types of things, they are distinguished with different components.

One solution would be to "extend" the meaning of the component tag and formally allow hierarchy within it. Instrumentation-code could then use e.g. the "."-separator like in .NET and tracing systems could allow for grouping/filtering either based on full values or parts of it.

+1 on this. @cwe1ss And more, we need explicit values for the component for better understanding.
e.g. we use the  "."-separator in `component, then we should give a more explicit table about the common values, otherwise, OT-users didn't know how to set the value, only we understand.

it's cool to think about measuring performance for every full-page-load, but aren't they ultimately going to be apples and oranges? I.e., different pages have wildly different performance characteristics, and that's both normal and expected.

That's right, and that's why an operation_name filter is important as well. Although it can also be useful to see the page load performance of the site overall. This is the Grafana dashboard I created for stagemonitor:

Wanted to participate in the OTSC meeting yesterday but couldn't make it :(

@felixbarny I continue to think about this off and on.
The more I think about "component", the less I like it... the idea there was definitely to identify the package / module / layer (e.g., "grpc"), which is not the same thing as making sure that all RPC frameworks identify RPC spans with a common tag.
And the more I think about it, the more I realize that you are basically asking for a generalization / population of the existing "kind" tag. It was originally just client/server, though now it also can be producer/consumer for message buses; would "kind"="pageload" be reasonable? IMO yes.
So that's another concrete proposal.

span.kind=pageload would make it very hard for libs like brave-opentracing to map pageload to the cs (client send) annotation. I don't think we can change the semantics of span.kind at this point.
It definitely goes into the same direction as kind but is more specific. My best suggestion would still be the span.type thing. I know that "type" sounds quite vague but doesn't "kind" sound quite generic as well? In the end it comes down to the documentation how well the standard tags are described and what instrumentations are expected to set.

@felixbarny I'm not proposing that kind=cs would be interpreted any differently... there would simply be more Spans with kind annotations. I would expect the brave-opentracing bridge to simply ignore kind values it did not expect or understand.

This sounds a lot like an annotation component, which gives the span a layer name of sorts, which then automatically has a protocol attached.


request add params direct on {{t9n code param1="thera" param2="..."}}?

request add params direct on {{t9n code}} like:
{{t9n code name="Theara" param2="..."}}

Yoy can try {{t9n code [name: "Theara", param2:"..."] }}, this should work already.

I try, but not work.

Try this: {{t9n 'code' name='Theara' param2='...'}} and let me know. I made a little fix.

still not work  how: Hi @{name}

When I register T9n.map 'de', 'code': 'Hi @{name}' and then call {{t9n 'code' name='Theara'}} in the template I get Hi Theara. Let's find out what is different. Do you work with my latest checkin?

I try run meteor update, but can't see new version<EMAIL_ADDRESS>

after i check source code in .meteor folder,
Meteor.startup(function() {
  if (Meteor.isClient) {
    return UI.registerHelper('t9n', function(x, params) {
      return T9n.get(x, true, params);
    });
  }
});

Right, it is not in 1.0.8. Would you be able to test with the current trunk? If not I will release 1.0.9.

wait for your update.

done

Very thanks, please update docs.

wow, I run meteor update but don't get the new version.

1.0.9 is out


[BUG]: Private Group Posts are visible company-wide.

Expected Behavior
Private Group Posts should not be visible for non-members.
Actual Behavior
Private Group Posts are visible company-wide.
Steps to Reproduce the Problem

Create private group on Account A
LogIn to WorkGroup using Account B (do not join group)
See post

Critical Bug?

[X] Yes
[ ] No

More Information
N/A

Issue fixed: https://github.com/BerkeAras/WorkGroup-API/pull/15


feat(animationMixin): animate toasts using css transitions/animations

An alternative mixin for ToastMessage to use css animations instead of jQuery. Animations can be configured in two ways.

over props.transition {string} - the given transition name will be used to apply respective transition styles on toast show and hide; It bases on the same naming convention as ngAnimate and React Animation addon are using

over props.showAnimation / props.hideAnimation {string|Array} - css class(-es) which will be applied on toast's show and hide (demo uses animations from Animate.css)

:+1:

@tomchentw any chance you could merge this PR?

@tomchentw any update?

:+1:

:+1:


Runtime exception when running two hooks components at the same time

Hi! First of all thanks a lot for this great project, I really like the idea :).
We are running into a weird runtime exception when having 2 hooks components running side by side:

The screenshot above corresponds to the Simulation pane of a tool called Marlowe Playground. The page has 5 components called currencyInput (highlighted in red) and one component called instantInput (highlighted in green). For some reason, if the instantInput raises an output the currencyInput receives unexpected data (highlighted in red) which results in the runtime exception.
If I comment the line that raises the output for InstantInput then I don't have this problem

One caveat of this project: It is using custom helpers we call sub-modules, which emulates the Elm architecture with Lenses. We made this as a way to have global state before you created halogen-store. In another project in the same repo we are not using the sub-components anymore thanks to your library <3.
Steps to reproduce
This can be reproduced in the debug-halogen-hooks branch of the repo. It is necessary to use nix-shell with the binaries cache preconfigured. Then follow these steps to launch the playground client (the backend is not needed for this).
After the page is running on localhost, you can:

Open an example
Select "Escrow - Marlowe"
Click "Send to simulator"
The runtime error appears in the console

Thanks for the report, @hrajchert. I haven't seen this happen before.
If I'm following correctly, you have:

an instantInput that is raising an output message to some parent
that parent is passing the value of that output message down to currencyInput as input
the input, when it reaches currencyInput, is undefined

I'm pressed for time this week so it's difficult for me to set up your reproduction, but I am curious what happens if you trace the value through each of those steps and pinpoint the moment in which it becomes undefined. When I have some more time I can help dig into exactly what's going on.


style(): improve looking of the badges using badgerbadgerbadger

improve looking of the badges and customibility using badgerbadgerbadger and shields.io

@DevVersion what do you think about this?

Not good. We should use the dynamic badges as already used in TravisCI just space them in the headrow

The badges are dynamic...they have just another design ajusted to the github guidelines

There are no official guidelines. Travis Badge and Gitter Badge looking already good enough. Adding other badges wouldn't make any sense. For example the coverage.

I would have added a license and dependency badge

No need to be honest, we are not providing any API. The only thing I can think about, is the dependency badge. Make a PR and show me.

Another advantage is that the badges are not confusing in the Readme.md, but in a separate gemfile.


feat: [FC-0047] Relative Dates

Added a switch that enables showing relative dates on the initial calendar screen and the calendar settings screen.
The isRelativeDatesEnabled functionality has been added to improve the readability of dates within the application. When this feature is enabled (default setting), dates within the range of -7 to +7 days from the current date will be displayed in a relative format (e.g., “just now,” “2 days ago”). Dates outside this range will continue to be displayed in the traditional format. This setting can be toggled in the calendar synchronization settings. The feature is enabled by default.

Disabled
Enabled

Thanks for the pull request, @PavloNetrebchuk!
What's next?
Please work through the following steps to get your changes ready for engineering review:
:radio_button: Get product approval
If you haven't already, check this list to see if your contribution needs to go through the product review process.

If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.

This process (including the steps you'll need to take) is documented here.

If it doesn't, simply proceed with the next step.

:radio_button: Provide context
To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

Dependencies

This PR must be merged before / after / at the same time as ...

Blockers

This PR is waiting for OEP-1234 to be accepted.

Timeline information

This PR must be merged by XX date because ...

Partner information

This is for a course on edx.org.

Supporting documentation
Relevant Open edX discussion forum threads

:radio_button: Get a green build
If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.
:radio_button: Update the status of your PR
Your PR is currently marked as a draft.  After completing the steps above, update its status by clicking "Ready for Review", or removing "WIP" from the title, as appropriate.

:radio_button: Let us know that your PR is ready for review:
Who will review my changes?
This repository is currently maintained by @openedx/openedx-mobile-maintainers.  Tag them in a comment and let them know that your changes are ready for review.
Where can I find more information?
If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

Overview of Review Process for Community Contributions
Pull Request Status Guide
Making changes to your pull request

When can I expect my changes to be merged?
Our goal is to get community contributions seen and reviewed as efficiently as possible.
However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

The size and impact of the changes that it introduces
The need for product review
Maintenance status of the parent repository

:bulb: As a result it may take up to several weeks or months to complete a review and merge your PR.

HI @PavloNetrebchuk, this looks almost all good from the design side. For upcoming dates within the This Week section, relative dates should use the day of the week e.g. "Friday" instead of "in 4 days."
There are a lot of edge cases here, so I did my best to document them in the Figma file below the Dates section: https://www.figma.com/design/iZ56YMjbRMShCCDxqrqRrR/Open-edX-Mobile-App-All-Screens-v2.2?node-id=6703-32751&t=vxtbWParuRUmfgkZ-4
Here are the cases documented there for reference: Sections & date formats (items appear once, in the first case they meet)

“Completed” → all completed items

Current year: January 1
Before/after current year: January 1, 2010

“Past due”      → items due before the current time

Due on yesterday’s date between 12:00AM and 11:59PM: Yesterday
Within last 7 days: 3 Days Ago
Current year: January 1
Before/after current year: January 1, 2010

“Today”           → items due on the same calendar date i.e. before 11:59:59 PM

No date displayed

“This Week”  → items due within 7*24 hrs from now

Due next date between 12:00AM and 11:59PM: Tomorrow
Due the same day of the week as today, but a week away: Next Monday
Otherwise: Monday

“Next week”  → items due within 14*24hrs from now

January 1

“Upcoming”  → all remaining items

Current year: January 1

@sdaitzman
Thanks for your feedback. This is how dates are converted now:

Jul 1, 2025 -> July 1, 2025
Jul 1, 2024 -> July 1
Jul 22, 2024 -> 3 days ago
Jul 24, 2024 -> Yesterday
Jul 25, 2024 -> Today
Jul 26, 2024 -> Tomorrow
Jul 27, 2024 -> Saturday
Aug 1, 2024 -> Next Thursday
Aug 2, 2024 -> August 2
Aug 2, 2025 -> August 2, 2025

Hi @PavloNetrebchuk, thank you for making these updates. I think this is all clear from the design side for now.
In the future, I think it's worth coming back to this and reconsidering how we approach dates/examining some edge cases, so I've created a new roadmap issue (#370) to track that future work.


Getting syntax error when deploying my own schema.prisma

This error only happens when I do it with my own database schema. The sample one works fine.
`yarn deploy
yarn run v1.22.17
warning package.json: No license field
$ prisma generate && cd cdk && cdk deploy
Prisma schema loaded from prisma/schema.prisma
Error:
✔ Generated Prisma Client (3.9.0 | library) to ./node_modules/@prisma/client in 833ms
SyntaxError: Syntax Error: Expected Name, found "}". (914:5)
912 |
913 |
914 |     }
|     ^
915 |
916 |     input DbTest3OrderByInput {
917 |         id: OrderByArg
at e (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:175469:20)
at Object.parse (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:176938:19)
at Object.parse2 [as parse] (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:198238:24)
at coreFormat (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:199163:18)
at format2 (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:199348:18)
at /Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:228996:16
at Object.format (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:229010:16)
at PrismaAppSyncCompiler.makeFile (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:322770:42)
at async PrismaAppSyncCompiler.makeSchema (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:322567:33)
at async Object.onGenerate (/Users/ameer/Documents/DDLPreDev/Ameer_DDLDevs/Appsyncprisma-prod1/node_modules/prisma-appsync/dist/generator.js:322973:9)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.`

I found the tables that was causing the problem but they seem to be simple tables which are similar to my other tables.
`model db_test3 {
id                BigInt @default(autoincrement())
function_name     String @db.VarChar
frequency         Int?
function_priority Int?
customer_priority Int?
@@id([id, function_name])
}
`
`model devops_resource_priority_tags {
id                       BigInt @default(autoincrement())
key                      String @db.VarChar
value                    String @db.VarChar
count                    Int?
tag_priority             Int?
dev_engineer_priority    Int?
devops_engineer_priority Int?
dev_lead_priority        Int?
@@id([id, key, value])
@@unique([key, value])
}`

Seems like the issue is due to Prisma-AppSync not being able to extract unique fields from the @@unique API attribute and therefore not being able to generate the associated GraphQL Schema properly.
I'll add the issue to the roadmap, so it can be resolved in the next release. In the meantime, I can suggest adding @unique API attribute on both id fields, such as:
model db_test3 {
    id      BigInt      @unique @default(autoincrement())
}

model devops_resource_priority_tags {
    id      BigInt      @unique @default(autoincrement())
}

It is not perfect, but at least you should be able to generate your GraphQL Schema without errors.

@unique worked. thanks

and when I remove and make it 1 primary key and just keep the id as primary key and the other 2 as unique. That also works.


[Mobile] Need to redesign modal windows

EPAM AI DIAL chat version
0.5.3
What happened?
Some modals have flexible height, for example Edit prompt, and user has to scroll to see it's header and buttons at the bottom. On mobile devices it's rather inconvenient.
Expected: need to make header and buttons to be always on the pop-ups, scroll should be applied between header and buttons.
Se also #1191
Confidential information

[X] I confirm that do not share any confidential information

Verified on staging env. Reported #1445 , #1468 , #1473


Add :lang fortran module

This PR adds support for the Fortran Language, since an off-the-shelf solution mostly doesn't exist if you aren't using Visual Studio on Windows. Critically, this PR brings together all the treats of modernity recently added to the Fortran world; namely a package manager and LSP. It also bridges the gap between gfortran and Intel Fortran, since the latter is much loved but hard to integrate into development environments.
TODO

[x] Basic config skeleton
[x] +lsp
[x] Common Keybindings
[x] Compilation / Running support
~Optional modeline buttons for building/running (+buttons?)~
~+intel~
[x] doom doctor checks
[x] README clean up

Note to Self: Look into ob-fortran.

LGTM! Thanks for your help!

The crossed-off features in the original post will be addressed in follow-up PRs.


HMS-2696 fix: align default page with mock-ups

Update the default content page to be aligned with the current state of the mocks-ups.

Merged via https://github.com/podengo-project/idmsvc-frontend/pull/8.  Closing.


[BUG] bevel_gear anchors incorrect, fails render

It looks like I've run across some apparent issues in BOSL2/gears.scad
When using anchor=TOP" or BOTTOM, or "flattop" in bevel_gear(), the resulting translation is incorrect:
When using anchor=TOP or "flattop", the gear top is just above the axis.
When using anchor=BOTTOM, the gear bottom is just below the axis
Code To Reproduce Bug
$fn = 24;

include <BOSL2/std.scad>;
include <BOSL2/gears.scad>;
include <BOSL2/attachments.scad>;

#bevel_gear(
   pitch=5, teeth=36, face_width=20, shaft_diam=5,
   pitch_angle=45, spiral_angle=0, anchor=BOTTOM  // or TOP, or "flattop"
)

Expected behavior
For anchor=BOTTOM, I expect the bottom gear face to be aligned with the XY plane.
For anchor=TOP or "flattop", I expect the top gear face to be aligned with the XY plane.
A secondary consequence of this is that the true thickness of the gear is not available to the user.
When using anchor="apex" to get a correctly matched pair of bevels, as far as I can tell, the user MUST have access to the true thickness and/or the distance from the apex to (at least) one face of the gear to correctly place the gears in an assembly.  This suggested that one or more bevel-gear informational functions may need to be added.
This issue seems to be caused by the fact that the "thickness" variable is calculated differently in the bevel_gear() function...
Line 963:         thickness = abs(verts1[0][0].z - select(verts1,-1)[0].z),
...than it is in the bevel_gear() module...
Line 1028:     thickness = face_width * cos(pitch_angle);

The quoted example fails render.

Sorry, the example is missing a semicolon ";" at the end.
it should be
$fn = 24;
include <BOSL2/std.scad>;
include <BOSL2/gears.scad>;
include <BOSL2/attachments.scad>;
#bevel_gear(
pitch=5, teeth=36, face_width=20, shaft_diam=5,
pitch_angle=45, spiral_angle=0, anchor=BOTTOM  // or TOP, or "flattop"
);

At this point I cannot reproduce the CGAL errors.

Here is an even simpler example:
**include <BOSL2/std.scad>;
include <BOSL2/gears.scad>;
bevel_gear( anchor=BOTTOM );**
The resulting gear is NOT anchored at the gear bottom.
Similarly, using anchor=TOP, the resulting gear is NOT anchored at the gear top.

The thickness is definitely incorrect.  I am unclear where the extra thickness is coming from mathematically, but I can at the least force it to the expected size.


didReceiveRegion available for iOS 9.3 in RxCoreLocation 1.3.2

Hi,
I was working with a native CoreLocation implementation for a geofencing feature and now I'm moving everything to RxSwift.
It was working just fine before, my project's deployment target is iOS 9.0, but I don't understand why the API below is marked for iOS 9.3 or above if the three CoreLocation methods that is using are available from iOS 4.0/5.0.
    @available(iOS 9.3, OSX 10.11, *)
    public var didReceiveRegion: RxCocoa.ControlEvent<CLRegionEvent> { get }

Could this be an issue?
Thank you!

There is a lot of instabilities related to version iOS 9.0 and as rule I just decided to cut it to iOS 9.3. But you can always fork the project and downgrade to iOS 9.0 if that will do for you and then later come back when your project is updated.

Hope not to find tons of instabilities! Thank you for your help and quick response!


Do not run CI for draft PRs

https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/6

Hi, @tokers I created a Draft PR to test if the deployment was successful, please review it for me, I am not sure if it is correct.

@guoqqqi OK I have checked it out, it works well now I think you can mark it ready so we can review it.


Missing six.py ???

Was trying to use the Bash.py functionality and ran into problems within f5-common-python/f5/bigip/mixins.py.
within mixins.py -> from six import iteritems
I need access to "six" as the function iteritems is needed.
Cheers for your help.

You should just be able to install six using either your package manager or pip. More info about it is available here: https://pypi.org/project/six/

Cheers !


add integration with the data viewer

the purpose of this pull request is to add integration with the data viewer. as it stands, the index page contains a hyperlink labeled Explore {store.name} which acts as a direct link to the data viewer. this feature is only visible in cases where datasets have single zarr store.
Cc @katamartin

Closing this as it's been addressed in other PRs


Merge Conflict: Console output after merging

Testing #27549

create a file as described in https://github.com/Microsoft/vscode/issues/27288#issuecomment-304138928
open the dev tools
resolve the merge conflic by accepting the incoming change

Console says:
[Extension Host] Edits from command merge-conflict.accept.incoming were not applied.

Taking a closer look, what happens here is that the edit passed to the editor command is applied after the next edit that is created as part of executing the command. The edit passed to the editor command is ignored and ends up empty, it the still fails the version check when being applied resulting in the warning.
@jrieken Maybe empty edits should be assumed to have been ignored by the command and be ignored when applied instead?

@chrmarti Can you show me some code? Do you use TextEditor#edit or workspace#applyEdit?

@jrieken Using TextEditor#edit: https://github.com/Microsoft/vscode/blob/master/extensions/merge-conflict/src/documentMergeConflict.ts#L30
In some cases that is hit synchronously as part of a text editor command.

To trigger: Have a file with a merge conflict, e.g.:
aaa
bbb
<<<<<<< HEAD
ccc
ccc
=======
ddd
ddd
>>>>>>> somebranch
eee
eee

Then click the Accept Current Change code lens.

Ok, I understand but I think the problem is here: https://github.com/Microsoft/vscode/blob/master/extensions/merge-conflict/src/documentMergeConflict.ts#L30. When you already have an edit-builder from an editor you should not create another one. I don't that will ever work because the one finished before the other, hence breaking the version check. Why isn't that command simply using the provided builder?

That other code path is unused, we should remove it. The problem is that the command runs async code that happens to resolve synchronously because it draws from a cache. Due to the async nature we can't use the edit passed to the editor command's handler.
One approach would be to assume (or make sure) the cache always has the data, so we can always run synchronously, but that strikes me as an odd change in response to that warning that doesn't seem to make much sense.

That other code path is unused, we should remove it.

Sure about that? Set a breakpoint here and run those steps, I see it being hit. Also, the actual edit-builder that is created by the (editor) command seems to be ignored

that warning that doesn't seem to make much sense.

The warning happens because a second set of changes (albeit empty) are being send for the same version id. That is invalid and therefore we reject the edit (before even checking if it's empty)

That was my conclusion: The edit from the command is ignored because that can only be used synchronously. Since we use an asynchronous code path, we create a new edit (builder) with editor.edit() and hit that warning. The extension does nothing wrong from what I see.
(The code we can remove is the one in the if (edit), because that method is never called with and edit.)

Ok, finally getting closer to understand this. I see the problem with the automagic edit-builder when being an editor-command, tho having said that why do you register as an editor command in the first place? you could just be a normal command, then no edit would be created eagerly for you?

We need the text editor that is passed as a parameter. Although, we could just use the active one when using a normal command.

just use the active one when

Yes, that is what the editor-command does


MacOS compatibility ?

Is there a way to install the extension on Mac ? Thanks

Oh never mind you can close this thread


Migrate backend from Flask to FastAPI

Changes in this PR:

Change the backend from Flask to FastAPI
Change the input/output of a couple of endpoints. I only did this in cases where I considered the old one to be essentially a bug.
Change many endpoints from GET or DELETE to POST. This is because in the process of switching to FastAPI I learned that GET and DELETE endpoints should never require JSON bodies in the requests. If a JSON body is required, the method should be POST (or PUT). I wonder if we should just change all of the endpoints to just use POST, for simplicity?
Various small bugfixes, better type annotations, etc. that came up on the way.

Benefits of this switch:

The backend should be much faster now. Hasn't been a problem so far, but may be useful later.
Much less boiler plate code for validating inputs into the endpoints. Previously we were manually checking that the JSON in the response had the right keys etc. Now we define a Pydantic model class that sets the keys and their expected types, and FastAPI/Pydantic do the validation and parsing automatically. Same for outgoing responses.
Much more robust and comprehensive input validation. See above.
Automated backend documentation. No more capturing the inputs/outputs of the endpoints in three places: The code, the docstring, and the backend README file. FastAPI autogenerates docs from the code. If you're running the backend locally, navigate to localhost:5000/docs to see the documentation. This was the main reason why I initiated the switch.

Downsides of this switch:

We needed to implement more of the backend authentication logic manually, since we can't use the Flask plugin for this anymore. This is all in dtbase/backend/auth.py.
We needed to implement more of the database connection management logic manually, since we can't use the Flask plugin for this anymore. I actually might consider this neutral/positive though, because the way the Flask did this, which relied heavily on some pseudoglobal variables that had different values depending on which context you were reading them, was a bit magical and confusing. The new code for this is in dtbase/backend/db.py.

Things not done in this PR, but that we may want to do in the future. None of these are urgent though, so not going to get to them immediately:

Restructuring the directory structure of the backend. See #129
Improve the documentation of API endpoint outputs. I think we could probably get the automated docs to have more detail about the meaning of the various fields by adding some arguments to pydantic.Field objects. The inputs are already quite comprehensively documented.
Switch all endpoints to use POST as the method. Not sure about this one, but I'm bothered by how some endpoints are GET and others POST even though their functions are very similar. See #210
Use the same Pydantic models that specify the return types of endpoints to add type annotations to the frontend and tests. In other words, make use of the fact that we know exactly what the return types of our endpoints are now. #209

Closes #167

The tests fail because of some datetime parsing issue, I'm pretty sure they pass on python 3.11 (they do locally). I'll fix it tomorrow.

Interesting, I had this yesterday. Test fails on one of them and then cancels it on python runs. Rerunning the tests through the github gui seems to work

Codecov Report
Attention: 34 lines in your changes are missing coverage. Please review.

Comparison is base (f402561) 89.01% compared to head (9ff6a82) 89.22%.
Report is 12 commits behind head on main.

:exclamation: Current head 9ff6a82 differs from pull request most recent head 36480f7. Consider uploading reports for the commit 36480f7 to get more accurate results

Files
Patch %
Lines

dtbase/backend/auth.py
84.78%
7 Missing :warning:

dtbase/backend/api/sensor/routes.py
95.28%
5 Missing :warning:

dtbase/backend/db.py
83.33%
4 Missing :warning:

dtbase/tests/conftest.py
91.66%
4 Missing :warning:

dtbase/tests/test_api_models.py
98.13%
3 Missing :warning:

dtbase/backend/api/location/routes.py
97.61%
2 Missing :warning:

dtbase/backend/api/model/routes.py
98.23%
2 Missing :warning:

dtbase/tests/test_api_sensors.py
98.29%
2 Missing :warning:

dtbase/tests/test_api_user.py
96.22%
2 Missing :warning:

dtbase/core/db.py
87.50%
1 Missing :warning:

... and 2 more

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #207      +/-   ##
==========================================
+ Coverage   89.01%   89.22%   +0.20%
==========================================
  Files          77       73       -4
  Lines        5162     4992     -170
==========================================
- Hits         4595     4454     -141
+ Misses        567      538      -29

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


Make it possible to cast &T to &Ordered<T>

This is needed to fetch a value from map (set) if one has &T. (I suggest you try to actually use this crate with BTreeMap<Ordered<T>> to evaluate how good it is.)
This is obviously unsafe and requires #[repr(transparent)] but should be obvious and trivial.

I suggest you try to actually use this crate with BTreeMap<Ordered> to evaluate how good it is.

Seems obvious now I read it :(

Ok, I don't understand how to make it so on can use an &T as a key. I did a few changes, now there is an examples/point module with the following code:
    let found = map.get(&Ordered::from(a)).expect("failed to look up key");

Are you suggesting that it should be possible to write:
    let found = map.get(&a).expect("failed to look up key");

FWIW I do not understand how to resolve #1, #3, or #4 - face palm!

#[repr(transparent)]
pub struct Ordered<T>(T);

impl<T> Ordered<T> {
    pub fn from_ref(value: &T) -> &Self {
        unsafe { &*(value as *const _ as *const Self) }
    }
}

let found = map.get(Ordered::from_ref(&a)).unwrap();

Ha! Glad I didn't spend more time on it, I would not have come up with that. Thanks man. Is in intentional that you made the T filed private in Ordered<T>(T)?

No, that was a mistake. I mainly wanted to write repr(transparent).


Code Snippet not show entityframework System.Data.Entity on Visual Studio 2019

From VS Feedback:
I have installed both VS 2017 Community and VS 2019 Community (Just installed today).
I has a project (.net Framework 4.5.2) created with VS 2017 with EntityFrameWork (version 6.1.3) already installed in my project nuget package
(Visual studio 2019 Community)
When i open my Models file that extend DBContext,I cant find Class under DBContext, and when i try to look at code snippet on import "using System.Data.Entity" . it`s not show on my code snippet. but when i compile project not showing error. i try to checking my nuget package i still have EntityFramework package. when i see my project object reference i can still find System.Data.Entity under EntityFramework dll. when i see my project reference , i find warning icon .
(Visual studio 2017 Community)
Working just fine
Thank you

EF Team Triage: This issue is lacking enough information for us to be able to effectively triage it. In particular, it is missing the following information requested in the new issue template. Can you please provide this information?

Steps to reproduce

Ideally include a complete code listing that we can run to reproduce the issue.
Alternatively, you can provide a project/solution that we can run.
BTW we're not just doing this to be mean :smile:... we get a lot traffic on this project and it takes time to attempt to reproduce an issue based on fragments of information. In addition, our attempt is often unsuccessful as the exact conditions required to hit the issue are often not explicitly included in the code provided. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we ask that folks give us a self-contained way to reproduce an issue.
For a guide on submitting good bug reports, read Painless Bug Tracking.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.

I guessing the cause is VS 2019 code snippet cant detect package from package.config. I think in code snippet VS 2019 use Package Reference because when i try to create project in VS 2019 and open it in both VS 2017 and VS 2019 it work just fine.
Maybe this link will help you to migrate project from package.config to package reference
https://docs.microsoft.com/en-us/nuget/reference/migrate-packages-config-to-package-reference
Thank You

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


Another BDH Override Returning Error

Hi Matthew,
First of all, thank you for developing this package - I find it very useful. I am trying to override the standard bdh formula to return all working days (or all calendar days) by using the fields from the Bloomberg Open API - Core Developer Guide on page 93:
df = con.bdh("IBM US Equity", "PX_LAST", "20150101", "20150630", ovrds=[("nonTradingDayFillOption", "ALL_CALENDAR_DAYS"), ("nonTradingDayFillMethod", "NIL_VALUE")])

Unfortunately this override is returning an error message:
DEBUG:root:Sending Request:
 HistoricalDataRequest = {
    securities[] = {
        "IBM US Equity"
    }
    fields[] = {
        "PX_LAST"
    }
    startDate = "20150101"
    endDate = "20150630"
    overrides[] = {
        overrides = {
            fieldId = "nonTradingDayFillOption"
            value = "ALL_CALENDAR_DAYS"
        }
        overrides = {
            fieldId = "nonTradingDayFillMethod"
            value = "NIL_VALUE"
        }
    }
}
DEBUG:root:Message Received:
 HistoricalDataResponse = {
    responseError = {
        source = "bbdbh7"
        code = 27
        category = "BAD_ARGS"
        message = "Invalid override field id specified [nid:3626] "
        subcategory = "INVALID_OVERRIDE_FIELD"
    }
}

Traceback (most recent call last):
  File "<input>", line 2, in <module>
  File "C:\Users\nelly\Anaconda3\Lib\site-packages\pdblp\pdblp.py", line 165, in bdh
    elms, ovrds)
  File "C:\Users\nelly\Anaconda3\Lib\site-packages\pdblp\pdblp.py", line 202, in _bdh_list
    if msg.getElement('securityData').hasElement('securityError') or (msg.getElement('securityData').getElement("fieldExceptions").numValues() > 0):  # NOQA
  File "C:\Users\nelly\Anaconda3\Lib\site-packages\blpapi\message.py", line 135, in getElement
    return self.asElement().getElement(name)
  File "C:\Users\nelly\Anaconda3\Lib\site-packages\blpapi\element.py", line 347, in getElement
    _ExceptionUtil.raiseOnError(res[0])
  File "C:\Users\nelly\Anaconda3\Lib\site-packages\blpapi\exception.py", line 145, in raiseOnError
    _ExceptionUtil.raiseException(errorCode, description)
  File "C:\Users\nelly\Anaconda3\Lib\site-packages\blpapi\exception.py", line 137, in raiseException
    raise errorClass(description, errorCode)
blpapi.exception.InvalidArgumentException: Choice sub-element not found for name 'securityData'. (0x00020002)

Any idea how to make it work?

The error message
 HistoricalDataResponse = {
    responseError = {
        source = "bbdbh7"
        code = 27
        category = "BAD_ARGS"
        message = "Invalid override field id specified [nid:3626] "
        subcategory = "INVALID_OVERRIDE_FIELD"
    }
}

would suggest that either nonTradingDayFillOption or nonTradingDayFillMethod is invalid. This is an error generated upstream by the blpapi library, I am not familiar with these overrides, I would check with Bloomberg Help.

These are not overrides, they are elements associated with the query to set. Something like this seems to work
df = con.bdh("IBM US Equity", "PX_LAST", "20150101", "20150630",
             elms=[("nonTradingDayFillOption", "ALL_CALENDAR_DAYS"),
                   ("nonTradingDayFillMethod", "NIL_VALUE")])

You can see a description of these in the users guide in a terminal by using
WAPI  -> API Developer's Guide -> Reference Guide: Services and Schemas
A less up to date version of the User's Guide which also has schemas is available on the internet here, refer to page 166.

Hi Matthew,
Thanks a lot for your prompt reply! The blpapi equivalent works for me:
SimpleHistoryExample.py
import blpapi
from optparse import OptionParser
def parseCmdLine():
parser = OptionParser(description="Retrieve reference data.")
parser.add_option("-a",
"--ip",
dest="host",
help="server name or IP (default: %default)",
metavar="ipAddress",
default="localhost")
parser.add_option("-p",
dest="port",
type="int",
help="server port (default: %default)",
metavar="tcpPort",
default=8194)
(options, args) = parser.parse_args()

return options

def main():
options = parseCmdLine()
# Fill SessionOptions
sessionOptions = blpapi.SessionOptions()
sessionOptions.setServerHost(options.host)
sessionOptions.setServerPort(options.port)

print("Connecting to %s:%s" % (options.host, options.port))
# Create a Session
session = blpapi.Session(sessionOptions)

# Start a Session
if not session.start():
    print("Failed to start session.")
    return

try:
    # Open service to get historical data from
    if not session.openService("//blp/refdata"):
        print("Failed to open //blp/refdata")
        return

    # Obtain previously opened service
    refDataService = session.getService("//blp/refdata")

    # Create and fill the request for the historical data
    request = refDataService.createRequest("HistoricalDataRequest")
    request.getElement("securities").appendValue("IBM US Equity")
    request.getElement("fields").appendValue("PX_LAST")
    request.set("startDate", "20060701")
    request.set("endDate", "20060710")
    request.set("nonTradingDayFillMethod", "NIL_VALUE")
    request.set("nonTradingDayFillOption", "ALL_CALENDAR_DAYS")

    print("Sending Request:", request)
    # Send the request
    session.sendRequest(request)

    # Process received events
    while(True):
        # We provide timeout to give the chance for Ctrl+C handling:
        ev = session.nextEvent(500)
        for msg in ev:
            print(msg)

        if ev.eventType() == blpapi.Event.RESPONSE:
            # Response completly received, so we could exit
            break
finally:
    # Stop the session
    session.stop()

if name == "main":
print("SimpleHistoryExample")
try:
main()
except KeyboardInterrupt:
print("Ctrl+C pressed. Stopping...")

Did you take a look at the second response I posted? This was working for me so give it a try.
With regards to my previous response, the rational for why using ovrds does not work is because this amounts to the following in the code in pdblp
overrides = request.getElement("overrides")
for ovrd_fld, ovrd_val in ovrds:
       ovrd = overrides.appendElement()
       ovrd.setElement("fieldId", ovrd_fld)
       ovrd.setElement("value", ovrd_val)

whereas, as you show above, you want to set an element such as
request.set("nonTradingDayFillMethod", "NIL_VALUE")

which in pdblp is done using the elms keyword in bdh().

Hi Matthew,
I've tested what your solution on my side and it works fine. Thanks a lot for your kind help and prompt replies!


Example of incorrect RET508 Unnecessary else after break statement

See the following example:
def example():
    a = 1
    while True:
        try:
            raise Exception
        except Exception:
            if a == 1:
                print("HERE")
                pass
            elif a == 2:
                break
            else:
                raise

example()

with ruff 0.0.246 configured with:
[tool.ruff]
select = ["RET"]

This shows:
example.py:12:13: RET508 Unnecessary `else` after `break` statement
Found 1 error.

That is not true - removing the "else" changes the functionality and leaves us in an infinite loop rather than raising.
Weirdly this does not happen when the loop is not in a function.

Yeah this has come up before. It wants you to do this:
def example():
    a = 1
    while True:
        try:
            raise Exception
        except Exception:
            if a == 1:
                print("HERE")
                pass
            else:
                if a == 2:
                    break
                raise

Which is, I guess, correct, but not good.
It's consistent with the original flake8-return, but I'm going to change, because it's really confusing.


core: allow empty MPT Leaf values

Port https://github.com/neo-project/neo-modules/pull/634, waiting for the reference PR to settle.

Other than tests, LGTM.


UB with impl FromWasmAbi for char when unpaired surrogate is given

Describe the Bug
Wasm-bindgen assumes the "char" (which is a JavaScript String) to be converted is always valid and uses char::from_u32_unchecked. However the JS String may contain a single "char" of an unpaired surrogate (for example when the JS code uses charAt), in which using char::from_u32_unchecked with it creates an invalid char and causes UB.
Steps to Reproduce
// Rust:
#[wasm_bindgen]
pub fn take_char_by_value(x: char) {}

// JS:
take_char_by_value('😃'.charAt(0));

Expected Behavior
I don't have an idea what behaviour would be the best. Probably use U+FFFD like how strings are handled? Perhaps if the type is Option<char> it should use char::from_u32 instead, but then this might cause ambiguity between null-ish and invalid char.
Actual Behavior
An invalid char is produced.
Additional Context

Oh dear, thanks for catching this! At the very least we should probably switch to using the replacement character. This probably means that char shouldn't have been exposed a wasm-bindgen type since it's lossy. An alternative would be to panic, but in general there's not really a great option available to us.

In my case I ended up using JsString instead. I am interacting with a JS library that (mis)uses charAt in a stream interface that counts char. Since I can also request for the next UTF-16 code unit, I resorted to using char::decode_utf16 to manually decode any non-BMP scalar values.
I think panicking isn't a very good option but it might be necessary to help developers notice the issue. In any case, I can see it being a trap because it requires the JS side to properly split by code point (which the ES6 String Iterator does); but even then, neither ES6 String Iterator nor codePointAt would handle invalid surrogates properly so it would be quite easy to unintentionally trigger the panic. Beginners might misuse charAt or the bracket notation, or like in my case an external library might be using them on different assumptions.
At the very least, there should be a huge warning in the char page of the guide, perhaps also prefer JsString over char.


Changed android tests to run against release build

Hmmm:
* What went wrong:
Could not determine the dependencies of task ':functions:app:check'.
> Task with path 'assembleDebugAndroidTest' not found in project ':functions:app'.

Seems like there was a dependency on the assembleDebugAndroidTest that crept into the build.
This is thematic across all other modules too.
It is not clear why this dependency was introduced into the 'check' task in any of the projects since I can't find any actual tests.
What was happening in this case is that setting the testBuildType to release resulted in the "assembleDebugAndroidTest" task no longer being defined. See: https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.AppExtension.html#com.android.build.gradle.AppExtension:testBuildType


Allow custom amino acids

People do weird synthetic things

What weirdos 😄

what is the status of this?
Cheers,
D.

I'll get working on this and we'll hopefully have it in the next release


TypeError: Cannot read properties of undefined (reading 'split').

Bug Description
If I try to set u8 value on testbench, I get an error. The same test case works with BW 1.4.1.
Steps to Reproduce

Connect bw 1.4.2 to test bench.
2.Don't add any parameters, set u8 value.

Expected Result
Transaction finalized.
Actual Result
Error: The given transaction is not valid due to: TypeError: Cannot read properties of undefined (reading 'split').
Versions

Software Version: 1.4.2

This is an issue with the way we update the wallet for testing, i.e. replacing the files, which can cause the background script and other parts of the wallets to go out of sync.
(Fix is to reload the extension after replacing the files)


Remapping Shortcuts Doesn't Work in Browsers (Edge & Brave)

Microsoft PowerToys version
"0.47.0"
Running as admin

[X] Yes

Area(s) with issue?
Keyboard Manager
Steps to reproduce

Open PowerToys > Keyboard Manager
Remap a Shortcut
Alt (Left) + T -> Alt (Left) + W
Press "OK"
Open Microsoft Edge
Hit Alt (Left) + T

✔ Expected Behavior
Alt (Left) + T can be used to close tab in Microsoft Edge
❌ Actual Behavior
Alt (Left) + T opens new tab in Microsoft Edge
This means the keyboard shortcut we remapped is not working.
See video demonstration:
https://user-images.githubusercontent.com/3806031/136673026-f3c2aff8-89d9-48f7-af98-6808df17d655.mp4
_Note: accidentally said PowerTools instead of PowerToys 😅 _
Other Software
Microsoft Edge: Version 94.0.992.38 (Official build) (64-bit)
Brave Browser: Version 1.30.87 Chromium: 94.0.4606.71 (Official Build) (64-bit)

I think I figured it out. I have new settings that are actually working per browser so I'm going to close this. Sorry for the noise!


(0028,0010)[Rows]: element not found (file offset 1732)

I'm getting this error many times when run over our data collections. Looks like we're having some issues with several DICOMs we have.

Interesting--this error originates from FindByTag and essentially indicates that the Rows element (0028,0010) doesn't exist in this DICOM. Are you getting this when running dicomutil CLI to get the native or encapsulated image? The Rows tag is important for reading native pixel data--without it, the pixeldata cannot be read properly.
It might be interesting to see what kind of modality this dicom is, or if these collections of dicoms missing this tag come from some specific manufacturer?


Add reuse mechanism for OpenSergoClient

Issue Description
Type: feature request
Describe what feature you want
In current version, OpenSergoClient uses prototype mode.
SDK will create a new instance when invoke NewOpenSergoClient, even if the endpoint is the same.
It is very expensive without reuse mechanism, so we need a reuse mechanism to avoid it.

That might solve your problem?
@jnan806
package main

import (
	"github.com/opensergo/opensergo-go/pkg/client"
	"github.com/opensergo/opensergo-go/pkg/common/logging"

	"github.com/opensergo/opensergo-go/pkg/api"
	"github.com/opensergo/opensergo-go/pkg/configkind"
	"github.com/opensergo/opensergo-go/pkg/model"
	"github.com/opensergo/opensergo-go/samples"
)

var (
	consoleLogger   logging.Logger
	openSergoClient *client.OpenSergoClient
)

const (
	openSergoHost = "<IP_ADDRESS>"
	openSergoPort = 10246
)

func main() {
	err := InitOpenSergo(openSergoHost, openSergoPort)
	if err != nil {
		panic(err)
	}

	// you can use openSergoClient do something.
	// e.g.
	faultToleranceSubscribeKey := model.NewSubscribeKey("default", "foo-app", configkind.ConfigKindRefFaultToleranceRule{})
	sampleFaultToleranceRuleSubscriber := &samples.SampleFaultToleranceRuleSubscriber{}
	_ = openSergoClient.SubscribeConfig(*faultToleranceSubscribeKey, api.WithSubscriber(sampleFaultToleranceRuleSubscriber))
}

func InitOpenSergo(host string, port uint32) error {
	var err error
	consoleLogger = logging.NewConsoleLogger(logging.InfoLevel, logging.JsonFormat, true)
	logging.AddLogger(consoleLogger)

	openSergoClient, err = client.NewOpenSergoClient(host, port)
	if err != nil {
		return err
	}

	err = openSergoClient.Start()
	if err != nil {
		return err
	}

	// do stuff...
	return nil
}

@jnan806 Hi, I use a map with host:port as key and openSergoClient as value to control reuse, and use sync.map to avoid concurrent access problems.
I think it should work.


Not running - DLL registration issue?

I have "unblocked" both the .EXE file and the .DLL file, and even downloaded the latest version of the DLL, but the script still does not work.  I put MsgBox statements in the script, and the problem seems to be in executing the "DllCall(GoToDesktopNumberProc, Int, n-1)" statement.
I am running on 64-bit Windows 10.
Any clues as to what else I can try?

More info:
Right after the call that loads the DLL, %ErrorLevel% has a value of zero.
Right after attempting the "GoToDesktopNumberProc" attempt, %ErrorLevel% is -4 (negative 4).
AutoHotKey documentation says that means "The specified function could not be found inside the DLL."

Did you ever get a resolution?  I just downloaded / installed and it doesn't work at all.  I'm also on Win 10 64-bit.

Hi. What is the version of your Windows installations?

@sdias:  I have Win 10 Home, 64-bit.  (The 'free' update from Win 8.x)
ver:  Microsoft Windows [Version 10.0.14393]

I need to clarify...  The EXE works.  (Mostly, at least.  Still checking some key assignments.)
Running the AHK file fails.  The systray icon loads, I can right click it, etc., but the hotkeys don't work.

I think the problem is either related to admin permissions or with the latest Windows update. I'll have to investigate when I have some time.
@gityta That's strange. Maybe AutoHotkey isn't running with enough permissions.

For what it's worth, running the script as Administrator did not change the behavior.

What version of AutoHotkey do you have installed?
On 6 Apr 2017 4:19 pm, "gityta"<EMAIL_ADDRESS>wrote:

For what it's worth, running the script as Administrator did not change
the behavior.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sdias/win-10-virtual-desktop-enhancer/issues/37#issuecomment-292207745,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABpaAaHyQmnof2fH0eLe5LgwszHxMo3Uks5rtQJrgaJpZM4Mwn2w
.

I have version <IP_ADDRESS>

@kger @gityta I'm stumped. You are using the same version of Windows and AutoHotkey that I am. Could it be that the current working directory that you are launching the script with isn't the directory where the script is located in?

@sdias I specifically ran the script from the directory where it is located.

@gityta Very strange indeed. The only other reason I can think of is that the script and the executable are running different code, but I recompiled the script into a new executable, and both still work on my machine. I'm glad the executable works for you though.
I'll leave this open to see if any other people are experiencing this, and based on what they report to see if we can debug this further.

Hi @gityta, I am currently revising old issues on this project: do you still experience the bug you reported?

Hi @GioBonvi, I haven't done anything other than use the EXE since posting this.  Since it works so well, I just stayed with it.  Didn't have time to do any more testing.


Show all perks that rolled on the weapon; not just the selected ones

Well I should have been more detailed here; forgot what this was supposed to mean 😄


Versioned Properties - refactored to address PR comments

This replaces PR #2194 Refactored to address PR comments
This the first step in moving towards a refactored ZooKeeper property storage. Intended to replace using individual nodes in ZooKeeper to save properties to a versioned group that is stored on a ZooKeeper single node. The PR contains the changes that provide serialization / deserialization of the properties along with maintaining versioning information.
Designed to allow evolution of the storage scheme.
Provides a header that maintains schema version, data version, and timestamp.
Optional compression of the byte storage array.

The partially addresses https://github.com/apache/accumulo/issues/1454


tsv-uniq: Add --m|max for a max count.

Codecov Report

Merging #119 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #119      +/-   ##
==========================================
+ Coverage   99.05%   99.05%   +<.01%
==========================================
  Files          16       16
  Lines        4428     4433       +5
==========================================
+ Hits         4386     4391       +5
  Misses         42       42

Impacted Files
Coverage Δ

tsv-uniq/src/tsv-uniq.d
100% <100%> (ø)
:arrow_up:


[SPARK-18423][Streaming] ReceiverTracker should close checkpoint dir when stopped even if it was not started

What changes were proposed in this pull request?
Several tests are being failed on Windows due to the failure of removing the checkpoint dir between each tests.
This is caused by not closed file in ReceiverTracker. When it is not started, it does not close it even if stop() is called.
Test org.apache.spark.streaming.JavaAPISuite.testCheckpointMasterRecovery started
Test org.apache.spark.streaming.JavaAPISuite.testCheckpointMasterRecovery failed: java.io.IOException: Failed to delete: C:\projects\spark\target\tmp\1478983663710-0, took 3.828 sec
    at org.apache.spark.util.Utils$.deleteRecursively(Utils.scala:1010)
    at org.apache.spark.util.Utils.deleteRecursively(Utils.scala)
    at org.apache.spark.streaming.JavaAPISuite.testCheckpointMasterRecovery(JavaAPISuite.java:1809)
    ...

- mapWithState - basic operations with simple API (7 seconds, 640 milliseconds)
Exception encountered when attempting to run a suite with class name: org.apache.spark.streaming.MapWithStateSuite *** ABORTED *** (12 seconds, 688 milliseconds)
  java.io.IOException: Failed to delete: C:\projects\spark\streaming\checkpoint\spark-b8486e2b-6468-4e6f-bb24-88277d2c033c
  ...

How was this patch tested?
Tests in JavaAPISuite and MapWithStateSuite.
Manually tested via AppVeyor:
Before

org.apache.spark.streaming.JavaAPISuite
Build: https://ci.appveyor.com/project/spark-test/spark/build/71-MapWithStateSuite-1
Diff: https://github.com/apache/spark/compare/master...spark-test:188c828e682ec45b75d15c3dfc782bcdc8ce024c

org.apache.spark.streaming.MapWithStateSuite
Build: https://ci.appveyor.com/project/spark-test/spark/build/72-MapWithStateSuite-1
Diff: https://github.com/apache/spark/compare/master...spark-test:8f6945d0ccde022a23d3848f6b7fe6da1e7c902e

After

org.apache.spark.streaming.JavaAPISuite
Build started: [Streaming] org.apache.spark.streaming.JavaAPISuite
Diff: https://github.com/apache/spark/compare/master...spark-test:3D74F2D5-B0D5-4E1D-874C-685AE694FD37

org.apache.spark.streaming.MapWithStateSuite
Build started: [Streaming] org.apache.spark.streaming.MapWithStateSuite
Diff: https://github.com/apache/spark/compare/master...spark-test:C8E88B64-49F0-4157-9AFA-FC3ACC442351

Test build #68571 has started for PR 15867 at commit 8b05ba7.

Test build #68571 has finished for PR 15867 at commit 8b05ba7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68571/
Test PASSed.

Hi @dtas and @zsxwing, could you please take a look whether this change makes sense or not by any chance?

Build started: [Streaming] org.apache.spark.streaming.JavaAPISuite
Diff: https://github.com/apache/spark/compare/master...spark-test:75F427CC-5356-4863-8F8E-9977F288C39B
Build started: [Streaming] org.apache.spark.streaming.MapWithStateSuite
Diff: https://github.com/apache/spark/compare/master...spark-test:318E6199-95A8-43CA-8ED5-56256BB67F7C

Test build #68616 has started for PR 15867 at commit 4fe4c1b.

Test build #68616 has finished for PR 15867 at commit 4fe4c1b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68616/
Test PASSed.

LGTM. Merging to master and 2.1. Thanks!

Thank you!!


Sqlite: Tutorial. OperationalError: no such function: APPROX_COUNT_DISTINCT

Hi,
%%logica OfficeColumn,Offices,EmployeesPerOffice,EmployeesOfOffice
@Engine("sqlite");
Employee(name: "Alice", role: "Product Manager", office: "SEA");
Employee(name: "Bob", role: "Engineer", office: "SEA");
Employee(name: "Caroline", role: "Engineer", office: "LAX");
Employee(name: "David", role: "Data Scientist", office: "LAX");
Employee(name: "Eve", role: "Data Scientist", office: "SEA");

OfficeColumn(office:) :- Employee(office:);

Offices(office:) distinct :- Employee(office:);

EmployeesPerOffice(office:,
                  num_employees? += 1,
                  role_count? Count=role) distinct :-
  Employee(name: unused_name, office:, role:);

EmployeesOfOffice(office:, employees? List= name) distinct :-
  Employee(name:, office:);

The logs are:
Running predicate: Offices
Running predicate: OfficeColumn
Running predicate: EmployeesOfOffice
Running predicate: EmployeesPerOffice

---------------------------------------------------------------------------

OperationalError                          Traceback (most recent call last)

<ipython-input-20-9c03d875318d> in <module>()
----> 1 get_ipython().run_cell_magic('logica', 'OfficeColumn,Offices,EmployeesPerOffice,EmployeesOfOffice', '@Engine("sqlite");\nEmployee(name: "Alice", role: "Product Manager", office: "SEA");\nEmployee(name: "Bob", role: "Engineer", office: "SEA");\nEmployee(name: "Caroline", role: "Engineer", office: "LAX");\nEmployee(name: "David", role: "Data Scientist", office: "LAX");\nEmployee(name: "Eve", role: "Data Scientist", office: "SEA");\n\nOfficeColumn(office:) :- Employee(office:);\n\nOffices(office:) distinct :- Employee(office:);\n\nEmployeesPerOffice(office:,\n                  num_employees? += 1,\n                  role_count? Count=role) distinct :-\n  Employee(name: unused_name, office:, role:);\n  \nEmployeesOfOffice(office:, employees? List= name) distinct :-\n  Employee(name:, office:);\n  ')

8 frames

/usr/local/lib/python3.7/dist-packages/IPython/core/interactiveshell.py in run_cell_magic(self, magic_name, line, cell)
   2115             magic_arg_s = self.var_expand(line, stack_depth)
   2116             with self.builtin_trap:
-> 2117                 result = fn(magic_arg_s, cell)
   2118             return result
   2119

/usr/local/lib/python3.7/dist-packages/logica/colab_logica.py in logica(line, cell)
    118 @register_cell_magic
    119 def logica(line, cell):
--> 120   Logica(line, cell, run_query=True)
    121
    122

/usr/local/lib/python3.7/dist-packages/logica/colab_logica.py in Logica(line, cell, run_query)
    239       sql_runner = RunSQL
    240     result_map = concertina_lib.ExecuteLogicaProgram(
--> 241       executions, sql_runner=sql_runner, sql_engine=engine)
    242
    243   for idx, predicate in enumerate(predicates):

/usr/local/lib/python3.7/dist-packages/logica/common/concertina_lib.py in ExecuteLogicaProgram(logica_executions, sql_runner, sql_engine)
    215
    216   concertina = Concertina(config, engine)
--> 217   concertina.Run()
    218   return engine.final_result

/usr/local/lib/python3.7/dist-packages/logica/common/concertina_lib.py in Run(self)
     76   def Run(self):
     77     while self.actions_to_run:
---> 78       self.RunOneAction()
     79
     80   def ActionColor(self, a):

/usr/local/lib/python3.7/dist-packages/logica/common/concertina_lib.py in RunOneAction(self)
     69     self.running_actions |= {one_action}
     70     self.UpdateDisplay()
---> 71     self.engine.Run(self.action[one_action].get('action', {}))
     72     self.running_actions -= {one_action}
     73     self.complete_actions |= {one_action}

/usr/local/lib/python3.7/dist-packages/logica/common/concertina_lib.py in Run(self, action)
     18       print('Running predicate:', predicate)
     19       result = self.sql_runner(action['sql'], action['engine'],
---> 20                                is_final=(predicate in self.final_predicates))
     21       if predicate in self.final_predicates:
     22         self.final_result[predicate] = result

/usr/local/lib/python3.7/dist-packages/logica/colab_logica.py in __call__(self, sql, engine, is_final)
    159   # TODO: Sqlite runner should not be accepting an engine.
    160   def __call__(self, sql, engine, is_final):
--> 161     return RunSQL(sql, engine, self.connection, is_final)
    162
    163

/usr/local/lib/python3.7/dist-packages/logica/colab_logica.py in RunSQL(sql, engine, connection, is_final)
    142   elif engine == 'sqlite':
    143     statements = parse.SplitRaw(sql, ';')
--> 144     connection.executescript(sql)
    145     if is_final:
    146       return pandas.read_sql(statements[-1], connection)

OperationalError: no such function: APPROX_COUNT_DISTINCT

I think this has been fixed recently. Maybe it hasn't been released yet, in which case you could call the latest version from source after cloning the repo. If it has been released, it could just take a re-run of the cell that installs logica using pip.

@odanoburu Thanks for the quick reply. running from repo works. Thanks


Failed to load load_image.bmp

As I though yesterday after my issues on privacy with dll on topmost 0.2 I downloaded topmost pre release and v0.3 I builded them and I tried to load the bmp file in img.cpp and failed on both but I tried to load to topmost v0.2 and succeeded

Thanks for your feedback.
You need to create a directory for the outfile.

It must be the only reason.
https://github.com/fufesou/RustDeskTempTopMostWindow/blob/b07778816b1f814a44be45148c6b107201d3cec1/Img2Mem/main.cpp#L97
.\Img2Mem.exe should better run directly in the vs solution.

I loaded the bmp but then error in vs when I tried to rebuild the solution

You need to make sure the file can be accessed.

Thanks a lot for this!
I've made it and on my Win11 computer 1.2.4 worked nice but when I tried to replace the dll to my win10 system sais no privacy mode created but if I put the dll that gets with the app it works fine

when I tried to replace the dll to my win10 system sais no privacy mode created

It may because the topmost window cannot be created.
You may refer to the logs
installed version: C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log\server\RustDesk_rCURRENT.log

non-installed version: %appdata%\rustdesk\log\rustdesk_rCURRENT.log

in the windows 10 pc test app says MSVCP140.DLL not found

You need to make sure the runtime is ok.

Runtime works fine
And on topmost v0.2 it runs perfect
But same time topmost vpre-release
Shows errors:MSVCP140. dll, vcruntime140d.dll,vcruntime140_1d.dll,ucrtbase.dll only on 2 computers running win 10.
On the Win11 topmost pre release and privacy works fine

They're different.
"topmost v0.2" is built from my PC.
The pre-release is built from the github ci. You PC may lake those DLLs.
I'll try copy those DLLs to the pre-built package.

Ive added the dlls on sys32 restarted still get those 4errors happening on the prebuild.

Ive added the dlls on sys32 restarted still get those 4errors happening on the prebuild.

No need to put the dlls in the sys23 dir. You may google how to solve those errors.

Ive added the dlls on sys32 restarted still get those 4errors happening on the prebuild.

No need to put the dlls in the sys23 dir. You may google how to solve those errors.

You can close this issue it need to the computer that you want to use the tempmost v0.3 or topmostgit to have installed the vsstudio19 somehow only then it works! otherwise we get error for the dlls!!
and one more thing (Do you have archive of nighly .exe and .apk with the privacy mode 2 with the driver ? i wasnt able to make a nighly build)

otherwise we get error for the dlls!!

What errors you have get?

i wasnt able to make a nighly build)

No. I don't have one.
But I'll try create a new branch that can work with CI. You can then fetch or fork it. Run the CI by yourself.

There's another issue that the second privacy mode needs Indirect display driver, which will also need a cert.
Please make sure you're Ok with https://github.com/rustdesk/rustdesk/discussions/6444
There's another bug that it will create some strange directories, "ROOT\0" encoded as UTF-16 ("佒呏"). There's no contents, but the directory seems very strange.
I'm still tring to find out the reason.
https://github.com/rustdesk/rustdesk/discussions/6444#discussioncomment-9007009
Google Translate seems to have been set up haphazardly. This is garbled code and has been translated into very bad content.

You can

Create a new tag and a new pre-release named nightly.
Fork and run the action

Wait the workflow end

Download the built app in your release-ngihtly page.

You can also download mine. But it may be replaced the next time a Nightly workflow is triggered.

I don't see the run workflow

That's my repo. You need to fork and trigger the workflow in your own repo.

I don't get something in action tab is empty

Maybe ready and I wait to download?

The branch is wrong.
You need to fetch and choose the correct branch.
git remote add fufesou https://github.com/fufesou/rustdesk
git fetch fufesou tmp/privacy_mode_for_6406:tmp/privacy_mode_for_6406
git checkout tmp/privacy_mode_for_6406
git push origin tmp/privacy_mode_for_6406

And then trigger the workflow, choose the branch, run again.
Please also be sure that you have "Create a new tag and a new pre-release named nightly."


Have cgr.dev/chainguard/node track latest non-LTS

This happens to match the latest LTS once: https://github.com/wolfi-dev/os/pull/6556 lands, which makes the transition easier.

🚨 DO NOT MERGE THIS BEFORE https://github.com/wolfi-dev/os/pull/6556 has landed AND BEEN BUILT 🚨

The "go live" for this (according to Bard) is 10/24, this is simply preparatory.


perf: try nuxt-rebundle

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
this aims to decrease js loaded by splitting useAsyncData calls out into separate chunks
https://github.com/danielroe/nuxt-rebundle

looks like this saves us >300kb of js on first load

before
after


App crashes after 1 minute

Hi
I started running the app today, and with today patch (never tried before), it is crashing after the 1 minute mark, and if i re-run it, it does not crash till the next day, but offers no further info other than the pre-1minute mark one.

Checked on both US and EU and it works for me. I'm afraid we have to wait until error logging is implemented.

Buuuu.
I play on us.
El mié., 16 de mar. de 2016 05:38, Roman Semenov<EMAIL_ADDRESS>escribió:

Checked on both US and EU and it works for me. I'm afraid we have to wait
until error logging is implemented.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/poma/HotsStats/issues/8#issuecomment-197212683

--
Roberto Cocchiararo

I have  the same problem. It crashes every time. I play in EU

My gaming pc runs windows 10 x64.
El mié., 16 de mar. de 2016 14:58, teored90<EMAIL_ADDRESS>escribió:

I have the same problem. It crashes every time. I play in EU
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/poma/HotsStats/issues/8#issuecomment-197459088

--
Roberto Cocchiararo

Crash info:
Faulting application name: HotsStats.exe, version: <IP_ADDRESS>, time stamp: 0x56e80e38
Faulting module name: KERNELBASE.dll, version: 10.0.10586.162, time stamp: 0x56cd55ab
Exception code: 0xe0434352
Fault offset: 0x000bdad8
Faulting process id: 0x840
Faulting application start time: 0x01d17fc79a59003d
Faulting application path: C:\apps\HotsStats\HotsStats.exe
Faulting module path: C:\Windows\SYSTEM32\KERNELBASE.dll
Report Id: 46a718e5-2404-4dbe-a242-2574b92cc3c9
Faulting package full name:
Faulting package-relative application ID:
Application: HotsStats.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
at System.IO.__Error.WinIOError(Int32, System.String)
at System.IO.File.InternalCopy(System.String, System.String, Boolean, Boolean)
at System.IO.File.Copy(System.String, System.String, Boolean)
at StatsFetcher.FileProcessor.ProcessRejoin(System.String, StatsFetcher.Game)
at StatsDisplay.SettingsWindow.ProcessRejoinFile(System.String)
at StatsDisplay.SettingsWindow+<>c__DisplayClass4_1.<.ctor>b__3()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at StatsDisplay.App.Main()

Ok, i swear i had .net 4.5 before upgrading to windows 10, but whatever.
Installing it now to try.

EDIT: scrap that, it is integrated into windows 10, cannot install it. No idea why the error log says .net 4.0

I've added some simple logging and error messages. Try to download a new release. If it crashes post contents of C:\Users\<user>\AppData\Local\HotsStats\app-<IP_ADDRESS>\log.txt there.
Having .net 4.0 in error description is fine because 4.5 works on top of 4.0 runtime.

Just installed, has this in the log when you close it (an exception is shown):
[17/3/2016 10:23:23 a. m.] Critical exception: System.Threading.AbandonedMutexException: Leaked a Mutex!
at Squirrel.SingleGlobalInstance.Finalize()
[17/3/2016 10:23:33 a. m.] Critical exception: System.Threading.AbandonedMutexException: Leaked a Mutex!
at Squirrel.SingleGlobalInstance.Finalize()
Will play in an hour to test.

Try this test release https://github.com/poma/HotsStats/releases/tag/0.4.1-debug.1

@poma Thank you! You solved my problem. It does not crash anymore and I can finally enjoy your creation :) I have not stumbled across anymore problems so far.

Crash solved with this release. Thank you!
Il giorno gio 17 mar 2016 alle ore 15:06 jeaabr<EMAIL_ADDRESS>ha scritto:

@poma https://github.com/poma Thank you! You solved my problem. It does
not crash anymore and I can finally enjoy your creation :) I have not
stumbled across anymore problems so far.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/poma/HotsStats/issues/8#issuecomment-197891971

--
Matteo A. C. Rossi
PhD student, Applied Quantum Mechanics Group
Università degli Studi di Milano
via Celoria 16, IT-20133 Milano
http://users.unimi.it/aqm

Cool. Turns out I tried to read rejoin file before client finished writing it. Now I will properly implement fix and roll out a full release. In debug version UI will freeze for one second when rejoin file appears.

Crash seems to still be there:

Unhandled exception
System.NullReferenceException: Object reference not set to an instance of an object.
at StatsFetcher.FileProcessor.ProcessRejoin(String path, Game game)
at StatsDisplay.SettingsWindow.ProcessRejoinFile(String path)
at StatsDisplay.SettingsWindow.<>c__DisplayClass5_1.<.ctor>b__4()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
OK
log.txt

I did not see the 0.4.2 release when i posted that, with that, the error on closing does not happen.
will try the game in a few more hours.

0.4.2 Fixed this issue for me! thanks!

This is the  previous error.   with the full stack. Basically, it crashes when it tries to copy the save reply because HOTS keeps it opened exclusively.  We must ensure that we  catering for this
System.IO.IOException was unhandled by user code
HResult=-2147024864
Message=The process cannot access the file 'E:\Documents\Heroes of the Storm\Accounts\132033662\2-Hero-1-652844\Saves\Rejoin\0x25918BAC.StormSave' because it is being used by another process.
Source=mscorlib
StackTrace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at StatsFetcher.FileProcessor.ProcessRejoin(String path, Game game) in E:\W\HotsStats\StatsFetcher\FileProcessor.cs:line 34
at StatsDisplay.Settings.SettingsVm.ProcessRejoinFile(String path) in E:\W\HotsStats\StatsDisplay\Settings\SettingsVm.cs:line 351
at StatsDisplay.Settings.SettingsVm.<>c__DisplayClass66_1.b__3() in E:\W\HotsStats\StatsDisplay\Settings\SettingsVm.cs:line 316
at StatsDisplay.Settings.SettingsVm.<>c__DisplayClass71_0.b__0(Object _) in E:\W\HotsStats\StatsDisplay\Settings\SettingsVm.cs:line 377
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
InnerException:

There is also a new bug introduced by  the windows squirrel dependency. It appears that the  shaprzip lib that it ships with is not compatible with the latest sharpzip lib used by the mpq parser. Here is  the exception
System.IO.FileLoadException was unhandled by user code
FileName=ICSharpCode.SharpZipLib, Version=<IP_ADDRESS>8, Culture=neutral, PublicKeyToken=1b03e6acf1164f73
FusionLog==== Pre-bind state information ===
LOG: DisplayName = ICSharpCode.SharpZipLib, Version=<IP_ADDRESS>8, Culture=neutral, PublicKeyToken=1b03e6acf1164f73
(Fully-specified)
LOG: Appbase = file:///E:/W/HotsStats/StatsDisplay/bin/Debug/
LOG: Initial PrivatePath = NULL
Calling assembly : MpqTool, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null.
LOG: This bind starts in default load context.
LOG: Using application configuration file: E:\W\HotsStats\StatsDisplay\bin\Debug\HotsStats.vshost.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: ICSharpCode.SharpZipLib, Version=<IP_ADDRESS>8, Culture=neutral, PublicKeyToken=1b03e6acf1164f73
LOG: Attempting download of new URL file:///E:/W/HotsStats/StatsDisplay/bin/Debug/ICSharpCode.SharpZipLib.DLL.
WRN: Comparing the assembly name resulted in the mismatch: PUBLIC KEY TOKEN
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
HResult=-2146234304
Message=Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=<IP_ADDRESS>8, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Source=MpqTool
StackTrace:
at Foole.Mpq.MpqStream.ZlibDecompress(Stream data, Int32 expectedLength)
at Foole.Mpq.MpqStream.DecompressMulti(Byte[] input, Int32 outputLength) in E:\W\HotsStats\Heroes.ReplayParser\MpqTool\Foole.Mpq\MpqStream.cs:line 356
at Foole.Mpq.MpqStream.LoadSingleUnit() in E:\W\HotsStats\Heroes.ReplayParser\MpqTool\Foole.Mpq\MpqStream.cs:line 274
at Foole.Mpq.MpqStream.ReadInternalSingleUnit(Byte[] buffer, Int32 offset, Int32 count) in E:\W\HotsStats\Heroes.ReplayParser\MpqTool\Foole.Mpq\MpqStream.cs:line 249
at Foole.Mpq.MpqStream.Read(Byte[] buffer, Int32 offset, Int32 count) in E:\W\HotsStats\Heroes.ReplayParser\MpqTool\Foole.Mpq\MpqStream.cs:line 226
at System.IO.StreamReader.ReadBuffer()
at System.IO.StreamReader.get_EndOfStream()
at Foole.Mpq.MpqArchive.AddFilenames(Stream stream) in E:\W\HotsStats\Heroes.ReplayParser\MpqTool\Foole.Mpq\MpqArchive.cs:line 175
at Foole.Mpq.MpqArchive.AddListfileFilenames() in E:\W\HotsStats\Heroes.ReplayParser\MpqTool\Foole.Mpq\MpqArchive.cs:line 166
at StatsFetcher.FileProcessor.ParseRejoin(String fileName) in E:\W\HotsStats\StatsFetcher\FileProcessor.cs:line 69
at StatsFetcher.FileProcessor.d__2.MoveNext() in E:\W\HotsStats\StatsFetcher\FileProcessor.cs:line 37
InnerException:
installing the sharpzip lib in the main project seems to fix  the issue. I might  create a pull request this evening with fixes for both  the io exception and this error

I thought I already fixed both. Are you sure you are using latest version?

yep. just  pulled everything  this evening.  fix is done, will create a PR  in 1 minute

current 4.2.0 is no longer crashing for me.

Looks like issue is resolved for everyone


Icon request: Canvas Student

Canvas Student: com.instructure.candroid
Playstore link: https://play.google.com/store/apps/details?id=com.instructure.candroid

Hello! Weʼre switching to a new system for icon requests in order to be able to better manage them. From now on, icon requests can be submitted here: https://forms.gle/Fx8vZAiWdW1Tyjo57. If your icon request hasnʼt yet been fulfiled, it has been copied to our new icon request database, meaning no action is required. Consequently, this issue will be closed.


RIO-53 feat(View Materializer): handle reference field on Materializer

refactor Materializer to be FSM Actor
handle reference field on create and update operations
implement MongoStorage trait to handle DB operations
Fixed ModelRegistrySpec
add testing messages on MaterializerTest

Can one of the admins verify this patch?

ok to test

Refer to this link for build results (access rights to CI server needed):
http://ci.really.io//job/really-pr-validator/102/
Test PASSed.

Fantastic work, :+1:


Compiler, intellisense not working at all

We have written the needed data into your clipboard because it wa
Issue Type: Bug
Showing warning that intellisense compiler location not set, none of the programs are getting executed and everything is full of bugs.  Please paste.

What language is this for?

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

C/C++
On Mon, Jun 6, 2022, 20:37 Matt Bierner @.***> wrote:

What language is this for?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/151340#issuecomment-1147553163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR53V47G2B4OXY3LKE2BUCLVNYHZ7ANCNFSM5X7S7QWQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

/extC++

It looks like this is caused by the C++ extension. Please file the issue to the C++ extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


Add a comment to OtherScreen

Issue

close #273

Overview (Required)
-Add a comment to OtherScreen

👀