Identity comparison on literals causes compiler failure

Hello.
With this program:
actor Main
  new create(env: Env) =>
    2 is 3

Compiler output:
...
Generating
Error: internal failure not reported

Yes that is a bug, thanks for reporting it.
We don't currently require that 2 things compared with is have fully infered types, which clearly we should. This will be fixed as a side effect of our planned work to sort out erroneous type handling.

I improved the error message with
--- src/libponyc/reach/reach.c
+++ src/libponyc/reach/reach.c
@@ -650,8 +650,10 @@ static void reachable_method(reachable_method_stack_t** s,
       break;
     }

+    case TK_LITERAL:
+      assert(0&&"Known internal limitation. Not yet inferred literal type"); break;
     default:
-      assert(0);
+      assert(0&&"Not yet inferred method type. Need NOMINAL, UNIONTYPE or ISECTTYPE");
   }
 }

The actual error is in the expr pass, when we don't infer literal types as we should. However that's not causing a visible effect to the user until the IR pass.

I tried working on this feature a bit.
Am I right in assuming the inferred types for literals should be broad unions of all builtin primitive types which can represent the value?
Like
0 => (Signed | Unsigned)
256 => (U16 | U32 | U64 | U128 | I16 | I32 | I64 | I128 )
-1024 => (I16 | I32 | I64 | I128 )
so that the checker can match properly against all allowed types (and deny types not in the union)?

@rurban - Note that negative literals can be assigned to unsigned types.
For example, these two statements are effectively the same:
let a: U8 = -1
let b: U8 = 0xFF

@jemc: Ouch. I hope that negative int literals will not match Unsigned.

Pony's literal inference doesn't work like that. We don't look at the value and decide what types it might be, we look at what is done with a value and determine what type it MUST be. For example if we assign a literal to a variable that's a U16, then that literal must be a U16.
Part of the reason we don't take the "what type might this value be" approach is because it requires type coercion, which inherently involves ambiguity, which leads to bugs.
The process of inferring the type of a literal is annoyingly complex due to Pony's very rich type system. The good news is we have a full literal type inference engine, we're just not calling it in this instance for some reason (almost certainly I just missed a case).

Fixed!
In an identity comprison (is or isnt) now if either operand is a literal it will assume the type of the other and if they both are you'll get a sensible error message.

Your patch is wrong. Eg. 2 is 2 will return an AST_ERROR of "Cannot infer type of operands"
while the literal types can be easily infered and compared here.
See my branch rurban/ponyc/literal_is-gh369

No, my recent change does the right thing, at least in that case :)
If you compare 2 literal expressions, eg 2 is 2 then you don't know what types they are, they could be U8 or I32, etc. This is ambiguous and a central rule in Pony is that ambiguity is considered an error.
The reasoning behind this is that a literal expression is not necessarily just a number, it could be a calculation, and then the value may depend on the type.
For example:
((16 * 16) / 16) is 16

If we treat these numbers as say U32 then both sides are 16, so the is will return true.
However, if we treat them as U8 then the left operand will actually evaluate to 0 due to overflow, so the is will return false.
Similarly:
(1 / 2) is 0

If we treat these numbers as U32 then both sides are 0, so the is will return true.
But if we treat them as F32 then the left operand will be 0.5, so the is will return false.
You can also get differing results with signed vs unsigned types.
So how my change works, that unknown type is an error, is the explicitly intended behaviour.

No, I don't agree with your reasoning. Internally we have only 3 literal types in the ast:

TK_INT which is a 128bit signed integer, resp. 2x 64 bit ints, every literal int is parsed into that,
TK_FLOAT which is of type double,
TK_STRING a buffer with len.
So reasoning about the parsed literal can be done with those 3 types.

Literal expressions are already handled in my code as in your patch.
We error even we shouldn't, because exprs are not yet handled in the switch.
Regarding different results of literal expressions:
We take the type of the parsed literals, which are always the highest, I128 for integer.
The lhs of (1 / 2) is 0 consists of two I128 literals, which results in I128 with the value 0.
((16 * 16) / 16) is 16 is also true.
(1.0 / 2) is 0.5 is also true if we are lucky with our double arithmetic.
TK_FLOAT div TK_INT => TK_FLOAT
but I would defer expansion of literal expressions to run-time.
I don't think we are doing compile-time constant-folding, LLVM does it for us.

This is not at all how Pony handles literals. You could theoretically do it all like that, but we don't. The reason we don't is type coercion.
Pony does not have type coercion, because it's a major source of bugs in other languages. In Pony, each number in the source code is a single type and stays that type unless it's explicitly converted to something else. What you're talking about is treating a given number as one type (I128) for a while and then later saying actually it's a U8 now. This causes problems due to when the conversion takes place. Example:
let x: U8 = 2
let y: U8 = 256 / 2
let z: U8 = 256 / x

What values do y and z have? In the Pony system they're both 0, because all those numbers are treated as U8 the whole time. But with your system y is 128, because you calculate 256 / 2 as an I128 and then convert to U8. Whilst y being 128 is not unreasonable when considered in isolation, y and z being different values is extremely bad.
Similarly there are problems with choosing I128 for integer calculations. That means half the legal values for U128 aren't available to you.
In Pony we allow integer literals to be treated as floats, so this is legal:
let x: F32 = 1 / 2

We could say that 1 is an integer only and 1.0 is a float. Then it would become:
let x: F32 = 1.0 / 2.0

However, what we absolutely don't want is to say 1 is an integer, but then allow:
let x: F32 = 1 / 2.0

This is type coercion at its worst.
I think that part of the problem here is that you're conflating two different uses of the word "literal". It is used in the lexer to mean a TK_INT, TK_FLOAT, etc as you say. But it is also used in type checking to refer to an expression that consists only of lexer literals combined with appropriate operators (+, *, if, etc). These are not the same thing.

I see, that makes sense


Automated System Tests

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?

Adds automated system tests (VI Tester VIs)
Updates the SLSC Switch engine to set the timeout of the Execute Message call (to all for clean undeployment when there are no producer messages)

Here is the ATS system hardware used in these tests

Chassis - VS-Eco-SLSC-12001
Modules:
Slot 2:   SLSC-12001-0317E1AA-Mod2 (SLSC-12251)
Slot 3:   SLSC-12001-0317E1AA-Mod3 (SLSC-12252)
Slot 1:   SLSC-12001-0317E1AA-Mod1 (SLSC-12201) - for testing an invalid resource type

Here are the tests:
Deploy and do nothing
----- test Deployment SLSC Switch and RaF CD.vi
Deploy and test that Initial States have been activated
----- test Initial States Are Activated.vi
Deploy a rich set of states, make state changes and validate expected properties
----- test State Changes and Connections.vi
Deploy and unDeploy - check properties return to default
----- test Undeployment Returns to Default State.vi
Deploy a system with a SLSC Switch module but no Routing Channels configured
----- test Deployment Switch and RaF No Routing Channels.vi
Deploy a system with no producer (no RaF CD)
----- test Deployment No RaF CD.vi
Deploy a system with RaF and SLSC Switch not agreeing on Resource
----- test Deployment Switch and RaF Diff Resource.vi
Deploy a system with RaF and SLSC Switch but not using a valid resource (12201)
----- test Deployment Switch and RaF Invalid Resource.vi
Why should this Pull Request be merged?
We need automated tests to validate that our SLSC Switch and Routing and Faulting custom devices function correctly on real hardware.
We also need automated tests for testing various erroneous deployment scenarios, to make sure we return expected errors and shutdown correctly.
What testing has been done?
All of these automated tests run successfully as long as the VS-Eco-SLSC-12001 chassis and modules are connected and powered up.

[ ] Remove comment from setUp.vi. The tests each individually open the appropriate system definition rendering this comment moot.

[ ] Some tests hardcode the SLSC resource name on the block diagram. Use the override property to obtain the resource name instead. This allows users to override hardware for local tests without changing block diagram. See test Loopback.vi in EDS system tests for an example of getting resource name from override properties.


SEP-24: show more_info_url for incomplete transactions

Show more_info_url when we start polling to display it for incomplete transactions.
Added a link prop for the instruction log to make a link clickable.

Preview is available here:http://stellar-demo-wallet-client-pr345.previews.kube001.services.stellar-ops.com/


Remove outputs from on_train_epoch_end

What does this PR do?

This addresses part of #6865
We remove outputs from on_train_epoch_end as any model which needs to run something in this hook and which does not rely on outputs is inherently wasting memory.  Traditionally, this was the differentiator between training_epoch_end defined as a method on the LightningModule vs on_train_epoch_end which takes no arguments and is available in both the callbacks and lightning module via hooks. As a result, we are storing per-batch outputs, leading to increased memory pressure which both slows down training and puts the job at greater risk of OOMs, especially for large scale training.
This PR checks 3 conditions for needing to store the per-batch results:

If the LightningModule overrides training_epoch_end
If the LightningModule overrides on_train_epoch_end and includes outputs in its signature
If any of the Trainer's callbacks override on_train_epoch_end and include outputs in the signature

Fixes #<issue_number>
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hello @ananthsub! Thanks for opening this PR.

In the file pytorch_lightning/trainer/training_loop.py:

Line 205:121: E501 line too long (122 > 120 characters)
Line 219:121: E501 line too long (157 > 120 characters)

