fix default charset issue

Coverage remained the same at 50.101% when pulling bd4f31158b6914cc74c3026ad3948d26a26f3efc on nobodyiam:client-charset into 1ca1b8d10b55730be211c307011f0a3231ad9adc on ctripcorp:master.

Codecov Report

Merging #636 into master will decrease coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #636      +/-   ##
============================================
- Coverage     46.55%   46.54%   -0.02%
+ Complexity     1472     1471       -1
============================================
  Files           342      342
  Lines          9381     9381
  Branches        927      927
============================================
- Hits           4367     4366       -1
  Misses         4682     4682
- Partials        332      333       +1

Impacted Files
Coverage Δ
Complexity Δ

...com/ctrip/framework/apollo/util/http/HttpUtil.java
83.33% <100%> (ø)
6 <0> (ø)
:arrow_down:

...ervice/service/ReleaseMessageServiceWithCache.java
85.71% <0%> (-1.2%)
24% <0%> (-1%)

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 1ca1b8d...bd4f311. Read the comment docs.


Auto sign service contract without a dialoog

Changes in codeunit 5943 Lock-OpenServContract to lock a service contract without a dialoog.
Global var
DoAutoSign: Boolean;
New procedure:
procedure SetAutoSign()
begin
DoAutoSign := true;
end;
And changes in procedure LockServContract
Old:
if not ServContractLine.IsEmpty() then begin
if not ConfirmManagement.GetResponseOrDefault(Text002, true) then
exit;
SignServContractDoc.AddendumToContract(ServContractHeader);
end;
New:
if not ServContractLine.IsEmpty then begin
if not DoAutoSign then //Changes
if not ConfirmManagement.ConfirmProcess(Text002, true) then
exit;
//Changes Begin
if DoAutoSign then
SignServContractDoc.SetHideDialog(true);
//Changes End
SignServContractDoc.AddendumToContract(ServContractHeader);
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


[embedded] Add back lazy collection operations, collection diffing and StaticBigInt to Embedded Stdlib

Straightforward enablement of a bunch of files to the Embedded stdlib, which seem to be excluded for no reason:

DiscontiguousSlice.swift
DropWhile.swift
Filter.swift
FlatMap.swift
Flatten.swift
Join.swift
Map.swift
PrefixWhile.swift
CollectionDifference.swift
Diffing.swift
StaticBigInt.swift
UnfoldSequence.swift

rdar://139729059
rdar://139729075
rdar://139729137

thanks!

@swift-ci please test

StaticBigInt will be limited by issue #75652.

@swift-ci please test

StaticBigInt will be limited by issue #75652.

Good point. Let's use https://github.com/swiftlang/swift/issues/75652 to track that problem. (The suggestion to increase the bitWidth sounds reasonable to me.)


Device H6076 - Max Brightness 39% in Homekit

Details of your setup.

Do you use Homebridge (with config-ui?) or HOOBS?
Homebridge v1.6.0

Which version of Homebridge/HOOBS do you have?
Homebridge v1.6.0

Which version of this plugin (homebridge-govee) do you have? Has the issue started since upgrading from a previous version?
I have tried to latest and beta releases (7.7.1 and 7.7.2 Beta 4)

Which Govee devices do you have that are causing issues? Please include product models if applicable.
RGB Lamps - H6076

Hi,
I recently received the H6076 RGB Lamp as a gift. I downloaded the latest build of the plugin (7.7.1) and I am experiencing an issue where iOS home app will show the max brightness at 39% despite the Govee app showing the lamp is set to 100%. I have tried the latest version of the beta plugin (7.7.2 Beta 4) and I am still running into the same issue.
Below is a copy of the log from Homebridge:
[12/28/2022, 4:15:49 PM] [Govee] [RGBICW Floor Lamp Basic] [AWS] sending update {"msg":{"cmd":"status","cmdVersion":2,"transaction":"v_1672262149608000","type":0}}.
[12/28/2022, 4:15:49 PM] [Govee] [RGBICW Floor Lamp Basic] [LAN] receiving update {"onOff":1,"brightness":100,"color":{"r":255,"g":255,"b":255},"colorTemInKelvin":2000,"source":"LAN"}.
[12/28/2022, 4:15:49 PM] [Govee] [RGBICW Floor Lamp Basic] current brightness [100%].
[12/28/2022, 4:15:49 PM] [Govee] [RGBICW Floor Lamp Basic] [API] receiving update {"online":true,"powerState":"on","brightness":100,"colorTemInKelvin":2000,"colorTem":2000,"source":"API"}.
[12/28/2022, 4:15:51 PM] [Govee] [AWS] message event [{"proType":2,"sku":"H6076","device":"F4:76:CE:32:37:35:7B:66","softVersion":"1.03.03","wifiSoftVersion":"1.02.11","wifiHardVersion":"1.00.10","cmd":"status","type":0,"transaction":"v_1672262149608000","pactType":1,"pactCode":1,"state":{"onOff":1,"brightness":100,"colorTemInKelvin":2000,"color":{"r":255,"g":255,"b":255},"mode":21,"result":1},"op":{"command":["qgUVAQfQAAAAAAAAAAAAAAAAAGw=","qqUBZP+NC2T/jQtk/40LZP+NCw4=","qqUCZP+NC2T/jQtk/40LAGRkZHQ=","qhEAHg8PAAAAAAAAAAAAAAAAAKU=","qhIAZAAAgAoAAAAAAAAAAAAAAFY=","qiP/AAAAgAAAAIAAAACAAAAAgHY="]}}].
[12/28/2022, 4:15:51 PM] [Govee] [RGBICW Floor Lamp Basic] [AWS] receiving update {"source":"AWS","onOff":1,"brightness":100,"colorTemInKelvin":2000,"color":{"r":255,"g":255,"b":255},"mode":21,"result":1,"op":{"command":["qgUVAQfQAAAAAAAAAAAAAAAAAGw=","qqUBZP+NC2T/jQtk/40LZP+NCw4=","qqUCZP+NC2T/jQtk/40LAGRkZHQ=","qhEAHg8PAAAAAAAAAAAAAAAAAKU=","qhIAZAAAgAoAAAAAAAAAAAAAAFY=","qiP/AAAAgAAAAIAAAACAAAAAgHY="]}}.
[12/28/2022, 4:15:51 PM] [Govee] [RGBICW Floor Lamp Basic] current brightness [39%].
[12/28/2022, 4:15:51 PM] [Govee] [RGBICW Floor Lamp Basic] new scene code: [qqUBZP+NC2T/jQtk/40LZP+NCw4=] [aaa50164ff8d0b64ff8d0b64ff8d0b64ff8d0b0e] [op:aa].
[12/28/2022, 4:15:51 PM] [Govee] [RGBICW Floor Lamp Basic] new scene code: [qqUCZP+NC2T/jQtk/40LAGRkZHQ=] [aaa50264ff8d0b64ff8d0b64ff8d0b0064646474] [op:aa].

Hi @dzslasher
Can you update to the newer beta version of the plugin?

Hi bwp91
After updating to the latest beta (v7.7.2-beta 5), the lamp is working without issue.
Thank you!

Marking this issue as resolved as the latest beta version fixed the issue.


pkg/selinux: consider rewriting and moving to somewhere else

The code on that package is smelly and not rkt specific.
We should consider fixing/externalizing it.

Tracked upstream at https://github.com/opencontainers/runc/issues/897. I'm not sure about the timeline of externalizing it though, so I'm de-milestoning for the moment and assigning to myself for future tracking.

Note: The runc library libcontainer/selinux has been moved to github.com/opencontainers/selinux so rkt could make use of that library without needing to use your own implementation.

Yep, thanks. I'm aware of the move but didn't have time yet to track down how big is the delta and whether we have things on our side to upstream (I'm pretty much sure we have).


Null support for objects?

Hey All,
I'm just wondering if there is any null support for nullable objects.
My response object looks like such:
@AutoValue
public abstract class MyObject implements Parcelable {

    /**
     * Name can be null
     */
    @SerializedName("A")
    public abstract String getName();

    public static TypeAdapter<MyObject> typeAdapter(Gson gson) {
        return new AutoValue_MyObject.GsonTypeAdapter(gson);
    }
}

When i retrieve a nullable object, i get the following:
java.lang.NullPointerException: Null name
Am i incorrect in assuming this is supported out of the box?
Thanks,
Scott.

Please paste the full stacktrace. Also check out gson's .nullSafe() API on TypeAdapters

This is a question for autovalue, not auto-value-gson. You can use any @Nullable annotation and autovalue will recognize it, please read their docs.

If you annotate your abstract method with @Nullable, it will be able to deserialize it to null


Drag and drop to update resource orders in editor

https://github.com/react-dnd/react-dnd
https://github.com/clauderic/dnd-kit

Just wanted to clarify that there will be two separate DnD spaces right?

All used/referenced resources.
Unused resources.

Also I think another bit of enhancement we could do is to create some sort of drop area where we can drop resources and they will get deleted.

@MehadND It's meaning the resource order in the editor not resource's dashboard.

@michaelien Ah okay I misunderstood. Got it so basically when we creating or editing a memo we can arrange the order of resources or does images inside a memo also count

@MehadND Thanks, it seems like a better choice, with more detailed documentation and examples. https://github.com/clauderic/dnd-kit

Yes and also looks easier to setup and has been getting updates recently. Glad I could help


Fix a crash occurring when the application exits

Currently, running Tangram from GLFW and closing the app will produce a segmentation fault during the exit process. The same (bad) behavior occurs on every platform, but errors get suppressed on Android and iOS. The reasons for this error are somewhat nuanced, but have been found and resolved (so feel free to skip the following description).
In order to recover from GL context loss, classes that contain handles to OpenGL objects (ShaderProgram and VboMesh) previously tracked all instances of themselves in static std::sets so that they can be efficiently invalidated when context loss occurs. Instances of these classes add themselves to these sets in their constructor and remove themselves from it in their destructor. In typical program operation this works as expected, but it fails when exiting the program. On exit, the main resource containers (tileManager, scene) are automatically destructed, further destructing all of their members all the way down to ShaderPrograms and VboMeshes. When these destructors are called, we find that the static sets for these classes have already been destructed! As it turns out, our main resource containers are globally scoped in the program, meaning that they have static storage duration. All objects with static storage duration persist for the entire main function, but the order of destruction of these objects is undefined between different compilation units (source files). The result is that these instances of ShaderProgram and VboMesh weren't getting destructed until after other parts of static memory (namely, the static sets in their classes).
The simplest solution was to modify our context-loss-recovery strategy to not require tracking all instances of those classes. I modified both classes to instead statically track the number of times the GL context has been invalidated and check with each use whether they are 'up to date'.

Good to merge.
Will have to add teardown usage on ios for consistency and we will most likely be using teardown in future. That being said, we have already discussed this and have a plan for its implementation.
Merging..


database hash fail

Trying to do this:
DatabaseCleaner[:active_record,{:connection => ActiveRecord::Base.connection}].strategy = :truncation

DatabaseCleaner[:active_record,{:connection => CoreModels::Base::Connection.connection}].strategy = :truncation, {:only => %w[users members roles sites]}

DatabaseCleaner.clean
=> ActiveRecord::StatementInvalid: PGError: ERROR:  relation "users" does not exist

But from reading the source it seems you can't pass the object pointer only a hash that is then read from database.yml :( we are using a nested database yml for multiple postgres connections so this don't work.
Would be good to pass in the connection object :)

