Soundness bug / compiler crash: Match bindings should not be consumable unless the discriminee is ephemeral

So in another round of soundness holes, bindings in a match are regular, consumable, assignable variables.
This would be sound, but not very useful, if we had to consume before matching, but we (rightfully) allow matching on non-ephemerals.
Bonus: This code example makes ponyc segfault.
class B
class BadMatch
  let b: B iso = B
  fun make_alias(): this->B iso^ =>
    match b
    | let b': this->B iso =>
      consume b'
    end

actor Main
  new create(env: Env) =>
    let badMatch = BadMatch
    let b1 = badMatch.make_alias()
    let b2 = badMatch.make_alias()
    env.out.print((b1 is b2).string())

Expected behavior: b' should not be consumable or re-assignable, unless it matches on something which is ephemeral.
This code below is example desirable code, which relies on the ability to match without aliasing:
class UsesNoConsume[T]
  var value: (T | None) = None
  fun get(): this->T? =>
    match value
    | let none: None => error
    | let t: this->T => t
    end

But in any case, finally get to check all of these boxes:
[X] Your type system is unsound

[X] a proof of same is attached
[X] invoking this proof crashes the compiler

On second inspection, this is not enough; the variables included in the match must also not be consumable:
let x: A iso = A
match x with
| let x2: A iso => sendsomewhere(consume val x); x2.foo = bar
end

It seems overly restrictive to prevent any consuming of both x and x2 during the match block, because there are some examples of safe code that does that.
Wouldn't it be a better formulation of the restriction if the part of the compiler that does consume tracking simply treats x and x2 as having a common consume lifetime? That is, the compiler should know that a consume of x2 is effectively a consume of x, and vice versa.
That may or may not be a simple rule to implement in the ponyc compiler, but it seems like a better rule in the sense that in it allows a larger subset of safe programs while closing the safety hole you've highlighted.
It may or may not end up being simpler to use flow typing as we do in the Mare compiler, which would maintain x as the same variable throughout (thus naturally having the same consume lifetime) - just with different types in the different scopes where it is used.