Do see the Hitchhiker's guide to code style

For callback implementers, if they need the outputs in the callback what do you suggest? cache through the batch_end callback methods?

For callback implementers, if they need the outputs in the callback what do you suggest? cache through the batch_end callback methods?

Yes, either cache from the batch end hook or cache the results in the module's *_epoch_end method on the module for the callback to access in on_*_epoch_end

@ananthsub can you pls add an example to docs how to proper use cache in this case?

@ananthsub can you pls add an example to docs how to proper use cache in this case?

on the docs site? in the callback/model hooks?

@ananthsub can you pls add an example to docs how to proper use cache in this case?

on the docs site? in the callback/model hooks?

where ever you feel it is better place :]
so lets merge this and add this doc in an extra 3/2 pr, ok?

@ananthsub Yes, I also see it that way and I think it's the most straightforward solution. Just wanted to make sure we know what to recommend when someone asks for this since we remove the feature that was requested. For everything we deprecate we should have a solution for people who rely on it.


Afin installation

Hey Mike,
I'm trying to run Fast-Plast in a ubuntu machine and I'm getting the following error when installing Afin:
carol@jmandel-OptiPlex-7010:~/Fast-Plast/afin$ make
g++ -std=c++11 -g -pthread -c afin.cpp -o afin.o
cc1plus: error: unrecognized command line option ‘-std=c++11’
make: *** [afin.o] Error 1
The automatic installation using the INSTALL script also failed. I have zlib installed.
Do you know what might be causing it? I tried to run some files and it stops right after the Spades step.
Thanks!

Do you have a c++11 supported c++ compiler? For example, we use gcc5.4.0.

Is it in your path?


website is down

I can't access the website.

It is down for me

Hi, I had to put it down some months ago as I try to reduce my domain name costs! I plan to make it available again as a GitHub page :)

I made the website available again here : https://jean-tinland.github.io/simple-bar-website/ :)


Update uberon mappings

Update the FBbt-to-Uberon mappings.
This PR mostly removes the mapping between FBbt’s ectodermal derivative and Uberon’s ectoderm-derived structure, since the two terms have different scopes: the Uberon term refers to any structure derived from the ectoderm throughout all developmental stages, whereas the FBbt term strictly refers to derivatives that exist during the embryonic stage only. Having those terms mapped is the ultimate cause of issue #1425.
Similarly bogus mappings between other germ layer derivatives are removed, for the same reason. Mappings with recently obsoleted terms are removed as well.
Lastly and as a side shoot, definitions are added to germ layer derivative and cardiogenic mesoderm, since they were missing.

@dosumis Tagging you as a reviewer since the PR ultimately affects any ontology that merges Uberon and FBbt, such as the SCAO, so you might want to have a look. This is the follow-up to the issue we detected at last week’s meeting (glial cells being wrongly classified as part_of some embryo).


ref(charts): enable RBAC by default

Implements https://github.com/Azure/brigade/issues/713

LGTM as well


Nick: Watch classiciasacademy.com

Nick requests the watch of the watch_keyword classiciasacademy\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

classiciasacademy\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


can not clone. Permition denied

 git clone git@github.com:jaspernbrouwer/git-flow-hooks.git
Cloning into 'git-flow-hooks'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

So I change clone command:
git clone https://github.com/jaspernbrouwer/git-flow-hooks

Please update your DOC

Permission denied (publickey).

This is a problem on your end I'm afraid. Github is not accepting your SSH key.
Please see the Github Help on this subject to resolve the issue.
PS: You're free to use HTTPS instead of SSH to clone of course!

No, this is the problem at your doc. You advice to clone in that way. I just copy-paste.
Please change that line to:
git clone https://github.com/jaspernbrouwer/git-flow-hooks

PS. If you think that is not problem. Leave that as is.


Consumption metering RFC

Rendered: https://github.com/neondatabase/neon/blob/metering_rfc/docs/rfcs/021-metering.md

@petuhovskiy, I saw several implementations like you proposed, except for one moment:
the HTTP endpoint was replaced with a local log file that was pushed to Kafka via filebeat directly (https://www.elastic.co/guide/en/beats/filebeat/current/kafka-output.html).
The one point of failure (HTTP endpoint) is replaced with filebeat, which supports retries/continuation from a previously committed state.

I personally like d) as an intermediate option. Vector could work with pipelines of HTTP server source -> log to metric transform -> Aggregate transform aggregating needed metrics with needed granularity -> HTTP sink -> console to
Pipeline sources -> multiple Vector instances for a cell -> Kafka -> single postgres table for all the cloud -> some accounting engine seems to be bright future with have following properties: not losing events, tolerant to repeating events, bill multiple events on per-hour basis, low costs by sending only the needed events to the accounting engine.
Vector:
Gives agility in sources, can accept quite a several formats; HTTP, Prometheus is easy to implement on storage nodes. Push does not need to implement storage nodes discovery, so the proposed HTTP or statsd seems easier to maintain.
Gives batching, that increases the throughput when working with Kafka.
Not losing events (or losing very little): Vector retries the events.
Kafka
Given Kafka streams, we can aggregate and bill on per-hour basis, reducing the volume of events (which we are gonna pay for). If the events have idempotency field (timestamp+hostname) we can probably ignore duplicate events on the Kafka side with log compaction. So at-least-once seems to be OK for us.
Put everything to Postgres with Kafka Postgresql Sink.
postgres table
Having the events in a Postgres table would allow us to enrich them in the background with client id / other data. Then send it to an external system in the background (Like Metronome, others) or use our home-grown (which does not exists and is not a rocket science to build, but we need to get it first). And add taxes etc. And we could try to show usage from that table to the users and bills from some external system.
But this is a lot to build.
c) the Clickhouse sounds great for showing historical data, to downsample it automatically. But it has weak guarantees on ingestion, so I would not use it as a primary source of data. But a secondary for graphs, etc.
Option d) seems to be fast to build, but there might be a problem with it in scalability. If we leave >1 instance of vector accepting and aggregating the events than we got each GB-hour of storage billed twice. We could add another layer of single instanced vector post-aggregating the events for each hour, but I doubt that would be consistent solution - it still allows billing each hour twice if events come with significant intervals into that post-aggregator.
And having 1 instance handling all the traffic (15k RPS load) would probably work if we give it enough CPU and mem, it's not that big a deal for vector. I see this scheme as intermediate and thought it will work for sure, we will need to rework ingest pipeline later, we probably do not want to live with single instance for a long time, as long as we don't want to introduce retries to event emitters.
f) needs storage service discovery, I would try to avoid that.
g) not sure we have any guarantees on this metrics storage, probably losing them is not big a deal now, and we probably don't want to heavily rely on that storage.
So I would vote for scheme a) with minor additions (see above) and I would start with from the back: deliver data to some accounting engine (which is pricy orb, it probably has the needed aggregations) with POST /usage via HTTP. That would allow us to start with paying customers. Then add Vector just to bring kafka later. Then we could add temporary Kafka -> Vector -> POST /usage to just the reduce amount of events to the Orb. And then add Postgres table to store the data ourselves. That would allow us to gradually move step by step to our own solutions, while already having 100% working billing solution. Because building those pipelines from the scratch would put us I would say human-months away from billing customers.


[4.0.0.beta-17] ActivatedRoute.queryParams break after navigation

Bug Report
Ionic version:
4.0.0.beta-17 and 4.0.0.beta-18
Current behavior:
Subscriptions on ActivatedRoute.queryParams do not fire after navigating away from and returning to that page. This is particullary problematic for base pages of tabs that are cached. The problem does not occur on sub-pages because they are re-initialized i.e. onInit fires again and again (e.g. on speaker-detail in ionic-conference app).
Expected behavior:
Navigation should not interfere with the queryParams subscription.
Steps to reproduce:

Clone ionic-conference-app
Add code below
Test with "Test" button on speakers list. Observe console log of queryParams. Navigate to speaker detail and back. Try "Test" button again and observe no console output.
Test same with Test button speaker detail page. Navigate from base to detail and back and to detail again - logs are fired.

Related code:
speaker-list.html
<ion-content class="outer-content">
   <!-- TEST BUTTON -->
  <ion-button (click)="test()">Test</ion-button>

  <ion-list>
...

in speaker-list.ts modify
...
export class SpeakerListPage implements OnInit {
  speakers: any[] = [];

  constructor(
    public actionSheetCtrl: ActionSheetController,
    public confData: ConferenceData,
    public inAppBrowser: InAppBrowser,
    private route: ActivatedRoute,
    private router: Router
  ) {}

  ngOnInit() {
    console.log('Init');
    this.route.queryParams.subscribe(test => console.log(test));
  }

  test() {
    this.router.navigate(['./'], { queryParams: { test: Math.random() }, relativeTo: this.route });
  }
...

Ionic info:
Ionic:

   ionic (Ionic CLI)             : 4.5.0 (C:\Users\Ferdinand\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.0.0-beta.17
   @angular-devkit/build-angular : 0.10.7
   @angular-devkit/schematics    : 7.1.3
   @angular/cli                  : 7.1.3
   @ionic/angular-toolkit        : 1.2.0

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : android 7.1.4
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.2.5, (and 8 other plugins)

System:

   NodeJS : v10.11.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.4.1
   OS     : Windows 10

Problem persists if this.route.queryParams.subscribe(test => console.log(test)); is moved to ionViewDidEnter. The whole subscription seems to be corrupted.

Thanks for your issue! Could you please create a repo? On my app (I also copied your snippet) this is working without problems.

The problem is that the base page of the tab is cached (as it should) and when one navigates away and back to that page, the cache is retrieved but somehow the queryParams of that ActivatedRoute is not firing anymore, or maybe ActivatedRoute is not restored correctly.
I have the feeling that it might be related to #16534 where ActivatedRoute also introduces problems when the currect href is rendered. Although in that case, ActivatedRoute is sometimes not correctly restored when using relative navigation, which is not the case here.

@paulstelzer
I provided a repo here with the changes described by @h4rm
https://github.com/blackfan23/conference_app_beta_nav_bug

The problem of the issue is the following:
Ionic puts the page into the stack, means the component will be not destroyed, instead it's just hidden (Read more here https://medium.com/@paulstelzer/ionic-4-and-the-lifecycle-hooks-4fe9eabb2864).
That's the reason why ngOnInit() will not be fired and I think it's the same why the router not working as you expected because on going back to the page, the page will be shown again (not created, it was already created - it will only be shown). And I think this leads that the queryParams not working as you expected
A workaround would be to avoid the ionic stack functionality and just navigate by root

Hey Paul,
thanks for your remarks, What exactly do you mean by "navigate by root". If it meants that we avoid relative routes as used above, I have also tried to navigate via absolute roots
    this.router.navigate(['app', 'tabs', { outlets: { speakers: ['speakers'] } }], { queryParams: { test: Math.random() } });

and the problem persists.
Also, I understand that ionic only hides the base page and shows it again when navigating back. Unfortunately that does not explain why the first subscription in ngOnInit() does not fire again as the page component still exists in the background the the subscription should be still valid.

As said you are the special case (like on my app) that you are stay on the same page. I presented my workaround in my comment above.
The  first subscription should work, I get the params on first load in my app.

Okay, we found a viable work-around.
If we put the the queryParams subscription into a seperate service
import { Injectable } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

@Injectable({
  providedIn: 'root',
})
export class TestService {
  constructor(private route: ActivatedRoute) {
    this.route.queryParams.subscribe(test => console.log(test));
  }
}

it will react to all param changes as expected. In particular, in the example above "when you use "test" params on the base page, navigate to a child page, put a link there back to the base page with another test=Math.Random()" - the queryParams correctly fires.
It does not fire, if the subscription is done in the ngOnInit which is the core problem that I do not understand.

Thanks for the quick response, @paulstelzer!
I don't think I share the same issue as expressed in 16744. The issue I mention with the ion-back-button in 16516 (arguably there are two separate but very related issues mentioned in there) is that it doesn't work like the browser's history stack, Android back button, nor Ionic 3 when you use it to navigate back after having forward navigated to a cached Page in the stack. Forward navigating to a cached Page in the stack pops off all of the Pages in between. Not only do those Pages get destroyed, but the ion-back-button doesn't take you back to any of them--it takes you to back to the Page prior to the cached instance of the Page--wherever that was in the stack--so you don't go back to the Page you were just on prior to forward navigating to the cached Page. I'm not sure what the design rationale was behind this behavior or why it's not configurable to work like it used to. This is why I'm instead using a custom back button Component that simply calls Angular's Location.back(). This is not the place to really discuss my ion-back-button issues however--issue 16516 is. Just summarizing the distinction between issues here.
So for me, the new query parameter value is present in the URL and it appears that the router is trying to set the observable values but the subscriptions aren't firing.

I can confirm this issue as this was quite a blocker for us, the problem is that the OutletInjector class inside ion-router-outlet only provides the correct ActivatedRoute during initial component initialization, but this is not the correct ActivatedRoute when re-activating a component thats already in the ion-router-outlet stack. The fact of the matter is, there is no easy way to correct this issue from Ionic's side because you cant change the injected activated route after the fact. In other words, the activated route thats injected on a component is only correct if the component is being created by the factory, NOT if we are reactivating a component thats already created, and navigating BACK to that component is actually a whole new navigation and therefor new ActivatedRoute object.
I implemented a very crude workaround to this issue because we have a tight deadline to release our app. The main gist of the solution is that I created a service that always maintains the current activated route as well as the component that is activated and exposes this via an observable, and then on my page components I use this service to get the latest (and correct) instance of ActivatedRoute as it changes over time (i.e. when navigating BACK to a component on the stack) and then you can correctly switchMap over to the queryParamMap on that new ActivatedRoute.

@daem0ndev can you share your workaround service?

@biesbjerg for sure, do you have a repo with this issue that I can simply push a branch to?

Are there any thoughts from the team on when this might be fixed? Prior to Final? Seems pretty important for using the correct navigation parameters if the recommendation and default is to use cached Pages.

Hey everyone. We just merged in #17888 which fixes this. Thanks for all your patience here 😄


[DDC-3414] Joining on a table with inheritance produces badly formed ON clause

Add a test for a bug report. The test is only simple with no assertions, since the SQL generated by Doctrine is invalid and generates an exception in SQLite.

This bug is quite annoying to deal with, would be great if a fix could be found

Could you please check if this is the same as http://www.doctrine-project.org/jira/browse/DDC-3697 and/or whether #1395 solves it?

ping @LewisW, your feedback would be helpful.

@mpdude it looks very similar, but a slightly different use case. I'll try merging your branch in locally and running the tests provided in this PR.

Sadly it doesn't seem to fix it:
Exception: [Doctrine\DBAL\Exception\SyntaxErrorException] An exception occurred while executing 'SELECT d0_.id AS id_0, d1_.id AS id_1, d0_.type AS type_2, d2_.class_id AS class_id_3, d1_.type AS type_4, d3_.class_id AS class_id_5 FROM DDC3414TestChild d2_ INNER JOIN DDC3414TestSuper d0_ ON d2_.id = d0_.id LEFT JOIN DDC3414TestChild d3_ INNER JOIN DDC3414TestSuper d1_ ON d3_.id = d1_.id ON (d2_.class_id = d1_.id)':

SQLSTATE[HY000]: General error: 1 near "ON": syntax error

I run into the same problem. Doctrine v2.5
Works on MySQL, but crashes on Sqlite

I have the same problem with tests on a table inheritance setup. The code works fine on MySQL but all tests running against a Sqlite are failing.


Image missing in PDF

Attach (recommended) or Link to PDF file here: ICEE-B.2017.8192026.pdf
Configuration:

Web browser and its version:  Firefox 89.0 (64-bit)
Operating system and its version: Windows 10 Pro Version 21H1
PDF.js version: I don't know, sorry
Is a browser extension: No

Steps to reproduce the problem:

Open PDF
Figure 1 in page 2 is missing

What is the expected behavior? (add screenshot)
This is how it looks in Edge

What went wrong? (add screenshot)
This is how it looks in firefox

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Any error logs?

I'm sorry, where can I see the error log? I opened the browser console and nothing new appears when I open the PDF

Yeah, doesn't look like there's any errors in the console. This appears to be yet another issue with how we apply image mask with patterns and how the scaling/transformations interact.


[Bug Report] Options dettached from select component when scrolled

Element UI version
2.4.6
OS/Browsers version
Windows 10, Chrome 68.0.3440.106
Vue version
2.5.17
Reproduction Link
https://jsfiddle.net/mmx38qxw/5797/
Steps to reproduce
I'm not quite sure how this is not working in my application. On other page, it is working as expected but for some page also, it isn't
I am using vuetify and element to the same project.
I have tried cleaning to the point these are the only codes left (in this page) but is still having issue.
What is Expected?
The options remains attached to the select component even when scrolled far away.
In other pages, the Options component adjusts it's TOP in css when scrolled, but not in this page's case.
What is actually happening?
What's happening actually is the options detaches from the select component when it is scrolled far away. By the time the select component is not visible from the page anymore, the options, still remain in it's place blocking the view of other components.

@vincebanzon Sorry, I don't know what's going wrong.


updated custom runtime documentation links

Issue Ref: #1026
Description:
Quick Documentation update
TODOs:

[ ] Ready to review
[ ] Automated Tests
[ ] Docs

Hi @mjschmidt,
Thanks for the PR! Note that the those links are made to work in the final page that you can find here:
https://kubeless.io/docs/runtimes/
But it's true that those link work now both in Github and the docs site so I am okay with the change.
Thanks again!


Update cargokit to latest version (54ae038)

Thanks for the PR! I was thinking about updating cargokit and now it's here :)
Only some little things should be done, as this project uses a 'slightly modified' cargokit.

I applied these 2 modifications, so I think this PR is okay to be merged.
Thank you for your participation to this project and always feel free to tag me when there's other issues!

@temeddix  Although this PR has been closed, I have to say that you are the most passionate open-source project maintainer I have ever seen. This is a tremendous positive feedback for any contributor. I absolutely love projects like this, and I enjoy working with you.


Landing Page

Codereviewpals.com is an open-source platform for code reviews. Our goal is to encourage collaboration among developers by making it easier for them to get feedback on their code. We have a blog and a section for review requests, where developers can submit their code for review by more experienced colleagues.
Goal of Landing Page
We want to create a landing page that will help us reach out to junior developers and encourage them to submit their code for review. At the same time, we want to encourage more experienced developers to review code and contribute to the community.
Sections of Landing Page

Header: with the name of the website and a short tagline that summarizes the purpose of the website.
Call to action: a prominent button or form that invites users to submit their code for review.
Testimonials: a section that includes quotes from developers who have used our platform to get feedback on their code, highlighting the benefits of using the platform.
About us: a section that provides some information about who we are, our mission, and what we do.
Contact us: a section that includes a form or contact information for users who want to get in touch with u

Definition of Done (DOD)

Figma design: A detailed Figma design that includes all the sections mentioned above and is aligned with the overall visual style of our website.
Convert to HTML and CSS with Tailwind: The landing page should be responsive and compatible with different devices and browsers. It should be built with HTML and CSS using the Tailwind framework.
Connect with Laravel: The landing page should be integrated with our Laravel application and hosted on our server.

P.s
it will be awesome if we find a UI/UX designer and frontend developer for this issue ❤

we have a Figma team now.
so if anyone is interested to help in designing the system. please let me know. i can add you to the team.
it's the Figma design page:
CodeReviewPalsFigma

if you want to contribute please read blow section :
remember to point your branch to this branch instead of develop

and please merge the branch into your local branch before doing anything.
you can do it easily by any git GUI you worked ( also you can check Lazygit ) but I'll write a guideline for git cli about how you can update your branch
git remote add NAME URL
git fetch NAME
git checkout -b 'ANYNAME/feature/4-landing-page' "NAMEfeature/4-landing-page"
git pull
git checkout -b 'feature/4-landing-page'
git merge "ANYNAME/feature/4-landing-page"
then your branch will be update. if you need any problem DM me on Discord

For the prototype preview : Figma Viewer
Work still in progress, some interactions and designs are not done yet ;)


Event data and chart not appearing.

Vercel function logs error:
ERROR	PrismaClientKnownRequestError: Raw query failed. Code: `42703`. Message: `column "event_name" does not exist`
  at RequestHandler.handleRequestError (/var/task/node_modules/@prisma/client/runtime/index.js:28658:13)
  at RequestHandler.request (/var/task/node_modules/@prisma/client/runtime/index.js:28640:12)
  at async consumer (/var/task/node_modules/@prisma/client/runtime/index.js:29618:18)
  at async Proxy._request (/var/task/node_modules/@prisma/client/runtime/index.js:29639:16)
  at async __WEBPACK_DEFAULT_EXPORT__ (/var/task/.next/server/pages/api/website/[id]/events.js:153:24)
  at async Object.apiResolver (/var/task/node_modules/next/dist/server/api-utils/node.js:184:9)
  at async NextNodeServer.runApi (/var/task/node_modules/next/dist/server/next-server.js:381:9)
  at async Object.fn (/var/task/node_modules/next/dist/server/base-server.js:491:37)
  at async Router.execute (/var/task/node_modules/next/dist/server/router.js:213:36)
  at async NextNodeServer.run (/var/task/node_modules/next/dist/server/base-server.js:610:29) {  code: 'P2010',  clientVersion: '4.1.1',  meta: { code: '42703', message: 'column "event_name" does not exist' }}

ERROR	PrismaClientKnownRequestError: Raw query failed. Code: `42703`. Message: `column "event_name" does not exist`
  at RequestHandler.handleRequestError (/var/task/node_modules/@prisma/client/runtime/index.js:28658:13)
  at RequestHandler.request (/var/task/node_modules/@prisma/client/runtime/index.js:28640:12)
  at async consumer (/var/task/node_modules/@prisma/client/runtime/index.js:29618:18)
  at async Proxy._request (/var/task/node_modules/@prisma/client/runtime/index.js:29639:16)
  at async __WEBPACK_DEFAULT_EXPORT__ (/var/task/.next/server/pages/api/website/[id]/events.js:153:24)
  at async Object.apiResolver (/var/task/node_modules/next/dist/server/api-utils/node.js:184:9)
  at async NextNodeServer.runApi (/var/task/node_modules/next/dist/server/next-server.js:381:9)
  at async Object.fn (/var/task/node_modules/next/dist/server/base-server.js:491:37)
  at async Router.execute (/var/task/node_modules/next/dist/server/router.js:213:36)
  at async NextNodeServer.run (/var/task/node_modules/next/dist/server/base-server.js:610:29) {  code: 'P2010',  clientVersion: '4.1.1',  meta: { code: '42703', message: 'column "event_name" does not exist' }}

Screenshot

Can you try running yarn check-db against your database?

Same issue here after upgrading to 1.37.0 (running the postgres variant).
Output from check-db:
/app $ yarn check-db
yarn run v1.22.19
$ node scripts/check-db.js
✓ DATABASE_URL is defined.
✓ Database connection successful.
✓ Database tables found.
✓ Database is up to date.
Done in 1.40s.
/app $

same "something went wrong" error message

Can you try running yarn check-db against your database?

$ yarn check-db
yarn run v1.22.19
$ node scripts/check-db.js
✓ DATABASE_URL is defined.
✓ Database connection successful.
✓ Database tables found.
✓ Database is up to date.
Done in 9.01s.

I was able to resolve this issue by manually applying the 02_add_event_data migration manually.
Shouldn't this be done automatically?

I am getting an error with the migration:
Database error:
ERROR: relation "account.username_unique" does not exist

However it seems there was an IF EXISTS added here, which doesnt exist in the image I am using: https://github.com/umami-software/umami/blob/master/db/postgresql/migrations/02_add_event_data/migration.sql#L57
So maybe that is already fixed?

@matthiasharrer At one point, there was a state where the migration file did not have the "IF EXISTS".  I imagine you're on that version.  Please pull the latest version and try again.

That indeed worked for me. Thanks @briancao :)
I would however have expected the image tag to somehow change when the contents change (e.g. a new bugfix release 1.37.1). Otherwise it's hard to know what you are actually running.


