Consider adding a screencast for the README

A GIF of how to set up a new project and how to compile and deploy documentation could help people understand the workflow

Done


revert #5848

reverting https://github.com/apache/incubator-superset/pull/5848 as it causes view results feature on historic queries broken.

Are you sure you want to revert, or should we push forward? Did any following PRs assumed a rendering state?

Codecov Report

Merging #6436 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #6436   +/-   ##
=======================================
  Coverage   73.37%   73.37%
=======================================
  Files          67       67
  Lines        9587     9587
=======================================
  Hits         7034     7034
  Misses       2553     2553

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 5ca8c0b...1df7d0f. Read the comment docs.

@mistercrunch @youngyjd
I found view results didn't work in Superset Master branch. Looking at
https://github.com/apache/incubator-superset/blob/e469086d613e7f4294b45761373e5f868805738b/superset/assets/src/SqlLab/components/ResultSet.jsx#L166
it seems ResultSet didn't handle query rendering state. not sure this is the root problem.

@mistercrunch The PR to push forward: https://github.com/apache/incubator-superset/pull/6478

@graceguo-supercat @mistercrunch Commit message updated. @graceguo-supercat is a really good code reviewer. 👍

I'll let @graceguo-supercat chime in since I think she has more background on this.


Tests shouldn't be included in code coverage stats

@Maan2003 pointed out that it seemd CodeCov is including our tests in the coverage reports. But tests shouldn't require coverage.

https://github.com/taiki-e/cargo-llvm-cov/issues/123 recommended looking at https://github.com/adobe/xmp-toolkit-rs/pull/66

Thanks @garyray-k. That approach is basically to put all the tests into specific files. That would work, but would take a pretty big refactor and would make the developer experience a little worse because you'd need to have more files open at a given time ...

Exactly my understanding as well. I thought it might be too big a refactor for the code style already present.
The initial thread also mentioned using the #[no_coverage] attribute but this has not been stabilized.
What is fedimint's thoughts on using non-stabilized rust features?

@justinmoon @garyray-k is cargo-llvm-cov used because of a specific reason?
Maybe considering another tool such as cargo-tarpaulin as it's possible to use something as #[cfg(not(tarpaulin))] would help ?
It's available as a nix package so I guess it would be somewhat straightforward to use, and adding #[cfg(not(tarpaulin))] a find/replace would do the job 😀

llvm-cov is actually harder to integrated with nix (crane) than tarpaulin, but I was told it gives more precise stats (lines), IIRC.

https://github.com/rusqlite/rusqlite/issues/1195 I think this considered to weigh the pros and cons of using llvm-con and
tarpaulin


Allow for Ephemeral Events

In axon, events are always stored in Event Store and persisted for forever.
It would be useful to have an annotation (something like @TempEvent) that is put only on classes.
Only EventHandlers can receive this event (aggregate/saga do not receive as those events will be deleted in the near future and so cannot be used in CQRS/ES to re-build state of aggregate/saga).
Events with the annotation:

would be persisted in event store and distributed to event handlers
deleted from event store after the specified time specified in data of annotation

A microservices that restarts may receive again those events if those were not deleted already in event store.
Of course it could be possible to manually put a condition on timestamp of event in handlers and skip the event if older than X time.
The main benefits of this approach is to have events propagated like ordinary events but would be deleted later and forgotten completely from the event store -> gain in space and faster replay as those events will be deleted and not replayed.

I think that this might add accidental complexity to many of the projects, I also think there are better approaches to manage the performance rather than just deleting events. It kinda breaks purpose of axon and it's event sourcing route.

It might add complexity but depends on what.
At runtime (boot time), the class that handles registration of event handler methods can check that the event with @TempEvent is not within a @Aggregate (and entity etc) or @Saga class, simply throws an exception to cancel boot.
What are your different approaches ?
Not sure it breaks purpose of Axon, it is after all only a new type of events that are handled a bit differently by the EventStore and the route logic.
The benefit of this kind of short lived event is that it is still routed by Axon instead of using a custom Kafka/Akka/RabbitMq solution (which brings other issues like setting up server, replicas, localisation, more config, etc).
No need to have different use of annotation/classes/etc to be able to receive events from other bus than Axon.

Problem with that for me is that i cannot really find any use case of such feature, we could discuss it further if you could give me some hint on how would you use such.
You mention the performance gains so i'm guessing this feature would be non-trivial one as it's main purpose is to optimize performance so i'm assuming that you have alot of those kind of events.
Well it might not necessary break axon purpose but it does break the EventStore / Event sourcing as thoose concepts are driving the core concepts of the axon framework.
It looks like it brings the complexity by having additional type of event which life cycle is somewhat quantum state (it might be there but who knows), everyone that would jump into axon, without knowing what those events are and what are the use cases could get confused, also following that the developers would need to know how to use those events.
To summarize, without any real world use case presented that might be solved using your approach, i'm not sure that axon would consider such.
(But that's just me :), i might not see what you do)

Use cases are many.
These are still events, just "short lived", axon can at runtime check if registered event listener are not using those short lived events in wrong part of code (aggregate/saga/etc).
With this feature you do not need to have your own Kafka/Akka/RabbitMq/etc which brings many other issues to take care of.
Ping @smcvb

We have been having discussion on stuff like this, as it becomes more common place to have events as pure notifications of things happening in the system, which aren't your day-to-day domain event.
Thus, they are not required to drive business logic latter on, just as a trigger for certain actions or logging statement.
Whether this will be an annotation as an interesting concept, as my personal angle on this was a little different. Regardless, the exact implementation is not important just yet.
I'll ensure we'll investigate the idea further, @Blackdread, within the AxonIQ team.
Thus thanks for filing the issue. I can assure you that anybody tracking this issue will be kept up to date.
Feel free to further discuss the sense or non-sense of the issue and potentially ways to tackle it (maybe even with a PR to support the approach).

Just to clarify my criticism,
There are few things that @Blackdread say which strike me

deleted already in event store

forgotten completely from the event store

The EventStore and EventSourcing main concept is that the events shall be persisted forever. They are truth of everything, therefore it breaks the use case of those components.
However, as @Blackdread mentions, we would not need to implement the Kafka or any other MQTT capable components to manage these kind of events. This makes me thinking that the main reason here is to make axon all-in-one framework that would be capable of handling separate type of events without external components.
I still think that clear use case scenario might help out to decide the implementation detail and i strongly disagree with saying that event may be deleted from event store.

I understand that you may not want to delete events.
Maybe there could be more feature required, this needs to be split.
Something like to allow to delete events after a certain amount of time => one annotation -> this fits some use cases -> when you only care about sending events that have no business logic but more like information purposes or real-time dashboard (do not care about history).
Annotation is put on event class, runtime refuses to boot if event class is used in any aggregate/saga/etc.
Is there any way to check if a previous event that is in event store was used in aggregate/saga/etc? If yes then at bootime, it should check and throw to make sure we can not do a mistake of deleting events that were previously used for an aggregate/saga/etc (but I think it should be the responsibility of developers and not the framework). It comes with high risk but again developers responsibility I think.
Another annotation, maybe not on event class anymore but new one (inside EventListener or just put side by side on each method) that "filters" events based on timestamp so method does not receive "old" event (or filtered events (not only time based filter) ->would make the annotation more complex as it will evolves in a complex annotation of filtering but is useful)
Filter annotation is forbidden as well in any aggregate/saga/etc and cancel boot (runtime check).
I think Axon needs to be more than CQRS/ES, it has great features of abstracting location, duplication, scale, etc so less need of Kafka/etc

Could you elaborate more on the use case and focus on why the event need to be persisted for x amount of time instead just published? Does it have to do with the delivery mechanizm or the replays.
You mention the real time dashboard, which, well, I'm doing atm using axon's existing features and the 'volatile events which, are just notification of things happening, so they are not persistent really, they are just there to notify you about that something happened so client can update the view accordingly. I call them query subscription events
I think that issues with how to annotate this and ensure that developers use such events properly are trivial at this stage. I would really like to continue on trying to find clear use case of such that cannot be done with current features of axon or provides more clear implementation for the things that people are doing with axon currently.
The only thing that comes in mind are these real time systems but all i can see is client-server integration so i'm just using subscriptions because they are oriented on the query model because that's what client wants - the data and updates on that data.
100% of the events i have in my system are driving my logic, so they need to be persisted in order to recreate the state of the application.
It seems like we are touching the point of the axon's current implementation of the query system and it's subscription capabilities.

You can define what type of query you are interested in.
You can define what type of data you are going to receive on the subscription (lets call it subscription event for simplicity)
You can drive your updates based on these kind of events

The only point missing here is the 'temporary' persistance, so im not really sure what would be an use case of it. Another thing with subscription queries is that they should not be used in your domain layer (they are part of query layer) so they cannot drive anything that can do changes in your domain, however they can be used by application layer just fine.
So what exactly the impact of the system by such volatile event would be? In what layer this event resides in? What can it control? What it is controlled by? Where controller of it lives?
I'm sorry that it might seem like im really not a big fan of this feature, I like the concept of it but i also see alot of issues that it might bring if not put in the proper context.

I understand that query subscription event could be used but it might
be too specific to the query (or even queries that want same information but display that info differently)
One simple example would be to have different http filters in spring, one to send event for each incoming request with data like url, controller called, current user authenticated or not, ip, params, headers, etc.
Just this example shows that you might end up with millions of events every day that the business logic do not care to keep "forever" and do not need to have replay capabilities after x time (one week, one month, etc).
There are many tools that can achieve as well percentiles display of API, etc (Prometheus, Graphite, etc) but sometimes it is easier to send events.
Same event can be used in different place but with query subscription, the producer needs to know all different queries and send appropriate update for it whereas with event producer do not need to know who uses this events, neither how.
I will try to describe more when I have more time.

If it adds any value there was a somewhat related discussion on the google groups regarding this here: https://groups.google.com/forum/#!topic/axonframework/UGe0mjUMcrA
From my perspective I agree with OP that the ability to specify an event as "expiring" or "to be deleted" after a certain amount of time would definitely be handy for those situations where you want to distribute generic events which do not relate to an aggregate/saga/event-sourcing through axon server (rather than having to go through the headache of additional mq infrastructure).

It definitely adds value @vab2048; more insights can help for a better judgment when it comes to implementing this feature. :+1:

I have an interesting use-case that touches on this.
We ingest business-related emails and store them in the event store -- this is handy as we can replay them later to pay attention to stuff we didn't look at previously. This step is a 'private/internal' event for that service, because other parts of the system would never consume the raw email (they would consume only a normalised event or view).
However, as will likely not surprise you, a certain amount of the email turns out to be junk. People sending non-business stuff, spam, circulars, etc.
For those cases, it would be good if we could zap entries labelled as volatile. For example, the operator identifies these entries as spam (i.e. they are definitely useless); we would then remove associated aggs/events from the event-store, as they have no possible useful purpose.
In my mind, the volatile descriptor kind of makes sense for this use-case also; it's an event/aggregate that may not continue existing for legitimate business reasons.
May be law of unintended consequences caveats associated with this, I realise :-).