Why do you need that? database_cleaner was designed for running tests with clean db, so If you have specific connection why don't you just describe it in database.yml in "test" group?


Fixing incorrect logging code

Fixes #71733

@jimbobbennett : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@jimbobbennett
Please submit a new PR with these changes in the private repo (azure-docs-pr). Thanks!

@v-andreaco - done. https://github.com/MicrosoftDocs/azure-docs-pr/pull/149511


handle client side reorgs

Splitting out from https://github.com/lbryio/lbry-sdk/issues/3110
when reorgs happen on the wallet server, the client is doesn't have any handling and gets into integrity issues which cause transaction failures (i.e missing inputs).

Possible solution: remove local addresses during sync process

This continues to cause issues client side for users and creators, especially when there are reorgs or other hub issues.

this is blocked on having wallet server properly handle and notify client of reorgs, see: #3520


spell

Thank you! Unfortunately there's still a typo - my mistake from before.
It should be "A bug is reproducible and..."


Javascript inconsistent between PyPI and npm/unpkg

Environment

Operating System: Ubuntu
Python Version: 3.7.4
How did you install Qgrid: pip
Python packages: qgrid 1.2.0, notebook 6.0.3, voila 0.1.20
Jupyter lab packages (if applicable): N/A

Description of Issue
Qgrid widget does not display in Voila in certain scenarios.  Please see ongoing discussion at https://github.com/voila-dashboards/voila/issues/72.  A couple people identified a workaround where they changed the first line of qgrid/index.js from this (which is what you get from PyPI):
define(["@jupyter-widgets/base","base/js/dialog"], ...
to this (which is what you get from unpkg.com):
define(["@jupyter-widgets/base"], ...

See my recent comment in the Voila thread.
Anything else?
We love qgrid but would prefer to avoid patching it! :)

Hey @jeffyjefflabs - thank you for reporting this (and apologies for the late response). This is currently fixed on master. Once we get through https://github.com/quantopian/qgrid/issues/287#issuecomment-587564687, we'll cut a new release.

This is now released - let us know if it is still an issue.

Looks good to me, thanks!

@gerrymanoim did this get reverted somehow?  I definitely tested it last week and it worked, but now it seems broken again.  Am I losing my mind?
Fresh pip install, pip freeze shows 1.3.0, but does not work in voila (offline).  Index.js line 1:
define(["@jupyter-widgets/base","base/js/dialog"], function(__WEBPACK_EXTERNAL_MODULE_143__, __WEBPACK_EXTERNAL_MODULE_150__) { return /******/ (function(modules) { // webpackBootstrap

If I remove base/js/dialog from the define, it works in voila.  The unpkg.com version does not have base/js/dialog.
Thanks for the help.

@jeffyjefflabs - We had to move to a new npm package - see the discussion here: https://github.com/quantopian/qgrid/pull/288.
The unpkg version for qgrid2 shows the right thing (I believe<EMAIL_ADDRESS>The instructions at https://github.com/quantopian/qgrid#jupyterlab-installation should also be referencing qgrid2 now.
Apologies for the confusion.

Hmm ok so maybe the problem is actually that the nbextension and the labextension are different?  The nbextension (installed via pip) contains (in local file nbextensions/qgrid/index.js) define(["@jupyter-widgets/base","base/js/dialog"].... Voila, when configured to server local nbextensions, will try to serve that local file, but since base/js/dialog is provided by the classic notebook and isn't there in Voila, you get an error.  If you're offline, game over, qgrid won't work.  If you're online, Voila will fallback to unpkg.com, in which case it's actually getting the labextension code instead, which then works.
Does that sound like a more plausible explanation for what's happening?

Ah - yes, I think that makes sense?
I believe that's coming in via https://github.com/quantopian/qgrid/blob/master/js/webpack.config.js#L63 which was added in https://github.com/quantopian/qgrid/commit/b3f8379b1c40fc5ce2238860d4a7985a71700296#diff-69efad4a1399d8cd8a26a3771ae156df.
I'm unclear on what effect that will have, if any, on non-lab users if we just drop that external.

I know my colleagues really like the full-screen feature so I wouldn't want that to go away!
From this bit of code it seems like at one point base/js/dialog could be conditionally required.  But without that external I'm guessing it ends up like the npm version (search for dialog), where it looks like webpack was unhappy about it.  I'm not familiar with webpack at all, so I don't know if there's a way to make it play nice here.

I'm also not all that familiar with webpack, but it seems like it should be possible.
I've created https://github.com/quantopian/qgrid/issues/298 to track this outside the PR thread.  Will try to find some time to research a solution.

Awesome, thanks for continuing to look into it.  Fortunately we have a couple workarounds, so we're not dead in the water.

Has this now been resolved ?  We are impacted by this issue - qgrid not displaying in voila - causing all widgets to not be displayed -> Voila renders a blank screen (no errors).
I've applied the qgrid/index.js patch temporarily and voila now rendering my dashboard correctly (ipywidgets/qgrid).
Using:
python 3.8.1
qgrid 1.3.1
voila 0.2.7
ipywidgets 7.6.3
jupyter 1.0.0
jupyter_client 6.1.11
jupyter_core 4.7.1
jupyter_server 1.4.1
Any ideas ? (Thanks in advance)


Allow Stream Enrich to download data from private S3 or GCS

@benjben I addressed your feedback in separate commits, please let me know if they meet your feedback, I'll squash once we agree with the changes.

The configuration need some serious rework
I definitely agree with you @chuwy , stream enrich models have to depend on the way pureconfig works.

It is then a natural result that whole codebase is shaped and developed based on the model, which constraints the maintainer.

Hi @chuwy , I tried to address your written & verbal feedback in a separate commit. Please let me know how it looks.


Move HTTP::Multipart to MIME::Multipart

This is implementing the proposal of issue #7078

I'd never expect MIME::FormData. I'd expect HTTP::FormData.

@m1lt0n I opened an issue instead of a PR so this can be discussed first. Lets please talk about the general proceeding in #7078 and then come back to this PR.

@straight-shoota Sure! That was my intention too. Sorry if the PR took some time from people to look at it. My intention was to have a PR ready (that's why I referenced it in the PR) if the issue discussion proceeds and gets accepted as is (or with some ammendments based on the discussion on the issue). Thanks for your feedback.

@m1lt0n Could you revert to HTTP::FormData as per #7078 ?

@straight-shoota Ok, done. Moved the changes of FormData back to HTTP.

@m1lt0n there are some conflicts since the last release. Would you be willing to rebase & fix on master so this can be merged?


Add MDNlink to "Iterate over Arrays with .map"

This is a first try.

Please note - we aren't adding MDN links to Waypoints - only bonfires. The point of the Waypoints is to be fast paced. If there's content on the MDN page that we need to communicate it, we should communicate it in the waypoint itself.


[BUG] model.eval with CPU returns None if insufficient memory

Describe the bug
model = models.Cellpose(gpu=False, model_type="nuclei")
masks, _, _, _ = model.eval(image, diameter=diameter)

If < ~80 Gb of memory provided for the job, then masks is None. If sufficient memory is provided then masks is not None.
model.eval is not throwing an insufficient memory error if there is not enough memory.
To Reproduce
See above
Run log
cellpose version: 	3.0.9
platform:       	linux
python version: 	3.11.9
torch version:  	2.1.2.post100
2024-07-30 14:15:36,303 - Masking image...
2024-07-30 14:15:36,304 - >>>> using CPU
2024-07-30 14:15:36,304 - >> nuclei << model set to be used
2024-07-30 14:15:36,344 - >>>> loading model models/nucleitorch_0
2024-07-30 14:15:36,438 - >>>> model diam_mean =  17.000 (ROIs rescaled to this size during training)
2024-07-30 14:15:36,480 - channels set to [0, 0]
2024-07-30 14:15:36,481 - ~~~ FINDING MASKS ~~~
2024-07-30 14:15:38,842 - >>>> TOTAL TIME 2.36 sec

None was returned for the masks variable for this logged run. I provided 8 Gb of memory. If I instead provide 80 Gb of memory, a mask object is returned instead of None.
Conda env
name: cellpose
channels:
  - conda-forge
  - bioconda
dependencies:
  - python=3.11.9
  - pip=24.0
  - bokeh=3.4.2
  - opencv=4.8.1
  - holoviews=1.19.0
  - ipython=8.25.0
  - matplotlib=3.8.4
  - numpy=1.26.4
  - psutil=6.0.0
  - scikit-image=0.24.0
  - tifffile=2024.6.18
  - xmltodict=0.13.0
  - tqdm=4.66.4
  - scipy=1.10.1
  - pims=0.7
  - cellpose=3.0.9
  - pip:
    - aicspylibczi==3.1.2
    - glob2
    - pprintpp

sorry I think you must be using another wrapper on top of cellpose (our code doesn't say "Masking image...") please try again without the wrapper and let us know if it's still not working

Thanks hmm let me see if I can replicate this in order to debug it. How big is the image?

Thanks for reopening the issue. I believe the image was ~10 Gb.


record last executed timestamp age v.s. the timestamp itself

Description
as title
Test Plan
CI
If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes
Eecord last executed timestamp age v.s. the timestamp itself

Check out "Sui Wallet":
https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil?hl=en-GB&gl=PK&utm_source=gmail


can't reconstruct the chair in scannet 0050?

I changed nothing and run the code twice,the chair always disappear and the f-score very low.

Sorry for the inconvenience.
Can you provide the environment you used? I will try to reimplement this phenomenon.
Thank you.

the f-score is 0.64(highres gt).
torch 1.13.1+cu117 titanxp.
what'more ,i find that the chair disappeared in some paper,but appeared in few paper.I think this result caused by random seed but significantly affect the f-score.
The result in other scene is better than monosdf.Could you show your result on different scannet scene? thank you!

"what'more ,i find that the chair disappeared in some paper,but appeared in few paper." for monosdf.

Thanks for pointing out that.
I have checked my checkpoints last year.

Here is my reconstructed result, which is extracted from 2023_01_31_00_27_39. If you use the hybrid occ-SDF, I have not found the disappearance of this chair. Thus, I need to try to re-implement it to solve your problems.
For the original MonoSDF paper, this chair exists in the Hashgrid version and will disappear for the MLP version.
I will upload my reconstructed meshes and checkpoints on the Onedrive later.

Hello,
I've tested this scene across different environments and machines, but regrettably, I didn't encounter the same issue.
However, I did observe that certain parameters can impact the difficulty of reconstructing this chair. Could you please try adjusting the normal_l1_occ_weight and normal_cos_occ_weight to 0.1 in the config file and rerun the reconstruction pipeline?
By doing so, the chair should be reconstructed around 80 epochs.
If you encounter any difficulties, please don't hesitate to reach out for assistance. Thank you.

thank you very much！I will adjust the weight and rerun.It could be so kind if you can show your result(f-score) on different scannet scene!thank you!

Sorry for the late reply. I have been busy with my probation recently.
I agree that solely adjusting weights is unfair to the previous method. In the main paper, I also conducted an ablation study for the weights adjustment experiments, which demonstrated better quantitative results compared to monoSDF.
Regarding the chair missing problem, I didn't encounter it on my own server and codebase. Adjusting it could facilitate easier resolution. Additionally, our method achieves a great balance between quantitative and qualitative results across different datasets.
Furthermore, while I believe the phenomenon highlighted in Figure 5 of the main paper is crucial, our solution lacks elegance. Those interested may explore better solutions from a mathematical perspective. We've showcased the significance of this problem. However, given the advancements in 3DGS-based reconstruction, I cannot accurately assess the importance of ray-based reconstruction.
Feel free to continue the discussion. Thank you for your interest.


⚠ Minecraft has degraded performance

In dc08914, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 834 ms

Resolved: Minecraft performance has improved in 4a1d02d.


DeltaScheduler : We should not inject long delays when processing many ops

Teams thread
The issue that was raised - when we catch up and have a lot of ops to process, we waste time for nothing by injecting delays.
Not clear if we can / should differentiate catch up vs. other times we process ops.
But overall, I'd say that using setTimetout(0) should be more than enough.
We also should look at telemetry when and how often that happens.
Does it happen mostly on boot? When do we have so many ops to process and why?

FYI - across all your April bugs, this one is the most important, and rather simple as well.
It's important because we know that timers like that screw up our end-to-end processing times, adding not needed delays.

Something interesting to note:

Office_Fluid_FluidRuntime_Performance
| where Event_Time > ago(7d)
| where Data_eventName == "fluid:telemetry:OpPerf:GetDeltas_OpProcessing"
| where Data_hostScenarioName notcontains "Whiteboard"
| where Data_duration >= 500
| summarize count()

This shows 466 results for me - there are sessions where we processed uninterrupted a batch of ops for longer than 500ms.
If you trace "GetDeltas_OpProcessing" event, you will see that it is raised on inbound queue "idle" event which only fires if we processed (without any interruptions) ops and we drained queue (see DeltaQueue.processDeltas() for details).
But code in DeltaScheduler suggests that should not happen - we should interrupt such long op processing. The only exception - if it's part of a batch, i.e. batch contains many ops and thus DeltaScheduler can't interrupt it.
I'd just added telemetry to learn more about batches - see https://github.com/microsoft/FluidFramework/pull/9707, so we should learn more soon, but this looks suspicious. And if batches are that long and we do take that long to process them, then it's not very clear if there is a value in DeltaScheduler presence.
Telemetry tracking op processing (#8912, #8947) should also help understand better how we perform

@vladsud  - Regarding the Settimeout, unless I'm misreading the code, it is already 0 (packages\runtime\container-runtime\src\deltaScheduler.ts):
this.deltaManager.inbound.pause();
setTimeout(() => {                     this.deltaManager.inbound.resume();                 });
As for the 466, it only represents 0.19% of the total number of GetDeltas_OpProcessing events. Once the new changes are in,  we will probably get more info but the only explanation I can think of is due to batching.
Office_Fluid_FluidRuntime_Performance
| where Event_Time > ago(7d)
| where Data_eventName == "fluid:telemetry:OpPerf:GetDeltas_OpProcessing"
| where Data_hostScenarioName notcontains "Whiteboard"
| summarize  ct = count() by bin(Data_duration, 500)

Data_duration
ct

0
247708

500
240

1000
73

1500
36

2000
20

2500
11

3000
14

3500
21

4000
5

4500
5

5000
3

5500
2

6000
5

6500
1

7000
6

7500
3

8000
1

8500
1

13500
1

17500
1

24000
1

38500
1

39500
1

426500
1

	</BODY></HTML>

Hm, interesting, I was under the impression that we keep injecting delays.
Then, I guess there is not much to do here, but we should improve telemetry (as covered by #8909).

I think DeltaScheduler.processingTime is too low, I'd personally increase it to at least 50ms. We will not get 60FPS scrolling / panning with it, but I think if we have such influx of ops, getting current sooner is more important than maintaining 60FPS.
Telemetry will tell us if my intuition is right - we can make this change now, or after we have data.

In the PR I moved to 50 … should I keep it ?
Get Outlook for iOShttps://aka.ms/o0ukef

From: Vlad Sudzilouski @.>
Sent: Thursday, April 7, 2022 5:37:15 PM
To: microsoft/FluidFramework @.>
Cc: Nicholas Couri @.>; Assign @.>
Subject: Re: [microsoft/FluidFramework] DeltaScheduler : We should not inject long delays when processing many ops (Issue #9505)
I think DeltaScheduler.processingTime is too low, I'd personally increase it to at least 50ms. We will not get 60FPS scrolling / panning with it, but I think if we have such influx of ops, getting current sooner is more important than maintaining 60FPS.
Telemetry will tell us if my intuition is right - we can make this change now, or after we have data.
—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FFluidFramework%2Fissues%2F9505%23issuecomment-1092328525&data=05|01|nichoc%40microsoft.com|aab02f085f334aacccdf08da18f7ee52|72f988bf86f141af91ab2d7cd011db47|0|0|637849750390619179|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=s5hLN8JGMinq0g%2F51Q2yJq08AdQ3vBaiqR46ATGrvqI%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAGIMYCEXWAGEUGH2X35JVM3VD55TXANCNFSM5Q4M6HJA&data=05|01|nichoc%40microsoft.com|aab02f085f334aacccdf08da18f7ee52|72f988bf86f141af91ab2d7cd011db47|0|0|637849750390619179|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=BPzIHPeX472Cg1FIq6qAMd8MqYG6ED4gtlSbar%2B1znw%3D&reserved=0.
You are receiving this because you were assigned.Message ID: @.***>

Sure

I was thinking about it and I'm not so sure it is such a good idea.  If this query is correct, wouldn't we get only the 25% from the 2 Turns (~15k more instances == ~ 3%) ?
union Office_Fluid_FluidRuntime_*
| where Event_Time > ago(1d)
| where Data_eventName == "fluid:telemetry:ScheduleManager:DeltaScheduler:InboundOpsProcessingTime"
| project-reorder  Data_numberOfOps, Data_numberOfTurns, Data_numberOfBatches, Data_processingTime
| summarize Avgt = toint(avg(Data_processingTime)),
P50 = toint(percentile(Data_processingTime, 50)),
Pct75 = toint(percentile(Data_processingTime, 75)),
Pct25  = toint(percentile(Data_processingTime, 25)),
Pct99  = toint(percentile(Data_processingTime, 99)),
Pct99_99  = toint(percentile(Data_processingTime, 99.99)),
NumberOfInstances = count() by Data_numberOfTurns  )

Data_numberOfTurns
Avgt
P50
Pct75
Pct25
Pct99
Pct99_99
NumberOfInstances

1
20
2
6
0
585
6766
392981

2
419
166
536
35
2845
21853
56012

3
649
392
697
82
3232
101312
19335

4
756
400
765
125
3661
1195883
8054

5
702
271
900
177
4435
27557
3787

6
780
285
938
242
5514
30754
1939

7
784
352
819
315
4945
29903
1192

8
814
440
843
401
4480
9302
723

9
1030
538
949
492
6517
21722
504

10
1136
648
942
599
7918
11009
351

11
1235
785
1097
719
9183
12109
252

12
1342
904
1274
858
11335
13650
204

13
1462
1048
1197
993
7081
8867
134

14
8593
1196
1397
1145
10679
756929
111

15
1676
1344
1552
1295
8161
8161
75

16
1682
1510
1697
1440
3640
3640
72

17
1980
1771
1994
1662
5268
5268
45

18
3404
2154
2608
1919
34415
34415
32

19
2470
2086
2362
2032
5509
5509
22

20
2894
2335
3364
2286
5785
5785
15

21
3552
2543
2727
2431
17679
17679
17

22
3444
2810
3627
2631
6395
6395
16

23
4204
3475
4151
3052
8018
8018
7

24
4079
3570
4827
3296
5905
5905
12

25
3989
3662
4315
3601
5194
5194
8

26
4688
3904
4089
3736
9288
9288
8

27
46277
4203
17102
3994
240580
240580
7

28
5949
4603
8056
4545
8398
8398
6

29
5101
4701
5420
4693
6504
6504
6

30
7080
7080
7080
7080
7080
7080
1

31
5322
5322
5322
5322
5322
5322
1

32
6073
5941
6442
5836
6442
6442
3

33
9502
9502
9502
9502
9502
9502
1

34
13788
7006
27432
6925
27432
27432
3

35
10600
9156
15657
6988
15657
15657
3

36
7531
7077
7256
6971
8821
8821
4

37
7868
7868
7868
7868
7868
7868
1

38
7753
7558
7948
7558
7948
7948
2

39
9116
9116
9116
9116
9116
9116
1

40
701948
701948
701948
701948
701948
701948
1

42
10593
10593
10593
10593
10593
10593
1

43
10160
10160
10160
10160
10160
10160
1

44
10419
10419
10419
10419
10419
10419
1

46
116289
71518
161060
71518
161060
161060
2

48
13103
13103
13103
13103
13103
13103
1

49
2491221
12977
4969465
12977
4969465
4969465
2

68
96631
96631
96631
96631
96631
96631
1

71

1

	</HTML>

BTW, any data here would be hard to interpret, because ops processing can be paused by external forces, including incomplete batches. Without filtering those cases out, we would have a lot of cases where total processing time (including waits) is large simply because we are waiting for batch to be completed.

I actually think (based on huge jump in times from numberOfTurns = 1 to numberOfTurns =2, and from P50 to P99 when numberOfTurns == 1), that almost all slowness is not due to this code. It's due to incomplete batches coming in, and ScheduleManager / ScheduleManagerCore pausing op processing. If op processing is paused outside, then DeltaScheduler would inject pauses itself when op processing is resumed by ScheduleManager, and thus it will only make things worse.
Let's not track it here, I'll open separate bug to think about it and how we can improve it - both data collection and loging.

There is another reason that why we might be seeing more instances of these long processing times - We changed the default flush mode to TurnBased. This means that earlier, we saw very few batches but now we will see batches almost all the time. The op processing time includes the time spent by external code which may be pretty long (Wasn't there a discussion where Scriptor did some kind of layout rending on batch ends which took a long time?). So, even a small batch (say 100 ops) could end up taking a long time to process and hence the spike.

Should we try to measure this time vs the time spend by the runtime? That may give us a better idea of where most of the time is being spend and we could adjust the processing time in DeltaScheduler accordingly.

Yes, I've opened an issue to track time spend in app callbacks.
We should also move SchedulerManager not to use pause/resume to deal with partial batches (I'll raise PR sometime this week).
This will allow us to measure true impact of DeltaScheduler and understand better balance between responsiveness (injecting delays) and speed of processing.
I think for now we should go with Nicholas PR (including 50ms change) and close this issue and re-evaluate once we have more data.
That all said, I have a feeling that DeltaScheduler should be somehow moved out of runtime and be app concept. I do not think applying responsiveness rules to all workloads is the right thing to do. And even workloads that need it (like document-centric workloads) only need it in very specific phases (for example not on boot when we are trying to catch up before returning container to app). We all should think about possible designs here.

I want to slightly change what this issue tracks and push it out a bit (to free time for higher priority items).
I think this bug should track:

Unneeded pausing while loading container. We do not have good here, we should collect it (by moving Container.loaded = true down a bit to include op processing).
Consider moving DeltaSchedule out of runtime, or providing app more control over it, such that experience controls balance between responsiveness and throughput


S3 watcher KeyError: 'Region'

It appears that the S3 watcher is not properly handling exceptions.  If, for whatever reason, SM doesn't have all required access for a single bucket, the from_slurp method throws an exception:
security_monkey/watchers/s3.py", line 84, in from_slurp
    region=bucket['Region'],
KeyError: 'Region'

It appears that on L60 of watchers/s3.py, when a bucket is processed, if SM doesn't have necessary access bucket is set to a dict with the error message (e.g. {'Error': 'Unauthorized'}

Hmm... I wonder if this is caused if a bucket has a deny all policy...

Or an empty ACL.  I think the point is that SM should be able to handle it.

Will have the fix read in 5 minutes ;)

🆒🕶


Clean up hidden files after templating

All rendered files being used by templating remains as hidden file in the src path.  Should we remove those hidden files after Henchman has been executed or leave them be?

Using a template folder for temp storage


istoga please accept my pull request

Stop watch addition, added event listeners to start, reset, pause buttons

merging stop watch functionality by ibimina as written after coding stopwatch with all 5 frontend engineers


QIR update, revamped qir tests, support for multi-level controlled callables

Replaced the previous QIR tests with more targeted ones, generated from new Q# with compiler from feature/qir branch at commit e5ecd6f.
Implemented support for multi-level controlled callables.

@DmitryVasilevsky : Dmitry, would you mind taking a look at the unpacking code? It deals with untyped memory and I know you are good at this kind of stuff :D

@irinayat-MS Don't forget to push the change do the assert before merging.


Move news to a model

Delivers Pivotal #142020237

Creates Article model whose instances are news articles.
Articles are added to the RssLog.
Article write permission is administered via the "News Articles" Project.
Changed the "Release" link in the LH navbar:

renamed it "News"
moved it to the "Other" section, which I renamed "Indexes" and which I alphabetized.

To manually test this branch  in dev mode you must create a Project with Title: "News Articles"
This is a magic Project used to control Article write permission. I manually created this Project in the production db (and it there's fixture in the test db).  (It seemed simpler to do it this way versus a data migration.)
When (and if) the branch is put into production, I will create Articles:
(a) for the Releases prior to this PR (it will probably be one big Article, like "Releases 2016-12-18 to 2017-04-01"
(b) describing the changes in this PR.
I will have limited web access ~ May 16-21, so it probably shouldn't get rolled out during that time.

Coverage increased (+0.05%) to 88.131% when pulling e85250bd38f2829413ec3f69d4509f894a3e8bd2 on JoeCohen:news into 574c5986db40422653eb65ec89a2e12471f0ea48 on MushroomObserver:master.

Coverage increased (+0.06%) to 88.136% when pulling b4e5ffaed21c60bf081d834b3b190989c31a8f85 on JoeCohen:news into 574c5986db40422653eb65ec89a2e12471f0ea48 on MushroomObserver:master.

Coverage increased (+0.06%) to 88.136% when pulling 6dae7670b4876ad3fdce04baf602ac519e41eb48 on JoeCohen:news into 574c5986db40422653eb65ec89a2e12471f0ea48 on MushroomObserver:master.

Coverage increased (+0.06%) to 88.136% when pulling 568e72c51ff71ee2f41cf048be8981d9a3ee85b5 on JoeCohen:news into 574c5986db40422653eb65ec89a2e12471f0ea48 on MushroomObserver:master.

This all looks good.
One general question: Why did you choose to go with a magic project instead of just falling back on admin mode?
I haven't tested it on the dev VM.  I trust you.  Besides, it's noncritical, so if bugs show up in production, no big deal, we;ll just fix it then.
Good exercise, creating a new model, controller, queries, etc. etc.  You clearly have a good grasp of the entire structure at this point.  Good work!

Comments below:

One general question: Why did you choose to go with a magic project instead of just falling back on admin mode?

Good question.  I went back and forth on this.  I decided on a project so that we could let every developer (and maybe some others, e.g., Alan) write brief Articles without requring that they all be full Admins.

I haven't tested it on the dev VM. I trust you.

Trusting me is a probably wrong. :smiley: Might be okay for this PR because it's non-critical and walled off from non-devs.  But don't get carried away. :smiley:

Besides, it's noncritical, so if bugs show up in production, no big deal, we;ll just fix it then.

Agree.  Should I merge it?

Good exercise, creating a new model, controller, queries, etc. etc. You clearly have a good grasp of the entire structure at this point. Good work!

:blush: I'm learning, but slowly.  Still have a long way to go.  And Queries still confuse me. And there many parts of App and the stack where I haven't a clue.

Ha!  Then we're probably on about the same page now.  I'm forgetting faster
than you're learning.  Sure, please go ahead and merge this.  Whee!  I'm
now entirely superfluous!
On Tue, Jun 6, 2017 at 7:07 PM, Joseph D. Cohen<EMAIL_ADDRESS>wrote:

Comments below:
One general question: Why did you choose to go with a magic project
instead of just falling back on admin mode?
Good question. I went back and forth on this. I decided on a project so
that we could let every developer (and maybe some others, e.g., Alan) write
brief Articles without requring that they all be full Admins.
I haven't tested it on the dev VM. I trust you.
Trusting me is a probably wrong. 😃 Might be okay for this PR because
it's non-critical and walled off from non-devs. But don't get carried away.
😃
Besides, it's noncritical, so if bugs show up in production, no big deal,
we;ll just fix it then.
Agree. Should I merge it?
Good exercise, creating a new model, controller, queries, etc. etc. You
clearly have a good grasp of the entire structure at this point. Good work!
😊 I'm learning, but slowly. Still have a long way to go. And Queries
still confuse me. And there many parts of App and the stack where I haven't
a clue.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/312#issuecomment-306642587,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADE2tTzJxkbK2GlS7tIFOzsKsnMLCfdyks5sBduugaJpZM4NS8jN
.


List address in the listing item to avoid writing street in the title

This would be useful for cases when same coffee place has more than one location. At the moment we mention street in the title, would be good to show address so that the name could stay the same for all listings.

This has been implemented already.


Evaluate different Asterisk versions

There are currently no known issues with any Asterisk version, so there are currently no immediate plans to evaluate this further from my end (no demand at the moment), but I would be really happy to accept input/PRs :+1:
(If you need this for a commercial project and you want a quote, please check out my profile and send me an email)


Improve pod restarts on GKE

Pod restart from node init supposed to happen once kubelet is
reconfigured, but order is opposite in the helm chart. It's also
unnecessary to hold off cilium agent pod till pods are restarted. This
patch moves pod restart to the last operation in node init. This patch
also fixes typo in the GKE docs: 'global.restartPods' ->
'nodeinit.restartPods'.

This change is

Coverage increased (+0.008%) to 45.541% when pulling 49b9ebbbdb7bb28825149d6c46af4f5e796839a8 on ap4y:fix-gke-restart-pods into 64c479250a283a22e7b0b2dbd1ff887cf8a2906b on cilium:master.

test-me-please

test-gke

Failures in this PR:
https://jenkins.cilium.io/job/Cilium-PR-K8s-GKE/103/
Compare with current GKE stability on master:
https://jenkins.cilium.io/job/Ginkgo-CI-Tests-Pipeline-GKE/210/#showFailuresLink

nodeinit.restartPods is not used in the tests it seems: https://github.com/cilium/cilium/search?q=restartPods&unscoped_q=restartPods . I have manually tested this patch against GKE cluster and it worked as expected.


Use yarn instead of npm

This merge brings in yarn since that package manager is a lot faster

Travis now uses yarn for running the tests and for caching
README now references yarn instead of npm (though I added a notice at the installation instructions)
package.json scripts now use yarn instead of npm

Weird how that issue I fixed with 6301679 didn't occur when submitting PR #71 ¯_(ツ)_/¯

Thank you :)


Typescript errors for elements in v-for loop

After the update to Volar v1.63, elements of iterable objects with explicit type any in v-for loops are inferred as type unknown

Think that's probably correct because you have optional chaining there so that means that it considers the type being undefined | any[] and that would likely result in never.

Seeing the same problem too after the update when optional chaining is not being used so it is not linked to that. The same problem was present in v1.6.2.

It might help the author to fix it if you provide specific example. Ideally a repo.

The below shows a simple repo:

Having the same problem, quite easy to replicate it:
<template>
  <div v-for="item of testArray" :key="item.id">
    {{ item.name }}
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
  setup() {
    const testArray: any = [
      {id: 'one', name: 'Test One'},
      {id: 'two', name: 'Test Two'}
    ]
    return {
      testArray
    }
  }
})
</script>

Previously (on versions < 1.6.2) item was 'any' type as well and not 'unknown' and had no error.
(Forcing the testArray to be 'any' type here is just to replicate this problem, I'm aware that it should be properly typescripted.)

same problem here, I  have updated vue-tsc to latest version but the problem persists

@mzuccaroli Would you mind open a new issue with minimal reproduction?

@mzuccaroli Would you mind opening a new issue with minimal reproduction?

yes as soon as possible (I had some personal issues sory)
meanwhile the quick & dirty solution I found is downgrading vue-tsc to 1.6.0


change change enable_create_bitmap_index_as_inverted_index default to true

When an user create a new BITMAP INDEX, an INVERTED INDEX will be created instead, since INVERTED INDEX is ready to replace BITMAP INDEX.
The transformation is transparent to user and nothing need to be done by user. Already existed BITMAP INDEX will NOT be changed and can be used as before.

run buildall

run buildall

run buildall


Add Meta 5 Move Frenzy

Sorry i had to implement this in pokemon, but it was the easiest way to go

Tested and works :)

poke @HoeenCoder


[WIP] Start working on making metrics use AJAX and group by hour, day, month

Completely a WIP at the moment.

Don't close this one :)

I'm not. I was closing and opening.


CCH22-25: Adjust the snippets/testing/test-suite-multi-configure-each-extracted sample for configuration cache

The sample project located under subprojects/docs/src/snippets/testing/test-suite-multi-configure-each-extracted does not meet the configuration cache requirements.
The build script in the groovy part of the sample project needs to be adjusted to follow the requirements.
Context
This issue is a part of the Gradle Configuration Cache Hackathon 2022.
If you wish to participate and contribute the fix, please follow the suggested workflow.
Expected behavior

The sample project is fixed so that the related documentation tests pass with configuration cache enabled.
The tests related to this sample project are removed from the testsToBeFixedForConfigurationCache list in subprojects/docs/build.gradle. You can find the test IDs below.
The doc pages that include the snippets from this sample project might need to be updated to be consistent with the sample. Feel free to ask the team for help with this! You can find the pages listed below.

Test failure details
These tests running in :docs:docsTest check the sample project and are failing with configuration cache enabled:

snippet-testing-test-suite-multi-configure-each-extracted_groovy_checkTask.sample(Build Scan)Could not get unknown property 'configurations' for task ':checkDependencies' of type org.gradle.api.DefaultTask.

How to reproduce
To reproduce the failure in the Gradle documentation tests, run the following in the gradle/gradlerepository:
./gradlew :docs:docsTest \
    -PrunBrokenConfigurationCacheDocsTests=true \
    -PenableConfigurationCacheForDocsTests=true \
    --tests "*snippet-testing-test-suite-multi-configure-each-extracted_groovy_checkTask.sample"

In the test build outputs, which you can find in the test report, the configuration cache problems are listed along with the URL pointing to the detailed HTML problems report that can help investigating the violation.
You can find more instructions on working with the sample projects in the FAQ.
Docs including the snippets from this sample project
The following doc pages include the snippets from this sample project:

subprojects/docs/src/docs/userguide/jvm/jvm_test_suite_plugin.adoc;

Hi! I'd love to work on this one.

@torresmi Have you started a PR for this issue?  Anything we can do to help?


Complex dtype support

Hi, so I have tweaked the code such that complex dtypes should now be handled correctly as discussed in #96 -- at least for the explicit solvers.
As for the implicit solvers, the issue is the jacobian which could be made to work without errors by passing the holomorphic=True to jax.jacfwd, however that would assume of course that the functions need to be holomorphic. Also I am not sure if there are other things one would need to pay attention to when using Newton's method on complex valued functions.
I am not sure if the tests that I added are sufficiently comprehensive, so if there are more cases that should be covered I would be happy about advice.
Additionally I found that in the case that y0 is given with single precision dtype e.g. float32 but all 'timelike' variables are given as weak types it would lead to a TypeError, which should now also be fixed.

This pretty much LGTM!
I'd suggest also adding a test that compares the complex solve against the equivalent thing using two separate real numbers for real and imaginary part.

Fwiw, it's not enough to ensure that it just runs without crashing. For example see this line:
https://github.com/patrick-kidger/diffrax/blob/5f5a1217131f8d2d55ff14f4e895432a42167236/diffrax/misc/misc.py#L95
Which happens to be written as jnp.real(x * jnp.conj(x)) rather than x**2. (In anticipation of complex support someday.) But x**2 would still have run and produced silently the wrong result.
So I'd suggest going over the code to check that you're not running afoul of anything like this.

It's worth noting that right now, ensuring complex support throughout all of Diffrax is a non-goal. I'm happy to accept PRs making appropriate tweaks, but anything not covered by tests is something that may break in the future. (It's just too difficult to get this consistently correct right now.)

As an alternate plan to all of the above: perhaps if y0 is complex then we should:

split it into separate real and imaginary parts at the very start of diffeqsolve, and solve the diffeq using real numbers;
wrap the vector field in something that recombines the real and imaginary part into a complex number, calls the user-provided vector field, then splits apart the result;
combine the real and imaginary parts again before returning the solution.

This would mean we could support complex numbers ubiquitously, without needing to carefully plumb them through every operation.
I don't know if this approach has performance concerns though.

WDYT?

FWIW, you can just use np.iscomplexobj to pass the holomorphic parameter:
return jsp.linalg.lu_factor(
            jax.jacfwd(curried, holomorphic=jnp.iscomplexobj(flat))(flat)
        )

As for testing, I think that adding complex inputs to tests should be relatively easy for many tests, and the fact that it passes test_basic probably means that it is not obviously wrong at least

Also note that diffrax currently silently fails if passed complex input, so this is not regression in this sense

In fact, it turns out there is a problem with rms_norm, the jvp is complex instead of being real, see
https://github.com/Randl/diffrax/commit/f610b45febfa74af01234beafba6ced769a93bb9

Right! As you can see, complex support is a can of worms.
Agreed that having Diffrax silently fail isn't great, though. I'd be happy to accept a PR that raises a warning if any of the inputs are complex.
I'd need to brush up on my complex autodiff to be sure that we do the right thing here, especially around calls to jacfwd , linear solves, etc. For example PyTorch uses the conjugate Wirtinger derivative but JAX uses the nonconjugate Wirtinger derivative. The former is what you actually want when doing gradient descent, but the latter agrees with the holomorphic derivative.

Hi, sorry for not replying for that long time.
I have looked into the code of Diffrax and to my understanding these problems apply only to a limited set of solvers, or am I missing something here?
rms_norm only appears in the implicit solver types (through the newton method) and in the adaptive step sizing, also jvp seems to only appear in the implicit adjoint method for backpropagation and in the Milstein solver.
I don't know if there are some other hidden appearances that I missed, but wouldn't that mean that just some functionality is affected? I think if that is the case, one could -- for now -- warn only if those solvers that are incompatible with complex dtypes are used and otherwise let it run (and with further assurance through tests that show it works, of course). To me it looks like at least forward solving with non-implicit solvers and fixed stepsize works fine with complex numbers, I am not sure about backpropagating but it also seems to work for the same limited cases.

I tend to agree. Since these changes do not break existing functionality and don't even deal will complex number s per SE, I do not see a good reason not to merge them. Adding a warning that complex number support is WIP would allow people to report bugs since after this pr at least basic functionality with complex input is not wrong.

You may want to cherry pick this one: https://github.com/Randl/diffrax/commit/f610b45febfa74af01234beafba6ced769a93bb9

@patrick-kidger @TimonHoess  any updates on this one?

Ah, this one slipped through the cracks!
I think the changes look good as-is. If you can rebase on to the latest main I'd be happy to merge this now.

If @TimonHoess is unavailable, I can try to rebase his PR on master

Please feel free to do so @Randl , otherwise I can probably do it in about a month. I'm quite busy for the upcoming weeks.

Closing in favour of #330.

@patrick-kidger Not sure if this is still an issue, but equinox/_jit.py:49 still raises a warning linking to this page.

Ah, we should probably remove the reference here. (But keep the warning, complex support is now better but still needs more work.)


Microcopy aound the Design System's UI

Evaluation Criteria
•    Impact on citizens: The component would make it easier for Developers to create UI for Users that conforms to Government Usability standards.
•    Usage: Once the component is created it could be the standard for future components.
•    Volume of Requests: The component has been frequently requested by the community.
What

There should be samples in the Design System for wording used on Digital applications that are reusable and current.

Why

Explain why you think this should be added to the BC Gov Design System.
A Microcopy sample can standardize wording surrounding government digital experiences leading to higher completion rates from applications.

What evidence do you have that it's needed by multiple services across government?
There is a whole industry spawning out of the Microcopy field that is splitting from UX Designers.
Tech companies like Air BnB spend millions on getting the correct wording right for applications that Users trust.

Anything else

Include links to any examples, research or code to support your proposal, if available.
https://www.microcopyinspirations.com/
https://blog.prototypr.io/building-better-product-with-ux-writing-775b205806ae

Hey @michaeltangbcgov this has been added to our backlog for future work. Do you have any specific examples from your work where there is a need for microcopy?


:sparkles: allow getting ocr return in CLI

Allow getting ocr return in CLI

Description
Add the -w option to the CLI for returning the OCR key.
Motivation and Context
Useful for testing
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Maybe I don't use it correctly, but it doesn't return me anything new when using the new option.

@fharper it's not a general option, only available for OTS endpoints.
For example this will show it: ./mindee-cli.sh invoice -h

It only has an effect when using the raw output option, i.e.
./mindee-cli.sh invoice -o raw /path/to/invoice.pdf > invoice.json
./mindee-cli.sh invoice -w -o raw /path/to/invoice.pdf > invoice_ocr.json

diff -yZ invoice.json  invoice_ocr.json

It's useful for debugging the OCR output, but that's about it for now.


Update integrate_drugbank_and_molepro_data.py

This is inline with the restructuring of the argparse parameters and is aligned with the code in line 211.

Thanks @DnlRKorn.


Nuki_ble starting with NH v9.03 breaks communication

PROBLEM DESCRIPTION
After updating from NH 9.02 to 9.03 or 9.04, the communication between NH and the Nuki lock seems to get stuck. Lock/unlock attempts sent by HA via NH are only performed after a few seconds after rebooting NH, like for two to three quick lock/unlock attempts. After that, it's broken. Just another unreliable update. Happened for all my NHs and all my locks. Downgraded to NH 9.02, everything is working normally.
REQUESTED INFORMATION
Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!

[X] Read the Contributing Guide and Policy and the Code of Conduct
[X] Searched the problem in issues
[X] Searched the problem in discussions
[X] Searched the problem in the docs
[ ] Searched the problem in the chat
[X] Device used (e.g., ESP32-S3): LOLIN32-Lite
[X] Nuki Hub binary firmware version number used: 9.03 and 9.04

[X] Pre-compiled
[ ] Self-compiled

[ ] Provide the output of http://nukihubIP/info:

Not available as downgraded to 9.02 again because I need a reliable NH

TO REPRODUCE
Update NH to 9.03 or 9.04 with the updated nuki_ble (seems to not be well tested...).
EXPECTED BEHAVIOUR
Lock/unlock commands are reliably working, even more than 3 times or 2 minutes after rebooting NH.
SCREENSHOTS
If applicable, add screenshots to help explain your problem.
ADDITIONAL CONTEXT
Add any other context about the problem here.
(Please, remember to close the issue when the problem has been addressed)

@bcutter When this happens, is your ESP reachable over the network? Can you reach the configuration portal or ping the device?

Can you reach the configuration portal or ping the device?

For me the ESP is reachable over the network.
After a restart, the lock works, but after a little time, it fails again.

I'm seeing the same thing, nuki hub is reporting incorrect status for locks, after a reboot it works fine for a bit.
How easy is it to downgrade firmware?

I have noticed these BLE issues as well after upgrading to 9.04, most noticeably with the Opener (the Lock is connected via Hybrid mode). It's not a network issue. I see the failed BLE attempts in the MQTT log.

sorry for spamming but same for me :-(

Hello, same problem at home.
Can you tell me where to find the .bin 9.0.3 file to downgrade.
I find the ZIP file but not the BIN.
thanks

The BIN is in the ZIP file...
And as I had these issues already with 9.03 I recommend to downgrade to 9.02.

Sorry to be annoying, but in the ZIP I only see 3 BIN files and none of them work.

I have no idea which one you choose. Better the maintainers fix this and push a 9.05 as downgrading is not for everyone...

Please report if this is fixed in 9.05-master4

@iranl I'm experiencing the same issue as described. I just installed 9.05-master4 and after approx 5 minutes it still stops working. In MQTT i can see that 3 retries (as configured) are made, but the "commandResult" is "error".

Same here, updating to 9.05-master4 the lock stops responding, shows incorrect state in HA.

Sorry to be annoying, but in the ZIP I only see 3 BIN files and none of them work.

That doesn't look like the correct zip file.  Make sure you download from the releases page
https://github.com/technyon/nuki_hub/releases
Contents should look like this

@iranl I'm experiencing the same issue as described. I just installed 9.05-master4 and after approx 5 minutes it still stops working. In MQTT i can see that 3 retries (as configured) are made, but the "commandResult" is "error".

Quick update, i'm not using the Opener, just the Lock Pro 4th Gen.

Sorry for spamming, but same for me.

Please report if this is fixed in 9.05-master5. I'm optimistic the issue has been found and addressed.

For some reason OTA update from my olimex esp32-poe doesn't work anymore, yesterday  after update to master4 it was completely dead. Now after update to master5 it is also completely dead. Have to reinstall via serial when I'm at home

Please report if this is fixed in 9.05-master5. I'm optimistic the issue has been found and addressed.

You're right. Up 1 hour now and everything works for me. :hand_with_index_finger_and_thumb_crossed:

Please report if this is fixed in 9.05-master5. I'm optimistic the issue has been found and addressed.

2 hours up with 9.05-master5 with no issues so far, will report back in a few hours.

This seems fixed. Please re-open if issues persist on 9.05-master5/9.05-beta1 and up.
In that case please add serial logs


Update mdoc, sbt-mdoc to 2.2.19

Updates

org.scalameta:mdoc
org.scalameta:sbt-mdoc

from 2.2.0 to 2.2.19.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta" } ]

labels: library-update, semver-patch

Superseded by #76.


How to watch for option assignment/settlement?

I’m looking for a way to watch for options assignment/settlement on expiration. Is there an event that I can subscribe to that will notify me when this occurs and provide information about options settlement?

Yeah, it can be surprising when that happens.
From what I've seen, they just drop it into your account between 2am-3am as a new position and there's no event or announcement outside of email updates (as far as I know).

Would it be possible to catch this by subscribing to the positionEvent or portfolioUpdateEvent?  In my particular use-case I am trying to catch the settlement of cash-settled options (such as ES options) that are held into expiry for logging purposes.

The position removal should also show up in the execution report and as an execDetailsEvent showing as cleared out I think.
The positionEvent could probably work for this use case. It should fire when something is added or removed with size=0 for removals even overnight.
The updatePortfolioEvent is probably too noisy to use since it constantly fires with every price change every couple minutes throughout the day.
You could also watch for maybe accountValueEvent or accountSummaryEvent being updated too, but those trigger for values on every account field, so you'd have to manually filter for the exact field you're looking for (probably AvailableFunds or NetLiquidation changing in the expected direction).

Thanks for that advice @mattsta.  I'm thinking I'll try to implement a solution using positionEvent.  I'll update this issue with my findings.

@mattsta I am wondering if I am using positionEvent incorrectly, because I can't seem to get it to work.  My understanding is that you register a callback for this event like this:
ib.positionEvent += lambda p: print(f"Position event: {p}")

fut = ibkr.Future(symbol="ES", lastTradeDateOrContractMonth="202412", exchange="CME")
ib.qualifyContracts(fut)

order = ibkr.MarketOrder("BUY", 1)
ib.placeOrder(fut, order)

while True:
    print(ib.positions())
    ib.sleep(5)

My position event never gets called, but the order is placed as I can see it printed in the while loop.  Any thoughts?


[Arts & Entertainment] Attribute expansion in the Sports Fan Accessories area

Taxonomy Field
Attribute
Vertical
Arts & Entertainment
Change Type
Assign attribute to more categories
Issue
Some of the clothing categories in the Sports Fan Accessories area are missing attributes like color, fabric, size, target gender, etc. present in the Apparel & Accessories vertical.

Description
Make sure clothing categories in the Sports Fan Accessories area have any necessary attributes by aligning with similar categories in the Apparel & Accessories vertical.
Video/Screenshot
No response
Merchant Store
No response

https://docs.google.com/spreadsheets/d/1YiNgGSVlsEV3sMtxIqcPMgzI3Pq8PC1PBoTihKJuHxQ/edit?gid=2086180656#gid=2086180656


Add BeforeSend hook

Similar to this guy in raygun4js: https://github.com/MindscapeHQ/raygun4js#onbeforesend

Fixed in #35


Make progress interval of Loops print ETA

Fixes #issuenumber.
Changes proposed in this pull request:

Add estimated finish time when progress interval is not None

@jenshnielsen

Seems to work well. I guess we can merge this?

👍 to merge once Appveyor pases


Type coercion is not working for date strings

I'm trying to check if a string contains valid DateTime:
schema = Dry::Validation.Schema do
  configure { config.type_specs = true }
  required('value', Types::Params::DateTime).filled(:date_time?)
end

But keep getting "must be a date time" error:
> pp schema.call('value' => '2018-02-07T00:00:00+00:00').errors
=> {"value"=>["must be a date time"]}

In the same time type coercion works fine for this value:
> Types::Params::DateTime['2018-02-07T00:00:00+00:00']
=> Wed, 07 Feb 2018 00:00:00 +0000

> Types::Params::DateTime['2018-02-07T00:00:00+00:00'].class
=> DateTime

Looks like a bug.

Type coercion might only work with Dry::Validation.Form (and you're using Dry::Validation.Schema). I seem to remember something like that coming up for me.

There is no more Dry::Validation.Form since v0.12.0: https://github.com/dry-rb/dry-validation/releases/tag/v0.12.0
I've tried using Params instead:
schema = Dry::Validation.Params do
  configure { config.type_specs = true }
  required('value', Types::Params::DateTime).filled(:date_time?)
end

Nothing changed:
> pp schema.call(ActionController::Parameters.new('value' => '2018-02-07T00:00:00+00:00')).errors
{"value"=>["must be a date time"]}

Oh I didn't notice that you're feeding in an ActionController:Parameter object instead of a hash. Pretty sure you have to use hashes. ActionController:Parameter has some method to transform it into a hash.

Thank you! I have no idea why I was so sure Dry::Validation.Params suppose to process ActionController:Parameter. I think I've just been tired.


fzf#run() term height issue when --preview and 'source' is a list

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[x] bash
[ ] zsh
[ ] fish

Problem / Steps to reproduce
Problem
When calling fzf#run() and using term, s:split() fits exactly the number of lines of source when source is a list.
This does not work well when using preview, as the preview is not taken into account in the height size.

To Reproduce
    let opt = {'options': '''--preview-window'' ''up:50%'' ''--preview'' ''''\''''/home/antoine/dotfiles/.vim/plugins/fzf.vim/bin/preview.sh''\'''' {}''', 'source': ['fibo.py:14:9 Warning [pylint W0612] Unused variable ''i'' (unused-variable)'], 'down': '~40%'}
    call fzf#run(opt)

Dirty Workaround
Commenting out those lines in s:calc_size():
  " if type(get(a:dict, 'source', 0)) == type([])
  "   let srcsz = len(a:dict.source)
  " endif

Clean Fix
Here are options I can think of:

do not make an exception for list sources and remove let srcsz = len(a:dict.source) completely
do not make an exception for list sources by default, add a dict option if you want to fit the source list size exactly
make exception for list sources by default, add a dict option if you don't want to fit the source list size exactly
do not make an exception for list sources only when --preview is detected

What do you think?
Personally, I like 1. and 2.
Thanks for this amazing plugin anyway!
Antoine

I would also like to remove srcsz calculation as it's inherently inaccurate and the code is pretty sloppy. Let's just disable it when there's preview in the option string.

@junegunn , thanks a lot.
This fixed it for me :smiley:


Add Scale objects for Vegalite spec completion

Added unit tests too

Overall, this looks great. Just a few minor comments. Also looks like the tests were failing on python 2.7 and 3.4

The tests were failing? The Travis build shows them as passing. Am I missing something?

Hmm, I did restart them - sometimes Travis needs to be kicked...
On Wed, Oct 14, 2015 at 9:53 PM, Alejandro Guerrero Gonzalez <
<EMAIL_ADDRESS>wrote:

The tests were failing? The Travis build shows them as passing. Am I
missing something?
—
Reply to this email directly or view it on GitHub
https://github.com/ellisonbg/altair/pull/69#issuecomment-148254318.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Oh :) I didn't know that haha
Well, they are passing now. Let me know if there's any more changes we need to make before this PR can be merged.

Looks great, merging!


Extract systems code introduced in #1839

See https://github.com/facebookincubator/create-react-app/pull/1839#issuecomment-301333043 for context.

Let's address this as a final tweak to https://github.com/facebookincubator/create-react-app/pull/1790#issuecomment-301335245.


changing serverBroadcastListenPort variable access permissions to protected

This pull request is done in order to address the issue in https://github.com/vis2k/Mirror/issues/2099. As you requested i made the change. I also underline that I simply changed the .cs file without opening it in Unity so the .meta file has not been updated. However, I believe this should not be an issue.
If I can be of any other help let me know.
Regards,
Francesco Strada

@francescoStrada nice fix, thx!


ConcurrencyException is not catched by onFailure method

when send creation command to create a existed aggregate root, but onFailure method cant catch the exception "ConcurrencyException" by "commandGateway.send" method.
Such log info is print in console:
WARN 5052 --- [nboundChannel-7] o.a.c.gateway.DefaultCommandGateway      : Command 'org.multilinguals.enterprise.cmrs.domain.command.authorization.SignUpWithPasswordCommand' resulted in org.axonframework.commandhandling.model.ConcurrencyException(An event for aggregate [225b64823643111bca1154a01eeda807] at sequence [0] was already inserted)
so, I want to know how to catch the exception in callback method. I dont want to use the "sendAndAwait".

Which version of Axon are you using? Do you use the CommandGateway or the CommandBus directly?

I use the version 3.3.4 of Axon, and use the CommandGateway directly.

@abuijze hi, friend. I found that if use commandGateway in a command handler, the exception becomes a warninng. for example:
    @CommandHandler
    public void handle(SignUpWithPasswordCommand command) {
        commandGateway.send()  // this command causes the exception

if you use send without a callback, the method will return a CompletableFuture, which "completes exceptionally" when an exception occurs. Axon will also log this exception by default.
Surrounding that method with try-catch is useless, as command handling is (by design) an asynchronous process (although certain implementations of the command bus may execute it in the same thread).
Alternatively, you can pass a CommandCallback as second parameter. In that case, the callback is invoked.
I'm slightly confused as to what the problem/question is, exactly.

sorry, I didn't show you full example. Actually, I use the CommandCallback. but the exception is not catched by onFailure methond.

So, you provide your own CommandCallback implementation? The default if you use the CommandGateway#send() or CommandGateway#sendAndWait() is the FutureCallback.
The callback returns you a CompletableFuture, which is resolved exceptionally in the onFailure() method and successfully when onSuccess() was called. Thus, to handle the actual exception returned to you in the CompletableFuture, you can do something like CompletableFuture#exceptionally() to react on the command publishing/handling having failed.
If this still doesn't answer you question, do you mind elaborating more of your use case together with some code snippets of the actual process?

The full code :
Controller:
@Controller
@MessageMapping("/user-authorization")
public class AuthorizationStompController {
    private final CommandGateway commandGateway;

    @Autowired
    public AuthorizationStompController(CommandGateway commandGateway) {
        this.commandGateway = commandGateway;
    }

    @MessageMapping("/sign-up-with-password")
    public void signUpWithPassword(SignUpWithPasswordCommand command) {
        this.commandGateway.send(command);
    }
}

AbstractCommandHandler
public class AbstractCommandHandler {
    protected transient CommandGateway commandGateway;

    @Autowired
    public void setCommandGateway(CommandGateway commandGateway) {
        this.commandGateway = commandGateway;
    }
}

CommandHandler
@Component
public class UserSignInCommandHandler extends AbstractCommandHandler {
    @CommandHandler
    public void handle(SignUpWithPasswordCommand command) {
        commandGateway.send(
            command,
            new CommandCallback<CreateUserPasswordCommand, Void>() {
                        @Override
                        public void onSuccess(CommandMessage commandMessage, Void result) {
                            .........
                        }

                        @Override
                        public void onFailure(CommandMessage commandMessage, Throwable cause) {
                            // cant catch the ConcurrencyException
                        }
                    });
        )
    }
}

Your snippet seems to suggest that the SignUpWithPasswordCommand Command Handler uses the command payload directly as the new command messages to be send on the CommandGateway. This introduces two issues, (1) the command would be published and handled by the exact same command handler, thus introducing a loop, and (2) the CommandCallback parameter suggests you're publishing a CreateUserPasswordCommand instead, which taking your snippet strictly, is not the case.
A part from that though, I have made a sample project on Axon 3.3.x with the exact same process you're following but without the loop of sending the exact same command in a loop. If I throw a ConcurrencyException myself upon handling the CreateUserPasswordCommand, I do end up in the onFailure() function.
Thus, it seems that what you're describing with this issue isn't the case. I can however guess that you might be doing a try-catch in the onFailure function. The onFailure function isn't designed to 'catch' exception, it is a function which is called when an exception is thrown higher up the chain. Hence why you have the Throwable as the second parameter there. So what you could do, is have an if-statement to check whether the Throwable instanceOf ConcurrencyException to perform certain logic in that scenario.
To summarize, from all the conversation we have had up til now, I feel this isn't so much a bug, more so usage question. From that perspective, I will be closing this issue. Feel free to keep on commenting under neath this as a means to resolve the problem you're encountering though.


fix for 7.4.0beta1

From UPGRADE.INTERNALS
 y. The read and write operations of php_stream_ops now return ssize_t, with
     negative values indicating an error.

This si for beta1 which will be announced tomorrow

Coverage remained the same at 72.342% when pulling c0ee075892d8d38f0f47981f8e4db214a4a86d1a on remicollet:issue-php74beta1 into 5dabd47e41bf4f863f8c56197c213a4e76d3ea25 on microsoft:master.

Codecov Report

Merging #1013 into master will decrease coverage by 0.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1013      +/-   ##
==========================================
- Coverage   80.49%   80.36%   -0.13%
==========================================
  Files          25       25
  Lines        7758     7758
==========================================
- Hits         6245     6235      -10
- Misses       1513     1523      +10

Impacted Files
Coverage Δ

...vc14/x86/php-7.1.29-src/ext/pdo_sqlsrv/pdo_dbh.cpp

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_init.cpp

...php-7.1.29-src/ext/pdo_sqlsrv/shared/core_util.cpp

...c14/x86/php-7.1.29-src/ext/pdo_sqlsrv/pdo_util.cpp

...php-7.1.29-src/ext/pdo_sqlsrv/php_pdo_sqlsrv_int.h

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_conn.cpp

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_stmt.cpp

...php-7.1.29-src/ext/pdo_sqlsrv/shared/core_sqlsrv.h

...x86/php-7.1.29-src/ext/sqlsrv/shared/core_util.cpp

...6/php-7.1.29-src/ext/sqlsrv/shared/core_stream.cpp

... and 40 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 5dabd47...c0ee075. Read the comment docs.

While this fixes the compilation error, I think some additional changes are needed to properly propagate errors. In particular the two return 0s in the catch blocks should become return -1 to indicate that an error happened.

Hi @remicollet
Many thanks for your contribution but as @nikic mentioned above, we will fix this properly to support PHP 7.4 beta. Also, we do not plan to release a preview just yet, because the preview will include new feature(s) and bug fixes.

For your information @remicollet we will close this pull request. For more details please see the related pull request #1015. Thanks!


add variable for http_put_response_hop_limit

what
changes from https://github.com/cloudposse/terraform-aws-eks-node-group/pull/66
and
get http_put_response_hop_limit from variables
why
If we need to disable metadata API for pods without serviceaccount and network!=host we need to set http_put_response_hop_limit == 1.
references
https://docs.aws.amazon.com/eks/latest/userguide/best-practices-security.html#restrict-ec2-credential-access

@tarfik Thank you for this contribution. This is a difficult module to work with and you did well.
I do not understand the dates and timing of this PR exactly, but the feature you requested regarding http_put_response_hop_limit was added in #63 and released in v0.20.0 of this module.
Changes from #66 will be addressed in that PR.
Closing this PR as duplicate/not needed.


Merged from upstream

The PR is to merge the upstream branch into the personal repo.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 36 committers have signed the CLA.:x: sunzhaoyang:x: en-jin19:x: shichun-0415:x: ichn-hu:x: glorv:x: TomShawn:x: moyun:x: qqqdan:x: xuanyu66:x: JaySon-Huang:x: SE-Bin:x: IcePigZDB:x: tangenta:x: Austaras:x: overvenus:x: ran-huang:x: solotzg:x: tabokie:x: glkappe:x: knull-cn:x: qiancai:x: leoppro:x: Steve0x2a:x: nolouch:x: hfxsd:x: ti-chi-bot:x: tier-cap:x: disksing:x: IDJack:x: King-Dylan:x: vivid392845427:x: JmPotato:x: khloe-zhang:x: 7yyo:x: wshwsh12:x: wjhuang2016You have signed the CLA already but the status is still pending? Let us recheck it.


Is support Auto increment for specifice attribute in ArnagoDB?

[ ] 3.0.5

I know that ArangoDB support Auto increment for system Attribute(_key or _id). but I want to use this feature for my ordinary attribute.
I read at this link that:
Currently version(1.3) supports auto-generating values for _key only (and thus _id too because _id is derived from _key) ... It currently  is not possible to auto-generate any other attribute values with it.
in latest version of ArnagoDB(3.0.5) didn't support yet?
thanks a lot

Auto-increment is only available for the _key attribute. You can use AQL to increment a custom attribute however, I recently posted an example over here: https://github.com/arangodb/arangojs/issues/311#issuecomment-248370320
Can you tell more about what you want to achieve?


Update the list of personal characteristics to synchronize with the Contributor's Covenant v1.3

This PR updates the list of personal characteristics to synchronize with the Contributor's Covenant v1.3, bringing it inline with current "best practices". This is not intended as a change to the actual meaning of the CoC, since all of these characteristics were intended to be implied by the original wording. However, making the list more explicit is clearer for readers overall.
r? @rust-lang/core
cc @rust-lang/moderation

:+1: from me

:+1:

Sounds good to me, thanks @nikomatsakis!

cc @Charlotteis
Strong :+1: for me. I like being more explicit, and especially the addition of "level of experience". I also think sync'ing with the current best practices here is a good way to go.

Lgtm. Thanks @nikomatsakis

:+1:

+1

looks fine with me. (at first I thought "gender, gender ..." was a typo, but I can understand differentiating between "gender" and "gender identity/expression")

:+1:

:+1:

OK, at this point everyone on the core team (and many on the mod team) have either commented here or spoken with me privately and approved this PR. Therefore, I am going to merge it. Thanks all!

:tada: :confetti_ball: :tada:

Just FYI, I also announced this change on the users and internals boards.


Tweak the execution node behavior

This makes the following changes to execution nodes:

Reduce batch timeout from 250ms to 10ms with exponential backoff to 2s. Execution nodes are now always scheduled after the timeout hits, assuming that the previous operator does not block indefinitely.
Remove the never correctly implemented logic to advance generators multiple times per scheduled run of an execution node.

Additionally, this fixes the operator location of some aspects.

Reduce batch timeout from 250ms to 10ms with exponential backoff to 2s. Execution nodes are now always scheduled after the timeout hits, assuming that the previous operator does not block indefinitely.

Can you explain the use of exponential backoff? This algorithm is usually deployed in a closed-loop feedback system (e.g., collision on a shared medium), and I wonder what the feedback here is.

The exponential backoff is used to throttle an execution node in case it has neither consumed input, nor produced output, nor has further output requested. The new dev-only metrics introduced with this PR shows this working quite well.
Basically, if you have a pipeline A | B | C | D, and B is a blocking operator like sort, then C and D will—after a while—be scheduled less often. If, however, C produces output independent of its input, it will still be allowed to run and the throttling will not kick in. Before the changes from this PR, C and D would've not been scheduled at all until B produced output.
Additionally, the lowered default timeout makes it so that the minimum time-to-first-result for an infinitely running pipeline with $n$ operators is now $(n - 1) * 10ms$ rather than $(n - 1) * 250ms$, assuming perfect scheduling.

Great explanation, thanks a lot!


Tilting Maze Game

@5h0ov
The game is a copy-paste from https://github.com/dollpriyanka/Tilting_Maze_Game. Credit should be given to the creator

Challenge is removed


Introduce container tabs on component view

It would be nice to group all component diagrams shown on the component view page by containers. See https://avisi-cloud.github.io/structurizr-site-generatr/main/internet-banking-system/component/
When having multiple component diagrams belonging to different containers, drilling down from container diagrams will always bring the first component view in the picture and scrolling down is often needed to reach the actual wanted component diagram.
Linking directly to a component diagram using html achor tags does  work, but offered a pretty bad UX when playing with it. Using tabs like on the decisions and documentation view is the way forward (https://avisi-cloud.github.io/structurizr-site-generatr/main/internet-banking-system/decisions/api-application/). We don't need a "System" tab though on the components view page.

Fixed with https://github.com/avisi-cloud/structurizr-site-generatr/pull/497


Unscheduled reboots during late night

I had a notification sent the night before last, that kured reboot one of our nodes in the middle of the night. Then last night, we got two more notifications about two more different nodes getting rebooted. We did not schedule the reboot, and no file existed. Is kured set to automatically reboot a node every x days/hours/weeks? The only two parameters we used during install was period and the notification url.

Tell me how to get the logs. When viewing a pod log it only gives me few lines.

kubectl logs -n <kured-namespace> <kured-pod-of-rebooted-node> This shows the logs of the current running pod. Are the log-timestamps before or after the reboot?
I assume, the notification you got was from kured and not from a monitoring system?

Sorry it took so long to respond, was pulled away on another project. It just happened again tonight.
...
time="2022-06-09T06:23:38Z" level=info msg="Reboot not required"
time="2022-06-09T06:38:38Z" level=info msg="Reboot not required"
time="2022-06-09T06:53:38Z" level=info msg="Reboot not required"
time="2022-06-09T07:08:38Z" level=info msg="Reboot required"
time="2022-06-09T07:08:39Z" level=info msg="Acquired reboot lock"
time="2022-06-09T07:08:39Z" level=info msg="Draining node rnt1-worker2-69c6dcac-qmtzr"
WARNING: ignoring DaemonSet-managed Pods: calico-system/calico-node-zhg9b, kube-system/kustodian-kgmzw, kube-system/rancher-vsphere-cpi-cloud-controller-manager-s72z7, kube-system/rke2-ingress-nginx-controller-cvbz6, kube-system/vsphere-csi-node-fcbkn, kured-system/kured-pcg6l, longhorn-system/engine-image-ei-d474e07c-zjt9x, longhorn-system/longhorn-csi-plugin-vrh6r, longhorn-system/longhorn-manager-v5d76, metallb-system/load-balancer-metallb-speaker-s65sm
evicting pod metallb-system/load-balancer-metallb-controller-6f4f9544f6-6p7x7
evicting pod default/nginx-ingress-controller-nginx-ingress-84fbbf7747-rr24w
evicting pod longhorn-system/csi-resizer-68ccff94-c24bl
evicting pod longhorn-system/csi-snapshotter-6d7d679c98-8s7vl
evicting pod longhorn-system/instance-manager-e-05cce02d
evicting pod harbor-services/harbor-chartmuseum-cb6c9d47-bvfq6
evicting pod longhorn-system/csi-attacher-8b4cc9cf6-h2xl2
evicting pod longhorn-system/instance-manager-r-ab43ffa1
evicting pod harbor-services/harbor-core-544c9cf75b-flcns
evicting pod longhorn-system/csi-provisioner-59b7b8b7b8-q4mc7
evicting pod cert-manager/cert-manager-webhook-586d45d5ff-wtt6f
evicting pod longhorn-system/csi-attacher-8b4cc9cf6-4c8k7
error when evicting pods/"instance-manager-e-05cce02d" -n "longhorn-system" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.
error when evicting pods/"instance-manager-r-ab43ffa1" -n "longhorn-system" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.
I0609 07:08:46.309032    2487 request.go:665] Waited for 1.047973151s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/api/v1/namespaces/longhorn-system/pods/csi-attacher-8b4cc9cf6-h2xl2
evicting pod longhorn-system/instance-manager-e-05cce02d
error when evicting pods/"instance-manager-e-05cce02d" -n "longhorn-system" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.
evicting pod longhorn-system/instance-manager-r-ab43ffa1
error when evicting pods/"instance-manager-r-ab43ffa1" -n "longhorn-system" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.
... (last two lines repeated about 50 times)

Ok, so kured detected a sentinel-file, can you share the top of the logs (or your kured-config) too please?

I updated the previous comment to include the top of the log. The odd thing though, I just connected to the server and it is showing uptime of 15 days. Something in kube on the node is keeping it from rebooting, it still has the status of cordoned.

Small summary of your info:

There's a reboot notification from kured and you don't know why.
The config says, the node can be rebooted at any time on any day!
At 2022-06-09T07:08:38Z kured detected the sentinel file and started draining the node
The drain seems to be still in progress (the node is cordoned at that time), cause the instance-manager from longhorn is still present.
The uptime of 15 days is because the node was not rebooted yet (as the drain did not finish)

So, as the drain seems not to finish automatically (wrong PDBs or sth. else why the pod cannot be evicted) you maybe have to kick the longhorn-pod manually. Then the reboot should be performed with an uncordon after that.
I don't see a misbehaviour from kured so far.

There was a mix of info here, some not related to this issue, sorry for that. It not rebooting because of the failure to drain has nothing to do with this issue. At first I thought kured notified us that it was rebooting the node, when it didn't. But that was an issue of not being able to be drained. The issue is that there was never a sentinel file, so kured should not have rebooted it.

I just figured out what was causing the issue. I went into the node that is stuck trying to drain, that kured tried to reboot. I noticed that there is a sentinel file along with reboot-required.pkgs file. It seems that ubuntu's automatic update service is enabled. It did an update in the middle of the night, creating the two files. We usually use a RHEL distro for our servers, but found it easier to install Rancher K8s on ubuntu cloud image. I completely forgot that ubuntu had a automatic update feature like Windows. We disabled that feature, in a production environment we need to schedule updates so they are planed and known about.


keep coordinates encoding even when coordinates are decoded

fixes #610

I fixed this up. It should be good to go now.


Stop and start of EC2 part of an ASG

Description of the problem:
In my environment I have some EC2 that are part of AutoScalingGroups; for those instances the solution is not working, because the ASG terminates the stopped EC2s and starts new ones.
Suggested solution:
I solved the issue implementing 2 lambda functions, one that suspends and the other that resumes ASG processes
https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#as-suspend-resume
this way I can suspend the ASG processes, and then the EC2 can be stopped via the tag defined in the "Instance Scheduler" solution.
When the EC2 is restarted (again, via the tag defined in the solution), then the other lambda is executed, and the ASG is back to normal behaviour. The lambda functions are quite simple, I would gladly share the code, and my suggestion is to insert them as part of the solution, so that they are implemented as part of the stackset; in my case the executions of the lambdas and the schedule of the solution are just time-synchronized, but I think it could be possible to bind the execution of these lambda functions to the schedule defined in the dynamodb that is part of the solution.
Let me know if you need further information.
Best regards

We don't plan to support scheduling instances that are part of an ASG for the reasons you mentioned. We also don't intend to suspend and resume the ASG processes. However, we are investigating support for scheduling the ASG itself in an upcoming release.


Fix #248

Add Servo and AngularServo implementation along with docs and tests.
This is a deliberately minimal implementation designed to be added to as
we agree on new extensions (better than making an all-singing,
all-dancing version in which I get things wrong and then wind up making
backward incompatible changes to get it right :)

Current coverage is 71.58% (diff: 100%)

Merging #416 into master will increase coverage by 0.79%

@@             master       #416   diff @@
==========================================
  Files            29         29
  Lines          6244       6419   +175
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           4420       4595   +175
  Misses         1824       1824
  Partials          0          0

Powered by Codecov. Last update 20df5e4...02f7d20


Multithreaded Server?

Reading through the API and the code I'm not seeing an obvious way to do it, so I'm writing to see if there's a way that would be recommended by people better familiar with the architectural design of ldapjs.  Is it possible to run ldapjs as a server with multiple threads?  My ideal would probably be something akin to the express connection callback wherein a new connection forms and is sent off to another thread with threads pre-built using something like node.js's cluster library (plus I already have a thread manager using this model for the application I'd like to use ldapjs in.)

Upon further review it looks like this could be achieved with a hook into the newConnection callback of the createServer calls in lib/server.js:
if ((options.cert || options.certificate) && options.key) {
    options.cert = options.cert || options.certificate
    this.server = tls.createServer(options, newConnection)
} else {
    this.server = net.createServer(newConnection)
}

Created pull request https://github.com/ldapjs/node-ldapjs/pull/727 to submit a change for this.

I don't think this is a good idea. While the docs do not indicate it (https://nodejs.org/dist/latest-v14.x/docs/api/cluster.html), people I know that work on Node core do not recommend the cluster API to be used.

I think worker threads were supposed to fix most of the issues in node cluster.

I don't think this is a good idea. While the docs do not indicate it (https://nodejs.org/dist/latest-v14.x/docs/api/cluster.html), people I know that work on Node core do not recommend the cluster API to be used.

It would be required regardless of the mode of multithreading you're using unless you're arraying node instances of the app created on a port for every thread and using some other tool to route traffic at the network level between them for load balancing.  Having a hook strikes me as cleaner and affords more freedom for development (e.g. not requiring the server to be single-threaded.)

👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.


Error in importing optimum neuron: cannot import name 'GenerationMode' from 'transformers.generation.utils'

from transformers import AutoTokenizer
from optimum.neuron import NeuronModelForCausalLM

results in
RuntimeError: Failed to import optimum.neuron.modeling because of the following error (look up to see its traceback):
cannot import name 'GenerationMode' from 'transformers.generation.utils' (/opt/aws_neuron_venv_pytorch/lib/python3.8/site-packages/transformers/generation/utils.py)

I just followed this snippet: https://huggingface.co/docs/optimum-neuron/guides/models#text-generation-inference

I had a similar error, I checked the version of optimum package installed on my system.
$ pip list | grep optimum
optimum                       1.13.2
optimum-neuron                0.0.13

I noticed that though I had the latest version of optimum, optimum-neuron was pointing to older github release tag. when I compared the code between the release tags, I noticed the code deviations.
So I installed the latest version of optimum-neuron which fixed my issue.
pip index versions optimum-neuron
pip install optimum-neuron==0.0.13

FWIW,

GenerationMode is added in this commit which is available from transformers==4.32.0 so running pip install "transformers>=4.32.0" was required.

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Thank you!


Add support for R in documentation.

Also fix a bug for reading credentials in DefaultSource

I did it in both environments, but I'll clean it up to demonstrate from the sparkR shell.

Alright have a look now and let me know what you think.
To do the same from RStudio requires bringing in the libraries and creating the SparkContext manually.  I primarily use the shell though right now.

Now is perfect! thank you very much!