There's no need account password to login again after logout

I need my account password to login for the first time to check my private data with the SolidOS Databrowser Webapp. After that, I press logout button, and then press login button again. However, this time it doesn't need account password to login. I guess something still cached.

From my understanding, this is the expected behavior in Solid, and not a bug. The logout on the client side (e.g. with this solid-client function) does not log you out from the Identity Provider (e.g. solidcommunity.com).
If you login again with the same identity provider, then it redirects to the identity provider, where you are still loggedin, and the login finishes.

I think this is a bug. The mashlib do flollow the OIDC sesson end procedure. Somehow, it cannot direct user to perform log-out. The phenomenon I saw is as the following.


setBreak implementations for CP2102

Hi, currently on class CP2102SerialDevice, the setBreak(boolean state) method is not implemented.
@Override     public void setBreak(boolean state)     {         //TODO Auto-generated method stub     }
Are you planning to add it soon?
Thanks

Hi, I've created a pull request : https://github.com/felHR85/UsbSerial/pull/261 :)

Added in 6.1.0


feat: support passing a sub-syntax

Fixes #1
This makes it possible to pass something like the LESS parser/stringifier in to use as a base instead of postcss' default parser/stringifier.
e.g.
createParser({
  // ...
  parser: require('postcss-scss').parse,
  stringifier: require('postcss-scss/lib/scss-stringifier.js')
});

unfortunately, we can't just use syntax.stringify as we need to override parts of the Stringifier that uses internally. so instead, we require that you pass the class, not the factory function.
cc @ai in case you were curious

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 97.601%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
1157

Relevant Lines:
1163

💛  - Coveralls


gocode: not restarting

Please answer these questions before submitting your issue. Thanks!
Also, remember that to restart gocode, you have to run gocode close.
What version of Go are you using (go version)?
go version go1.12.6 darwin/amd64
What operating system and processor architecture are you using (go env)?
darwin, amd64
What is the debug output of gocode?
Run gocode close and then run gocode -s -debug to restart gocode in debug mode.
Try to complete once again from your editor, and paste the output printed by gocode here.
running gocode close results in
2019/07/10 15:26:54 dial unix /var/folders/_q/fbbhjg5s5j3gmcj3mv5qr6200000gn/T/gocode-daemon.maryum: connect: no such file or directory

running gocode -s -debug just hangs
What (client-side) flags are you passing into gocode?
none....should I be?
Please note here if you are using -source, -builtin, -ignore-case, -unimported-packages, or -fallback-to-source.
What editor are using?
atom, but I'm seeing the same errors on the command line

If you get an error from gopls close, then you likely did not have a gocode server running.
gocode -s -debug starts gocode in server mode, meaning that you will not see any output until you send it a request. This can be done through your editor or by manually constructing a request on the command-line.

Closing, as the tool is no longer supported: https://github.com/mdempsky/gocode#important-this-repository-is-currently-in-maintenance-mode.


Jagged Alliance 2 Version 2.13 crashes on launch.

Used version:
Release <IP_ADDRESS>
Tested 2.13 builds: 7609 and 8796
It says something about:
"Process-entrypoint DirectDrawCreateClipper was not found in the DLL "F:\Games\GOG.com\Ja2\ja2.exe"
My windows is in german so i did translate it to the best of my knowledge.
Also did try the debug version from 5/2/2009 you linked in another post, it didn't write a log, probably crashes before that.

wined3d doesnt let me Alt-Tab back to the game. Latest wined3d, 1.4.1 24-Jun-2013, available on https://www.nongnu.org/wined3d/
is the same as one shipping inside SCI_JA2v1.13_Revision_8796_on_GameDir_2531.7z\Docs\Windows Compatibility Fixes\Windows 7-10 Fix.zip
I also tried older 1.1.38 06-Feb-2010 version just in case, same problem.
Then I moved on to https://sol.gfxile.net/ddhack/index.html Sadly this silently crashes, most likely its very Wing Commander specific.
Then there is cnc-ddraw. I found it by googling same error message and finding your post, so thank you :)
Comparing https://doxygen.reactos.org/d3/d02/dll_2directx_2ddraw_2main_8c_source.html#l00055
to
https://github.com/CnCNet/cnc-ddraw/blob/master/inc/clipper.h
https://github.com/CnCNet/cnc-ddraw/blob/master/inc/main.h
https://github.com/CnCNet/cnc-ddraw/blob/master/src/main.c
everything in theory is there, but behind virtual call table?
This is what JA2 does https://github.com/aimnas/ja2-1.13-source-mirror/blob/master/Standard Gaming Platform/video.cpp#L425
		ReturnCode = IDirectDraw2_CreateSurface ( gpDirectDrawObject, &SurfaceDescription, &_gpPrimarySurface, NULL );
		if (ReturnCode != DD_OK)
		{
			DirectXAttempt ( ReturnCode, __LINE__, __FILE__ );
			return FALSE;
		}

		ReturnCode = DirectDrawCreateClipper ( 0, &clip, NULL );
		if (ReturnCode != DD_OK)
		{
			DirectXAttempt ( ReturnCode, __LINE__, __FILE__ );
			return FALSE;
		}

		ReturnCode = IDirectDrawClipper_SetHWnd( clip, 0, ghWindow);
		if (ReturnCode != DD_OK)
		{
			DirectXAttempt ( ReturnCode, __LINE__, __FILE__ );
			return FALSE;
		}

		ReturnCode = IDirectDrawSurface_SetClipper( _gpPrimarySurface, clip);