For followers of this thread, we're currently required to move the release of this feature from 4.4 to 4.5.
This follows from changing prioritization at our end which made it so that we cannot resolve this implementation in a timely manner.
Thanks for your understanding and we will keep everybody posted under this thread as soon as work commences.

Adjusted priority to a "should" and removed milestone. We envision this issue to require an API adjustment which is in line with the requirements of #1106. Namely introducing another Message Source which interleaves with the regular Streamable/Subscribable Message Source. As #1106 its priority has been adjusted and it intertwines with the requirements of this issue, it is only right to adjust this issue's priority too.
Furthermore, it is not feasible that this will be resolved before the desired 4.5 release schedule, hence the milestone removal.
This issue will be reevaluated for the following release.

Adjusted priority to a "should" and removed milestone. We envision this issue to require an API adjustment which is in line with the requirements of #1106. Namely introducing another Message Source which interleaves with the regular Streamable/Subscribable Message Source. As #1106 its priority has been adjusted and it intertwines with the requirements of this issue, it is only right to adjust this issue's priority too.
Furthermore, it is not feasible that this will be resolved before the desired 4.5 release schedule, hence the milestone removal.
This issue will be reevaluated for the following release.

I also think it would be very interesting to be able to configure the "ephemeral".
Very useful if we do not want to add Kafka/in-memory event bus/other that adds complexity to the app and add also a burden on maintenance (and cost).
There could be different settings and commands like:
Functionalities:

time of ephemeral (i think there should be no limit -> would be weird to want to use years and called it ephemeral but why not)
Full in-memory bus (lost on server restart/etc)
Partial in-memory -> to be defined what could be the useful options on decision when an event goes in-memory or disk; and which is first (memory or disk and could be configured)
and obviously the full written to disk that guarantee ephemeral events can still be consumed until the expiration date
All above options would be better if could define on the @EphemeralEvent the name of the configuration to use -> this way events are "attached" to a configuration at bootstrap (should allow to change the configuration between bootstrap with eventuality of loosing data if change from full disk to full in-memory or other)

Commands:

possibility to drop all ephemeral events since beginning, a timestamp or other logic for a specific configuration name

Honestly, I would make an ephemeral event not persist after it has been consumed by everyone. Having an arbitrary time limit on it can lead to very confusing results I would imagine.
I would also name it differently (not event). Something like notification or alert? If it were to fit in the design pattern, it should be a thing that is time critical, and therefore not really relevant to later business acts. I would say? I may want to have logged an event when I got up to get to work, but I do not want my alarm clock to go off 500 times when I'm rereading my calendar (if that analogy works for you).

@maartenjanvangool to make it no persisted at all would probably mean that this "notification" or "alert" would probably go through a completely code flow, especially for the part where you want an event to disappear once it is consumed by all current consumers.
The idea is to keep the existing solution but adding a different kind of event, with my previous post you can still have your very short lived "alert" with in-memory configuration.
Different configuration based on name (in-memory, partial, full, other) provide extra possibilities, it can reach more users (clients :) ).
For your example of alarm clock, the framework would re-use the current logic of event and you apply same logic as when a replay is triggered.
By using existing code flow, these new type of events would also have their own processors and token to know the offset in the stream of event to not be re-consumed (replayed).
Obviously, it is difficult to anticipate what would happen to @EphemeralEvent when it changes of configuration name -> previously it may have been consumed or not, then at the new bootstrap the event may be:

discarded -> the new attached processor token is in the future so this event is already considered as processed (which is accurate -> setting have changed)
replayed -> the new attached processor token was in the past (before that event); it will be re-consumed but that's normal

Perhaps (to avoid breaking the event sourcing model), the concept of a "checkpoint" could be implemented where a set of events are mapped to a new set of events. Of course, the "checkpoint" set of events could be empty, but this would be explicit.
This would allow clients of a query processor to mark a set of events as being replaced by another, but it would also allow the implementation explicit deletion lifecycle management; for instance, one could have a global configuration that certain metrics are collected when events are marked for deletion, schedule a map-reduce job on the removed events, notify users that their data is at risk of deletion, etc…

Perhaps (to avoid breaking the event sourcing model), the concept of a "checkpoint" could be implemented where a set of events are mapped to a new set of events. Of course, the "checkpoint" set of events could be empty, but this would be explicit.
This would allow clients of a query processor to mark a set of events as being replaced by another, but it would also allow the implementation explicit deletion lifecycle management; for instance, one could have a global configuration that certain metrics are collected when events are marked for deletion, schedule a map-reduce job on the removed events, notify users that their data is at risk of deletion, etc…

What's your take on the comparison between "checkpoint"s and "snapshots," if any, @AlexandreCassagne?

What's your take on the comparison between "checkpoint"s and "snapshots," if any, @AlexandreCassagne?

Please note I am by no means an expert, but I do think there are some key differences in my mental model.
From my understanding, snapshots are effectively a caching mechanism and, in theory, should be abstracted away from the developer of domain logic.
The caching here happens in the temporal direction, and (given it is a cache).
The logic of checkpoints, meanwhile, is effectively the introduction of discontiguitythe temporal direction's

I wanted to notify everybody checking this issue that Axon Server, at this stage, provides a means to create a context for which the events are ephemeral.
Axon Server supports this through the introduction of tiered storage and more specifically the black hole tier it enables.
Don't get me wrong, the support Axon Server provides in this area by no means resolves this issue for Axon Framework; simply because we desire a more grounded solution in the framework for this too.
However, it may just open doors to some, so I felt obliged to clarify there is a way to achieve ephemeral events with Axon Framework.

Hey, thank you for the update, I have not spend much time looking into context functionality of Axon yet, and from what I read in the page you shared for Tiered storage, I suppose that each context are separated in terms of file storage so each context is independent and so ephemeral events have no impact on event-sourced events.
Am I correct?
To try to clarify:
We have event-sourced aggregates in context A, they create multiple files storage as the quantity of events grows.
Then later on, we add a new context for ephemeral events, ephemeral cannot be added to an existing context which is not ephemeral (only event-sourced ones can) then files for this context is differentiated and even potentially saved in different folder/disk.
So whenever axon tries to load an aggregate from events, it knows where to look (context) and search only relevant files.

So whenever axon tries to load an aggregate from events, it knows where to look (context) and search only relevant files.

Event reading will happen from a specific context at all times. For aggregates, this can only be done from one context at a time.
So, when using ephemeral events that are published in a different context than the one containing your event-sourced aggregates, you will not have aggregate events and ephemeral events in one stream, ever.
Note that it is possible to configure any context to use the so-called "black hole tier."
Hence, the context containing the aggregate events could also utilize this functionality.
As you can deduce, that would mean you lose the events of aggregates eventually, which in plenty a domain isn't desirable ever.

Also wondering how is the ordering kept for processors that listen to different contexts, are events correctly ordered based on "created date" ? -> events are read from each context and then ordered before submission to the processor for processing of the event handlers ?

That's indeed done based on the timestamp.
To be able to stream from several contexts into a single Event Processor, you would use the MultiStreamableMessageSource (for which you can find the API documentation here).
If you're curious to learn more about the MultiStreamableMessageSource, our Reference Guide has this to say about it.


Converter screws up EU4 savegames

It can't read map_area_data = { ... }, which will so not let the converter have province mappings.
The converted save is simply an unedited 1.I.1805 vanilla start.

A 1.23 save?  If so that's whats broken this time :)

In a save from the same date, I get
map_area_data{ }
in the save file, without =. Doesn't look consistent with Paradox files format to date.

The way to solve it is to make the converter ignore it. I removed this row of code from the save file and the conversion went fine. In my save, it was at row 217~218.
map_area_data{
}