That seems like it would work, although this area does get rather thorny when talking about more complicated expressions than a single variable (we'd likely have to invalidate quite a number of variables when any unique variables are invalidated). Noting that this only applies when the discriminee is not consumed already. If it is, then the match binding can be consumed as well.
Could you link some of the samples where the consumes you've mentioned are used?
For what it's worth, here's about the most extreme example I can think of for invalidation
let arr: Array[Array[A iso] iso] = ...
match arr(0)? with
| let arr1: Array[A iso] iso =>
   match arr1(0)? with
   | let a: A iso =>
       a.some_method(consume arr)
   end
end

Could you link some of the samples where the consumes you've mentioned are used?

I didn't necessarily have specific samples in mind - I was just speaking hypothetically about how to rethink the restriction to allow the most flexibility while still fixing the hole.
However, I think your example in the above comment demonstrates that my suggested approach wouldn't cover all cases - there is no local variable to tie the consume tracking to.
I think your suggested approach fails too though, since it only considers consumes and not field extraction (and similar)... even if you prevent consumes in the match body, nothing is stopping other kinds of ephemeral extraction. For example:
   match array(array.size() - 1)?
   | let a: A iso =>
     let a2: A iso = array.pop()?
     // a and a2 are now separate iso aliases to the same object; FAIL
   end

I think it's a really misleading "misfeature" of Pony matches that we use let for the type-matched binding, but allow examples like the one above where a non-ephemeral iso or trn can be "bound" to such a let.
That is, we wouldn't allow let a: A iso = arr(0)?, so why do we allow match arr1(0)? | let a: A iso => ...? I think the soundness bugs you've raised here were probably caused because we think of match as if it does a let binding (so the compiler code often treats it the same), but it's really not the same (as demonstrated with let a: A iso = arr(0)? being invalid).
This is only a problem because function returns are allowed to be non-ephemeral, which I originally thought was useless, but you've convinced me that there are cases where it can be valuable (basically, non-extracting getters that let you access nested features without downgrading the field to tag or box).
In Mare I'm probably going to move toward something along the lines of a A'iso'aliased = arr[0]!, where you can bind a local variable that has this "aliased" qualifier to mark it as non-ephemeral, allowing you to match on its type or do whatever else you need. Of course, the type inference system would usually do this for you and just let you say a = arr[0]!. Then you can use flow typing to have a scope where the type is refined as needed, for the case of distinguishing between A and B as in your example.
But I'm sort of at a loss for how to solve this in Pony, without larger changes to the language...

Yeah, I'm pretty convinced at this point that we won't be able to get around this until we stop treating a match clause as a new let binding...

I think your suggested approach fails too though, since it only considers consumes and not field extraction (and similar)... even if you prevent consumes in the match body, nothing is stopping other kinds of ephemeral extraction. For example:

Had you not posted the example, I'd have thought this was a minor issue, and that field writes are implied by consume here. But the example you posted is just a ref method. It can get arbitrarily worse of course, even if we don't use the result, since, so calling any ref method has to immediately invalidate all of these bindings, since it could for instance, take a variable, consume it to val, send it, and return nothing.
I think the only end state in which we could have let bindings like the suggested ends up with lifetime tracking (though it would best be set at certain large subsets that never need lifetime names; such that we don't violate Pony's ability to remain explicit).
I'm okay with matches being the only way to have such temporary bindings, but it could be quite a bit of effort to find an appropriate condition here that doesn't compromise usefulness.

But I was also surprised to see valid use cases for non-ephemeral return, so maybe that fits smile

This too. My first thought was that there was no way to do X because we can't do non-ephemeral match, but then I realized we could

While we're at it, a related issue that seems like it should be solved together or held until this one is solved:
iso match bindings can be invalidated by mutation in some case even if not visibly consumed, if the paths alias.

Here's an example of iso invalidation that Jason and I were talking about on the sync call:
class UsesNoConsume[T]
  var value: (T | None) = None
  fun ref get(): T? =>
    match value
    | let none: None => error
    | let t: T =>
      let t2 = value = None
      t2 // is a T iso
      t // is also a T iso
    end

In the sync call today, I said it's my position that we basically have two options here:

:one: "Reinvent" the iso and aliasing part of the type system so that we have a robust means of dealing with a "borrowed iso" that has a stable name (that is, a second name in addition to its true iso name).
:two: Make it so that the let binding of a match is always treated as a proper alias of the matched value. That is, if the matched value is a non-ephemeral iso, then the let binding must be a tag.

This limits the usefulness of match in some code, which could be mitigated by making as a first class AST concept (rather than it being sugar for match) and then we can leverage the fact that as does not assign a name to the value in flight, allowing it to still be a non-ephemeral iso.
That approach would require rewriting a lot of match-using code to use as instead, and some match-using code would become incompatible for use with iso (which for generic code may mean constraining the type parameter to #alias)

This is a bug. I talked with Sylvan in part because I was confused about why match let's weren't creating an alias and he agreed it was a bug. It might have been in there from early on, but Sylvan was very surprised by the bug. This was introduced at some point.
We discussed in sync and:
We need to fix this by having the let assignments correctly create an alias and then we can fix the usability issues about (T | None) that it might create.


[bug]  inherits font styles that it shouldn't

Describe the bug
<rh-tag> currently inherits the font weight, font family, and line height if it's in a heading or paragraph tag.
Which Component?
rh-tag
Steps to reproduce
View the deploy preview of the Color page (pr #1321).
Expected behaviour
These properties should be set in the element.
Screenshots

Element HTML
No response
Operating System (OS)
macOS
Browser
No response
More browser information
No response
Additional Info
No response

@marionnegp assigned myself to this I'll get a patch PR up for this asap.

Closed by  #1574


Render tabs as 4 spaces in diagnostics

Current dependencies on/for this PR:

main

PR #4132   👈

This comment was auto-generated by Graphite.


Monitoring contributor role as PIM

Is there an option to use Monitoring contributor role as PIM to grant only specific to LAW, DCR for specific users.

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

@prashanthmiryala
Duplicate of #109158
We are going to close this thread as duplicate of https://github.com/MicrosoftDocs/azure-docs/issues/109158


improve web test

closes #398

refactored into React code with mui components for styles

https://github.com/AcalaNetwork/chopsticks/assets/32790369/b8aafbb3-e4ac-4b7d-bb96-9db296565d07

I prefer not complicating this as its purpose is to make sure it runs in browsers and not demo things. I think we should have another repo doing more complex features

I prefer not complicating this as its purpose is to make sure it runs in browsers and not demo things. I think we should have another repo doing more complex features

Got it, but I think this is still a very simple test case, and if we mention it in other issues it looks better. and it's good to test it inside modern framework since ppl are unlikely to use vanilla JS when using it in browser

I don't want anyone to use this. This is only for testing

By it, I mean chopsticks-core

we do want to make this a demo. the demo should live with the same repo so that when we develop a new feature, we can dogfooding easily.


[TRI-1368] chore: Upgrade to Prisma 5.4.1

We're currently on prisma 4.16.0 and it would be great to upgrade to the newest Prisma 5.4.1 release.
To upgrade we'll need to upgrade the @trigger.dev/database package at <root>/packages/database as well as upgrade the version number in the Dockerfile here:
https://github.com/triggerdotdev/trigger.dev/blob/90f52de1478aee059d914ffdea95463d5732d999/docker/Dockerfile/#L35
Important
To properly test this change, you should make sure to run the webapp locally and ensure that you can define jobs and run them.
TRI-1368

We’re not assigning issues, we’ll accept the best PR for an issue (not necessarily the first PR either). Triaging assignments during hacktoberfest doesn’t scale.


Added requirements.lock for anchore-engine chart

This PR adds a requirements.lock file for the anchore-engine chart.

/ok-to-test

/assign

/lgtm


Upgrade Jetty and Jersey to latest versions (fixes #170)

This will affect a few downstream repos, see https://github.com/confluentinc/schema-registry/pull/1323 and https://github.com/confluentinc/ksql/pull/4508, which should all be merged together since the SR change doesn't have a way to migrate cleanly and the KSQL change is required since that build fails on deprecation warnings.

bump


change cell text - question

So i have a BOButtonTableViewCell with Turn Passcode On when the user first open settings.
When the user taps the button a lock view appears where he can enable a passcode for the app.
When the lockview is dismissed and the user has set his desired passcode i want the text of the button to change to Turn Passcode Off
is there any other way to achieve this besides keeping a reference of the cell and changing the title?
i mean just reloading a simple cell
thanks

I don't think Bohr provides with an efficient enough mechanism to do that at the moment, so keeping a reference to the cell (or binding that piece of state to its textLabel through ReactiveCocoa) is the way to go.

thats was my solution for this. thanks

I'm sorry for not providing a more extensive answer by the way. I've been particularly busy this week.

@DavdRoman It was a yes or no question and you answered just fine. I know everyone is super busy so no worries. :+1:
PS: in your next Swift version of this library you can gather up all 'missing' features like this and add it there. thanks again

Absolutely. I'll add it to #33 right away.

excellent. looking forward to the new version :+1:


Reduction server permission to us-docker.pkg.dev/vertex-ai-restricted/training/reductionserver:latest

I'm trying the Distributed Training with Reduction Server but when I'm trying to use the reduction server image us-docker.pkg.dev/vertex-ai-restricted/training/reductionserver:latest I get the error the SA doesn't have permission to access the image.
My SA has owner role. When i look the image up I get the same permission issue

Am I doing something wrong?

@almarengo: is this still an issue for you?

@gericdong yes, I still can’t find the image

@almarengo I will help you with that. Are you using a custom service account to pull images? According to the docs here https://cloud.google.com/vertex-ai/docs/general/custom-service-account#configure, you can't configure a custom service account to pull images from Artifact Registry. Vertex AI uses the default service account to pull images.
Can you please try using the the default service account and see if this is the case? Thanks.

Thanks @gericdong for your help. I’m using the default service account on the vertex ai instance that launches the training job. I’m not passing any custom SA when I run the job so I’m assuming it’s using the same SA to run the job…

@almarengo no problem. Would it be possible for you to provide me the code that you use to pull and use the image? I can try it myself to see if we can diagnose the issue.

Sure @gericdong I can share my code. It will have to be in a couple of weeks as I’m not around my workstation. I’m not sure it it makes any difference , but I can’t seem to be able to see the image in the GCP online repository (like I’m able to do with any other image from training to running model endpoints, etc..) I get the permission issue I posted above. Can you see the repo?

@almarengo yes I can see the repo. And I am not able to reproduce your issue in my environment. It'd help if you can share your code and procedure. Meanwhile, I will try setting up a different environment to see if I get the permission issue. Thanks.

Sure @gericdong, I’ll share the code as soon as possible. Still, I think the error has something to do with me not even being able to see the repo. The fact that the repo is in a ‘restricted’ folder makes me think I need some super-user access. I’ll get back to you asap. Thanks so much for your help!

Thanks @almarengo. We are also looking into it to see if there is a configuration issue with the repo.

@almarengo can you please provide your project ID and job ID if possible? Our product team is helping to look into the issue.

@gericdong I cannot find the job ID because the job does not start. I get this error right before the job is even launched
google.api_core.exceptions.FailedPrecondition: 400 Vertex AI Service Agent<EMAIL_ADDRESS>does not have permission to access Artifact Registry repository projects/vertex-ai-restricted/locations/us/repositories/training.

@almarengo thank you. We will be looking into it.

product team is currently working on this issue

@almarengo the team tried but unfortunately wasn't able to reproduce the issue. Not sure what we can do from here.

Closed due to inactivity.


Apple CarPlay support

Can we use apple CarPlay with this SDK?

Hi @kirtanbodawala
Sorry for the late reply on this issue. We are currently working on a solution to control the navigation view on CarPlay and Android Auto screens. We will keep this issue updated as the implementation progresses.


ENH: Solve non-square systems of nonlinear equations

Is your feature request related to a problem? Please describe.
In Matlab, fsolve  could handle a non-square system using Levenberg-Marquardt algorithm. However, it doesn't work when using SciPy.optimize.root or SciPy.optimize.fsolve.
Describe the solution you'd like.
I wish that SciPy.optimize.root could solve a non-square system when method='lm'. It is consistent with Matlab.
Describe alternatives you've considered.
No response
Additional context (e.g. screenshots, GIFs)
No response

The standing recommendation is to use least_squares:
https://github.com/scipy/scipy/issues/5249#issuecomment-170398352


Enable using did:webkey:gpg in didkit-wasm

With https://github.com/spruceid/ssi/pull/373 / https://github.com/spruceid/ssi/pull/390, the did-webkey crate must be required with a default feature disabled.

Closing in favor of #262 which can work with current ssi as well as https://github.com/spruceid/ssi/pull/390


Enable F29 testing

Dropping F27 as it is close to EOL and we don't expect another release
there.
Signed-off-by: Martin Bašti<EMAIL_ADDRESS>

I believe tests will pass now, once you rebase this on mater :)

un-WIP-ed

bump

No release notes needed, change in travis-ci


[apptools] Add tests to test build project with webapp path for apptools

Impacted tests(approved): new 5, update 0, delete 0
Unit test platform: [Android]
Unit test result summary: pass 5, fail 0, block 0
https://crosswalk-project.org/jira/browse/XWALK-4700

LGTM


Getting a format error, but only in Chrome.

I have a webapp that uses the Asciinema Player, and is working perfectly in FireFox and Safari, but not Chrome. It's the Uncaught: only asciicast v1 and v2 formats can be opened error at Line 1026 in asciinema.js.
It's the same app, loading the same cast. The only thing I can think of is that I'm creating the asciinema-player element programatically, as I need to set the speed, and setting it on the element after the element has loaded does not seem to work.
Ideally, there would be a writable speed property, but for now, does anyone have any ideas what would cause this error to be Chrome specific?

Having the same issue.  I'm using the example .cast file from the documentation.
<asciinema-player font-size="small" src="https://asciinema.org/a/28307.cast"></asciinema-player>

Maybe this is related to a Chrome update?

If you open Chrome console do you see any errors there? Maybe it's CORS problem, and Chrome becaome more strict recently?

any solution for this yet?


Running on Amazon p3 instances (V100 GPU)

Hi there,
Has anyone tried running neural-style in one of the Amazon's fancy p3 instances with Volta 100 GPUs? I usually run this on a p2 instance (K80 GPU) without issue, and I was expecting a significant speed performance improvement when going to the V100 card. However the results I am obtaining are far from this:
Time to process a 400x400 image on a p2 (K80) instance: 1m41s
Time to process a 400x400 image on a p3 (P100) instance: 9m25s
Something is going terribly wrong there. I'm running everything inside the nvidia/cuda:8.0-cudnn5-devel docker container. I'm aware CUDA 9 is recommended for Volta cards, but Torch seems to have build issues with such version.
Any thoughts on this would be appreciated.

Can you create larger images with the Volta 100 GPUs? I've also noticed that newer Cuda/Torch/cuDNN versions seem to have worse performance, so maybe something like that is messing with your results?
You could also running: export TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__" before running Torch7's ./install.sh, to improve performance as per this issue.


Removed abstractmultimap

Hi @ruslansennov, @paplorinc,@zsolt-donca,
this is an ongoing (currently dirty) draft of the bugfix of #1326. I created an early PR so that you can track the changes.
This is one of several PRs. The checklist is updated here.
Goal:
Remove all package-private super classes because method-references do not work for default implementations (JDK bug!).
What I did so far:

Added Multimaps helper class similar to the new Maps class.
Found another abstraction for a common Multimap Builder
Started to move methods from AbstractMultimap to Multimaps. The generics and method arguments change.
Changes LinkedHashMultimap to use Multimaps.

TODO:

Move the remaining methods from AbstractMultimap to Multimaps
Override missing methods and adjust return types in LinkedHashMap
Do the same for HashMultimap and TreeMultimap
Fix the problem with the emptyInstance() when an underlying Comparator is present and the generic type changes. This blows up the Multimap when the original comparator is used on a new type.
Delete AbstractMultimap

@danieldietrich, good job so far, now go get some sleep :p

zzZZzz

My approach looks too complicated/unintuitive to me.
Example:
@Override
public LinkedHashMultimap<K, V> put(K key, V value) {
    return Multimaps.put(this, delegate, emptyContainer, containerType, builder()::ofMap, key, value);
}

static <K, V, M extends Multimap<K, V>> M put(
        M multimap,
        Map<K, Traversable<V>> delegate,
        Traversable<V> emptyContainer,
        ContainerType containerType,
        OfMap<K, V, M> ofMap,
        K key,
        V value) {
    final Traversable<V> values = delegate.get(key).getOrElse(emptyContainer);
    final Traversable<V> newValues = containerType.add(values, value);
    return (newValues == values) ? multimap : ofMap.apply(delegate.put(key, newValues));
}

E.g. we create a new LinkedHashMultimap.Builder instance to get an instance of the OfMap function, which wraps a delegate. We need an instance to get the instances emptyContainer and containerType. As an alternative we could duplicate the ofMap method - one for the Builder, one for the Multimap implementation.
You see, this starts to get cumbersome. Putting a value into a Map should be simple. I have the wrong abstraction here.
I like @ruslansennov approach to have an AbstractMultimap (btw - same applies for AbstractMap which I already removed and pushed the new Maps helper). But I don't want to make our abstract base impls public. They are not intended to be part of the user API. They just help us internally to factor out duplicate code.
Maybe there is another way to circumvent the JDK bug by just overriding all methods of the package private base class and delegating to them. I will test it.

What if... we just duplicate code. It would simplify things.
@Override
public LinkedHashMultimap<K, V> takeUntil(Predicate<? super Tuple2<K, V>> predicate) {
    Objects.requireNonNull(predicate, "predicate is null");
    return takeWhile(predicate.negate());
}

We could also generate the files (all Multimaps and all Maps) by the code generator. Then we have the possibility to apply better optimizations and have fewer classes. On the other hand that would make it harder to get the hands on these classes for further changes.

This will still take some time. Maybe we should move this issue to the next (bugfix or minor) release in order to ship 2.0.4. In other words method references will not work for Maps/Multimaps. Workaround: use lambdas instead of method references. Good thing: It is a JDK bug, not a Javaslang bug, but should be fixed neartime.
I think we still have problems in TreeMap and/or TreeMultimap when the value type is changed by an operation (based on wrong Comparators). But I haven't investigated it yet.
Also operations of sorted collections that operate on multiple instances with different underlying Comparators make cause unexpected behavior. But this has to be checked and solved step-by-step. I'm alread on it by re-designing the RedBlackTree with some optimizations and preparation for the Navigable additions...
So much to do :) Known bugs are ok. The most important thing is to ship reliable, backward-compatible software.

We already removed AbstractMap. I wouldn't revert that change - but stop this change here.
I will move (the rest of) #1326 to 2.0.5 and go the generator-way.

I'm trying to follow the changes, but I'm not sure I understand one thing: can't we make the abstractions public instead?
If I'm mistaken correctly the problem is that the returned value is a package-private superclass.
But can't we extract a public interface for the private superclass and return the interface instead?
(also, why isn't multimap simply a Map<K, Seq<V>>>)

can't we make the abstractions public instead

No. They are only ballast and would pollute the user's view on the Javaslang API.

If I'm mistaken correctly the problem is that the returned value is a package-private superclass.

That's not the problem. The returned value is a generic M extends Multimap<K, V>. The M is public (e.g. LinkedHashMultimap).

But can't we extract a public interface for the private superclass and return the interface instead?

We have a public interface, it is Multimap<K, V>. But this would not solve the problem. It is a JDK bug finding the right method.

(also, why isn't multimap simply a Map<K, Seq>>)

Because Multimaps have methods that operate on V instead of Traversable<V>. (Seq<V> is not sufficient, we have also Set<V> and SortedSet<V>).

I like the idea of generated code. It solved the one and only problem that our AbstractMultimap also solves - factor out duplicate code into a single place.
But the generated code is better than the AbstractMultimap. We do not have the generic-hell, no type casts, fewer types within the class hierarchy, etc. There are many benefits.
There is only one drawback - the code generator is a little bit harder to write than non-generated code.

I like the idea of generated code.

Hmmm, wasn't that your counter-argument against collection specialization?
Or can we make the generator source a valid Java source? (i.e write once and forget that this is actually a base for other cases). Otherwise I think this would have a huge maintenance cost (non-standard way of programming, scaring many people away, providing more base for mistakes).

I like the idea of generated code.

Hmmm, wasn't that your counter-argument against collection specialization?

I did not mean in the very general but only considering our options:

Making the abstract super-classes public (- this is a NO-GO because it is not intended to be user API)
Staying with package-private abstract super classes and override all methods in implementing classes. These just delegate to the super-class (- this leads to maintenance hell)
Introducing package-private helper classes with static methods (- this leads to unreadable, blown-up API, see current PR)
generate the code (- we get rid of much technical boilerplate, like casts, unnecessary types and method calls, etc.)

Or can we make the generator source a valid Java source?

Interesting idea. I have already thought about self-expanding Java code. Xtend language does this with so-called Active Annotations. Scala has Macros. But these things actually hide things like the annotation of many (in)famous Java frameworks.
Btw - the AbstractQueue does not have this problem. The queues do not need to be generated.

As long as the source code is not Strings, I don't mind :)

As long as the source code is not Strings, I don't mind :)

I don't understand. We check-in the generated source. It is like hand-written code. Unit tests run against it. The unit tests will not be generated (from what I can see now), we use the existing Absrtact*MapTest classes.
Also our CI build automatically checks if a user accidentally overwrites generated code with manual changes. This breaks the build.
Generating the Maps and Multimaps should be safe regarding the Java compiler and manual user-changes!

Obsolete, will be closed. We (most probably) will go the generator way.

I don't understand.

I just meant that source code should be written in an IDE recognizable format.
In my opinion currently we have some source code in Strings that are a bit cumbersome to edit, i.e. no compiler or IDE help, only after regenerating everything can I tell if it's ok (like back in Borland C++ times).

I just meant that source code should be written in an IDE recognizable format.

The quality of our source code and user experience are very important / priority 1. Javaslang library developer experience is also important but priority 2.

The public API does not change, therefore user experience is not affected.
A switch to generating Maps and Multimaps will (drastically?) increase the quality of our source code.
Maintaining the generator templates is an additional effort, it affects the developer experience.

The right workflow will ease the pain of maintaining generator temples:

First directly edit/change the generated code. We will have full IDE support. Editing may involve the introduction of new types or the erasure of existing types. As always, write unit tests for the code. In this phase we do also refactoring until the code has a final state/seems perfect.
We use the IDE to test the changes. We have to take care not to run the generator (via maven build), it will overwrite our changes. It is recommended to create backups, e.g. in the form of local commits that will be squashed later.
If all works as expected, we adjust the generator templates in the way that they reflect the changes of the generated code we made in the first phase. We committed the direct changes of the generated code before. So we are able to verify if our generator adjustment is correct by looking at the git diff.

Phase 1. increases the developer experience during generator-driven development.  But we need to do it to increase the quality of our library.

Thanks for clarifying. I like the approach.
The alternative, of generating all cases from an annotated .java file would probably be more complex :)


0.1.0

0.1.0 to master.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@11275af). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #103   +/-   ##
=========================================
  Coverage          ?   41.84%
=========================================
  Files             ?       33
  Lines             ?     1410
  Branches          ?        0
=========================================
  Hits              ?      590
  Misses            ?      736
  Partials          ?       84

Continue to review full report at Codecov.

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@11275af). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #103   +/-   ##
=========================================
  Coverage          ?   41.84%
=========================================
  Files             ?       33
  Lines             ?     1410
  Branches          ?        0
=========================================
  Hits              ?      590
  Misses            ?      736
  Partials          ?       84

Continue to review full report at Codecov.

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


Added setStorageCookie

$localStorageProvider.setStorageCookie(365, "/");

@null-none Can you write some test cases? Thanks!


Fixed broken links.

Why are these changes needed?
Fixed some broken links on the AutoGenBench blogpost that resulted from a last-minute folder renaming.
Related issue number
Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (bcfd770) 32.48% compared to head (fc38be2) 32.26%.
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1408      +/-   ##
==========================================
- Coverage   32.48%   32.26%   -0.23%
==========================================
  Files          41       41
  Lines        4907     4907
  Branches     1120     1120
==========================================
- Hits         1594     1583      -11
- Misses       3187     3196       +9
- Partials      126      128       +2

Flag
Coverage Δ

unittests
32.26% <ø> (-0.19%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


v1.2.1

An integral-free way of calculating the Volterra weights. It's not necessarily more "performant" but it's more elegant and self-contained. At the moment is completely broken (can only reproduce the Trapezium rule) but should serve as a starting point

TODO:

Substitute all the machinery in vie.jl by a function update_weights!(ws, ts, k) to avoid repeating the same calculating
Investigate length(r) since the resulting interpolant can be of order 2k instead of k, which WILL lead to instabilities.

Codecov Report
Base: 72.72% // Head: 81.00% // Increases project coverage by +8.27% :tada:

Coverage data is based on head (cb674b4) compared to base (a6ca086).
Patch coverage: 90.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
+ Coverage   72.72%   81.00%   +8.27%
==========================================
  Files           7        7
  Lines         308      279      -29
==========================================
+ Hits          224      226       +2
+ Misses         84       53      -31

Impacted Files
Coverage Δ

src/utils.jl
93.75% <75.00%> (+14.58%)
:arrow_up:

src/vie.jl
91.66% <80.00%> (+2.19%)
:arrow_up:

src/gf.jl
43.63% <100.00%> (+1.96%)
:arrow_up:

src/kb.jl
92.95% <100.00%> (+1.17%)
:arrow_up:

src/langreth.jl
84.61% <100.00%> (ø)

src/vcabm.jl
97.56% <0.00%> (-0.15%)
:arrow_down:

... and 1 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Codecov Report
Base: 72.72% // Head: 86.05% // Increases project coverage by +13.32% :tada:

Coverage data is based on head (bfaa028) compared to base (a6ca086).
Patch coverage: 94.68% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##           master      #19       +/-   ##
===========================================
+ Coverage   72.72%   86.05%   +13.32%
===========================================
  Files           7        7
  Lines         308      337       +29
===========================================
+ Hits          224      290       +66
+ Misses         84       47       -37

Impacted Files
Coverage Δ

src/utils.jl
83.33% <70.58%> (+4.16%)
:arrow_up:

src/gf.jl
52.17% <100.00%> (+10.50%)
:arrow_up:

src/kb.jl
95.77% <100.00%> (+3.99%)
:arrow_up:

src/langreth.jl
84.61% <100.00%> (ø)

src/vcabm.jl
100.00% <100.00%> (+2.29%)
:arrow_up:

src/vie.jl
100.00% <100.00%> (+10.52%)
:arrow_up:

... and 1 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

I have added the new example. Ready for release from my side.


whitespace issues (see ticket)

@markjjackson https://fnv-picnic.netlify.com still has the issue of too much white space below the title. You may still be working on implementing HB improvements to other websites, but in that case, perhaps these cards should not be marked as complete / archived, because tracking progress of these improvements is often primarily necessary because specific client projects require this improvement. Or should we track these client-specific implementations on Trello?


Improve fake_v5_transaction_with_orchard_actions_has_inputs_and_outputs test

In https://github.com/ZcashFoundation/zebra/pull/2398 we extended the fake_v5_transaction_with_orchard_actions_has_inputs_and_outputs unit test for new consensus rules.
In this test we are calling insert_fake_orchard_shielded_data() multiple times which i think it can be avoided.
This is a very low priority clean up task.

In the worst case this is a minor performance issue inside a specific test. Not very important at the moment.

I accidentally addressed this by fixing something else. I'll open a PR soon.


usePartySocket/useYProvider should default to host: window.location.host

fixed in https://github.com/partykit/partykit/pull/739


Challenge says "keep trying", but code is correct

Challenge create-visual-balance-using-the-textalign-property has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.

Google

Google was founded by Larry Page and Sergey Brin while they were Ph.D. students at Stanford University.

      Larry Page
      Sergey Brin

Your code worked for me with a reload.

I could not reproduce.

Looks like these type of issues are being handled in #15024 and others, so consider closing.

Hi! Thanks for reporting and looking into this issue.
This was recently fixed in https://github.com/freeCodeCamp/freeCodeCamp/pull/15775, so I'm closing this as resolved.
Happy coding!


Show attached images inline

RainLoop version, browser, OS:
Rainloop version: Above <IP_ADDRESS>1
Browser: any as far as i can test
Expected behavior and actual behavior:
Show attached images inline
Steps to reproduce the problem:

I create a mail, and paste an image from clipboard
When i see the message in rainloop, the image shows
Then i forward the message (in can be to the same account)
This time rainloop does not show pasted images on messages (forwarded or replied).
We are using v1.11.3
I have tested the latest (v1.12.1) with the same result
I gave tested <IP_ADDRESS>1 and here it works fine

Thank you
Best Regards

No point on keeping this open since after 5 years, nobody looked at it


Improve speed of tesseract by optimising for intSimdMatrix case

The single largest consumer of time for tesseract is the MatrixDotVector routine. Lots of work has been done on this already, including optimised integer based versions with SIMD implementations.
The last stage of these implementations involve biasing, scaling and writing the results out to memory.
Traditionally that stage has always had to be done outside of the SIMD. By tweaking the calculation slightly (so as to give the same results), we can push that calculation into the SIMD section. The downside to doing that is that we buffer overrun the biases and scales as we read them and we buffer overrun the outputs as we write them.
It turns out that the storage for the biases is already rounded, so the buffer overrun there is no problem. By adjusting the storage for the scales and the outputs, we can similarly ensure that the buffer overruns there are no problem either.
This results in a noticeable speedup. Running tesseract on 8087_054.3G.tif, runtime drops from 2.681s (real), 8.582 (user) to 2.582 (real), 8.174 (user) for identical results (times from an x86 box).

I don't believe the test failures are my fault. Looks like a CMake issue?

The cmake version which is used for CI is too old. @egorpugin, do you have a suggestion how to fix that?

Timings on my Raspberry pi. OLD: 23.445(real) 48.279(user) -> NEW: 23.016(real) 46.990(user)
If we could work in floats rather than doubles, then more could be done within the SIMD on NEON.

New version, with your suggestions applied, and rebased on master. Apologies for the delay!

@stweil: could it be merged now or do you require more changes?

could it be merged now or do you require more changes?

It's like to run some more tests before merging.

"make check" fails for me both on master and on my branch, so I can't check this properly. BUT... I've fixed the test code where it was calling Init() to pass in the scales vector too, so hopefully it'll work for you now.

I now tested with test/testing/8087_054.3G.tif, too, and get about 2 % faster processing:
user	0m11.008s (old)
user	0m10.810s (new)

The unittest now compiles, but fails when running intsimmatrixtest:
$ ./intsimdmatrix_test
Running main() from ../../../../unittest/../googletest/googletest/src/gtest_main.cc
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from IntSimdMatrixTest
[ RUN      ] IntSimdMatrixTest.C
../../../../unittest/intsimdmatrix_test.cc:89: Failure
Expected equality of these values:
  total
    Which is: -53.751.912
  -423243.392011
    Which is: -423.243,41
[  FAILED  ] IntSimdMatrixTest.C (473 ms)
[ RUN      ] IntSimdMatrixTest.SSE
../../../../unittest/intsimdmatrix_test.cc:89: Failure
Expected equality of these values:
  total
    Which is: -53.751.912
  -423243.392011
    Which is: -423.243,41
[  FAILED  ] IntSimdMatrixTest.SSE (437 ms)
[ RUN      ] IntSimdMatrixTest.AVX2
double free or corruption (out)

"make check" fails for me both on master

It requires tessdata, tessdata_best and tessdata_fast on the same level as tesseract. In addition several font files must be available:
$ ls -l test/testing/*ttf
lrwxrwxrwx 1 stweil stweil    52 Jul  6 07:52 test/testing/ae_Arab.ttf -> /usr/share/fonts/truetype/fonts-arabeyes/ae_Arab.ttf
lrwxrwxrwx 1 stweil stweil    61 Jul  6 07:48 test/testing/Arial_Bold_Italic.ttf -> /usr/share/fonts/truetype/msttcorefonts/Arial_Bold_Italic.ttf
lrwxrwxrwx 1 stweil stweil    58 Jul  6 07:48 test/testing/DejaVuSans-ExtraLight.ttf -> /usr/share/fonts/truetype/dejavu/DejaVuSans-ExtraLight.ttf
-rw-r--r-- 1 stweil stweil 81484 Sep  9  2009 test/testing/Lohit-Hindi.ttf
lrwxrwxrwx 1 stweil stweil    59 Jul  6 07:49 test/testing/Times_New_Roman.ttf -> /usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf
lrwxrwxrwx 1 stweil stweil    51 Jul  6 07:52 test/testing/UnBatang.ttf -> /usr/share/fonts/truetype/unfonts-core/UnBatang.ttf
lrwxrwxrwx 1 stweil stweil    51 Jul  6 07:49 test/testing/Verdana.ttf -> /usr/share/fonts/truetype/msttcorefonts/Verdana.ttf

Make check doesn't even get to that stage for me. Compilation dies with:
In file included from apiexample_test.cc:32:0:
include_gunit.h:17:10: fatal error: fileio.h: No such file or directory
#include "fileio.h"   // for tesseract::File
^~~~~~~~~~
compilation terminated.
Nonetheless, I've had another go at fixing intsimdmatrix_text.cpp. I had forgotten to scale the scales :)

Compilation dies.

Did you run make training first? That is another requirement for make check.

With "make training" done first, it gets further, but then bitches about:
mkdir -p ../test/testing
ln -s /home/robin/sauce/ghostpdl/tesseract/test/testing/phototest.tif ../test/testing/phototest.tif
ln: failed to create symbolic link '../test/testing/phototest.tif': File exists
Makefile:2737: recipe for target '/home/robin/sauce/ghostpdl/tesseract/test/testing/phototest.tif' failed
make[2]: *** [/home/robin/sauce/ghostpdl/tesseract/test/testing/phototest.tif] Error 1

With "make training" done first, it gets further, but then bitches ...

Do you have the test/ directory with the test submodule? If not, run git submodule update --init test.

Yeah, I have that submodule (and all the rest, I believe!)

Apologies for the problems I'm having getting "make check" to work Stefan. I hope that the current branch should work OK for you though.

@robinwatts @stweil, what is status of this PR?

I believe it's good to go. I just can't actually run "make check" to know that it passes. I've fixed the commit since Stefan last tried it and found that it failed.

make check fails for intsimdmatrix_test with this PR (it works without it). Output (is quite long) from intsimdmatrix_test starts with :
Running main() from ../../../unittest/../googletest/googletest/src/gtest_main.cc
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from IntSimdMatrixTest
[ RUN      ] IntSimdMatrixTest.C
../../../unittest/intsimdmatrix_test.cc:84: Failure
Expected equality of these values:
  base_result[i]
    Which is: -343.81131
  test_result[i]
    Which is: -2.7071757
i=0
../../../unittest/intsimdmatrix_test.cc:84: Failure
Expected equality of these values:
  base_result[i]
    Which is: -2,619.0117
  test_result[i]
    Which is: -20.622139
i=0
../../../unittest/intsimdmatrix_test.cc:84: Failure

Unit tests run as :
git clone https://github.com/tesseract-ocr/tesseract.git
cd tesseract
git submodule update --init
git fetch origin pull/2994/head:pr2994
git checkout pr2994
./autogen.sh
mkdir -p bin/unittest && cd bin/unittest
../../configure --disable-shared 'CXXFLAGS=-g -O2 -Wall -Wextra -Wpedantic -fsanitize=address,undefined -fstack-protector-strong -ftrapv'
make training && make check

First off, thanks for your continued patience.
By following zdenop's script given above I can build and run the tesseract unittests. Or at least I can get further. With a checkout of master, I get 19 failures. With my changes brought up to date with master, and fixed, the intsimdmatrix unit test passes, but the same 19 other tests still fail. I think that's the best I can hope for.
The CI builds here also appear to be failing, but for nothing (that I can see) due to me.

@egorpugin : CI build fails because of sw on Ubuntu and Mac

I'll reopen to check builds.

@robinwatts : CI is fixed. Some test will fails because of missing external data. IMO It will be enough if you fix intsimdmatrix_test.

IMO It will be enough if you fix intsimdmatrix_test.

It's fixed. intsimdmatrix_test works fine. All it needs is a review. :)

thanks:
./imagedata_test
Running main() from ../../../unittest/../googletest/googletest/src/gtest_main.cc
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from ImagedataTest
[ RUN      ] ImagedataTest.CachesProperly
Loaded 2/12 lines (1-2) of document ./tmp/documentdata0.lstmf
Loaded 2/12 lines (3-4) of document ./tmp/documentdata0.lstmf
Loaded 2/12 lines (9-10) of document ./tmp/documentdata0.lstmf
Loaded 2/12 lines (5-6) of document ./tmp/documentdata0.lstmf
Loaded 2/12 lines (7-8) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (12-12) of document ./tmp/documentdata0.lstmf
Loaded 2/12 lines (11-12) of document ./tmp/documentdata0.lstmf
Loaded 2/12 lines (10-11) of document ./tmp/documentdata0.lstmf
Loaded 4/12 lines (1-4) of document ./tmp/documentdata0.lstmf
Loaded 4/12 lines (9-12) of document ./tmp/documentdata0.lstmf
Loaded 4/12 lines (5-8) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (12-12) of document ./tmp/documentdata0.lstmf
Loaded 2/12 lines (11-12) of document ./tmp/documentdata0.lstmf
Loaded 3/12 lines (10-12) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (1-1) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (2-2) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (3-3) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (4-4) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (9-9) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (5-5) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (6-6) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (7-7) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (8-8) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (12-12) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (11-11) of document ./tmp/documentdata0.lstmf
Loaded 1/12 lines (10-10) of document ./tmp/documentdata0.lstmf
Loaded 12/12 lines (1-12) of document ./tmp/documentdata0.lstmf
[ERROR] Allowance = 2000000[ERROR] Allowance = 4000000[ERROR] Allowance = 1000000[ERROR] Allowance = 100000000[       OK ] ImagedataTest.CachesProperly (1,228 ms)
[ RUN      ] ImagedataTest.CachesMultiDocs
Loaded 3/6 lines (1-3) of document ./tmp/documentdata0.lstmf
Loaded 3/5 lines (1-3) of document ./tmp/documentdata1.lstmf
Loaded 3/7 lines (1-3) of document ./tmp/documentdata2.lstmf
Loaded 6/6 lines (1-6) of document ./tmp/documentdata0.lstmf
Loaded 5/5 lines (1-5) of document ./tmp/documentdata1.lstmf
Unloaded document ./tmp/documentdata0.lstmf, saving 6291456 memory
Loaded 2/5 lines (4-5) of document ./tmp/documentdata1.lstmf
Loaded 3/6 lines (4-6) of document ./tmp/documentdata0.lstmf
Loaded 7/7 lines (1-7) of document ./tmp/documentdata2.lstmf
Loaded 3/7 lines (4-6) of document ./tmp/documentdata2.lstmf
Unloaded document ./tmp/documentdata1.lstmf, saving 5242880 memory
Loaded 3/5 lines (1-3) of document ./tmp/documentdata1.lstmf
Loaded 6/6 lines (1-6) of document ./tmp/documentdata0.lstmf
Loaded 3/6 lines (1-3) of document ./tmp/documentdata0.lstmf
Unloaded document ./tmp/documentdata2.lstmf, saving 7340032 memory
Loaded 1/7 lines (7-7) of document ./tmp/documentdata2.lstmf
Loaded 5/5 lines (1-5) of document ./tmp/documentdata1.lstmf
Loaded 3/7 lines (1-3) of document ./tmp/documentdata2.lstmf
[INFO]  Page 0[INFO]  Page 1[INFO]  Page 2[INFO]  Page 3[INFO]  Page 4[INFO]  Page 5[INFO]  Page 6[INFO]  Page 7[INFO]  Page 8[INFO]  Page 9[INFO]  Page 10[INFO]  Page 11[INFO]  Page 12[INFO]  Page 13[INFO]  Page 14[INFO]  Page 15[INFO]  Page 16[INFO]  Page 17[INFO]  Page 18[INFO]  Page 19[INFO]  Page 20[INFO]  Page 21[       OK ] ImagedataTest.CachesMultiDocs (1,077 ms)
[----------] 2 tests from ImagedataTest (2,306 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (2,307 ms total)
[  PASSED  ] 2 tests.

Thanks!

Thank for this improvement, but why did you recommitted all these individual patches that duplicates some of the latest commits instead of doing a merge on your side? IMO, this is very ugly and confusing.

Thank for this improvement, but why did you recommitted all these individual patches that duplicates some of the latest commits instead of doing a merge on your side? IMO, this is very ugly and confusing.

The simple answer is that I didn't knowingly do this. I can only blame finger trouble while rebasing. Sorry.
If a project maintainer wants to rewrite history by force pushing, I won't be offended.

The simple answer is that I didn't knowingly do this

I understand and forgive :-)

@amitdo, @zdenop, should I do a forced push to rewrite the history?
Do we have some more performance data which compares old and new code? I don't see improved speed on Intel Core i5. @robinwatts, did you only test with Raspberry Pi?

I tested on both pi and an i7.
From above: "Running tesseract on 8087_054.3G.tif, runtime drops from 2.681s (real), 8.582 (user) to 2.582 (real), 8.174 (user) for identical results (times from an x86 box)."
That x86 box was an Intel Core i7 5930K.

This PR was already merged, so force pushing to the PR's branch will do nothing I believe.
Force pushing to master is not a good idea.

This PR was already merged, so force pushing to the PR's branch will do nothing I believe.
Force pushing to master is not a good idea.

Testing on one image is not a good speed test IMO, due to the data loading overhead.
You can use this command:
tesseract listoffiles out --oem 1
listoffiles:
path/to/file
path/to/file
path/to/file
path/to/file
path/to/file
path/to/file
path/to/file
path/to/file
path/to/file
path/to/file

For speed testing purpose, you can insert just one filename multiple times.

A test on 329 images with ocrd-tesserocr-recognize which only does text recognition on already detected lines (no overhead for task switches, model loading, layout recognition) shows an improvement of about 2.4 % (total time reduced from 21:28 to 20:58). The test was run on Intel Core i5.


Python mode doesn't work

Running 1.1.0. Python mode won't autoload for .py files, and I don't have it on ctrl-. either; it seems it's not loading. I don't know how to get debugging output to figure out why (I vaguely remember there's a way to get a javascript console, but can't find anything about how; maybe that would be a good thing to put in the dev section of the manual?).

@lalomartins did you try pressing ctrl-. and activating python mode manually?

I said so right on the original issue — the option doesn't show up in ctrl-. at all.

Does it appear in Tools:Zpm:Installed Packages?

Weird, that gives me an empty buffer.
On that topic, I have two python scripts in this one project, one is a simple test I just wrote, and the other is a real (python3) script. The former loads just fine (without python mode of course), the latter also gives me an empty buffer.

That's really strange. I'd try reinstalling Zed
On Mon, May 25, 2015 at 12:50 PM, Lalo Martins<EMAIL_ADDRESS>wrote:

Weird, that gives me an empty buffer.
On that topic, I have two python scripts in this one project, one is a
simple test I just wrote, and the other is a real (python3) script. The
former loads just fine (without python mode of course), the latter also
gives me an empty buffer.
—
Reply to this email directly or view it on GitHub
https://github.com/zedapp/zed/issues/522#issuecomment-105204733.

I just did that 3×, that's why I was taking so long to answer here :smile_cat:

Also (just) tried nuking my configuration, no change either

That's really strange, I'm using Python mode and Zed 1.1.0 and it work flawlessly.

Any idea how to get debugging output?

Maybe I have a really ancient nw or ace and the makefile failed to update them… I'll try a full git clean and build again

Nope, that also changed nothing. WTH…


Fixed: Home page banner links (#379)

Corrected the links of home page banners
Related Issues

Closes #379
Short Description and Why It's Useful

After the updated links of Home page banners, user will land on proper pages, instead getting redirect to 404.
Screenshots of Visual Changes before/after (If There Are Any)

IMPORTANT NOTICE - Remember to update CHANGELOG.md with description of your change
Contribution and Currently Important Rules Acceptance

[ ] I read and followed contribution rules

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Aishwary Shrivastava seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@iamaishwary please update changelog


Improve error handling in interpreter

Currently the interpreter only throws some basic error messages with almost no context..
Would be pretty nice if  it could show where the error occured

Maybe use this format:
print(f" {lineNumber:>5} | {codeSnippet}")

this will result in something like this:
   126 | 1 = 4;

I'll stop working on this python interpreter, since the bytecode one works better


One label for each dataset

Feature Proposal
I have 4 different datasets with different electrical quantities, energy, power, voltage and current.
These are presented in a real-time bar graph fed by data from the electrical meter.
Since the quantities are different I need each dataset to be scaled by its own.
So far, so good but of course I want each bar to have the appropriate label underneath.
How can I accomplish that?
See https://jsfiddle.net/peak_/t9wz8foe/ for a simplified working example.
Possible Implementation
No response

You need to add null values to your datasets so they get to the right column, for any further questions please head over to Stack overflow as described in the issue chooser:

Support, Help, and Advice
Need help or support? Head to https://stackoverflow.com/questions/tagged/chart.js

Many thanks for that advice. Now I have accomplished what I want. However, it should be easier than having to fill in nulls.
Full working example:
jsfiddle

Thanks kurkle, that was a nicer solution than inserting nulls.
jsFiddle


FULL Backups

works with copy only and not full backups, need to check the backup folders for the most recent backups before starting the restore

we need to work out in advance which folder contains the most recent .bak file. This will either be FULL or COPY_ONLY. Cannot determine if the backup is FULL or COPY until we have the backup file.


Setting up launch config for CMS (WebServer) delivered JS

This is not really a issue in the sense of a bugreport (maybe missing docs only). Anyway, I am struggling with the use case where a js file is delivered from within a complex server setup and I cannot figure out how to setup the launch configurition. Here's the case:

The JS file to debug is at \dist\themes\myproject\concat\production.js within VSCode project
The html URL in the browser is http://localhost:40081/blueprint/servlet/page/mycustomer-de/service/myproject
The above JS file is included with this within this html (The production.js is registered within the CMS so the file path is different from above, anyway the script below is what the browser "sees" actually in the html markup):

<script type="text/javascript" src="/blueprint/servlet/resources/themes/myproject/concat/production.js"></script>

Now what should I enter as my webRoot in my launch.json below so that I could set breakpoints in the production.js within VSCode?
{
  "name": "Launch localhost",
  "type": "firefox",
  "request": "launch",
  "url": "http://localhost:40081/blueprint/servlet/page/mycustomer-de/service/myproject",
  "webRoot": "${workspaceRoot}"
}

To me it looks like in this use case it's not feasable to debug with VSCode (correct me if I am wrong).

Well, the webRoot should point to the directory that corresponds to the url, so I think it should be ${workspaceRoot}/dist/themes/myproject/. Also, if I understand this correctly, myproject is a directory, not a file, in this case the url needs to end in a trailing /:
{
  "name": "Launch localhost",
  "type": "firefox",
  "request": "launch",
  "url": "http://localhost:40081/blueprint/servlet/page/mycustomer-de/service/myproject/",
  "webRoot": "${workspaceRoot}/dist/themes/myproject/"
}

Thanks for the reply. I couldn't get it working, anyway, it's not my project setup which is setup wierd in the first place.


Switch to big endian?

@ArtiomTr you pushed https://github.com/grandinetech/rust-kzg/commit/3d0b8499f74b1ad83a99c88fb770afb210aee09e#diff-0d5371bff0db1d54cd1fda4827c9bab8b1dd4ba41ca77699c0d47a9420b280f3R62 where you have changed little-endian encoding to big-endian encoding, which broke a bunch of assumptions in our downstream project.
There was no PR and no explanation given, why would you possibly do that all of a sudden?

I suspect it is related to https://github.com/ethereum/c-kzg-4844/pull/305 and discussions linked from there? If so please create PR and include proper description next time to avoid such surprises.

Hello, yeah, we try to follow c-kzg-4844 implementation. I agree, there should be a better way to document changes - perhaps, having a CHANGELOG.md, or documenting changes in GitHub releases (we should discuss this with @sauliusgrigaitis).
Regarding encoding migration - what issues this caused in your project? Is it caused by from_bytes/to_bytes functions? Maybe they should have more descriptive names, like in rust std - from_be_bytes/from_le_bytes

Even proper commit message would be helpful in understanding the changes.
It is caused by from_bytes and to_bytes implementations indeed. We have assumption of the data layout in a few places in our codebase, so after upgrade we started to hit "Invalid scalar" right away. For now I copy-pasted little-endian implementations of those methods into our codebase and we'll try to switch to big-endian before hitting mainnet.
In case it wasn't obvious, we're not implementing Ethereum, just sharing some of the cryptography primitives.


Updated docs to point to rust-build 1.55.0 for TCP and UDP bind fixes

This fixes https://github.com/esp-rs/rust/issues/81

@D1plo1d Thank you for the contribution.
New installer and installation instructions are now located in project https://github.com/esp-rs/rust-build
We should update this project.


docs: fix upgrade_432.rst

Description

remove incorrect "Project Files". See https://github.com/codeigniter4/appstarter/commit/2f3d1531b449337217524e47baa7d680003829ea

Cloning a repository is time consuming, so I used the previous release repository. However, I seem to have forgotten to update master.
Checklist:

[x] Securely signed commits
[] Component(s) with PHPDoc blocks, only if necessary or adds value
[] Unit testing, with >80% coverage
[x] User guide updated
[] Conforms to style guide

Thank you @kenjis


Can Glorytun implement a full mesh overlay

Sorry if this has been asked before.
But looking in the wiki etc I didn't see anything alluding to it.
Thanks

Hi,
No, It is only there to secure your connectivity and only one client can connect to one server.
But having a fullmesh setup is not very hard, just spawn many glorytun :)

Thanks for the claification


Create environment with pre-existing .venv

Refs: #21827

[x] windows @joyceerhl
[x] linux @aeschli
[ ] macOS @hbons

Complexity: 3
Create Issue

Requirements

Install latest pre-release of the python extension
Have a workspace folder with a python file and a virtual environment named .venv

Verification
Use-Existing

Open the python file, ensure that the selected python is the one from pre-existing .venv.
Run Python: Create environment command from command palette
You show see two options after selecting venv. Re-Create and Use Existing.
Select Use existing
You should see a notification saying the python in .venv was selected.

Re-create

Open the python file, ensure that the selected python is the one from pre-existing .venv.
Run Python: Create environment command from command palette
You show see two options after selecting venv. Re-Create and Use Existing.
Select Re-create
Continue following the Quicks prompts
Should delete and create an environment with the same name (.venv)

You should be able to see that the environment was deleted in the logs.

I can verifiy both flows work. I used python3 -m venv .venv to create the environment in side the python-test folder.


Remove extensions from imports/exports

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
I'm using Visual Studio & Resharper, and some imports/exports weren't recognized.
Changing them to not include .ts extension fixes this.

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Other information:

Hey @mterwoord, thanks for this, let me check and merge it.


[Crunchyroll] Some videos (only seen on One Piece so far) are not downloading correctly.

I'm not sure if this is an issue that can be fixed in youtube-dl or if its just an error on crunchyroll's side. Quite a few of One Piece episodes starting at 607 will download the flv stream instead of the mp4 file that is normally downloaded. I noticed this while watching the show through mpv that It wasn't able to fill the cache and then tried to download the episode with youtube-dl. I saw that the extension was flv instead of mp4 and that it started downloading very slow and only got up to a little over 1MiB/s, normally it caps out my connection. I tried a lot of random episodes after that one and it seems to be random on the episodes that work right or not. I didn't check any episodes before it since all the ones that I have watched this way worked.
So not sure if this is limited to One Piece or it is possibly happening on other shows.
Here is a gist with verbose and dump-pages. Hopefully something useful is in it.
https://gist.github.com/almostalive/184b571350a0a197667c
@dstftw since it will most likely be you that looks at this, this is happening on a US connection not sure if it affects other regions.
and a random episode link that has the same problem http://www.crunchyroll.com/one-piece/episode-703-a-rocky-road-law-and-corazons-journey-of-life-681809

the http links for this video saved in a different hosting(v17.ak.crunchyroll.com)
like this: http://v17.ak.crunchyroll.com/ve1916845/video.mp4?gda=1454590413_1dca253534cd26f45a431b46db1683ff
and this: http://v17.ak.crunchyroll.com/ve1471915/video.mp4?gda=1454590072_a26b6908df8fa5bb6bf5668d939c80f6

Interesting, Thanks for that info. So I'm guessing this could be fixed on youtube-dl's side. All the affected videos look to be using edgefcs.net so a workaround like in commit: a01da8bbf83dfd4f87e3fdd105b9f7c850e76cad could work. Sadly my lack of knowledge of python and how ytdl works, I wasn't able to get anything to work.

I don't see any problem here. rtmp from edgefcs downloads and plays fine. fplive trick was a necessity to workaround rtmp streams that rtmpdump is unable to cope with. Moreover I'm not aware of such workaround for edgefcs.

I decided to go ahead and download the rest of the episodes instead of trying to watch them streaming through mpv and dealing with it not being able to cache the bad flv files correctly. Went with the mp4 files first to get them done quickly. This is the command I used:
youtube-dl http://www.crunchyroll.com/one-piece -f mp4 --playlist-start=815 --write-sub --sub-lang 'enUS' --embed-subs --merge-output-format 'mp4' --download-archive onepiece.txt -i
This is starting at episode 607. YTDL give us a total number of: [crunchyroll:playlist] playlist One Piece: Collected 939 video ids (downloading 125 of them)
Since I no longer have a Premium account I can't download the current newest video, so lets make this 124. 64* out of 124 downloaded the mp4 format from v.lvlt.crcdn.net server just fine. Leaving 60 videos that I've got to download very slowly in flv format from edgefcs.net server. It just seems strange that these 60 episodes are using a different server than the rest and are scattered throughout. But they do download and play just fine so I guess I won't push the issue anymore. Thanks for looking into it though.

Episode 723 ( http://www.crunchyroll.com/one-piece/episode-723-a-collision-of-haki-luffy-vs-doflamingo-681849 ) downloads both the video and subtitle files just fine but ffmpeg errrors out on trying to merge them. Ran the command that ytdl gives ffmpeg by it self and it just Segmentation fault out. But that is more likely an issue for ffmpeg. I just thought it was weird and worth mentioning. All the other files merged correctly execpt of course the flv files since they can't.


Problem with Hot Reloading

Hi,
Hot reloading isn't always reloading the changes I make to my code, but it only seems to go wrong when I'm nesting routes.
My routing:
<Route component={Layout}>
        <Route path='/' component={AccessWrapper}>
            <Route path='/login' component={Login} />
        </Route>
    </Route>

When I navigate to / and change something it reloads fine.
When I nagivate to /login and change the exact same thing I just changed it doesn't reload anymore, none of the changes make the page reload when I'm on the /login page.
Could you tell me what I'm doing wrong?

Strange. I wasn't able to reproduce this. I started with a default new React project, and changed the route config to this:
export default <Route component={ Layout }>
    <Route path='/'>
        <Route path='/counter' components={{ body: Counter }} />
    </Route>
    <Route path='/fetchdata' components={{ body: FetchData }} />
</Route>;

Then I went to the /counter page, and edited the source (Counter.tsx). HMR worked correctly and the change showed up.
If you have repro steps and reason to believe the problem is with some of the code in this repo (JavaScriptServices), please let us know! Until then I'll close this as it's not something I can repro and it doesn't sound like the issue would be here. Hope that's OK!


delete property of Map, Set... on ES3 target

At work we have an embedded old IE8 engine that Works with ES3, and we have made an implementation of the ES6 Map and Set. Those clases have a delete method, which name is the same as the delete keyword.
So the following typescript:
var a = new Map<string, string>();
a.set("a", "a");
a.delete("a");

produces somethind like:
var a = new Map();
a.set("a", "a");
a.delete("a");

But the old IE8 engine throws an error because of the delete keyword. Could ES3 target of TypeScript generate an string accessor for cases like this?
a["delete"]("a");

Of course, the same casi would occur with "new" etc.
Thanks!!

It is not only 'delete' , other keywords have this problem in IE8.
For instance try: a.new() vs. a'new'.

This problem is also present on Android (2.3) for what it's worth it ;)

Just added a note to the pull request worth repeating here...
"Actually, after discussing further this is a little more involved, due to the fact that ES3 has reserved words that are not reserved words in ES5 and later. Thus, a declaration such as "var abstract = 42;" should fail to emit in ES3, but is valid in ES5+. Will think further on this.."

Does it look like this will be fixed within TS 2.0?

Its milestone is set for TypeScript 2.1, so no.

PRs are welcomed.

I think you can close this issue, regarding Adds ES5 to ES3 transformer for reserved words PR.


succ_le_succ theorem description incorrect

In the Advanced Multiplication World, Level 4/10, the description of the succ_le_succ theorem is described as
(x y : ℕ) (hx : MyNat.succ x ≤ MyNat.succ y) : x ≤ y
succ_le_succ x y is a proof that if succ x ≤ succ y then x ≤ y.
However, when applying the theorem, it instead mimics the rule found at (https://lovettsoftware.com/NaturalNumbers/InequalityWorld/Level8.lean.html):
For all naturals a and b, if a ≤ b, then succ a ≤ succ b.
In short, when applying it to
succ 0 ≤ succ a_1
I get
succ (succ 0) ≤ succ (succ a_1)
instead of
0 ≤ a_1
I do not know which is the intended solution but at least I am confused from reading the help.

You are right that the analogue theorem in Lean Core is called Nat.le_of_succ_le_succ, so it would be better if the NNG renamed this lemma (which you proved in Level Inequality 9) from succ_le_succ to le_of_succ_le_succ to match the actual name in Lean!
If you want to make a PR, please do! Otherwise I'll just leave this open until I do the next cleanup round.


Angular 5 meteor not running

Hi, I'm new to the meteor. I was searching for angular 5 with meteor I found this repo, I tried to clone the repo as mentioned in the quick start as
$ git clone https://github.com/Urigo/angular-meteor-base myApp
$ cd myApp
$ meteor npm install
But the first time I got heap full error and the second time when I ran npm start app started but when I access it in the browser but the page is not loading at all. I tried the examples/meterocli/bare same issue and is there any correct tutorial how to run angular 5 with the meteor. One more thing I'm not able to find the Mongo DB URL in repo may I know where it will be.
Or is it better to go with angular5 and meteor as separate service??
Please help thanks in advance.

With the previous issue #1909 a working demo is provided based on Angular Meteor bare MeteorCLI example.
The warning messages about missing declaration files can be ignored.

Closed due to inactivity.


docs: unhide Peripheral::steal method

@homunkulus r+

:pushpin: Commit 86d4449 has been approved by japaric

:hourglass: Testing commit 86d4449beb170fdd00012692b3ba3b07ebd5897c with merge b9ac0afb240123653c1aa3c7c9c8e22e04463422...

:pushpin: Commit 385e0cd has been approved by japaric

@homunkulus r+

:hourglass: Testing commit 385e0cda4893abce71a42633b953b7bee42b5947 with merge 74cb12e105346d11d57ef653669748d28d96c05e...

:broken_heart: Test failed - status-travis

:sunny: Test successful - status-travis
Approved by: japaric
Pushing 74cb12e105346d11d57ef653669748d28d96c05e to master...


Pre-training on ImageNet

Hey, I attempted to pre-train the SqueezeDet model on ImageNet, freeze the first conv layer and then train on KITTI but the performance was significantly poorer than that stated in the paper. For ImageNet, I trained for ~50 epochs and the validation accuracy reached ~40% and subsequently trained on KITTI for 100k iterations. At its highest, the KITTI mAP was approximately 60%. I'm just curious as to the conditions you used for pre-training. Thanks!

The SqueezeNet pretrained model is provided in this repository and the SqueezeNet repository. But if for some reason you need to pretrain it on ImageNet classification from scratch, make sure that the model reached the classification accuracy described the SqueezeNet paper, then finetune it for object detection.

Ok, thank you for the reply!

@BichenWuUCB Where can I find the pre-trained squeezeNet model? In the repository you indicate here, it is in .caffemodel format, you give the .pkl format in the code, is it the same?


Update PowerShellGet module in PowerShellLab

It looks like the PowerShellGet module in the PowerShellLab VMs needs to be updated. Without the newer versions I think some PowerShell commands will fail.

DOM1 at least might need to have TLS configured
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

DOM1 at least might need to have TLS configured
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Thanks for this, I had issues today trying to install the MSonline module as part of the ADFS training lab. Enabling TLS1.2 on my 2016 server solved the problem

I found the registry settings that I think I can make during setup that should take care of this.

All configurations will have registry settings to configure this TLS setting in v4.10.0


Ltm.profiles

Fixes #349, #341
This update introduces profile submodule to LTM, allowing to create LTM classes.
Problem: SDK did not have the APIs to create LTM profiles, this change has addressed that
Analysis: Introduced new profile.py sub-module which incorporated majority of LTM profiles.
CAVEAT: Ramcache, and wa-cache profiles have placeholder classes and are not implemented due to some issues I was having with matching tmsh syntax to REST. This needs further investigation with Product Development
Tests:
Unit Tests
Flake8
Functional Tests

@zancas
Please review as this update will overwrite your profile.py, which has been merged yesterday. Like i mentioned in the closed ticket my work has been again duplicated

@zancas There is a problem in your change, You have removed
''''
self._meta_data['allowed_lazy_attributes']
''''
Which breaks this badly. Entire list self._meta_data['allowed_lazy_attributes'] has been removed only containing Client_Ssls entry. Please fix

Also as far as I can see each organizing collection contains the allowed_lazy_attributes list.

@zancas
I have looked at your new testing for client SSL, and reworked your coding, it should be backwards compatible with what you did and at the same time not break the convention we are using in the SDK. Your old solution was deviating from it and that would cause unnecessary problems. Also your usage of 'key', 'cert' the way you had is depricated, and utilizing 'certKeyChain' array is preffered, which is what the below addresses too. I cannot seem to run your test for client_ssl so can you please verify the below locally, and if all OK i will push this to my fork and we can start merging:

class Client_Ssl(Resource):
    def __init__(self, client_ssls):
        super(Client_Ssl, self).__init__(client_ssls)
        self._meta_data['required_json_kind'] =\
            'tm:ltm:profile:client-ssl:client-sslstate'

    def create(self, **kwargs):
        """Allows creation of SSL profile with just key/cert names
        otherwise it will just require 'name' kwarg to be provided
        """
        if 'certname' and 'keyname' in kwargs:
            kwargs['name'] = kwargs['certname'][:-4]
            kwargs['certKeyChain'] =\
                [{'cert': kwargs['certname'], 'key': kwargs['keyname']}]

        self._create(**kwargs)
        return self

This addresses #49

My mistake i rewored the code, forgot about the kwargs removal :)
        if 'certname' and 'keyname' in kwargs:
            certname = kwargs.pop('certname')
            keyname = kwargs.pop('keyname')
            kwargs['name'] = certname[:-4]
            kwargs['certKeyChain'] =\
                [{'cert': certname, 'key': keyname}]

'allowed_lazy_attributes' is a different variable than 'attribute_registry' it would be a nice enhancement to make those two names more distinct.

allowed_lazy_attributes is a part of organizing collections in the code, and I have checked my coding and you have removed:
self._meta_data['allowed_lazy_attributes']
from profiles class, which disabled my profile classes :)

Oops..
you're right I'll add that back.

closing this PR changes will be pushed via rebased branch


Additional Canonization tests for objects

PR for issue #298
Add canonization subtests for:

[x] TestObject_InList
[x]  TestObject_ContainsValue

Coverage: 95.129%. Remained the same when pulling 6251675dbd59a23b09ff731ae3e53ecdaa11fdb4 on Darrellbor:298-canonization_test_for_objects into 79ad562e6ea5c7d34a4e1748bed7e93cb3b388b1 on gavv:master.

@gavv completed and ready for review

Thanks


Cannot use variable name in @filter.

Suppose I have a variable called sname = "ab12". If I do
using Tidier
@chain df @filter(colX = "ab12")

things work as expected.
However, if I do:
using Tidier
@chain df @filter(colX = sname)

I get the following error. I understand that it is looking for a column called sname. Is there a way to specify the value for filter stored in a variable name?
Thank you.
 Use `show(err)` to see complete types.

Interpolation enables you to access variables outside the scope of the macro.
Interpolation is achieved with !!
Try the following code with the added !!
using Tidier
sname = "ab12"
@chain df @filter(colX = !!sname)

Quick separate clarification I'll add in addition to the above answer. The purpose of @filter() is to subset rows. So in general, you would use == instead of = inside of @filter().
M

Please feel to reply with whether this answered your question, or provide a minimal reproducible example of you can. Thanks for using the package!

I'm going to close this issue. If you still have questions, please feel free to reply and we can re-open.


fix: Removed npm module root folder location param.

It can be resolved without client code intervention, it works better when bootstrap is installed as a library for an app.
Another pr for better custom app integration
To be merged after 1.1.1 release

are you sure that no one using bootstrap as a library would want to use a custom path?

The only reason I can think:
A dev using bootstrap as a lib and wants to customize anything on the config or presets folder (that cannot be done via custom presets). If the dev does that, it would need to copy and paste both folders in a different location.
Should we keep dev provided root folder? If a dev needs to do something like that, it might be better to do a feature request to improve bootstrap customization. I am pretty sure I am the only one using bootstrap as lib in my network tools.


Javascript library CDN without a protocol does not work when composite files is enabled

With;

DNN 7.4.2
Host Settings | CDN Settings | Use javascript libraries CDN? = TRUE
Host Settings | Client Resource Management | Enable Composite Files = TRUE
A Javascript library (i.e. jQuery) CDN URL without a protocol (i.e. http/https)

Instead of the JS library being loaded from the CDN a virtually empty composite file is produced (example attached).
Including the protocol in a custom CDN for the JS library is a simple workaround for this issue.
I believe it's correct that CDN URL should not need to include a protocol, if missing it should inherit from the current page request.
I have 2 live DNN 7.4.2 installs (upgraded many times) and 1 clean(ish) dev DNN 7.4.2 install, all of which exhibit the same behaviour.
Regards,
Rhys
38dd4a269cef21535d1dce60fb203090.29.js.txt

This old issue https://dnntracker.atlassian.net/browse/DNN-3299 (closed - cannot reproduce) is the same thing, or very similar, for slightly earlier versions.

Is this still a valid issue?

I wanted to update the CDNs due to the recent jQuery library updates - is it even implemented into PersonaBar yet? Couldn't find anything related to CDNs in the UI and had to change it in the DB @HostSettings

I believe you are correct, the host settings for CDN aren't exposed.  The CDN settings for a JS library (which would only take effect after setting that host setting) can be adjusted by editing that library in the Extensions page of the Persona Bar.


HADOOP-16341. ShutDownHookManager: Regressed performance on Hook remo…

…vals after HADOOP-15679

let's see what Yetus says; tentative approval from me

@t3rmin4t0r can you submit a new PR against trunk so that Yetus will review it. Then we can backport.


opts are not used

Would like to specify that e.g. the file should be overwritten

fixed in 0.1.0


document how to access CRs from helm or ansible based operators in go

Feature Request
Is your feature request related to a problem? Please describe.
When running an operator that happens to be implemented in Ansible or Helm, I may want to interact with that operator's CRs from go code. For example, I might write an admission webhook in Go for an ansible-based operator. It's not clear how I should access the CRs since there are no Go types defined.
Describe the solution you'd like
Documentation that explains a recommended approach.

/lifecycle frozen

Ansible operator's have reached Level V capabilities, they can perform the same actions as a Go operator does. Whereas, in Helm this feature is being solved using Hybrid Operators. It is unsure if the community would still want to perform this action.
Additionally, creating a Go type from existing CRs in a cluster, is a topic by itself which needs more work to be done. The best place to have it would probably be in controller-tools, rather than in Operator SDK. Closing this issue for now, please feel free to re-open if there are any questions.


Cannot read property 'deferredObservers' of undefined

Description:
Error is thrown in a pretty strange case that is shown in a fiddle, when assigning second observer.
Versions affected:
at least 0.9.0-build-117 and upper
Platforms affected:
Chrome 57.0.2987.133
Reproduction:
https://jsfiddle.net/h0vzjpeb/4/
Code:
var RactiveCustom = Ractive.extend({
    oninit: function() {
        this.observe('*', function() {
            this.set('foo', 'Here');
        }, {defer: true});

        this.observe('*', function() {}, {defer: true});
    },
});

var ractive = new RactiveCustom({
  	el: '#output',
  	template: "foo_expr: {{ foo_expr }}, foo: {{ foo }}",
  	data: {foo: ''},
  	computed: {
    	'foo_expr': '${foo}'
 	}
});

This is a case of init happening outside of a normal runloop, which observers expect to be in place when they're firing. It should no longer error on edge, but there might be some cause to use a setTimeout for deferred observers that fire outside of a runloop. Let me know if something further needs to be done.
Thanks for the report!


fix(content-menu): better css management on search inputs for sm devices

Provide a better css managment for small devices on search inputs

Looks pretty good, the only thing that looks a tad bit off is the search icon, on a small screen, before it's clicked, seems to be a bit outside the box boundaries on Firefox.

Nice! :+1:


Content update

Hi,
I followed this guide with open LCS project and found some differences:

User interaction chart - was not able to find it anywhere
The User load section shows all the system users - do you mean all D365 users or such users as Batch service user, Retail server user, etc.?
SQL now tool - does not exist, I see 'Live View' and 'Queries' tabs instead
Looks like 'Environment' tab on 'Environment diagnostics' has been replaced with Health metrics
System diagnostic - is it called 'Full system diagnostics' now or ?
Would be good to have updated pictures

Question:
Picture shows that Monitoring is smth within 60 seconds, why 'total number of deadlocks in a five-minute period' is related to Monitoring and not to diagnostics then?

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

ID: c73b0eff-ab53-afb9-b3e2-40f94cb71a3e
Version Independent ID: 069fa33b-6a69-2d29-908d-fca5ca0dc516
Content: Monitoring and diagnostics tools in Lifecycle Services (LCS) - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/lifecycle-services/monitoring-diagnostics.md
Service: dynamics-ax-platform
GitHub Login: @manalidongre
Microsoft Alias: manado

Thanks for the feedback. I've asked the author to review your questions and comments. We'll work to enhance this topic and provide the information that you're looking for in a future update.