Solution:
Finally I found https://fdossena.com/?p=wined3d/index.frag and this one works almost(*) perfectly with Jagged Alliance 2 1.13

still switches desktop resolution when alt-tabing, force resizes your fullscreen browser window for example :(
JA2 has bugged keyboard handling and keeps thinking ALT is pressed after ALT-Tabbing back. You have to tap ALT again to make it sync its internal keyboard state with reality.

I added the missing export for DirectDrawCreateClipper, at least you should be able to get past the initial error message. Not sure if the game actually works since I don't have it, but it may be possible to at least get a log file now  :+1:
ddraw.zip

Thank you.
Sadly there still is no ddraw.log or cncsomethingsomething.log
When using the your new version i get an

JA2 Fatal Error
File: ./Font.cpp
Line: 950
Location : SetFont
font is not initialized

Regardless of setting:

USE_WINFONTS = 0
or
USE_WINFONTS = 1

Also since the sourcecode is open.
This should be the file in question:
Font.cpp
And in the same directory there is a
DirectDraw Calls.cpp /.h
DirectX Common.cpp  /.h
Which might be quite interesting to you.

Oh sorry, forgot to enable logging in that build. Here's a new one:
ddraw-log.zip
Will also have a look into the source code tomorrow!

Thanks.
Yes, also the windowed mode of Jagged Alliance 2 would tell you to downgrade to 16bit colors.
Here are the logs:
cnc-ddraw.log
game_log.log
stack_trace.log
sound.log

Could be working now :+1:
ddraw.zip

Nice. It starts and the performance seems good. 👍
Sadly it does show artifacts now. :(
Black boxes on textures that don't get redrawn.
For instance the portraits of the characters are black but when they say something their mouth is visiable nad moving while talking.
The cursor leaves behind a trail of black boxes.
Screenshot
There's no new log written.
Are there any special ini settings i should try?

Black boxes on textures that don't get redrawn.

its not loading certain image resources (different bit depth?), or loading them fine but displaying blackness, even the main menu screen is black and missing background
Scrolling in Ja2 1.13 Tactical map was always slightly broken to begin with, even with no wrappers.
When scrolling down you can see newly added bottom lines of map appear shifted slightly, they snap to right position when you stop scrolling - this is JA2 bug and not cnc-ddraw. I also remember similar scrolling glitches when using early wined3d around 2009. This is definitely Ja2 doing something stupid/wrong/non standard.
Windowed mode has misaligned mouse position readout in a weird way. Cursor moves fine and register clicks on buttons mouse is over (button clicked animation triggers), but the game doesnt recognize those buttons being clicked (action associated with buttons doesnt fire)?? No idea how this is even possible. Additionally in tactical mode you can only scroll down and right, and going down mouse often hits invisible barrier and cant reach bottom edge of the screen.
Tried both handlemouse=false and true
sadly as asciireign mentioned no log written
btw totally off topic: why is ddraw.ini rewritten every time I run the game? even when nothing changes it still rewrites.

I just tested it on 1.12 and everything seems to be working fine, can anyone of you confirm this?
Maybe it's just an issue with the custom version you're using. Where exactly do you have it from?

For instance the portraits of the characters are black but when they say something their mouth is visiable nad moving while talking.

I had this same issue with dxwrapper I don't remember how I fixed it.  It could be an issue with tripple buffering (three surfaces in a complex being flipped).  If that's the case it will be quite hard to fix it with the current cnc-ddraw architecture.

When scrolling left, right or down everything seems okay, when scrolling upward i get texture tearing

I had this issue also with other games.  This is happening because the source and destination blt rectangles are overlapping and the same surface is used for the source and destination and the surface is being copied from the top down.  There are two options to fix this:

Detect this case and copy the surface from the bottom up; or,
Copy the surface to temporary memory first and then back to the original surface.

BTW: I did a quick test and this game does not actually blt to and from the same surface, so this scrolling issue also likely happens because of tripple buffering.  With cnc-draw all surfaces in a complex are shared as a single surface.  This is likely leading to the issues you are seeing here.

Try using the v1.13 patch: http://ja2v113.pbworks.com/w/page/4218339/FrontPage

Yeah it could be difficult to get the game working with cnc-ddraw as @elishacloud said, cnc games don't flip and that's why cnc-ddraw doesn't support it. I also don't have any plans to change that. However it seems to be working fine for me, I didn't notice any issues (some flip games actually work perfectly due to a hack that was added long time ago...)

@elishacloud Nice, thanks! Going to try out the 1.13 patch soon, really wondering what they've changed that broke it :) It's also a bit strange that the game is open source but yet is still using the old directdraw code....
Does dxwrapper fully support the game? Maybe it's better if they use it instead. cnc-ddraw was never meant to be a universal solution that works as many games as possible :D

Does dxwrapper fully support the game?

Yes, this game is fully supported with dxwrapper, using the Dd7to9 option.

It's also a bit strange that the game is open source but yet is still using the old directdraw code....

"it just works" .. in WinXP :). There is another port fully rewritten for SDL2  https://github.com/ja2-stracciatella/ja2-stracciatella but nobody willing to do the grunt work of merging codebases/backporting

dxwrapper

Oh wow, better than newest wined3d, uses less CPU. I didnt notice any bugs (yet).

@elishacloud
Did you get it to working in windowed mode with integer scaling? I'd be interested in your config then,
as is said i'm currently running dgVodoo with integer scaler.
@FunkyFr3sh
The best way to aquire the current 1.13 version is this jenkins build repository.
Also in "the bears pit" discord there's a meeting point of most of the guys currently working on the 1.13 version.
Thanks for trying it out yourself. 👍

Did you get it to working in windowed mode with integer scaling? I'd be interested in your config then,
as is said i'm currently running dgVodoo with integer scaler.

This game uses the full resolution of the screen, at least it does for me.  However, you can enable window mode and integer scaling in dxwrapper with the following options:
Integer scaling:
DdrawIntegerScalingClamp   = 1
DdrawMaintainAspectRatio   = 1

Window mode:
EnableWindowMode           = 1

Here is a sample ini file of the settings:  dxwrapper.zip

Edit: dxwrapper also has trouble scrolling in windowed mode :=

For me when I set it to window mode it is still using the fullscreen because my screen resolution is 1080p and the game's resolution is 1080p.  In this mode I don't see any scrolling issues.  However, I have not focused much effort on window mode because I like playing games in fullscreen. ;-)
BTW: here is the latest build.  I have not released it yet, but it has some fixes in it:  dxwrapper.zip

Edit: dxwrapper also has trouble scrolling in windowed mode :=

For me when I set it to window mode it is still using the fullscreen.

I meant the JA2 windowed mode. I like how DdrawOverrideBitMode=16 in dxwrapper succeeds in fooling the game into starting in windowed mode at all. But it scales it into a fraction of (desktop resolution/game requested resolution) window size. FullScreen  = 1 reveals the mode selected is correct, it just rescales it for some reason.
DdrawIntegerScalingClamp   = 1
DdrawMaintainAspectRatio   = 1

those two dont seem to play nice with DdrawOverrideBitMode=16, setting them to 1 produces blank screen (but game works fine, you can blindly click and hear buttons being pressed)
anyway its nor here nor there, probably nobody sane uses native window mode anyway :)

Yeah, I still have a bunch of issues with games using native window mode.  I will probably get around to fixing them at some point.  However, at least the games work in fullscreen.
How do you enable window mode in JA2?