Thinking further about it, this should be parsable as-is. A whitespace between map_area_data and { would make it a single key (without value) named map_area_data, followed by an unnamed {} block (such blocks appear for instance in CK2 saves). Perhaps the whitespace is optional (much like for example between a key name and =and then {).


Saving a model with frozen layers?

It appears there is an issue with saving models after freezing layers when fine-tuning.  Following the fine-tuning example of InceptionV3 (https://keras.io/applications/#inceptionv3)  I saved and attempted to load the mode (https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model):
from keras.models import load_model
InceptionV3_model.save('inception_model.h5')
model2 = load_model('inception_model.h5')

Doing so, however, returns a ValueError:
ValueError: You are trying to load a weight file containing 191 layers into a model with 39 layers.
It turns out that when you freeze the layers, they don't get saved.  I tried unfreezing the layers, and saving the model then, but then are incompatibilities with the optimizer weight shape.

This is fixed, thanks for the report.

@fchollet @hhkarimi in which version/commit was this bug fixed? Getting same for keras 1.2.0  (current github version).
Thanks

It was just after 1.2.0, it's not available on pypi yet.  To get the latest version from github:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

Thanks @hhkarimi


Validation for percentage amt for Cart and Catalog Rule.

Issue Reference
#6554
Description
Added validation for percentage amount for Catalog and Cart Rule and Handled validation using FormRequest and removed validation from controller.

@papnoisanjeev
The page should be auto focus on error

@Sanjaybhattwebkul
As validation is from backend so most probably auto focus will not work here.


'scrfd is not in the exporters registry group face-detection

'scrfd is not in the exporters registry group face-detection
To Reproduce
Run following in python:
from modelscope.exporters import Exporter
from modelscope.models import Model

model = Model.from_pretrained('damo/cv_resnet_facedetection_scrfd10gkps')
out = Exporter.from_model(model).export_onnx(output_dir='/home/ubuntu/models_data/scrfd', )

Output:
... - modelscope - INFO - loading model from /root/.cache/modelscope/hub/damo/cv_resnet_facedetection_scrfd10gkps/pytorch_model.bin
load checkpoint from local path: /root/.cache/modelscope/hub/damo/cv_resnet_facedetection_scrfd10gkps/pytorch_model.bin
... - modelscope - INFO - load model done
'scrfd is not in the exporters registry group face-detection. Please make sure the correct version of ModelScope library is used.'
"The exporting of model 'scrfd' with task: 'face-detection' is not supported currently."
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/modelscope/exporters/base.py", line 52, in from_model
    exporter = build_exporter(export_cfg, task_name, kwargs)
  File "/usr/local/lib/python3.10/dist-packages/modelscope/exporters/builder.py", line 20, in build_exporter
    return build_from_cfg(
  File "/usr/local/lib/python3.10/dist-packages/modelscope/utils/registry.py", line 198, in build_from_cfg
    raise KeyError(
KeyError: 'scrfd is not in the exporters registry group face-detection. Please make sure the correct version of ModelScope library is used.'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/modelscope/exporters/base.py", line 52, in from_model
    exporter = build_exporter(export_cfg, task_name, kwargs)
  File "/usr/local/lib/python3.10/dist-packages/modelscope/exporters/builder.py", line 20, in build_exporter
    return build_from_cfg(
  File "/usr/local/lib/python3.10/dist-packages/modelscope/utils/registry.py", line 184, in build_from_cfg
    LazyImportModule.import_module(sig)
  File "/usr/local/lib/python3.10/dist-packages/modelscope/utils/import_utils.py", line 475, in import_module
    importlib.import_module(module_name)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/local/lib/python3.10/dist-packages/modelscope/exporters/cv/face_detection_scrfd_exporter.py", line 7, in <module>
    import onnx
  File "/home/ubuntu/modelsservings/model_conversions/scrfd/onnx.py", line 5, in <module>
    out = Exporter.from_model(model).export_onnx(output_dir='/home/ubuntu/models_data/scrfd', )
  File "/usr/local/lib/python3.10/dist-packages/modelscope/exporters/base.py", line 55, in from_model
    raise KeyError(
KeyError: "The exporting of model 'scrfd' with task: 'face-detection' is not supported currently."

Environments

OS: 22.04.1-Ubuntu
CPU: Intel(R) Xeon(R) CPU @ 2.20GHz
Python: 3.10.12
modelscope: 1.17.0
mmdet: 2.28.2
mmcv-full: 1.7.2
torch: 2.3.1+cu121

Please @ corresponding people according to your problem:
Model hub related: @liuyhwangyh

The exporting of this model works.
torch                             2.3.0+cu121
mmcv-full                     1.7.0
mmdet                          2.28.2
modelscope                 1.17.0


[Android] Maintain navigation stack correctly when hardware back button is used to pop screens

We can enable hardware back button support by adding this to MainActivity:
  def onBackPressed
    if fragmentManager.backStackEntryCount > 0
      fragmentManager.popBackStack
    else
      super
    end
  end

But when we press the hardware button UI::Navigation's @current_screens isn't kept in sync, and #before_on_show and #on_show for the revealed screen isn't called like calling #pop does.
This commit fixes it.

Forgot to mention: This change is also needed so that #on_show can be used to set screen titles and work correctly the screens are pushed and popped (with hardware back button).

Thanks a lot, feel free to merge it :)

Added a commit with a nil check just to be safe :) Thanks! @lrz

Thanks a lot, feel free to merge it :)

@lrz I think we need to add @hboon in Collaborators

Oops, I thought it was already done, I got confused by the [Contributor] tag.  I just added you @hboon feel free to merge it now :)

@lrz :) Thanks.


amend: updated deps

:tada: This PR is included in version 1.15.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Run integration tests after each deployment

This PR starts an integration-test job, whenever a snapshot or release is deployed.

This workflow completed all tests including reproducibility: https://github.com/apache/logging-log4j2/actions/runs/11386725748

This workflow completed the reproducibility tests in this PR correctly: https://github.com/apache/logging-log4j2/actions/runs/11386725748


How can I add a subview at the bottom of menu view?

Hi @ninholli! You can make your own PagingView subclass where you add any view you like below the menu view. For instance, here's an example of adding a header view above the menu: https://github.com/rechsteiner/Parchment/blob/master/Example/Examples/Header/HeaderViewController.swift


Integrated terminal doesn't work properly with Chinese characters

VSCode Version: 1.17.0
OS Version: Windows 10 1703 (15063.632)

Steps to Reproduce:

Open a new window on a folder with Chinese name (as 新建文件夹)
Use ctrl+`  to open the terminal, and enter dir to get some output in Chinese, then use cls to clean the screen. Some characters will remain in the terminal.
When you drag the terminal to resizeit, those characters will disappear.

Reproduces without extensions: Yes

Seems the same issue as #35713 .

Duplicate https://github.com/Microsoft/vscode/issues/35660


Admin panel quick actions do not show up in the Django admin log

Quick actions like "Enable selected flags for everyone" do not show up in the Django admin log. If the flag is edited in the normal way, the edit will show up in the history.

We should use log_action to do this manually: https://github.com/django/django/blob/90abdba08657db397f1887b94ec1ebdc32783379/django/contrib/admin/models.py#L26

Do this here: https://github.com/django-waffle/django-waffle/blob/ab004b37838b70b4a34153257e1e4c0ea2646f67/waffle/admin.py#L24

@PetterS can you open a pull request with these changes?

Absolutely!


Better headers

Your Idea
Currently headers have exactly the same font as its options. Even though headers have underline, still It is difficult to distinguish them from the options above. I suggest making headers bold and in-between 2 lines istead of just 1 underline.

SophiApp Version
1.0.86
Windows Version
Doesn't matter
Comments
No response

I 100% agree, but a 2.0 version is in design so i think the whole gui will change....

But I'm not against of bold titles in 1.0.87. :)
First sketches of 2.0 will be revealed very soon))

What do you think?

NIce!  But today UX designer has a headache. 😿


fix: Prevent unwanted upgrades

Why is this PR needed?
Without this patch, a user might try to use a SP2 skuba to
upgrade between 1.17 versions (for which packages don't exist,
and images are pointing to an incorrect location), or use a SP2
skuba to upgrade to 1.18 from old incompatible versions.
This is a problem, as those actions would brick the upgrade.
This fixes it by stopping the upgrade when those cases are
encountered.
Fixes: https://github.com/SUSE/avant-garde/issues/1943
What does this PR do?
See above
Anything else a reviewer needs to know?
Info for QA
We need to test those multiple cases:

SP2 skuba to upgrade between 1.17.x versions
SP2 skuba to upgrade from below 1.17

will now throw an error message
Related info
Status BEFORE applying the patch
You can do all you want! But that's not good.
Status AFTER applying the patch
You are now restricted. It's not user friendly, but at least it
doesn't break.
Docs
None. Still keeps our current process.
Merge restrictions
(Please do not edit this)
We are in v4-maintenance phase, so we will restrict what can be merged to prevent unexpected surprises:
What can be merged (merge criteria):
    2 approvals:
        1 developer: code is fine
        1 QA: QA is fine
    there is a PR for updating documentation (or a statement that this is not needed)

What's confusing in the commit message?

@atighineanu if you could validate this from QA perspective, that would be awesome.

I should probably mention I haven't tested those :s

e2acfaeff94a:~/go/src/mkcaasp/tests/ginkgoscenarios/imba-cluster # skuba node upgrade apply --user sles --sudo --target <IP_ADDRESS>
** This is an UNTAGGED version and NOT intended for production usage. **
Unable to apply node upgrade: worker-pimp-comrade-00 is not upgradeable until all control plane nodes are upgraded
It looks nice. However, when I tried to upgrade a master - skuba continued unimpeded trying to upgrade an SP1 master to k8s 1.18 (of course it failed). Note: I run skuba 2.0 from outside the cluster. None of the caasp nodes are a management node.

The idea was to have this version of skuba (on sp2), but preventing upgrading an upgrade from something below 1.17.x to 1.17.x

e2acfaeff94a:~/go/src/mkcaasp/tests/ginkgoscenarios/imba-cluster # skuba node upgrade apply --user sles --sudo --target <IP_ADDRESS>
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.16.2
Latest Kubernetes version: 1.18.6
Current Node version: 1.16.2

Unable to apply node upgrade: node master-general-00 cannot be upgraded yet. The following errors were detected:
 - Cannot use this version of skuba to upgrade to kubernetes version 1.17. Please use a skuba version below 2.0.0 instead.
 - There are addon upgrades available for the current cluster version (1.16.2) that need to be applied first```

Nice.
LGTM.

ofc I will adapt the wording as a follow up commit, to be consistent across #1354, #1353, and #1352.


getValue() in OptionImpl class should be synchronised to match the synchronisation on its set counterpart

As per squid:S2886:
"When one part of a getter/setter pair is synchronized the other part should be too. Failure to synchronize both sides of a pair may result in inconsistent behavior at runtime as callers access an inconsistent method state."
The setValue() method in OptionImpl is synchronised, but the getValue() method is not.
getValue() should be synchronised.

exactly, it's the correct double-check locking paradigm for java
On Thu, Sep 3, 2020 at 4:57 PM Jon Sailor<EMAIL_ADDRESS>wrote:

Closed #45 https://github.com/facebookexperimental/jcommon/issues/45.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/facebookexperimental/jcommon/issues/45#event-3727247883,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOTWMN6GY4ZF35RK254FTSEAUPZANCNFSM4C4TCH4A
.

--
Sam Rash
<EMAIL_ADDRESS>

i take that back, it's not double-checked, but yea, it's as efficient as
you can get for a write-once, read-many concurrent-safe object
On Thu, Sep 3, 2020 at 5:39 PM sam rash<EMAIL_ADDRESS>wrote:

exactly, it's the correct double-check locking paradigm for java
On Thu, Sep 3, 2020 at 4:57 PM Jon Sailor<EMAIL_ADDRESS>wrote:

Closed #45 https://github.com/facebookexperimental/jcommon/issues/45.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/facebookexperimental/jcommon/issues/45#event-3727247883,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAOTWMN6GY4ZF35RK254FTSEAUPZANCNFSM4C4TCH4A
.

--
Sam Rash
<EMAIL_ADDRESS>
--
Sam Rash
<EMAIL_ADDRESS>


Support for Github Copilot

Hey !
I love the app, it’s really great !
It might be even better if there was a support for GitHub Copilot!
Then, the app would be awesome !
Thanks :)

Copilot is closed source and do not provide publicly accessible APIs afaik. It is possible to experiment with other language models like ChatGPT though.

I’ve been messing with copilot.vim and copilot.lua - should be doable as an LSP.


the landmark detection of eyes area are not good, even did not work

Dear Sir,
     Thank you for sharing you amazing code, I check out the video you have uploaded on youtube, which is https://youtu.be/tXTgLSyIha8. At the time of 0:54, the landmark detection of eyes area seems did not work at all, I wonder how to improve the landmark detection of this eyes area? Thank you for your reply.

best regards,
ze

The reason may be that the training data contain few faces image closing eyes (or with eye emotion), like this issue.


Not able to run the python main.py file.

~/AI-Chatbot$ python3 main.py
/home/cccir/.local/lib/python3.10/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
Type 'exit' to exit the chat
User: hii
User: Exception in thread Thread-1 (get_result_in_queue):
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 169, in _new_conn
conn = connection.create_connection(
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 96, in create_connection
raise err
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 86, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 394, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 234, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/lib/python3.10/http/client.py", line 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1038, in _send_output
self.send(msg)
File "/usr/lib/python3.10/http/client.py", line 976, in send
self.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 200, in connect
conn = self._new_conn()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 181, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fde76c76a40>: Failed to establish a new connection: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/cccir/.local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 574, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=50021): Max retries exceeded with url: /audio_query?text=%E3%82%A8%E3%83%A9%E3%83%BC%EF%BC%9A%E8%AA%A4%E3%81%A3%E3%81%9FAPI%E3%82%AD%E3%83%BC%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%EF%BC%9Ayour_api_key%E3%80%82https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys%E3%81%A7API%E3%82%AD%E3%83%BC%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82&speaker=20 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fde76c76a40>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/home/cccir/AI-Chatbot/module/core.py", line 123, in get_result_in_queue
self.text_to_speech(assistant_message)
File "/home/cccir/AI-Chatbot/module/core.py", line 150, in text_to_speech
self.voice.voicevox_tts(message_jp)
File "/home/cccir/AI-Chatbot/module/voicevox.py", line 22, in voicevox_tts
r = requests.post(
File "/home/cccir/.local/lib/python3.10/site-packages/requests/api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
File "/home/cccir/.local/lib/python3.10/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "/home/cccir/.local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "/home/cccir/.local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "/home/cccir/.local/lib/python3.10/site-packages/requests/adapters.py", line 565, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=50021): Max retries exceeded with url: /audio_query?text=%E3%82%A8%E3%83%A9%E3%83%BC%EF%BC%9A%E8%AA%A4%E3%81%A3%E3%81%9FAPI%E3%82%AD%E3%83%BC%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%EF%BC%9Ayour_api_key%E3%80%82https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys%E3%81%A7API%E3%82%AD%E3%83%BC%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82&speaker=20 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fde76c76a40>: Failed to establish a new connection: [Errno 111] Connection refused'))

Looks like you have to install the ffmpeg


Adjustments for August 20 patch

Initial work on adjusting for august 20 patch
Changes can be seen here: https://devon7925.github.io/ow2_patch_compare/index.html?before_patch=6v6+Adjustments%3A2024-08-18&after_patch=6v6+Adjustments%3A2024-08-20&show_calculated_properties=false&show_breakpoints=false

Constants are used to determine what values we intend to reach, and should not reflect small leftover decimal values because of rounding.


Output Change for 2024

For the task schedule, we need to change the output to also record the task schedule for each time step.
Previous output:
{
"actionModel": "MAPF",
"AllValid": ,
"teamSize": ,
“Start”:[],
“numTaskFinished”:,
“Makespan”:,
“actualPahts”:[],
“plannerPaths”:[],
“plannerTimes”:[],
“Errors”:[],  – errors
“Events”:[],  – task released, task assignment, task finished
“Tasks”:[]   – task pool <id,loc>
}
Proposed output:
{
"actionModel": "MAPF",
"AllValid": ,
"teamSize": ,
“Start”:[],
“numTaskFinished”:,
“Makespan”:,
“actualPaths”:[],
“plannerPaths”:[],
“plannerTimes”:[],
“Errors”:[]
//changes for 2024

“ScheduleErrors”: [] - task errors, i.e., task_id, agent_id for previous assignment, agent_id for proposed assignment, timestep, error type
“Events”:[],  –  task finished (same as previous while removing task assignment event)
“Tasks”:[]   – task pool   <id,release time,loc1,loc2,...> for matching task id and the location of the tasks
“actualTaskSchedule”:[] - we only record the changes of the schedule, i.e., t1:task_id1,task_id2, t3: task_id3,task_id2
“planTaskSchedule”:[] - we only record the changes of the schedule
}
Besides that, we also want to support simpler output, i.e., output only selected agents by specifying in command line input. For example, if you call start-kit by ./lifelong .....(other required parameters) -- outputAgents 1,3,5,6,7, then the output will only show actualPaths, plannerPaths, events, tasks, scheduleErrors, planTaskSchedule, actualTaskSchedule, errors for the selected agents, for other agents, will replaced by ','

Hello, here are some issues I found while enhancing PlanViz with the new output.json...

Why is there multiple [0,0,0,0] events? Does that mean agent 0 finishes tasks at timestep 0?
Do we replace assigned events to actual schedule?
Confusion between events and schedules:
a. How do we know what agent is doing what task given a timestep?
b. Is it possible to load one section and get all the information of events?
A simpler example (5 agents with 10 3-location tasks) is needed for varify the new PlanViz

I think the format change is done. Some documentation updates, considering Shao's comments, would be useful. Yue or Han, can you please comment.


NavigationView back button incorrectly named for accessibility

Describe the bug

Based on the analysis by Accessibility Insights, the back button should not be named "Back Button" as accessibility tools like narrator will read this as "Button, Back button" which includes redundancy.
Expected behavior

The name should just be "Back" (so it's read as "Button, Back")
or something specific of indicating navigation, such as "Navigate Back" (so it's read as "Button, navigate back".)
Screenshots

Error as reported by App Insights for Windows:

Version Info

NuGet package version: 2.2.190430003-prerelease

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

October 2018 Update (17763)
Yes

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Anniversary Update (14393)

Device form factor
Saw the problem?

Desktop
Yes

Mobile

Xbox

Surface Hub

IoT

Additional context

Thank you for the feedback. Looks like we've already fixed this problem with #571


Incorrect path in docs for runliveresponse

The path has an uppercase API instead of api in:
POST https://api.securitycenter.microsoft.com/API/machines/{machine_id}/runliveresponse
which causes an error to be thrown.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 4b3e5349-9b67-18ff-6c1c-d123b1f21a72
Version Independent ID: fe100af9-381b-8b0f-cd7b-94ac62b6b313
Content: Run live response commands on a device
Content Source: microsoft-365/security/defender-endpoint/run-live-response.md
Service: microsoft-365-security
Sub-service: mde
GitHub Login: @mjcaparas
Microsoft Alias: macapara

nvm, this is not an issue.


Lookback

First implementation of lookback - specifying a number of zoom levels to "look back" to if a loaded tile is not found.
cc @yhahn

Coverage increased (+0.06%) to 96.705% when pulling fcfefd5f338ae3332bde2e757a8cb5149cffe1b9 on lookback into f7e4ad6ec5bfe81d329ca033bb30a6ba3f9b0fdb on master.

Coverage increased (+0.1%) to 96.591% when pulling 290385d7a95416359b1314a07bb6b0cade4e428c on lookback into e282ceeef0ba48a80f7a1904b79f722aa52dc624 on master.

Coverage increased (+0.1%) to 96.591% when pulling e7eca4cee79bd4dc48945577c5a3a131e3f19688 on lookback into e282ceeef0ba48a80f7a1904b79f722aa52dc624 on master.


feat: add more useful version of get_mapped_ranges

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

13 of 17 (76.47%)  changed or added relevant lines in 1 file are covered.
37 unchanged lines in 6 files lost coverage.
Overall coverage decreased (-0.5%) to 74.08%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

foundationdb/src/transaction.rs
13
17
76.47%

Files with Coverage Reduction
New Missed Lines
%

foundationdb-bindingtester/src/main.rs
1
89.59%

foundationdb/src/directory/directory_layer.rs
3
93.31%

foundationdb/src/directory/mod.rs
3
92.65%

target/x86_64-unknown-linux-gnu/debug/build/foundationdb-2c1356d722dd59e2/out/options.rs
4
30.4%

foundationdb/src/database.rs
10
74.73%

foundationdb/src/directory/directory_partition.rs
16
69.4%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
4227

Relevant Lines:
5706

💛  - Coveralls

Codecov Report

Merging #68 (5ac82fc) into main (ef379b3) will decrease coverage by 0.54%.
The diff coverage is 76.47%.

@@            Coverage Diff             @@
##             main      #68      +/-   ##
==========================================
- Coverage   82.82%   82.27%   -0.55%
==========================================
  Files          26       26
  Lines        4937     4954      +17
==========================================
- Hits         4089     4076      -13
- Misses        848      878      +30

Impacted Files
Coverage Δ

foundationdb/src/transaction.rs
89.35% <76.47%> (-0.65%)
:arrow_down:

foundationdb/src/directory/directory_partition.rs
69.40% <0.00%> (-11.95%)
:arrow_down:

foundationdb/src/database.rs
74.72% <0.00%> (-10.99%)
:arrow_down:

foundationdb/src/directory/mod.rs
92.64% <0.00%> (-2.21%)
:arrow_down:

foundationdb-bindingtester/src/main.rs
89.58% <0.00%> (-0.07%)
:arrow_down:

foundationdb/src/directory/directory_layer.rs
93.30% <0.00%> (+0.20%)
:arrow_up:

foundationdb/src/mapped_key_values.rs
44.03% <0.00%> (+2.75%)
:arrow_up:

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


Incorrectly reporting exports in namespace that are used in the current file

MWNE:
namespace Foo {
  export type Bar = number
  export const bar = 2
}

type FooBar = Foo.Bar
const foobar = Foo.bar

When running knip (default configuration), I get:
Unused exports (1)
bar  src/knip.ts
Unused exported types (1)
Bar  type  src/knip.ts

yet both exports are actually used in the same file, and removing the export keyword would be a mistake.

:rocket: This issue has been resolved in v2.14.3. See Release 2.14.3 for release notes.

Thanks for reporting this @Jym77. Guess it's not very common, but valid use case.

Amazing 🎉 Thank you.


csv_vectors example doesn't work

I've added a test in this PR https://github.com/samscott89/serde_qs/pull/82 which highlights the problem:
thread 'deserialize_sequence' panicked at 'assertion failed: `(left == right)`
  left: `Query { r: [], s: 12 }`,
 right: `Query { r: [1, 2, 3], s: 12 }`', examples\csv_vectors.rs:32:5

Oof, thanks for finding that and raising!
Would you be up for working on a fix?

Unfortunately, I couldn't make it to work due to my relatively low experience with serde.
I've just made an ad-hoc solution that worked in my case:
        fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
        where
            E: de::Error,
            <T as FromStr>::Err: fmt::Display,
        {
            v.split(',')
                .map(|i| i.parse::<T>().map_err(E::custom))
                .collect()
        }

I would be much happier in making a PR, adding such functionality into serde_qs itself because too many people need such a parser for sequences.
Something like a:
#[derive(Serialize, Deserialize)]
struct Users {
    #[serde_qs(value_delimiter = ",")]
    users: Vec<u64>,
}

instead of
#[derive(Serialize, Deserialize)]
struct Users {
    #[serde(default, deserialize_with = "deserialize_list")]
    users: Vec<u64>,
}

would be much greater)
But I don't know how to code it right now (


New design for boxes in Board & EX scene

Seems that the text inside the boxes are making the board screen seems too complex, several changes can be taken into account:

[x] Remove artist from title
[x] Add text truncate effect (...) to the title
[x] Remove "mapper", Beatmap?.Metadata.Author.Username and "difficulty" text.

In other words, leave Beatmap?.DifficultyName only.

Probably have to extend these design into EX screen?

[x]  Remove artist from title
[x]  Add text truncate effect (...) to the title
[x]  Remove "mapper", Beatmap?.Metadata.Author.Username and "difficulty" text.

commit 9460514 solve these three tasks at once:

We have to apply the same display scheme to EX screen.

[ ]  Add DifficultyIcon to EX screen

Commit cc9f688 added these StarRatingDisplay to EX screen:

Considering adding animation by setting bool animated = true.

Have just tried this, but there doesn't seem to be any visible animation.
Does the animation play upon load? I think this is highly possible.

Considering adding animation by setting bool animated = true.

Have just tried this, but there doesn't seem to be any visible animation.
Does the animation play upon load? I think this is highly possible.

I believe that the animation has to set with correct parameters. See file StarRatingDisplay.cs:
        protected override void LoadComplete()
        {
            base.LoadComplete();

            Current.BindValueChanged(c =>
            {
                if (animated)
                    this.TransformBindableTo(displayedStars, c.NewValue.Stars, 750, Easing.OutQuint);
                else
                    displayedStars.Value = c.NewValue.Stars;
            });

            // other content
        }

...if animated is true, it animates the transition of displayedStars to the new value over 750 milliseconds using the Easing.OutQuint easing function. Might be crucial to define suitable values for these parameters.
Might be possible to set the animation using this approach?
// Initialize with 0.00 star rating
starRatingDisplay = new StarRatingDisplay(new StarDifficulty(0, 0), StarRatingDisplaySize.Regular, true)

// Update the star rating to the actual value, triggering the animation.
starRatingDisplay.Current.Value = new StarDifficulty(Beatmap?.StarRating ?? 0, 0);

If we have set the correct parameters, it should play animation play upon load I suppose. There is a high chance where the animation has already loaded before we switch into EX Screen.
Maybe we can considering the use of TournamentSceneManager.cs, when EXBoardScreen is active, display that animation.

Animation will not being considered, now we can close this issue.


Sample Project?

I'm being especially dumb today but I can't get this to work. The Wiki implies I just need to add it to a scene but I can't see anything in the scene or game view other than a transform gizmo. Am I supposed to do something with kShading as well? The
Any chance you could include a demo scene? It's nice to start from a working example.

Same here. Cant get this to work

Can't get this to work either... using URP and kshading.

I got it working. What i was missing was a CameraShade script on my camera, plus assigning it an object to shade and the material associated with it.

For me setup was little bit difficult too. Package pretty cool. Here simple example for using with URP.
Thanx @Kink3d

@Tokars didn't work too, looks like isn't compatible with newer URP version or deferred, the plane is invisible, it appears when set to transparent (yes it's a opaque layer), and then it appears without any reflection. There is no "mirror" reflection option.

Tokars sample works for me (which I am very happy and thankful about) with URP11 and Unity 2021.1.28.
Even URP12 in 21.2 (which is a huge surprise tbh)
Setting it up without the sample in my project yielded some issues (like does not work with camera stacking) but in the sample project it works. So I guess I will just have to dig around a bit to figure out whats wrong, but with the sample project I can at least be sure that it is working at all.

I managed to make it work by creating a shader in the shader graph following the documentation (which is very easy), I just tested "local".
I also got the error "You can't nest Foldout Headers, end it with EndHeaderFoldoutGroup." on inspector, but it's solved by simply removing the editor script (I didn't look into what exactly causes this, but the editor script doesn't do anything important, just inspector visual, so it's ok).

Now I'm upd: project to 2020.3.25 editor version. All works ok.
@JuniorDjjr discover Mirror.scene and try to re-create by your requirement.
@fleity Yes, setup is a bit a difficult.
And with stacking camera (Overlay Camera) I was meet too. I don't know if it was fixed in author package.
For my need I fix it in my fork by this solution.

@Tokars
I already discovered your fix, thanks for that too :D. Sorry for asking directly but do you know how to make the "render shadows" toggle work and URP renderer drop down for the mirror camera work? I tried changing both but it doesn't make a difference and I would very much like to have that performance option.

Hi Tokars! Not sure if it's mentioned somewhere, but in my case I had the "default" kMirror and kShaders lines in the Manifest file and I could not make it work. I noticed that in your project (where everything was fine) those dependencies where different and the moment I changed them, it worked! I guess there was some issue with the kShaders.
Anyway, thank you all for your contribution!

Now I'm upd: project to 2020.3.25 editor version. All works ok. @JuniorDjjr discover Mirror.scene and try to re-create by your requirement. @fleity Yes, setup is a bit a difficult. And with stacking camera (Overlay Camera) I was meet too. I don't know if it was fixed in author package. For my need I fix it in my fork by this solution.

Thanks to this example project. I got it working. I could run it out off the box and found out that the Rotation of the mirror needs to be X = -90 to make it work.

For me setup was little bit difficult too. Package pretty cool. Here simple example for using with URP. Thanx @Kink3d

Thanks to this example project. I got it working. I could run it out off the box and found out that the Rotation of the mirror needs to be X = -90 to make it work.


Importing Debian 11 distro from .tar file gives "Unspecified error Error code: Wsl/Service/RegisterDistro/E_FAIL"

Windows Version
Microsoft Windows [Version 10.0.22631.3880]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-2
Distro Version
No response
Other Software
No response
Repro Steps
wsl --import Debian11 .\WSLStorage\Debian11\ .\debian11.tar
Expected Behavior
Expected to successfully import Debian 11 (the image was exported from docker "debian:bullseye-slim) from .tar file?
Actual Behavior
Unspecified error
Error code: Wsl/Service/RegisterDistro/E_FAIL
Diagnostic Logs
WslLogs-2024-07-16_15-51-56.zip

Thank you @HJTDM. Looking at the logs, it looks like file you're trying to import is not a valid tar:
Microsoft.Windows.Lxss.Manager	GuestLog	07-16-2024 13:52:21.023	"	"	"text: 	""bsdtar: Error opening archive: Unrecognized archive format ""
vmId: 	{6b442224-569f-4e8e-9437-9274083c689b}"				7408	4628	5		00000000-0000-0000-0000-000000000000

Does wsl --install -d debian work for you ?


bug(grpc): generation from proto

Generation from proto currently doesn't differentiate between input and output types. We need to have separate types for input and output.
Proposal
// src/optimizer/lib.rs

trait ConfigOptimizer {
  fn modify(&self, config: Config) -> Config
}

// src/optimizer/diff_input_output.rs
enum Strategy {
  Prefix,
  Suffix
}

struct DiffInputOutput {text: String, strategy: Strategy}

impl ConfigOptimizer for DiffInputOutput {
 // ...
}

This implementation will find all the types that are of used in args (inputs), and create a new type with the provided suffix or prefix and update all the usage of those types in the configuration.
Call optimizers to optimize the generated configuration via GRPC
Update
This architecture should be extended for https://github.com/tailcallhq/tailcall/issues/1322

/bounty 100$

/attempt

Cancelling my attempt for now
It's open for all

Trying to /attempt
Might drop if it takes longer for me to start with.

@tusharmath @ssddOnTop Hi, is this still open?

@ssddOnTop can you link the pr and close this issue.

fixed by https://github.com/tailcallhq/tailcall/pull/1718


Blocks.md Documentation Correction

Number 6 of the section "Connections between Blocks" in blocks.md incorrectly referred to "Block2" instead of "Start". Changed to reflect what is actually displayed in 3_menu_call.png

Thanks for the fix!


speeding up loading volumes

What problem are we solving?
Loading volumes is very slow when there are billions of objects
How are we solving the problem?
increase concurrency workers
Checks

[ ] I have added unit tests if possible.
[ ] I will add related wiki document changes and link to this PR after merging.

This only reduces the concurrency, right?

This only reduces the concurrency, right?

No, on my server(CPU:intel 4114) , workers can be set up to 40.
And on my VM, works will be set to 10 at least.

@guol-fnst Maybe you should use something like GOMAXPROCS ?

@guol-fnst Maybe you should use something like GOMAXPROCS ? I use a server with 64 cores, but 4 cores are given for virtualization k8s chart example
        env:
          - name: GOMAXPROCS
            valueFrom:
              resourceFieldRef:
                resource: limits.cpu

I got what you mean. Using runtime.GOMAXPROCS(-1) instead of runtime.NumCPU() to make number of workers to be customized by user, expercially in docker env ,right?
Just like this
workerNum := runtime.GOMAXPROCS(-1)
if workerNum <= 10 {
workerNum = 10
}
l.concurrentLoadingVolumes(needleMapKind, workerNum)

GOMAXPROCS() This call will go away when the scheduler improves.

GOMAXPROCS() This call will go away when the scheduler improves.
https://pkg.go.dev/runtime

How about using Getenv("GOMAXPROCS") to get customized numeber of worker, or if not set, use max  cpu number or 10.

looks good.

looks good.

I'll submite a new PR later

@kmlebedev
Do you have any different opinions about my previous solution?

@kmlebedev Do you have any different opinions about my previous solution?

no, thanks. this good


Automatically increment the version number and commit to master

Summary:
After implementing #1056, our alpha releases have been automated but yet the version name and version code don't update automatically.
This could cause some confusion as users might not realize that they are on the latest version while checking app's About page.
This link might be helpful for fixing the issue: https://medium.com/@IlyaEremin/npm-version-for-gradle-android-9137a7dc273c

@nicolas-raoul Good point! I can add the SHA of the commit in about. But it will then start appearing for all builds and not just alpha releases.
If we want the SHA to be visible just for alpha releases, we will need to create a alpha flavor and replicate prod configs for this flavor.
Both the things are easily doable. Let me know which approach do you prefer.
cc. @misaochan

It would not shock me to have this long version number for everyone.
After all, Windows version number are super long, example:

Windows has incremental version codes. An increasing number makes it easier for a nontechnical user as well.
Personally, I would prefer the version number in About to match what the play store shows. For alpha builds we can probably show the SHA as well.

Any solution that does not double the number of commits in master is fine, I would say ^_^

It's a bit ugly but this does work to get the full version number (AboutActivity:66):
try {
    String version = getPackageManager().getPackageInfo(getApplicationInfo().packageName, 0).versionName;
    versionText.setText(version);
} catch (PackageManager.NameNotFoundException e) {
    versionText.setText(BuildConfig.VERSION_NAME);
    e.printStackTrace();
}

However this doesn't allow us to see the commit hash which could be useful for debugging, as don't have access to Google Play dashboard.

Alternatively we could update it in Gradle (app/build.gradle:137):
versionNameSuffix "-alpha~" + getBuildVersion()

However this doesn't show the incrementing number which would also allow us to link to a specific release on Google Play, plus has the benefits mentioned above for users.

I think it would be valuable to have both. Maybe a combination of the above two methods (but could be ugly - hopefully you can come up with a better way)?

As @domdomegg mentioned in #1056 , ACRA reports are able to obtain the correct version number (that corresponds to the Play Store number). I think that would be most intuitive for users, and also easier for us to know which version everyone is talking about. Could we just use a similar method for About?

@misaochan The first method above basically does what ACRA does. I still think the commit hash could be useful - or another way to find the commit from the versionCode.

Edit: Actually, I thought about it a bit more, and realized that using the SHA would probably make debugging easier indeed, since we don't otherwise have a clear documentation of which version number was released after which commit (unlike manual releases which utilize build.gradle). So perhaps this solution may be best after all:

If we want the SHA to be visible just for alpha releases, we will need to create a alpha flavor and replicate prod configs for this flavor.

I would definitely say that we don't want or need the SHA for non-alpha releases.
An additional suggestion (which may potentially take more time to implement) - an issue with using SHA in About, even for alpha, is that now we have TWO "version numbers" that correspond to a single release. The first is the SHA that is visible in About, and the second is the incremental one that is visible in Google Play and in ACRA. This would be very confusing.
Given that the version number does not actually HAVE to be incremental, and AFAIK does not even need to be all numbers  (the build.gradle equivalent is actually a "version name"), why not use the SHA for both?

How about concatenating version_sha ?
An increment is still useful, for instance if I see a bug and Alice can not
reproduce it then I can say I am using version <IP_ADDRESS>_a5d79b and Alice
can easily tell whether she is using a prior or later version compared to
246.
On Wed, Dec 19, 2018, 18:41 Josephine Lim<EMAIL_ADDRESS>wrote:

Edit: Actually, I thought about it a bit more, and realized that using the
SHA would probably make debugging easier indeed, since we don't otherwise
have a clear documentation of which version number was released after which
commit (unlike manual releases which utilize build.gradle). So perhaps this
solution may be best after all:
If we want the SHA to be visible just for alpha releases, we will need to
create a alpha flavor and replicate prod configs for this flavor.
I would definitely say that we don't want or need the SHA for non-alpha
releases.
An additional suggestion (which may potentially take more time to
implement) - an issue with using SHA in About, even for alpha, is that now
we have TWO "version numbers" that correspond to a single release. The
first is the SHA that is visible in About, and the second is the
incremental one that is visible in Google Play and in ACRA. This would be
very confusing.
Given that the version number does not actually HAVE to be incremental,
and AFAIK does not even need to be all numbers (the build.gradle equivalent
is actually a "version name"), why not use the SHA for both?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/commons-app/apps-android-commons/issues/2127#issuecomment-448531983,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGFBuCN3pq6V4iEARr87ltETPXMipBMks5u6gm_gaJpZM4ZVMcl
.

@nicolas-raoul Great idea!

Eep. Let's carry on the discussion there, I think I might not have worded that comment clearly, lol.

@misaochan The only way I can think of showing SHA only for alpha users and not for other users is to have #2270 in place.
As of now alpha and actual prod use the build flavor and there's no way to differentiate between alpha and prod users. Having an alpha flavour would mean that in app/build.gradle we would have another block of properties named alpha similar to beta and prod. alpha flavor would have all properties the same as prod.
Then the ConfigUtils:getVersionName function can be modified to check for flavor and return version number accordingly.
BuildConfig.FLAVOR.equals("alpha")


feat: rpc method get class at

Adds the getClassAt RPC which returns the contract class at a given address for a given block.
Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Testing
[ ] Other (please describe):

What is the current behavior?

getClassAt missing from the Starknet RPC client for madara.
Issue Number: #197
What is the new behavior?

Add getClassAt to the RPC client.
Add testing for the getClassAt RPC method.

Other information
Example of calling getClassAt on the RPC client for the deployed test contract:

...

This item belongs to payment request #FD6F5A on OnlyDust:

from abdelhamidbakhta to greged93
1 item included
$750 for 1 day and 4 hours of work

This item belongs to payment request #FD6F5A on OnlyDust:

from abdelhamidbakhta to greged93
1 item included
$750 for 1 day and 4 hours of work

Payment request #FD6F5A has been processed and payment is complete. See you around on OnlyDust.


Add ability to generate Entity Relationship Diagram to ease developer onboarding

In order to make developer/data-analyst onboarding easier, I'm experimenting with the generation of an ERD diagram. This will help with the overall understanding of the application.
This is a draft/WIP (do not merge) and I'll get back to it, but please chime in if you hate the idea, so I stop working on it!
Remaining tasks

[ ] Generate the schema as CI artefact
[ ] Find a way to include the latest generated artefact in the README -> EDIT: this is complicated
[ ] Add a bit of documentation
[ ] Fix "quality" GitHub action (failing at the moment)

Example output

This is really cool @thbar ❤

@martindaniel4 thanks! I'll resume the work on this shortly.


feat: airtable query tool

Which issue(s) does this pull-request address?

Closes: N/A - New feature
Description

This PR introduces a new tool that allows the agent to query an Airtable base. It exposes two actions to the agent that it can execute:

GET_SCHEMA - Returns a JSON schema of the Airtable base listing tables, their fields and types.
QUERY_TABLE - Allows the agent to query an Airtable table using a formula filter and a field filter. Records are returned in JSON.

Checklist

[x] I have read the contributor guide
[x] Linting passes: yarn lint or yarn lint:fix
[x] Formatting is applied: yarn format or yarn format:fix
[x] Unit tests pass: yarn test:unit
[x] E2E tests pass: yarn test:e2e
[x] Tests are included
[x] Documentation is changed or added
[x] Commit messages and PR title follow conventional commits

Weird how @Tomas2D and I seemed to be reviewing at the same time.  If there is a clash between our feedback, please prefer the comment from @Tomas2D over my own.


Array.from in ES2015 should return instance of a subclass

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from

In ES2015, the class syntax allows for sub-classing of both built-in and user defined classes; as a result, static methods such as Array.from are "inherited" by subclasses of Array and create new instances of the subclass, not Array.

{ "compilerOptions": { "target": "ES2015" } }

class A {
    public static from(): A { return new A(); }
}

class B extends A { }

const value = B.from(); // expected value to be B, actual value is A

Note, that in your code snippet, the actual value there is A. Unless from is overridden, it will always return a new A.
Array.from also will always return an Array, but if you have a class Foo extends Array {}, Foo.from([]) will return a new Foo. However, Foo isa Array, so the type definition is still not invalid, just not precise enough for Array subclassing.

// expected value to be B, actual value is A

not sure how this would be true at runtime.

check it in your favorite browser:

It's not possible to give a type to these functions that will be automatically 100% accurate unless you declare the overrides yourself.
class X extends Promise  {}
// what's the type of x?
const x = new X(resolve => resolve()).then(() => {})

Object.defineProperty(X, Symbol.species, { configurable: true, value: Promise })
// what's the type of y?
const y = x.then(() => {})

@aleksey-bykov I think you're conflating the behavior of Array.from with the behavior of static subclassing.
In any case ,what you might want is this:
class C {
    static from<T>(this: new () => T): T {
        return new this()
    }
}

const c: C = C.from();

class D extends C { }

const d: D = D.from();

console.log(d instanceof C);
console.log(d instanceof D);

So @Kovensky, I don't know if it's true that you have to provide the overwrites yourself - however, if you wanted C and D to be generic, you'd need parameterized type parameters (i.e. higher order kinds) which we don't have.

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


⚠ Adacta-fintech.com has degraded performance

In 94c74d8, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 1734 ms

Resolved: Adacta-fintech.com performance has improved in d88c0eb.


Docopt command options_first flag, parsing negative numbers

For context, I'm working on porting a dicebot to use this library. Triggering this issue is that I'm attempting to create a command with a simple +/- numerical modifier. (example: !apoc -2, !apoc +1)
I've tracked this down to how IRC3 uses Docopt for command parsing, & how Docopt has an issue with using '-' to signal option commands. (docopt/docopt#158)
In the Docopt issue linked, there's a pair of workarounds provided which could work here:
Adding support for the options_first=True flag (added in Docopt 0.6.0), and adding the ability to modify an argument string as it comes in to prefix--.
I'm currently looking into how feasible this would be in the existing codebase, but at the least, adding the ability to flip the options_first flag would be an improvement.

As I understand you need this option per command, not globally ?

That'd be ideal. (I might be able to rework things to survive with a global options_first flag, but per-command would be the most flexible)

Already done, then. See the referenced commit (https://github.com/gawel/irc3/commit/76cc523036f91cd7cd96258da1debc56869861cc)


no None check when accessing attributes of extension types

With Cython 0.28.1. Given the following method:
    @staticmethod
    def from_buffers(DataType type, length, buffers, null_count=-1, offset=0):
        cdef:
            Buffer buf
            vector[shared_ptr[CBuffer]] c_buffers
            shared_ptr[CArrayData] ad

        for buf in buffers:
            c_buffers.push_back(buf.buffer)
        # [snip rest of method]

Cython generates the following C snippet for the for loop:
  struct __pyx_obj_7pyarrow_3lib_Buffer *__pyx_v_buf = 0;
  /* ... */
  for (;;) {
  /* ... */
    if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_7pyarrow_3lib_Buffer))))) __PYX_ERR(2, 403, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v_buf, ((struct __pyx_obj_7pyarrow_3lib_Buffer *)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "../../pyarrow/array.pxi":404
 *
 *         for buf in buffers:
 *             c_buffers.push_back(buf.buffer)             # <<<<<<<<<<<<<<
 *         ad = CArrayData.Make(type.sp_type, length, c_buffers,
 *                              null_count, offset)
 */
    try {
      __pyx_v_c_buffers.push_back(__pyx_v_buf->buffer);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(2, 404, __pyx_L1_error)
    }

As you see Py_None is allowed and then blindly casted to a struct __pyx_obj_7pyarrow_3lib_Buffer *, from which the buffer member is then dereferenced.
I would expect Cython to either refuse None here (letting me implement the required logic myself) or check for None when dereferencing an attribute (and raise an exception perhaps?).

I agree that this can be surprising, but it's been like that ... maybe forever? I'm pretty sure that behaviour is documented somewhere.
The fact that None is allowed is ok, since all object typed variables necessarily support a None assignment. The cast is required afterwards to support the assignment of PyObject* to the cdef class typed variable.
The thing then is that accessing fields of cdef classes does not check for None, and that's for two reasons: performance, and to make them accessible inside of nogil sections. There is a somewhat hand-waving argument that accessing a cdef class field is an unsafe C operation and not a Python protocol, a bit of "practicality beats purity".
I could imagine issuing an invisible warning for this, but a) that means that people still wouldn't normally see it, and b) if they increase the warning level, they'd probably be swamped with false positives, unless we implement very good None check tracing, which we currently do not do at all in the control flow analysis (we leave that to the C compiler, which does a very good job eliminating our generated None checks).
I'm leaving this open as it might actually be worth revisiting the impact of this with recent compilers and CPUs, although that doesn't resolve the problem of breaking existing working (and correct) code that does not support raising an exception from a given function.

I see the "nonecheck" compiler directive which looks like a good enough solution for us.


Event.context gives unwrapped object instead of wrapped object

I am seeing an issue that started upon upgrading to 0.7.2. It only happens with my code that uses Backbone models, but I believe it would be a problem for any wrapped object.
Prior to the upgrade when a proxy event fired and was picked up by an event handler the value of e.context was the backbone model itself. Now it is the value of the attributes (the "unwrapped" value). We have been relying on this method to get the actual model so that we can use custom methods on the model.
It looks like the problem is in Viewmodel$get. There, once a value is found for a keypath there is an if statement that decides whether the value is wrapped and if it should be unwrapped. In 0.7.2 is looks at !options.noUnwrap, whereas 0.6.1 looks options.evaluateWrapped.
I thought I could solve my problem by setting options.noUnwrap but there doesn't appear to be any way to set it as this method is called from the genericHandler and it does not pass in an options object.
Is this intended? This appears to be a breaking change but was not listed in the changelog. This seems like the possibly relevant line:

ractive.data is no longer available. Use ractive.get() to get a shallow copy of the data with any component mappings.

But to me this does not imply the behavior I noted above. Was it meant to?

Updated the description to be more clear. Dn't know if it is legitimately an "issue" or if I just missed something. Guidance on this issue would be appreciated!

AFAIK we broke that unknowingly didn't intentionally mean to change that behavior for the 0.7 release - so I've marked as bug.

Is there a workaround for this bug? I'm not above forking and patching until this is properly solved. I am using ractive-backbone and this bug is a showstopper for me. I can't revert my project to Ractive 0.6.x.

It looks like in the mean time you can get the value of e.context by doing var model = this.get(event.keypath)
However I decided to instead alter my templates to explicitly pass in the model: on-click="myEvent:{{this}}"
and correspondingly changed my event handler like so:
function(e, model) {
    // ... stuff
}

Slightly more work but it is more declarative.

@tcunnington Thank you

Looks like this is behaving correctly in 0.8 – will close

@mindgamesru this issue doesn't have a reproduction. Could you open a new issue with a repro so we can get a good regression test in place?


Fixing output as observed currently

Hi @AlekseiPolkovnikov, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (alpolko). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@AlekseiPolkovnikov : Thanks for your contribution to the Azure documentation! The author, @sdwheeler, has been notified to review your proposed change.

#sign-off


Finding the size of the tree--->Java

Function to get size of a binary tree

refer the issue number as-> Closes: #[issue_number]


Fixes for get partition boundaries

This applies the same fix that eliminates duplicate entries when using getPartitionBoundaries(...) for small values of N, in all the quantile sketches.

This is the final review before I start the release process for Java - 5.0.0


"EditText with index 0 is not available!" doesn't work with Android 2.1 SDK

From<EMAIL_ADDRESS>on November 06, 2011 14:44:44
What steps will reproduce the problem? Below are the test steps that work fine for Android 2.2 and Android 2.3.3. But fails on Android 2.1(API level 7)

Application Layout has the definition as follows for the search
<Button
android:id="@+id/text_search_field"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:paddingRight="32dip"
android:hint="@string/common_search_hint"
android:textAppearance="?android:attr/textAppearanceMediumInverse"
android:textColor="@android:color/primary_text_light"
android:focusableInTouchMode="false"
android:freezesText="true"
android:singleLine="true"
android:ellipsize="end"
style="?android:attr/editTextStyle" />

From test case, I want to provide a value in the search box. So I did the following
solo.clickOnView(solo.getActivity().findViewById(com.ebay.mobile.R.id.text_search_field));
solo.clearEditText(0);
solo.enterText(0, "ipod");
solo.sendKey(Solo.ENTER);

or I also tried
		solo.clearEditText((EditText)b.findViewById(com.ebay.mobile.R.id.text_search_field));
		EditText editText = (EditText)  solo.getView(com.ebay.mobile.R.id.text_search_field);
                    solo.enterText(editText, "ipod");
                    solo.sendKey(Solo.ENTER);

In the test application AndroidManifest.xml file I did specify the following
<supports-screens android:anyDensity="true"/>
<uses-sdk android:minSdkVersion="4" />
<uses-sdk android:targetSdkVersion="7"/> What is the expected output? What do you see instead? Expected output:- The search box should contain the value "ipod" and should display the results
Actual output:- Displays error message "junit.framework.AssertionFailedError: EditText with index 0 is not available!" What version of the product are you using? On what operating system? OS :- MAC
Robotium:- 2.5
Fails on Android SDK 2.1 and works fine on Android SDK 2.2 and 2.3.3

Note:- I also looked at the below forum questions and tried. But nothing worked. Any suggestions or help is appreciated. http://groups.google.com/group/robotium-developers/browse_thread/thread/4787d16125372f36 http://stackoverflow.com/questions/3544445/problem-of-robotium
Original issue: http://code.google.com/p/robotium/issues/detail?id=181

From<EMAIL_ADDRESS>on November 07, 2011 03:25:18
The SDK version is not the reason for your issues, its more probable that it is a timing issue. Robotium 3.0 will be released in a few days. Hopefully this issue will be fixed in that release.
Status: Done

From<EMAIL_ADDRESS>on November 07, 2011 16:06:54
I have to test my app on Android V 2.1,2.2. and 2.3.3.
As mentioned the tests work for Android-2.2 and Android-2.3.3. So should I ignore runing tests on 2.1 or it will be great if you can provide some suggestion that I can try?

From<EMAIL_ADDRESS>on November 16, 2011 00:17:22
I have the same problem while using Robotium with Android2.1/1.6/1.5
and I have already updated the robotium to 3.0,but nothing worked.Any suggestion?

From<EMAIL_ADDRESS>on November 16, 2011 00:28:10
The activity where the edit text is located needs to belong to your
application. Please see the QA wiki page.

From<EMAIL_ADDRESS>on December 29, 2011 00:00:59
Hi Renas, I downloaded latest robotium 3.0 and still face the same issue with Android 2.1.
I am testing eBayMobile app, the usecase is simple, to search for "ipod"(the search exists on main activity) and click enter.
As described above, #2 logic still fails.
Any suggestions or pointers will be great.

From<EMAIL_ADDRESS>on January 03, 2012 10:09:46
Hi Renas, any suggestions...

From<EMAIL_ADDRESS>on January 03, 2012 10:42:20
I have no idea at all why it would fail on Android 2.1. And unfortunately there is nothing I can do about it. The way in which Robotium works is similar for all the versions. So there is no reason from a Robotium perspective why it would not work on 2.1. Also nothing can be changed in the Robotium code that would fix this issue.  Its a platform specific issue.


Subquery to add oneToMany information

Hi,
I am trying to add a column to my table that is calculated (select count ...)
I have a table address and other tables that have a ManyToOne relation to the address table.
In my AddressRepository the query looks like this:
return $this->createQueryBuilder('a')
                  ->select('a.street', 'a.zip', 'a.city')
                  ->addSelect('(
                        SELECT count(t.id) FROM App\Entity\Table01 t
                        WHERE t.address = a.id
                      ) as tCount')
                  ->getQuery()
                  ->getResult();

and I am able to receive an array as output with exact 4 columns.
I tried to put this to the ORMAdapater to use the datatables logic for ordering, pagination etc. but I was not able to do it.
Within the documentation I couldn't find something to achieve my goal.
If someone could give me just a hint I would also be happy to enhance the documentation for this.
My current solution is to use the ArrayAdapter and parse the request with my own logic. This solution is definetly not what I want.
Best regards
Michael

Please refer to https://github.com/omines/datatables-bundle/issues/161
/close


change "Programming languages" to "Computer languages" in README

Change "the list contains hello world in every programming language" to "the list contains hello world in every computer language"
The list also contains Scripting languages, Hardware disctiption languages, Markup languages and much more not just programming languages.

Now that's good. No more "HTML is a markup language not programmimg language". Simple solution to Stupid issues.
+1:

I bet the next issue is going to be something like "Languages are usually referred to as programming languages, not computer languages", this change will be reverted and the cycle will be complete.

No one will say that. All languages are categorised under Computer
Languages.
Its just that Programming languages is the frequently used term.
On Wed, 1 Apr, 2020, 2:24 PM Simone Vittori<EMAIL_ADDRESS>wrote:

I bet the next issue is going to be something like "Languages are usually
referred to as programming languages, not computer languages", this change
will be reverted and the cycle will be complete.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/leachim6/hello-world/issues/723#issuecomment-607123031,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJTWAK442MPVZ7UD2HGDLRLRKL6K7ANCNFSM4KS5RMVA
.


Fix regression in isObject (crashed w/ null values).

Accessing a column that has null values crashes in the latest version of danfojs, e.g for a dataframe:
df = DataFrame([{b: 5}, {a: 12, b:3}, {b:2}])
Accessing df["a"] would crash on isObject looking for a constructor for the null value.
It's odd because I found a previous pull request fixing this:
https://github.com/javascriptdata/danfojs/pull/208
Not sure why this regression was introduced.
I also tried adding a test to catch such regressions in the future but noticed all columns' tests are commented out in:
tests/core/frame.js
Is that a temporary measure? Having all of those commented out might let such errors slip in in future releases.

Accessing a column that has null values crashes in the latest version of danfojs, e.g for a dataframe:
df = DataFrame([{b: 5}, {a: 12, b:3}, {b:2}])
Accessing df["a"] would crash on isObject looking for a constructor for the null value.
It's odd because I found a previous pull request fixing this: #208 Not sure why this regression was introduced.
I also tried adding a test to catch such regressions in the future but noticed all columns' tests are commented out in: tests/core/frame.js
Is that a temporary measure? Having all of those commented out might let such errors slip in in future releases.

Thanks for the fix! I'll review and merge. Regarding the commented out test, It must have been a mistake, I'll uncomment them and ensure they pass now.


Redefine the power operator(**) in Complex class

The current definition of the power (**) operator does not work because of the following line:

for _ in range(other):
Since other (which is a complex number) is not countable, this line will throw an error.

When raising one complex number to the power of another complex number the use of polar coordinates will make our work easier.

For a barebones library, I only made the case where we can raise a complex number to a real number power. Raising one complex number to other is something I have little idea about. How do you think we should work on that?

It is simple yet tedious. Would you okay with using the standard math library that python has in it? like using sines, cosines and pow function would make things would make it extremely Complex numbers simple (pun intended).

Yeah sure.
We can do it is as follows:

I will try to get to it as soon as possible


Drop the legacy file contents encoding

We built our own file encoding based on @ as a special character, but that's unnecessary now.

Done primarily in 7f00d534, 09842d7a, and 4c9c2b6c.


WIP: Feature/beanie

BeanieCrudRouter works for manual testing — if you create an app with it, it works.
Provided tests don't pass though, so perhaps a custom test suite might be needed for Beanie.
TODOs:

[ ] Write tests
[ ] Update docs

Hey any chances this will get merged?


[Storage] Update global variables used in browser mode to include the word "storage"

This PR updates the name of the global variables used in browser mode to include the word "storage".
This helps in differentiating between other possible "queue", "file" or "blob" entities in Azure

Closing this PR as it is no longer relevant now that we are not going to be shipping the browser bundle along with the package as per #5865


minor: release V2.2.16

Codecov Report

Merging #822 (9d2e9f7) into V2.2.X (541bc8c) will decrease coverage by 45.87%.
The diff coverage is 33.33%.

@@             Coverage Diff             @@
##           V2.2.X     #822       +/-   ##
===========================================
- Coverage   71.04%   25.16%   -45.88%
===========================================
  Files         294       21      -273
  Lines       21596     1037    -20559
===========================================
- Hits        15342      261    -15081
+ Misses       6254      776     -5478

Impacted Files
Coverage Δ

apps/node_man/constants.py
3.54% <0.00%> (-94.68%)
:arrow_down:

config/default.py
3.83% <50.00%> (-75.79%)
:arrow_down:

config/dev.py
14.81% <0.00%> (-62.97%)
:arrow_down:

apps/utils/md5.py
25.00% <0.00%> (-62.50%)
:arrow_down:

apps/utils/string.py
30.00% <0.00%> (-60.00%)
:arrow_down:

apps/utils/cache.py
37.83% <0.00%> (-59.46%)
:arrow_down:

apps/utils/basic.py
29.48% <0.00%> (-48.72%)
:arrow_down:

apps/utils/enum.py
58.06% <0.00%> (-35.49%)
:arrow_down:

... and 278 more

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 bb5d7f7...9d2e9f7. Read the comment docs.


Intersection will be splited when wrap a tuple and use extends tuple.

🔎 Search Terms

intersection
Distributive Conditional Types
union

🕗 Version & Regression Information

This changed between versions 4.1.5 and 5.3.2

⏯ Playground Link
https://www.typescriptlang.org/play?#code/KYDwDg9gTgLgBDAnmYcDCEA2ngGMYAMAPACoA0cAqgHxwC8cJcoMwAdgCYDOcA2gLpwA-HDbAAbsChwAXHyYAyKvwBQoSLATJUGbHhgBGUhRr15cJZVUqkKRgTMG4AHzgAmF3ADkAZi8XRAFcAWwAjKRUAeki4WIA9IRttRicGXRx8YidXD1cfTy8AFi8KNhDwqGoomPjE21QSDzSsDMMibPdPfNcikqCwqSro2LgElSA
💻 Code
export type Collect0<T, U> = T extends [] ? never : [T & U]
export type Collect1<T, U> = [T & U]

type T0 = 1 | 2 | '3' & number
//   ^? type T0 = 1 | 2
type T1 = Collect0<1 | 2 | 3 | '4', number>
//   ^? type T1 = [never] | [1] | [2] | [3]
type T2 = Collect1<1 | 2 | 3 | '4', number>
//   ^? type T2 = [1 | 2 | 3]

🙁 Actual behavior
type T1 = Collect0<1 | 2 | 3 | '4', number>
//   ^? type T1 = [never] | [1] | [2] | [3]

🙂 Expected behavior
type T1 = Collect0<1 | 2 | 3 | '4', number>
//   ^? type T1 = [1 | 2 | 3]

Additional information about the issue
No response

Working as intended.
https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types

On a side note, T0 should be written as
type T0 = (1 | 2 | '3') & number

because & has higher precedence than |.

Working as intended. https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types

Yes, I've seen this. So is this true even in the else branch? Here, this looks very strange.

Yes.  Distribution is over the entire conditional type, not individual branches.  In other words it runs the ternary conditional expression once for each member of the union and then reassembles it at the end.
This does what you want:
export type Collect0<T, U> = [T] extends [[]] ? never : [T & U]

You are faster than me, haha.

A little weird, but I get it, thanks for your help.


Enable "causal chains"

Zalando problem supports "causal chains" as described on https://github.com/zalando/problem#stack-traces-and-causal-chains.
{
  "type": "https://example.org/order-failed",
  "title": "Order failed",
  "status": 400,
  "cause": {
    "type": "https://example.org/out-of-stock",
    "title": "Out of Stock",
    "status": 400,
    "detail": "Item B00027Y5QG is no longer available"
  }
}

Feature request
The cause for a "problem" is given as part of a Quarkus "problem" response, too.

This ist already supported and we are already using it. But it is not covered yet by any test. Have a look at https://github.com/cloudstark/quarkus-zalando-problem-extension/blob/master/runtime/src/main/java/solutions/cloudstark/quarkus/zalando/problem/runtime/jsonb/DefaultProblemSerializer.java#L50-L52

Ah, I see  - if a problem had a "cause", it was "rendered" already.
#41 adds the ability, if an exception has a cause, that this cause will be "rendered", too.