INI Editor.exe in ja2 directory, set 1000x700, windowed mode, click start, psychedelics ensue :)

INI Editor.exe in ja2 directory, set 1000x700, windowed mode, click start, psychedelics ensue :)

Thanks!  I just tested this and it is the same issue that happens on other games.  I have not had time to fully troubleshoot it yet.  I looked into it briefly in the past and had some issues figuring out the cause.  I recommend using fullscreen in the game and using the dxwrapper's windowed mode instead.  That seemed to work ok for me.

Did you get it to working in windowed mode with integer scaling? I'd be interested in your config then,
as is said i'm currently running dgVodoo with integer scaler.
@asciireign
You don't need to use integer scaler with dgvoodoo, if you want to have sharp, pixel perfect scaling from a smaller resolution to a larger one. For example, I've setup dgvoodoo to render JA2 1.13 in a borderless window and scale from 1080p to 4k with nearest neighbor sampling, instead of the default bilinear. If you have an AMD card, the DX11 version contains some texture glitches, but you can get past those either by setting the "FastVideoMemoryAccess" to true, using a newer dgvoodoo version that supports DX12, or by downloading DXVK dlls and dropping d3d11.dll & dxgi.dll into your JA2 folder. They work in windows 10 as well.

Apologies, if this is wildly offtopic from the issue at hand, but I thought I'd mention that when I came across this discussion.

Just did some changes recently and the game seems to be working fine now so I'm going to close this.
Latest build for testing:
cnc-ddraw.zip


Flashing text selection handle in the magnifier on Android

It's possible to see the text selection handle flashing in and out of the "loupe" magnifying glass on Android.  On native Android, the text selection handle is never visible in the loupe.
Steps to reproduce

Run an app with a TextField, such as the one given below, on an Android device.  Your version of Flutter must include the "loupe" feature, which is on beta and master but not stable as of this writing.
Select some text.
Start a drag gesture on one of the selection handles so that the loupe appears.
Drag slightly up and down, but not enough to change lines.

Expected: The selection handle remains invisible in the loupe.
Actual: The selection handle flashes in and out of visibility rapidly in the loupe.

Code
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  final TextEditingController controller = TextEditingController(
    text: 'asdf asfd asdf asdf asdf asdf\nasdf asdf asdf\nasdf asdf asdf sadf asdfasdfasdf asdf asdf asdfasdfa\nafds asdf asdf asdfasdf\nasdf sadff asdfasdf as df asdf asdf',
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            TextField(
              minLines: 4,
              maxLines: 4,
              controller: controller,
            ),
          ],
        ),
      ),
    );
  }
}

https://user-images.githubusercontent.com/389558/202047477-69739101-3524-4662-b6e7-7031ce5991d0.mp4

Reproducible using the code sample provided above.
https://user-images.githubusercontent.com/88313112/202149239-66692c45-b860-4afd-a80b-06a050807171.mp4

flutter doctor -v
[!] Flutter (Channel master, 3.6.0-3.0.pre.53, on macOS 13.0.1 22A400 darwin-arm64, locale en-GB)
    • Flutter version 3.6.0-3.0.pre.53 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 58728c6a92 (4 hours ago), 2022-11-16 00:50:28 -0500
    • Engine revision 21a572e4e4
    • Dart version 2.19.0 (build 2.19.0-404.0.dev)
    • DevTools version 2.19.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.52.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.0.1 22A400 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 3 categories.

Framework team can you make a decision about if the Loupe features should ship with this bug or if it needs to be fixed before stable or if this needs to be put behind a feature flag.

I say ship it :shipit: , because I never even noticed this glitch over the past few months of working with the loupe.
That said, if someone disagrees, I'm happy to try to jump on this and/or put it behind a feature flag :)

@justinmc sorry for the hassle but is it possible to fix this issue? Tested on my device and it occurs pretty often

I also think that the work made on textfield lately has been amazing and it would be sad if we still had some issues on core features.

@delfme Thank you for the encouragement!  I'm going to try to take a look at why this is happening and post back, maybe next week.
Though if anyone else wants to try fixing this, as long as I haven't assigned myself to this yet, feel free to go for it.

Thanks @justinmc ! ❤🚀
Unfortunately I dont know low level flutter and cannot help with this. But I’m making time to test things and report.

No worries, that's definitely appreciated too 👍

Ahh not good… I’ve tried taking a look at this and it may be going down to the engine. Perhaps some sort of race condition between BackdropFilter and some over widget (maybe overlay?) because it seems to happen intermittently. Flutter only redraws when it needs to - when you move the handle. And it seems roughly 50:50 on drawing the handle or not in the bdf.
I’ll try to get an MVP on the bug.
In the meantime, if this is jarring enough, it may be worth shipping loupe on android where it doesn’t ever show the handle? Should be trivial, that’s what we do on iOS anyway (and I presume why the bug doesn’t exist on iOS)

@antholeole thx for looking into this!
The problem I noticed when letting users beta test my app is that they notice platform fidelity issues. They instantly recognise that something is weird and tend to see the app as a cheap copy of what they are used to.  :) With Reactive Native wrapping native components, fidelity issues are even more evident to users because they don't face them elsewhere but on flutter apps.
This is to say that ofc a smart temporary workaround can be shipped but users reaction is a concern.

If fidelity on text editing is the main problem you’re welcome to just use the native inputs https://pub.dev/packages/flutter_native_text_inputOn Dec 22, 2022, at 10:27 AM, delfme @.***> wrote:
@antholeole thx for looking into this!
The problem I noticed when letting users beta test my app is that they notice platform fidelity issues. They instantly recognise that something is weird and tend to see the app as a cheap copy of what they are used to.  :) With Reactive Native wrapping native components, fidelity issues are even more evident to users because they don't face them elsewhere but on flutter apps.
This is to say that ofc a smart temporary workaround can be shipped but users reaction is a concern.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@antholeole thanks for suggesting. Unfortunately, it has plenty of bugs and was eventually dismissed

@antholeole Thanks for following up on this!
Hiding the handles on Android should be as easy as setting shouldDisplayHandlesInMagnifier to false, so that is a pretty solid workaround for the time being:
https://github.com/flutter/flutter/blob/abd5217f48fecd4246479955eb1af8d92ed08c47/packages/flutter/lib/src/material/magnifier.dart#L44

@danagbemava-nc is the repro you produced on a physical device or is it in a simulator? I'm having a hard time reproducing in the simulator. If you got the repro on the simulator then I maybe just haven't put enough elbow grease into it :) .
@justinmc I misspoke about the stopgap solution: the handles should be disabled in Android, and never show at all. so, shouldDisplayHandlesInMagnifier is already false, but they're showing up sometimes anyway. So changing that flag won't do anything :(

Hi @antholeole, I repro'd on my physical device, a Poco X3 NFC running android 12

Ah got it. Unfortunately I don’t have a physical android device so I’m unable to look at this :/.On Dec 29, 2022, at 1:07 AM, Daniel Agbemava @.***> wrote:
Hi @antholeole, I repro'd on my physical device, a Poco X3 NFC running android 12
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Just noticed an issue with the toolbar position. The bar should be rendered a bit far away from the textfield not to get in the middle (see pic below). With flutter textfield, it is currently displayed very close to the textfield and impair the experience (it sometime covers a portion of textfield itself).

Here is flashing on android, on my xiaomi it occurs continuosly execpt while moving from one letter to another.
https://user-images.githubusercontent.com/53510751/214066261-eb606e0a-b0e1-4944-949c-52d59e2c9edd.MOV

Also noticed that handle drops is cut by the keyboard. It should stay on top of it.

Possibly related issue:

#119121

In that one, the selection handle doesn't appear at all, but the caret/cursor flashes back and forth between two neighboring positions.

Just noticed an issue with the toolbar position. The bar should be rendered a bit far away from the textfield not to get in the middle

@delfme This unrelated issue would be good to report in a separate issue thread.

Also noticed that handle drops is cut by the keyboard. It should stay on top of it.

This one too, but it looks like you later did so: #120551.


You can create teams for a non-announced tournament

As mentioned in #97 , you can actually call the endpoints to create a team to a tournament that is not announced yet.
I also think it'd be wise to not accept the "validated" parameter as read & write.

Fixed with #97


BPMSPL-295 - Higher level of automation when importing custom workItemHandlers from a service repository

Note - DEPENDS ON DESIGNER PR
https://github.com/droolsjbpm/jbpm-designer/pull/377
(please have jenkins retest this pr once the depends one has been added)
Allow to install workitem information into the deployment descriptor. This is needed for the automatic installation of workitems into the DD for BPMSPL-295.

+1

updated commit message to use JBPM-5249 (as per @psiroky request on https://github.com/droolsjbpm/jbpm-designer/pull/377)

@csadilek https://github.com/droolsjbpm/jbpm-designer/pull/377 has been merged now. Could you please merge this one too now when you have a chance? Thanks!


[WIP]: add support to install kwok when running make cluster-sync

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #11128
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

@xpivarc or @jean-edouard  I am wondering if this is the right way to bring static manifests in kubevirt. I see that most of the manifests are generated by make manifest can you guide how to best organize static manifests?
Other things are WIP so I will clean it up before this is ready for review

/cc @dhiller @brianmcarey
Would you see this as KubevirtCI fit?

/cc @dhiller @brianmcarey Would you see this as KubevirtCI fit?

Yes this does look like it would fit better in kubevirtci. @alaypatel07 would you mind creating a PR over in kubevirtci for this?

@brianmcarey sig-scale needs to write an e2e test which needs setup of kwok. All the setup for e2e test like creating the cluster, setting up monitoring stack etc are done using make cluster-up; make cluster-sync. In order to follow the pattern, would it make sense to have - DEPLOY_KWOK=true make cluster-sync creat the required environment for e2e test?
Out of curiosity, why should this be in kubevirt CI?

@brianmcarey sig-scale needs to write an e2e test which needs setup of kwok. All the setup for e2e test like creating the cluster, setting up monitoring stack etc are done using make cluster-up; make cluster-sync. In order to follow the pattern, would it make sense to have - DEPLOY_KWOK=true make cluster-sync creat the required environment for e2e test?
Out of curiosity, why should this be in kubevirt CI?

make cluster-sync is generally used for deploying kubevirt onto the kubevirtci cluster.
I think it would be better to deploy kwok during make cluster-up like kubevirtci does for other supporting services like prometheus and grafana.

closing in favor of https://github.com/kubevirt/kubevirtci/pull/1178


Prometheus operator enhancements

What this PR does / why we need it:
This PR follows up on the discussion in https://github.com/helm/charts/pull/13064
This PR does two things

Allow values used for metric relabeling configurations to support template strings. This is useful so that consumers of the chart can pass template strings as values to do things such as only keep metrics for the current namespace as follows:

    kubelet:
      serviceMonitor:
        metricRelabelings:
        - sourceLabels:
          - namespace
          regex: '{{ .Release.Namespace }}'
          action: keep
        cAdvisorMetricRelabelings:
        - sourceLabels:
          - namespace
          regex: '{{ .Release.Namespace }}'
          action: keep

It also makes a minor change that disables the default AlertManager connection when .Values.alertmanager.enabled has been set to false

Special notes for your reviewer:
Our organization has only used the template string functionality for metric relabeling configurations on the kube-state-metrics and kubelet exporters, but I've provided the functionality for all exporters here for consistency. If you think that's not a good idea, please let me know. Similarly, let me know if this behavior should be extended to relabeling configurations as well. I'm more than happy to make either change
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @vsliouniaev
I've created a new PR with the features we've talked about. I don't believe there are any backward compatibility concerns as I don't think it's possible for existing metric relabeling configurations to contain templating syntax that would be adjusted by Helm. Technically if consumers have disabled AlertManager, this will now disable the connection from Prometheus, but I think that change is okay to make while only bumping the patch version

Also, what do you think about doing this for the AlertManager configuration as well? Our organization has a use case where we deploy a service alongside prometheus-operator and point to it via a webhook_config. Since the name of the service depends on the name of the Helm release, we'd like to be able to use {{ .Release.Name }} in the webhook_config. I'm not sure if it's possible to configure AlertManager in a way that would accidentally get picked up by Helm's templating engine. If so, I can make this opt-in via an additional value

Quick ping on this, @vsliouniaev

Any chance you could give this a quick lookover @vsliouniaev?

/ok-to-test
/lgtm
Could you please fix the conflicts here but after that it should be good to merge! Sorry for the wait.

Comments addressed @vsliouniaev

/lgtm


Deemphasize About in main nave #421

Fixed issue by moving About menu.

Looks good, FYI if you put 'Fixes # 421' (without the space - I added the space to not trigger from my comment) in either a comment in the pull request or in your commit message it will auto link to the issue and close it when the PR is accepted.  GitHub doesn't do that for the title of the PR oddly enough.

Thanks for info @tonysurma. I got it!

fixes #421


Is it possible with media3 to replace the MediaMetadataRetriever thumbnail extraction functionality?

My title basically explains what I need. I use MediaMetadataRetriever to get video thumbnails. Would it be possible to use all the new media3 stuff to recreate the same functionality?
Thanks.

Duplicate of https://github.com/google/ExoPlayer/issues/3609


Add ability for caller to replace verification function

The verification function is coded directly in rbpf.  Providing a way for the caller to override the default verifier with their own would provide a lot of flexibility and less need for others for fork and customize this repository for their own needs

@qmonnet
Have the following changes in mind and I would like to get your opinion on whether you think this is a good addition to this repository.
We are planning to write our own verification function and would like to be able to continue to pull from qmonnet/rbpf rather than fork our own copy and diverge.

Change the new() methods to take an optional verification function
Add a new api set_verifier() that allows caller to set a verification function

Hi jackmay! No problem whatsoever with adding the possibility to plug a new verification function. It would be nice to have the current one extended if you could, but I understand this may not be possible for your needs.
I'm not sure I understood what you propose, do you intend to change/add both new() and set_verifier()? If so, why is set_verifier() not enough? Do you have to set the function at the creation of the machine?

@qmonnet
Thanks for the quick turnaround!
The existing vm new() function takes a program and calls the built-in verifier on it right away.  The built-in verifier may be more strict than the users and panic during vm creation.

While we're at this, maybe the verifier should not panic, but instead return an error, so a user can actually handle invalid programs easily.

Yes, but if we allow custom verifiers and have a built-in one, I'd prefer to have them act the same.

We can hardly have a say in that. It will not work if we change it and people implement their own verifier which panics on errors ;). But I get the idea, if we are to allow custom verifiers it would be better to have something more robust as an example for others. Thanks for the notice. I may try to update that this weekend, unless someone else wishes to do it.

Of course, we can't pretend others to panic, but we can require verifiers to return a result, which immediately encourages extern code to use it to report errors ;)

This is great, that was the next thing on my list to address.  I've opened #30 to track.

Thinking about the custom verifier, just one idea: would that make sense to extend the existing verifier with whatever code you have and that could be generic, and that you could publish of course, and then plug into this verifier instead of completely replacing it? More or less what is done in the kernel for offloading programs, the drivers supporting that implement callbacks used by the verifier to perform additional checks for offload. Do you think that could be a solution for what you need? (Probably not, but I'm just wondering.)

Probably not.  We've compiled a BPF program that returns but the 'return' instruction is not literally the last instruction in the section.  There may be other examples of this where the user may want to do something outside the realms of a typical case or what Linux kernel may do.  My hope is that rbpf can become generic enough to support a wide range of BPF use cases.

(To be fair the verifier should not require the last instruction to be an exit, we can have other instructions after that if at the end they jump back to some other parts that has not been previously executed. Anyway...) Ok I understand.
No I did not suggest adding another new() method. What I proposed instead a couple of days ago was the following: doing something closer to what we have with register_helper().

First changing the current verifier (possibly adapt the exec functions) to accept empty programs, so we could create a new VM with e.g. let mut vm = rbpf::EbpfVmNoData::new(None).unwrap();.
Then modifying the VM to shape it as intended with set_verifier(), register_helper(), and of course set_prog().

let mut vm = rbpf::EbpfVmNoData::new(None).unwrap();
vm.set_verifier(custom_verifier_function);
vm.register_helper(27, a_helper_function);
// Trying to run or JIT-compile at this step returns some error or panic!(),
// we have not set any program yet.
vm.set_prog(&[
    0xb7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
]);
vm.prog_exec();

Looks good, I'll make those changes to my pr and submit for review
On Wed, Oct 10, 2018, 01:44 Quentin Monnet<EMAIL_ADDRESS>wrote:

(To be fair the verifier should not require the last instruction to be an
exit, we can have other instructions after that if at the end they jump
back to some other parts that has not been previously executed. Anyway...)
Ok I understand.
No I did not suggest adding another new() method. What I proposed instead
a couple of days ago was the following: doing something closer to what we
have with register_helper().

First changing the current verifier (possibly adapt the exec
functions) to accept empty programs, so we could create a new VM with e.g. let
mut vm = rbpf::EbpfVmNoData::new(None).unwrap();.
Then modifying the VM to shape it as intended with set_verifier(),
register_helper(), and of course set_prog().

let mut vm = rbpf::EbpfVmNoData::new(None).unwrap();
vm.set_verifier(custom_verifier_function);
vm.register_helper(27, a_helper_function);// Trying to run or JIT-compile at this step returns some error or panic!(),// we have not set any program yet.
vm.set_prog(&[
0xb7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
]);
vm.prog_exec();
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/qmonnet/rbpf/issues/29#issuecomment-428488996, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AmS8ekGU1am8pqv8nszLxzq0nLkczzQAks5ujbNSgaJpZM4W7CzN
.

Awesome, thank you!

https://github.com/qmonnet/rbpf/pull/34


use HTTPS for OSM gravatars

Looks like Gravatars for OpenStreetMap accounts elsewhere are using HTTP instead of HTTPS, resulting in a mixed content warning.
https://gratipay.com/nijel/

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/11044606-use-https-for-osm-gravatars?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

 And then repair the db?


Requesting more clarification on early terminations

Is the 12% early termination fee based on the original reservation amount or on the remaining balance?  It would also be helpful to see some example calculations for early termination. Thanks!

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

ID: 3f0af130-6b0a-0a7e-5fd9-e67810f66b45
Version Independent ID: 445b1c77-472a-e0f7-45fc-168f4a2454f3
Content: Self-service exchanges and refunds for Azure Reservations
Content Source: articles/billing/billing-azure-reservations-self-service-exchange-and-refund.md
Service: cost-management-billing
GitHub Login: @yashesvi
Microsoft Alias: banders

@chjone Thanks for the feedback! We are currently investigating and will update you shortly.

@yashesvi To share your insights on the query.
@bandersmsft To consider for doc-enhancement to include example calculation for early termination (if needed)

Its based on the remaining balance.
Disclaimer: We currently are waiving off early termination fee. But can start charging anytime.

Great, thank you for the clarification!

Typing with thumbs, please excuse brevity & typos.
Get Outlookhttps://aka.ms/qtex0l for iOS

From: Yashesvi Sharma<EMAIL_ADDRESS>Sent: Wednesday, December 11, 2019 5:55:25 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Chris Jones<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Requesting more clarification on early terminations (#44438)
Its based on the remaining balance.
Disclaimer: We currently are waiving off early termination fee. But can start charging anytime.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F44438%3Femail_source%3Dnotifications%26email_token%3DAKMZEWHFEZWUOYD434DFCBDQYGKY3A5CNFSM4JZGP6R2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGVGFEY%23issuecomment-564814483&data=02|01|chjone%40microsoft.com|3adb7863dcae4c94602d08d77ea65b8e|72f988bf86f141af91ab2d7cd011db47|1|0|637117125280717448&sdata=2%2FBs5j1c0AykEmmVJlpWUfGPjF0ghmjsTZbaKcVSL0U%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKMZEWB7IEEN3C3GCKGQK5DQYGKY3ANCNFSM4JZGP6RQ&data=02|01|chjone%40microsoft.com|3adb7863dcae4c94602d08d77ea65b8e|72f988bf86f141af91ab2d7cd011db47|1|0|637117125280717448&sdata=WzbpbCK96Ppfyzenl%2BhaeUY8mFeh%2Bs7ehuankSwmABg%3D&reserved=0.

Can you please confirm if when performing an exchange, whether the refund is classed as an early termination?

@chjone We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@liamgsmith Your question will be answered here.


Implement part of common reconstructor API

Move .read to Reconstructor
Introduce ReconstructionProperty enum
Let predict_telescope_table return a dict[Property, Table]
Unify cli arguments of ctapipe-process and ctapipe-apply-models to have --reconstructor for each Reconstructor subclass to apply.
Remove the hacky code from the sklearn reconstructor based classes that enabled loading themselves from pickle in __init__ in favor of using .read via Path traits.

@kosack @LukasNickel could you review? Would be great to have this to start the second part.

@kosack could you review here?

@kosack not sure about the :+1:  : do you want me to add the properties back? Or is it fine as it is?


Debugger unexpectedly steals focus from the debug console

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:
I'm using Python mostly but this seems consistent across languages

Set a breakpoint.
Start a debug session.
Hit the breakpoint.
Focus the debug console. Type some code...
Hit F10 or click the "Step Over" button (or any other step/continue button)
The focus is moved to the editor.

This is surprising and not ergonomic to me!

You can change this with the setting debug.focusEditorOnBreak


Excessive memory usage when printing multi-file Dataset

I have a dataset comprising 25 output files from the ROMS ocean model. They are netCDF files ("averages" files in ROMS jargon) containing a number of variables, but most of the storage is devoted to a few time-varying oceanographic variables, either 2D or 3D in space. I have post-processed the files by packing the oceanographic variables to int32 form using the netCDF add_offset and scale_factor attributes. Each file has 100 records in the unlimited dimension (ocean_time) so the complete dataset has 2500 records. The 25 files total 56.8 GiB so would expand to roughly 230 GiB in float64 form.
I open the 25 files with xarray.open_mfdataset, concatenating along the unlimited dimension. This takes a few seconds. I then print() the resulting xarray.Dataset. This takes a few seconds more. All good so far.
But when I vary the number of these files, n, that I include in my xarray.Dataset I get surprising and inconvenient results. All works as expected in reasonable time with n <= 8 and with n >= 19. But with 9 <= n <= 18, the interpreter that's processing the code (pythonw.exe via Ipython) consumes steadily more memory until the 12-14 GiB that's available on my machine is exhausted.
The attached script exposes the problem. In this case the file sequence consists of one file name repeated n times. The value of n currently hard-coded into the script is 10. With this value, the final statement in the script--printing the dataset--will exhaust the memory on my PC in about 10 seconds, if I fail to kill the process first.
I have put a copy of the ROMS output file here:
ftp://ftp.niwa.co.nz/incoming/hadfield/roms_avg_0001.nc
mgh_example_test_mfdataset.py.txt:
"""Explore a performance/memory bug relating to multi-file datasets
"""

import xarray as xr
import os

#%% Specify the list of files. Repeat the same file to get a mult-file dataset

root = os.path.join(
        'D:\\', 'Mirror', 'hpcf', 'working', 'hadfield',
        'work', 'cook', 'roms', 'sim34', 'run',
        'bran-2009-2012-wrfnz-1.20')
file = [os.path.join(root, 'roms_avg_0001.nc')]

file = file*10

print('Number of files:', len(file))

#%% Create a multi-file dataset with the open_mfdataset function.

ds = xr.open_mfdataset(file, concat_dim='ocean_time')

print('The dataset has been successfully opened')

#%% Print a summary

print(ds)

print('The dataset has been printed')

Hi @hadfieldnz -- I believe this issue could be related to #1396, which was fixed in dask/dask#2364.
Could you let us know what versions of xarray and dask you are using?
import xarray
import dask
print(xarray.__version__)
print(dask.__version__)

xarray 0.9.6
dask 0.14.3

0.14.3 pre-dates the fix https://github.com/dask/dask/pull/2364 mentioned above: can you try to update dask?

I ran "conda update dask", which upgraded me from 0.14.3 to 0.15.0.
Short report: No this has not eliminated the problem.
Long report: Today (Friday) I am on my home machine, which has only 6 GiB RAM. I confirmed earlier today with dask 0.14.3 that I can open and print the dataset with 25 files. And with 10 files IPython halts with a memory error reporting that 85% of the memory is being used. After the upgrade to 0.15.0, running the test script with 10 files, it exhausted all the RAM on my machine and locked it up within a few seconds. I will not be able to investigate this further until I get back on my work machine on Monday.

Can you try calling open_mfdataset with the decode_df=False option?

Our formatting logic pulls out the first few values of arrays to print them in the repr. It appears that this is failing spectacularly in this case, though I'm not sure why.
Can you share a quick preview of what a single one of your constituent netCDF files looks like?
More broadly: maybe we should disable automatically printing a preview of the contents of xarray.Dataset objects when they have lazily loaded data in the form of dask arrays. This is convenient for interactive use in many cases (when it can be done cheaply!) but fails in many edge cases.

@hadfieldnz - I think this was just fixed in #1532. Keep an eye out for the 0.10 release. Feel free to reopen if you feel there's more to do here.


View: Toggle Maximize Editor Group not working

Type: Bug

Open any file
press the shorcut ctrl+shift+!
nothing happen

On vscode with extension disable, it's working and when i enable back the extension, it's still working.
Here is the debug log :
2024-10-18 14:23:30.882 [info] [KeybindingService]: / Soft dispatching keyboard event
2024-10-18 14:23:30.882 [info] [KeybindingService]: \ Keyboard event cannot be dispatched
2024-10-18 14:23:30.882 [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
2024-10-18 14:23:30.882 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
2024-10-18 14:23:30.883 [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2024-10-18 14:23:31.017 [info] [KeybindingService]: / Soft dispatching keyboard event
2024-10-18 14:23:31.017 [info] [KeybindingService]: \ Keyboard event cannot be dispatched
2024-10-18 14:23:31.017 [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 16, key: Shift
2024-10-18 14:23:31.017 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 4 ('Shift')
2024-10-18 14:23:31.017 [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2024-10-18 14:23:31.241 [info] [KeybindingService]: / Soft dispatching keyboard event
2024-10-18 14:23:31.242 [info] [KeybindingService]: | Resolving ctrl+shift+[Slash]
2024-10-18 14:23:31.242 [info] [KeybindingService]: \ From 1 keybinding entries, no when clauses matched the context.
2024-10-18 14:23:31.242 [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,shift], code: Slash, keyCode: 223, key: §
2024-10-18 14:23:31.242 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: Slash, keyCode: 96 ('OEM_8')
2024-10-18 14:23:31.242 [info] [KeybindingService]: | Resolving ctrl+shift+[Slash]
2024-10-18 14:23:31.242 [info] [KeybindingService]: \ From 1 keybinding entries, no when clauses matched the context.
2024-10-18 14:23:31.714 [info] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.

Did you mean "it's not working" and "still not working?
Can you go to keyboard shortcuts and search for the keybinding that you expect - you can use record keys to just press the same keybinding:

Can you run Help: Start Extension Bisect to find out if a specific extension is causing this


Current version of Chocolately breaks cookbooks

Latest version (0.10.0) of Chocolately require checksums not be empty. This is a breaking change for our cookbooks as we are not currently using checksums.

Currently working on a work around to use empty checksums. Will need to work on a more secure solution afterwards.

@MarkGibbons can we close this issue or remove me as an assignee?

Removed you.

I can't reproduce this error any more.