HDDS-2254 : Fix flaky unit test TestContainerStateMachine#testRatisSnapshotRetention

What changes were proposed in this pull request?
On locally trying out repeated runs of the unit test, the unit test failed intermittently while asserting "Null" value for CSM snapshot. This assertion is not valid when the other unit test in the class executes before and creates keys in the cluster/container. Removed the null check since it does not test the core functionality of snapshot retention.
https://issues.apache.org/jira/browse/HDDS-2254
How was this patch tested?
Ran the unit tests a few hundred times in IDE in different order.

/label ozone

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
79
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

-1
mvninstall
48
hadoop-hdds in trunk failed.

-1
mvninstall
40
hadoop-ozone in trunk failed.

-1
compile
19
hadoop-hdds in trunk failed.

-1
compile
14
hadoop-ozone in trunk failed.

+1
checkstyle
60
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
947
branch has no errors when building and testing our client artifacts.

-1
javadoc
19
hadoop-hdds in trunk failed.

-1
javadoc
16
hadoop-ozone in trunk failed.

0
spotbugs
1038
Used deprecated FindBugs config; considering switching to SpotBugs.

-1
findbugs
33
hadoop-hdds in trunk failed.

-1
findbugs
18
hadoop-ozone in trunk failed.

_ Patch Compile Tests _

-1
mvninstall
31
hadoop-hdds in the patch failed.

-1
mvninstall
34
hadoop-ozone in the patch failed.

-1
compile
22
hadoop-hdds in the patch failed.

-1
compile
15
hadoop-ozone in the patch failed.

-1
javac
22
hadoop-hdds in the patch failed.

-1
javac
15
hadoop-ozone in the patch failed.

+1
checkstyle
53
the patch passed

+1
mvnsite
0
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
777
patch has no errors when building and testing our client artifacts.

-1
javadoc
20
hadoop-hdds in the patch failed.

-1
javadoc
16
hadoop-ozone in the patch failed.

-1
findbugs
29
hadoop-hdds in the patch failed.

-1
findbugs
17
hadoop-ozone in the patch failed.

_ Other Tests _

-1
unit
25
hadoop-hdds in the patch failed.

-1
unit
22
hadoop-ozone in the patch failed.

+1
asflicense
29
The patch does not generate ASF License warnings.

2496

Subsystem
Report/Notes

Docker
Client=19.03.2 Server=19.03.2 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1604

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 86613cd11232 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / b8086bf

Default Java
1.8.0_222

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/branch-findbugs-hadoop-ozone.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-compile-hadoop-ozone.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-compile-hadoop-hdds.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-findbugs-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/testReport/

Max. process+thread count
306 (vs. ulimit of 5500)

modules
C: hadoop-ozone/integration-test U: hadoop-ozone/integration-test

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1604/1/console

versions
git=2.7.4 maven=3.3.9

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

Does this change also address assertion failure on line # 188?

@swagle I could not reproduce any failure on L#188. I will continue to try different experiments.

I think flakiness could be reduced more by executing init() and shutdown() per test case (@Before, etc.). In that case you could keep the assertion.

Yes I agree. However, I was hoping to avoid setting up a MiniOzoneCluster again for a small test. Let me think about it and get back.

Thank you very much to open this pull request.
During the weekend the Ozone source code has been moved out from apache/hadoop repository to apache/hadoop-ozone repository.
This git commits are rewritten, but the branch of this pull request is also transformed (state of Saturday morning), you can use the new, migrated branch to recreate this pull request.
Your pull request is important for us: Can you please re-create your pull request in the new repository?
1. Create a new fork of https://github.com/apache/hadoop-ozone
2. Clone it and have both your fork and the apache repo as remotes:
git clone git@github.com:avijayanhwx/hadoop-ozone.git
cd hadoop-ozone
git remote add apache git@github.com:apache/hadoop-ozone.git
git fetch apache

3. Fetch your migrated branch and push it to your fork.
git checkout -b HDDS-2254 apache/HDDS-2254
git push origin HDDS-2254

4. And create the new pull request on the new repository.
https://github.com/apache/hadoop-ozone/compare/master...avijayanhwx:HDDS-2254?expand=1
If you need more information, please check this wiki page or contact with me (my github user name + apache.org).
Thank you, and sorry for the inconvenience.


Add Math::abs()

We need to check it if abs() is needed in math class.
From what I remember, abs() function is in fastmath.h.
https://github.com/h4570/tyra/blob/d58163d75be2d6c848f4456f73cebd8a6c1a63bd/src/engine/include/utils/math.hpp#L23

Confirmed, closing the issue.


Updated pixels.json

Checklist

[x] I ran npm test locally and it passed without errors.

[x] I only edited the _data/pixels.json file.

[x] I entered the username in the pixels.json that I'm also using to create this pull request.
[x] I acknowledge that all my contributions will be made under the project's license.

hi @DevelopedByAnurag -- it looks like you've already claimed this pixel in another pull request, so I'm going to close this one out. Thanks for your contribution.


Designs added

Related Issue
#320
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Added hover effect for icon and regenerated link tags
Description
[Please include a brief description of the changes or features added]
Type of PR

[ X] Feature enhancement

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes]

Checklist:

[ X] I have performed a self-review of my code
[ X] I have read and followed the Contribution Guidelines.
[ X] I have tested the changes thoroughly before submitting this pull request.
[ X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ X] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

Please mention the issue number!

My sincere apologies to you. I'm new to open source so I was not known of
it.
Edited and wrote the issue number.
On Wed, Jul 24, 2024, 11:18 AM Vidushi Agarwal @.***>
wrote:

Please mention the issue number!
—
Reply to this email directly, view it on GitHub
https://github.com/Muskansahuincredible/StudyNotion-An-Online-Education-Platform/pull/324#issuecomment-2246954812,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHNZX27YPFWCPNQ73BRRL63ZN454VAVCNFSM6AAAAABLLP6KU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBWHE2TIOBRGI
.
You are receiving this because you authored the thread.Message ID:
<Muskansahuincredible/StudyNotion-An-Online-Education-Platform/pull/324/c2246954812
@github.com>


Add info about new onboarding process

https://trello.com/c/hqFmbCcD/157-document-new-onboarding-process

@elizabethraley Assigning this to you to review - if it looks good, could you approve? Otherwise, please add your comments/requests for changes.


Main develop

Short Description

Short description of this pull request.
Provide any additional context as needed and explain reasons behind your implementation choices.
Add any links to tickets, specs, documentation, external resources, etc. that may be relevant.

Changes

What changes does this pull request introduce?
Are there any additional changes (e. g. refactoring) that are part of this pull request?

Feedback

Which parts of the code would you like feedback on?
Questions that are open are also good (e. g. "Do you see any tests missing for class x?")

How to review this Pull Request
Link to Confluence (internal)

Why do we need to add those __init__.py files?

Older versions of Python needed a __init__.py file to tell Python that a folder is a module. Newer Python versions do not need the init.py files. However, Pycharm adds this automatically.
I would propose we clean that up and delete those __init__.py files

:white_check_mark:


Kinect data on GPU with gpu::GpuMat, ogl::Buffer, ogl::Texture2D, or OpenGL handles

Add access to Kinect data via cv::gpu::GpuMat, ogl::Buffer, cv::ogl::Texture2D, and/or OpenGL handles to keep data on GPU and greatly reduce GPU<->CPU memory churn for image processing, computation, etc. As I so far understand the codebase, almost all work by this SDK codebase is done on the CPU. (depthengine is not part of this SDK codebase)
For the same reasons that depthengine is written for GPU usage...our apps need to use the GPU. Developers on tiny industrial platforms up to workstations need the Kinect data to stay on the GPU to scale across the variety of computing platforms. Forcing download of all frames to CPU is last-generation approach 👴 and wastes resources of gpu, cpu, power, and thermal budget. Microsoft owns the entire stack on Windows: sensor, compiler, OS, drivers, and SDK. The Linux stack is all open-source. Therefore, there is no technical limitation/barrier to writing the code.
Examples
OpenCV provides cv::gpu::GpuMat as one container for data kept in GPU memory. Two others are ogl::Buffer and cv::ogl::Texture2D. If depthengine via this SDK exposed Kinect data in such containers, it would allow easy usage in OpenCV and libraries using OpenCV interfaces. In addition, data can be downloaded GPU->CPU at any time with a single line of code cv::gpu::GpuMat::download().
auto image = k4a_capture_get_depth_image(capture);
cv::gpu::GpuMat sourceOnGpu = k4a_image_get_gpumat(image);
cv::gpu::GpuMat resultOnGpu;
cv::gpu::threshold(sourceOnGpu, resultOnGpu, 128.0, 255.0, CV_THRESH_BINARY);

cv::Mat resultSlowCpuMem;
resultOnGpu.download(resultSlowCpuMem);  // <-- only here do we request data move from GPU->CPU

Or imagine depthengine and this SDK expose the data in a capture collection of OpenGL handles to shared textures, pbo, etc. And enabling dirextx/opengl texture sharing as needed for depthengine. This would allow the following pseudocode. Note:  in this pseudocode zero image data was copied from GPU->CPU memory.
auto capture = k4a_get_capture();
auto image = k4a_capture_get_depth_image(capture);
auto glTexture = k4a_image_get_texture(image);
myShader.use();
myShader.setInt("texture1", glTexture);
myShader.run();

Savings
The memory savings, cpu savings, and cache churn is gigantic. For example, every NV12 4k frame is approximately 12MB of data. At 30fps that is approximately 365 MB every second and invalidating large chunks of the L1-3 CPU cache. And worse...in today's apps that must process data with GPUs this number is doubled. Why? Because depthengine forces download to CPU for depth/ir data, this SDK overall forces it for depth, ir, and color...and the very next line of code is an upload of that same data back to the GPU. Of course, the depth image is less memory...however...it is separate memory and would then add yet more MB of data churning.
cv::gpu::GpuMat churnMemory(const k4a_image_t& image) {
  cv::gpu::GpuMat gpuMem;
  uint8_t * cpuMem = k4a_image_get_buffer(image); // download gpu->cpu
  gpuMem.upload(cpuMem); // duplicate resource waste cpu->gpu
  return gpuMem;
}

By keeping data on the GPU, 730MB every second is reduced to zero. Plus, it allows for efficient GPU processing of data when often the destination is the GPU.
Alternative
None possible. All depth image data is forced to be copied to CPU memory by the closed-source depthengine. This SDK only exposes Kinect capture data via CPU memory using k4a_capture_get_depth_image(), k4a_capture_get_color_image(), or k4a_capture_get_ir_image(). Even the SDK examples do expensive GPU->CPU copies on every frame, 30 times a second.
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/aaddc09296731905ee775a1da30b95e06f7f6b97/examples/viewer/opengl/texture.cpp#L69-L77
or
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/aaddc09296731905ee775a1da30b95e06f7f6b97/tools/k4aviewer/gpudepthtopointcloudconverter.cpp#L134-L136

This is an excellent proposal @diablodale. I have also posted it on User Voice here:
https://feedback.azure.com/forums/920053-azure-kinect-dk/suggestions/40619830-kinect-data-on-gpu-with-gpu-gpumat-ogl-buffe
We would like to here from the community.

:heavy_plus_sign:
Also running into this limitation, preventing better performance.
I'd really prefer a k4a device image type over an OpenCV one, though. Using an OpenCV type introduces a huge dependency, as well as additional licensing bureaucracy.
IMHO, a good location for introducing this is as early as needed to avoid any device->host copies. Maybe even in the device handle configuration.

As outlined above, it would make an enormous difference is k4a_image_t exposed a GL texture handle. Any developments on this front after 2+ years? Loss for words...


SARAALERT-1421: Improve loading of assessments table on patient page

Description
Jira Ticket: SARAALERT-1421
Currently, hundreds of queries (although cached, still slower) are being executed to load the assessments table, which is responsible for a noticeable amount of the loading time of the patient page. This is due to the fact that each symptom of each assessment is being queried separately.
The changes in this PR aim to improve the performance of this by querying these assessments and symptoms in bulk rather than individually
(Feature) Demo/Screenshots
Insert demo video or photos for a new or updated feature or capability.
(Bugfix) How to Replicate
Insert steps for how to replicate the bug this PR addresses.
(Bugfix) Solution
Insert description for the solution this PR implements to address the bug.
Important Changes
Please list important files (meaning substantial or integral to the PR) along with a list of the general changes that should be highlighted for reviewers.
example_file.js

Example change (ex: refactored import function)

Checklists
Submitter:

[x] This PR describes why these changes were made.
[x] This PR is into the correct branch.
[x]  This PR includes the correct JIRA ticket reference.
[x] Code diff has been reviewed (it does not contain: additional white space, not applicable code changes, debug statements, etc.)
[x] N/A If UI changes have been made, Chrome Dev Tools Lighthouse accessibility test has been executed to ensure no 508 issues were introduced.
[x] Tests are included and test edge cases
[x] Tests have been run locally and pass (remember to update Gemfile when applicable)
[x] Test fixtures updated and documented as necessary

@holmesie  :

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code
[ ] If applicable, you have tested changes against a large database, and considered possible performance regressions

@mayerm94  :

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code
[ ] If applicable, you have tested changes against a large database, and considered possible performance regressions

@tstrass  :

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code
[ ] If applicable, you have tested changes against a large database, and considered possible performance regressions

@timwongj would it be possible to add a benchmark that shows the performance gain with this PR? If that's too much for this, then do you have measurements elsewhere that you took on the performance improvement?
Could add a micro benchmark like this so it could run in that same job
patient = Patient.where(monitoring: true).first
micro_results << benchmark(
  name: 'PatientAssessmentQuerying',
  time_threshold: 1,
  no_exit: true,
  setup: proc {
    patient.do_something_to_add_lots_of_assessments
  }
) {
  assessments = search(patient.assessments, search_text)
  assessments = sort(assessments, sort_order, sort_direction)
  assessments = paginate(assessments, entries, page)
  assessments = format_for_frontend(assessments)
}

All of my comments from before have been resolved.
I'm seeing test failures in CI with the AsessmentsController (and the same errors locally as well). Looks like an issue with Assessment.rb:L52
Also, is this branch up to date with 1.28.0?

just rebased and fixed the tests: https://github.com/SaraAlert/SaraAlert/pull/806/commits/d57204df32602bccc846366a71ff9ce2c7b28bb8
thanks @jkufro !


fix(docs): typo in demonstration of InsertNode

also added The in front of 0-th
since a sentence starting with a number will lead to some confusion
with the period of the last sentence.

Nice, TY!
Could you squash all of those into a single commit? I think that would be a bit cleaner.

Sure, I will do that.
It is ugly now.

Nice, ty!
Definitely an improvement :D


 Wtf's going on with the macbook?

Work well on Mac desktop. The issue is with the macbook


Bugfix/fvg 17735 CVE fixes gloo assembly v2.0.2

Description
Please include a summary of the changes.
This bug fixes ... \ This new feature can be used to ...
Context
Users ran into this bug doing ... \ Users needed this feature to ...
Checklist:

[ ] I included a concise, user-facing changelog (for details, see https://github.com/solo-io/go-utils/tree/master/changelogutils) which references the issue that is resolved.
[ ] If I updated APIs (our protos) or helm values, I ran make -B install-go-tools generated-code to ensure there will be no code diff
[ ] I followed guidelines laid out in the Gloo Edge contribution guide
[ ] I opened a draft PR or added the work in progress label if my PR is not ready for review
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works

--Just please not forget to remove the "-SNAPSHOT" from the chart.Version, before releasing--. Sorry, actually while re-reading your Teams message, I think you're already aware of that.

Yep, thanks Tiberiu.


Update Nightingale.yml (close #132)

Let's use $(...) instead of backticks as explained here.

Changed it.


How do we folder headers?

Like how does files get categorised in public others and private?

The folders are sorted with numbers from 0-9, with the numbers I define a simple order for the main folders. The headers are simply pushed in between with CSS.
If you want to change the number of headers or the order you have to adjust the addon-folder-headers.css, Header 2 looks like this for example:
addon-folder-headers.css:
.nav-folder.mod-root > .nav-folder-children > .nav-folder:nth-child(4)::after {
  content: var(--folder-header-2);
  background: var(--folder-header-2-background, var(--bg1));
  color: var(--folder-header-2-color, var(--text-muted));
  position: relative;
}

.nav-files-container:hover > .nav-folder.mod-root > .nav-folder-children > .nav-folder:nth-child(4)::after {
  background: var(--folder-header-2-background-hover);
  color: var(--folder-header-2-color-hover);
}

There you only have to change the number of the child or remove some lines if you want to have fewer header lines.
addon-folder-hide-numbers.css:
If you have adjusted the folder names, you also have to adjust the addon-folder-hide-numbers.css where only the data-path names are adjusted.
[data-path="1 Notes"] .tree-item-inner::first-letter,
[data-path="2 Bookmarks"] .tree-item-inner::first-letter,
[data-path="3 Tasks"] .tree-item-inner::first-letter,
[data-path="4 Personal"] .tree-item-inner::first-letter,
[data-path="5 Study"] .tree-item-inner::first-letter,
[data-path="6 Work"] .tree-item-inner::first-letter,
[data-path="7 Knowledge"] .tree-item-inner::first-letter,
[data-path="8 Resources"] .tree-item-inner::first-letter,
[data-path="9 Templates"] .tree-item-inner::first-letter {
    color: transparent;
    font-size: 0px;
}

After saving the CSS files, the changes should be visible.


Is it possible to run Conty as x11 in wayland?

Hello, sorry for the question, as Wayland is getting better and better. Will it be possible to run Conty like X11 while my host is on Wayland? I would like to continue running some programs that only work correctly in an X11 environment like PCSX2, Plank, and some other programs. Will it be possible?

On Wayland Conty can run applications that support only X11 through XWayland, and it's possible to force applications to run through XWayland even if they support Wayland natively (for example, if their Wayland support is not good).
If you mean can Conty run as a full X11 environment with its window manager and such, it should be possible to do this on a different TTY, but in this case it will be a different graphical session, not integrated within your main graphical session.

plank in wayland has no support at all. When running from a session in wayland I get the following
Welcome to Conty
Enter any commands you want to execute
[slui@steamdeck-befilledbyoem conty]$ plank
[CRITICAL 11:35:07.512102] [AbstractMain:255] Only X11 environments are supported.

Try to run it this way:
$ XDG_SESSION_TYPE=x11 WAYLAND_DISPLAY= plank

Thank you very much, it worked perfectly, your project is wonderful. greetings
XDG_SESSION_TYPE=x11 WAYLAND_DISPLAY= plank ./conty_lite.sh


feat: adds counter party validation on all DSP messages

What this PR changes/adds
Add counter party validation on all DSP messages
Why it does that
consistency
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method
signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes #3397
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

Codecov Report
Patch coverage: 100.00% and project coverage change: +7.49% :tada:

Comparison is base (418f1b7) 64.58% compared to head (9761b06) 72.08%.
Report is 1 commits behind head on main.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3402      +/-   ##
==========================================
+ Coverage   64.58%   72.08%   +7.49%
==========================================
  Files         828      828
  Lines       16796    16798       +2
  Branches      954      954
==========================================
+ Hits        10848    12108    +1260
+ Misses       5575     4280    -1295
- Partials      373      410      +37

Files Changed
Coverage Δ

...ferprocess/TransferProcessProtocolServiceImpl.java
98.92% <100.00%> (+0.02%)
:arrow_up:

... and 49 files with indirect coverage changes

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


Only works with Flurl Http 2.1.0 and Flurl 2.5.2

When I install the newest version of flurl (2.4.2 flurl.http and 2.8.2 flurl), there is an exception in Yahoo.QueryAsync() where it says that it cannot find the assembly Flurl.Http 2.1.0.

I suggest you try:
https://github.com/dshe/YahooQuotesApi
On Thu, Dec 26, 2019 at 12:03 AM Alex Raita<EMAIL_ADDRESS>wrote:

When I install the newest version of flurl (2.4.2 flurl.http and 2.8.2
flurl), there is an exception in Yahoo.QueryAsync() where it says that it
cannot find the assembly Flurl.Http 2.1.0.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lppkarl/YahooFinanceApi/issues/41?email_source=notifications&email_token=AAFXEWHPVUBUV2AZJLECG6LQ2NY5XA5CNFSM4J7FLA2KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4ICTVMQA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFXEWEA54CVYJTPZB76XLDQ2NY5XANCNFSM4J7FLA2A
.


fix(chat): hide unpublish option from change path dialog (Issue #1501)

Description:
hide unpublish option from change path dialog
Issues:

#1501

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review


FancyZones: subscribe only to handled WinHook events

Summary of the Pull Request

subscribe only to handled WinHook events
(un)hook EVENT_OBJECT_LOCATIONCHANGE handler only when required

PR Checklist

[x] Applies to #1264

Validation Steps Performed

moved windows in FZ with various options turned off and on

@ivan100sic
it doesn't improve the FZ perfs, it reduces the FZ processing when it is supposed to be inactive.
For example it should be processing while resizing a window since we don't receive anymore notification for that event.


fix: remove stray undefined message on ctrl+c

Description of changes
force ending amplify update storage does not print a stray undefined message

Issue #, if available
Closes #9829

Description of how you validated changes
Ran reproduction steps, undefined doesn't print anymore
Checklist

[x] PR description included
[x] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #9927 (1c80e4d) into master (3e64978) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #9927      +/-   ##
==========================================
- Coverage   53.36%   53.36%   -0.01%
==========================================
  Files         833      833
  Lines       46092    46093       +1
  Branches     9838     9839       +1
==========================================
  Hits        24599    24599
- Misses      19489    19490       +1
  Partials     2004     2004

Impacted Files
Coverage Δ

...fy-category-storage/src/commands/storage/update.ts
60.86% <0.00%> (-2.77%)
:arrow_down:

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 3e64978...1c80e4d. Read the comment docs.


Validate KML in Cutter

It may be worth performing basic validation on the KML that's pasted by the user in the Cutter UI, and subsequently added in the glb.
A simple tool for doing so is:
$ xmllint -noout file.kml
If the response is non-empty, then a warning could be shown to the user that their KML may be invalid.
Alternatively, just check the  element(s).

I recently had a problem where some code was trying to parse the polygon.kml file from earth_enterprise/src/fusion/portableglobe/globes/tutorial_sf.glm.  The XML parser I was using refused to parse it because of the blank line preceding the  element which is technically malformed XML.  I had to add extra code to remove leading whitespace from the document.
I would like to see this issue resolved so other code that reads the polygon.kml doesn't have to fix up the XML.

This can be done using Javascript only. Also, do not break existing XML snippet capability.

There is already Javascript validation when pasting KML to define a region in Cutter. You can verify this by pasting any text that is not valid KML into text area and clicking Use KML. The page will display a popup message that reads:

Invalid KML
Please confirm that you have entered valid KML.

I created PR #1364 to explore implementing similar checks on the server.

@restouffer  I do see that some validation is done.  I don't know how thorough it is but it does not prevent a blank line before the <?xml> declaration.  Maybe just removing leading whitespace from the pasted string is all that's needed?

lxml will reject XML that starts with whitespace, so #1364 should prevent globes with bad KML from being built. It would be simple to trim whitespace from the KML in Javascript before it is saved, if that is a common scenario.

How hard would it be to add an XML schema check using the KML schema: http://schemas.opengis.net/kml/
Most XML parsers have this feature.

Closed via PR #1364


Handle queries for empty labels

PromQL treats empty label values as queries for the all time-series that doesn't have the given label. This is from the PromQL docs: Label matchers that match empty label values also select all time series that do not have the specific label set at all.
The adapter currently doesn't handle this case as it queries for time-series that has the label set to the empty string.

Should be fixed as of v0.2


'Word Cloud' visual duplicates word entries in same string

There seems to be a bug in the 'Word Cloud' visualization where duplicate words in the same string will be counted as separate, different words.  For example, with the following data as input:
string[] = [
        "car collision hallway fall crash hallway",
	"car collision hallway hallway",
	"car collision person person car injure"
	];

The output will contain multiple values for "hallway" and "person":

I think that the problem exists in the getReducedText(texts: WordCloudText[]) function in wordCloud.ts, specifically in the value.index !== currentValue.index test:
 private getReducedText(texts: WordCloudText[]): WordCloudText[] {
            let brokenStrings: WordCloudText[] = [];
            brokenStrings = this.getBrokenWords(texts);

            return brokenStrings.reduce((previousValue: WordCloudText[], currentValue: WordCloudText) => {
                if (!previousValue.some((value: WordCloudText) => {
-->                 if (value.index !== currentValue.index && value.text === currentValue.text) {
                        value.count += currentValue.count;

                        return true;
                    }

                    return false;
                })) {
                    previousValue.push(currentValue);
                }

                return previousValue;
            }, []);
        }

If I am interpreting this correctly, the above will consider any words with the same .index value (the string it was extracted from) to be distinct, even if they are lexicographically identical.  Removing this check seems to fix the problem:

@chrisbigart Thank you, we'll investigate and fix this problem.

I met the same problem, but I can't  find "getReducedText(texts: WordCloudText[])", looking forward to your help!


Chance number

HI,
I want to change the Number.
Things I did:
Logout web Whatsapp.
delete whatsapp: in configuration.yaml
Reinstall addon
Enter whatsapp: in configuration.yaml
I did not get an new QR code :(

an extra restart, the 3th will give the new QR


Build for arm/v7, add makefile target, adjust Github Action.

Wanted to try this on my Pi - realized the Docker image wasn't compatible so adjusted this so it was.
I have pushed it here to at least make sure it builds:
https://hub.docker.com/repository/docker/darron/unifi-protect-backup
Haven't tested it yet - hoping to try it out later this week.
The makefile variables are set that way so that it's much easier to adjust Docker repos, build arches with environment variables.
Thought I'd contribute - but no worries if it's not wanted.

Thanks for sharing! I forgot that the raspberry pi still defaults to 32-bit OS and didn't thing to add arm v7.
Let me know once you've tested this and I'll merge it in.

I have tested it locally and it runs. I haven't sorted out the upload to S3 - but I have a permissions issue that I just haven't had time to sort out - but here's an example of it running:
root@tailscale:/home/pi# docker run \
>   -e UFP_USERNAME='REDACTED' \
>   -e UFP_PASSWORD='REDACTED' \
>   -e UFP_ADDRESS='REDACTED' \
>   -e UFP_SSL_VERIFY='false' \
>   -e RCLONE_DESTINATION='awsS3bucket:REDACTED' \
>   -e SQLITE_PATH=/config/database/protect.db \
>   -v '/etc/rclone/rclone.conf':'/root/.config/rclone/rclone.conf' \
>   -v '/home/pi/protect/clips':'/data' \
>   -v '/home/pi/protect/database':/config/database/ \
>   --security-opt seccomp=unconfined \
>   darron/unifi-protect-backup
[custom-init] No custom services found, skipping...
[migrations] started
[migrations] no migrations found
cont-init: info: running /etc/cont-init.d/30-config
DEPRECATED: Copying rclone conf from /root/.config/rclone/rclone.conf, please change your mount to /config/rclone.conf
cont-init: info: /etc/cont-init.d/30-config exited 0
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/

Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    911
User gid:    911
-------------------------------------

[custom-init] No custom files found, skipping...
services-up: info: copying legacy longrun unifi-protect-backup (no readiness notification)
[ls.io-init] done.
v
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :  Config:
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    address='<IP_ADDRESS>'
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    port=443
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    username='REDACTED'
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    password=REDACTED
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    verify_ssl=False
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    rclone_destination='awsS3bucket:REDACTED'
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    retention='7d'
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    rclone_args=''
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    ignore_cameras=()
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    verbose=1
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    detection_types=['motion', 'person', 'vehicle', 'ring']
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    file_structure_format='{camera_name}/{event.start:%Y-%m-%d}/{event.end:%Y-%m-%dT%H-%M-%S} {detection_type}.mp4'
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    sqlite_path='/config/database/protect.db'
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    download_buffer_size=512.0MiB
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :    purge_interval='1d'
2023-01-06 18:31:58 [   INFO    ] unifi_protect_backup.unifi_protect_backup  :  Starting...
2023-01-06 18:31:58 [   INFO    ] unifi_protect_backup.unifi_protect_backup  :  Checking rclone configuration...
2023-01-06 18:31:58 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :  rclone found: /usr/bin/rclone
2023-01-06 18:31:59 [  WARNING  ] unifi_protect_backup.utils                 :  Failed to run: 'rclone mkdir -vv awsS3bucket:REDACTED
2023-01-06 18:31:59 [  WARNING  ] unifi_protect_backup.utils                 :  stdout:

2023-01-06 18:31:59 [  WARNING  ] unifi_protect_backup.utils                 :  stderr:
	2023/01/06 18:31:58 DEBUG : Setting --config "/config/rclone/rclone.conf" from environment variable RCLONE_CONFIG="/config/rclone/rclone.conf"
	2023/01/06 18:31:58 DEBUG : rclone: Version "v1.58.1-DEV" starting with parameters ["rclone" "mkdir" "-vv" "awsS3bucket:REDACTED"]
	2023/01/06 18:31:58 DEBUG : Creating backend with remote "awsS3bucket:REDACTED"
	2023/01/06 18:31:58 DEBUG : Using config file from "/config/rclone/rclone.conf"
	2023/01/06 18:31:58 DEBUG : S3 bucket REDACTED: Making directory
	2023/01/06 18:31:59 ERROR : Attempt 1/3 failed with 1 errors and: AccessDenied: Access Denied
		status code: 403, request id: BN7JMNS5693WREYS, host id: ISZxdcBVpJr/ALVCLdYSzh2oTgXQYWvXf+b2OGXe0DhHbBNMZn8MglhlBmBfRXFBDv/nxXT/SRU=
	2023/01/06 18:31:59 DEBUG : S3 bucket REDACTED: Making directory
	2023/01/06 18:31:59 ERROR : Attempt 2/3 failed with 1 errors and: AccessDenied: Access Denied
		status code: 403, request id: BN7YBCG7WTTTTFNR, host id: /nkqxIZmKUgSertRnZYX3fuNnxnvXhr8V42lCM8U6DM1vhiFPpUgRIqNGHOl/egzJuwJoWKQ250=
	2023/01/06 18:31:59 DEBUG : S3 bucket REDACTED: Making directory
	2023/01/06 18:31:59 ERROR : Attempt 3/3 failed with 1 errors and: AccessDenied: Access Denied
		status code: 403, request id: BN7WT67C0QZ3CGD6, host id: efQ+XpD7d75JuDyIsl3Ezp3GPJ/wysEjFY5e2DEbzYeZob5GWAalCbCKdi/KlN6Lh2bvtaipMFw=
	2023/01/06 18:31:59 DEBUG : 4 go routines active
	2023/01/06 18:31:59 Failed to mkdir: AccessDenied: Access Denied
		status code: 403, request id: BN7WT67C0QZ3CGD6, host id: efQ+XpD7d75JuDyIsl3Ezp3GPJ/wysEjFY5e2DEbzYeZob5GWAalCbCKdi/KlN6Lh2bvtaipMFw=
2023-01-06 18:31:59 [   INFO    ] unifi_protect_backup.unifi_protect_backup  :  Connecting to Unifi Protect...
2023-01-06 18:32:00 [   INFO    ] unifi_protect_backup.unifi_protect_backup  :  Found cameras:
2023-01-06 18:32:00 [   INFO    ] unifi_protect_backup.unifi_protect_backup  :   - 5e06587a0308ce03e7023b5c: REDACTED
2023-01-06 18:32:00 [   INFO    ] unifi_protect_backup.unifi_protect_backup  :   - 5f37602e0337dc03e70030f3: REDACTED2
2023-01-06 18:32:00 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :  NVR TZ: America/Edmonton
2023-01-06 18:32:00 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup  :  Local TZ: UTC
2023-01-06 18:32:00 [   DEBUG   ] unifi_protect_backup.downloader            :  ffprobe found: /usr/bin/ffprobe
2023-01-06 18:32:00 [   INFO    ] unifi_protect_backup.unifi_protect_backup  :  Starting...
2023-01-06 18:32:00 [   INFO    ] unifi_protect_backup.downloader            :  Starting Downloader
2023-01-06 18:32:00 [   INFO    ] unifi_protect_backup.uploader              :  Starting Uploader
2023-01-06 18:32:00 [   DEBUG   ] unifi_protect_backup.event_listener        :  Subscribed to websocket
2023-01-06 18:32:00 [   INFO    ] unifi_protect_backup.missing_event_checker :  Starting Missing Event Checker
2023-01-06 18:32:01 [   DEBUG   ] unifi_protect_backup.missing_event_checker :   Total undownloaded events: 0
2023-01-06 18:32:01 [   DEBUG   ] unifi_protect_backup.missing_event_checker :   Undownloaded events of wanted types: 0
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.event_listener        :  Adding event 63b8697802ea6d03e700216b to queue (Current download queue=1)
2023-01-06 18:33:39 [   INFO    ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]  Downloading event: 63b8697802ea6d03e700216b
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]  Remaining Download Queue: 0
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]  Video Download Buffer: 0.0B/512.0MiB
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    Camera: REDACTED2
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    Type: motion
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    Start: 2023-01-06T11-33-25<PHONE_NUMBER>.555)
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    End: 2023-01-06T11-33-30<PHONE_NUMBER>.831)
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    Duration: 5.276s
2023-01-06 18:33:39 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    Downloading video...
2023-01-06 18:33:40 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    Downloaded video size: 2.4MiBs
2023-01-06 18:33:41 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]    Downloaded video length: 9.387s(+4.111s)
2023-01-06 18:33:41 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8697802ea6d03e700216b]  Added to upload queue
2023-01-06 18:33:41 [   INFO    ] unifi_protect_backup.uploader              : [63b8697802ea6d03e700216b]  Uploading event: 63b8697802ea6d03e700216b
2023-01-06 18:33:41 [   DEBUG   ] unifi_protect_backup.uploader              : [63b8697802ea6d03e700216b]   Remaining Upload Queue: 0 (0.0B)
2023-01-06 18:33:41 [   DEBUG   ] unifi_protect_backup.uploader              : [63b8697802ea6d03e700216b]   Destination: awsS3bucket:REDACTED/REDACTED2/2023-01-06/2023-01-06T11-33-30 motion.mp4
2023-01-06 18:33:42 [  WARNING  ] unifi_protect_backup.utils                 :  Failed to run: 'rclone rcat -vv  "awsS3bucket:REDACTED/REDACTED2/2023-01-06/2023-01-06T11-33-30 motion.mp4"
2023-01-06 18:33:42 [  WARNING  ] unifi_protect_backup.utils                 :  stdout:

2023-01-06 18:33:42 [  WARNING  ] unifi_protect_backup.utils                 :  stderr:
	2023/01/06 18:33:41 DEBUG : Setting --config "/config/rclone/rclone.conf" from environment variable RCLONE_CONFIG="/config/rclone/rclone.conf"
	2023/01/06 18:33:41 DEBUG : rclone: Version "v1.58.1-DEV" starting with parameters ["rclone" "rcat" "-vv" "awsS3bucket:REDACTED/REDACTED2/2023-01-06/2023-01-06T11-33-30 motion.mp4"]
	2023/01/06 18:33:41 DEBUG : Creating backend with remote "awsS3bucket:REDACTED/REDACTED2/2023-01-06/"
	2023/01/06 18:33:41 DEBUG : Using config file from "/config/rclone/rclone.conf"
	2023/01/06 18:33:41 DEBUG : fs cache: renaming cache item "awsS3bucket:REDACTED/REDACTED2/2023-01-06/" to be canonical "awsS3bucket:REDACTED/REDACTED2/2023-01-06"
	2023/01/06 18:33:42 ERROR : 2023-01-06T11-33-30 motion.mp4: Post request rcat error: AccessDenied: Access Denied
		status code: 403, request id: EDJX4E7XK7NEMHEP, host id: IoZbUF0VwM1/XQBrXgmAUDqILKkNZS9NVzbVQia2mVM2fOI8dEoMhg3kbsGLgoMnxkZIAaEDi00=
	2023/01/06 18:33:42 DEBUG : 5 go routines active
	2023/01/06 18:33:42 Failed to rcat with 2 errors: last error was: AccessDenied: Access Denied
		status code: 403, request id: EDJX4E7XK7NEMHEP, host id: IoZbUF0VwM1/XQBrXgmAUDqILKkNZS9NVzbVQia2mVM2fOI8dEoMhg3kbsGLgoMnxkZIAaEDi00=
2023-01-06 18:33:42 [  WARNING  ] unifi_protect_backup.uploader              : [63b8697802ea6d03e700216b]   Failed to upload file: 'awsS3bucket:REDACTED/REDACTED2/2023-01-06/2023-01-06T11-33-30 motion.mp4'
2023-01-06 18:33:42 [   DEBUG   ] unifi_protect_backup.uploader              : [63b8697802ea6d03e700216b]  Uploaded
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.event_listener        :  Adding event 63b8695902fb6d03e7002167 to queue (Current download queue=1)
2023-01-06 18:33:55 [   INFO    ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]  Downloading event: 63b8695902fb6d03e7002167
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]  Remaining Download Queue: 0
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]  Video Download Buffer: 0.0B/512.0MiB
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    Camera: REDACTED
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    Type: motion
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    Start: 2023-01-06T11-32-54<PHONE_NUMBER>.557)
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    End: 2023-01-06T11-33-47<PHONE_NUMBER>.276)
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    Duration: 52.719s
2023-01-06 18:33:55 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    Downloading video...
2023-01-06 18:33:58 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    Downloaded video size: 13.1MiBs
2023-01-06 18:33:58 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]    Downloaded video length: 54.867s(+2.148s)
2023-01-06 18:33:58 [   DEBUG   ] unifi_protect_backup.downloader            : [63b8695902fb6d03e7002167]  Added to upload queue
2023-01-06 18:33:58 [   INFO    ] unifi_protect_backup.uploader              : [63b8695902fb6d03e7002167]  Uploading event: 63b8695902fb6d03e7002167
2023-01-06 18:33:58 [   DEBUG   ] unifi_protect_backup.uploader              : [63b8695902fb6d03e7002167]   Remaining Upload Queue: 0 (0.0B)
2023-01-06 18:33:58 [   DEBUG   ] unifi_protect_backup.uploader              : [63b8695902fb6d03e7002167]   Destination: awsS3bucket:REDACTED/REDACTED /2023-01-06/2023-01-06T11-33-47 motion.mp4
2023-01-06 18:33:59 [  WARNING  ] unifi_protect_backup.utils                 :  Failed to run: 'rclone rcat -vv  "awsS3bucket:REDACTED/REDACTED /2023-01-06/2023-01-06T11-33-47 motion.mp4"
2023-01-06 18:33:59 [  WARNING  ] unifi_protect_backup.utils                 :  stdout:

2023-01-06 18:33:59 [  WARNING  ] unifi_protect_backup.utils                 :  stderr:
	2023/01/06 18:33:58 DEBUG : Setting --config "/config/rclone/rclone.conf" from environment variable RCLONE_CONFIG="/config/rclone/rclone.conf"
	2023/01/06 18:33:58 DEBUG : rclone: Version "v1.58.1-DEV" starting with parameters ["rclone" "rcat" "-vv" "awsS3bucket:REDACTED/REDACTED /2023-01-06/2023-01-06T11-33-47 motion.mp4"]
	2023/01/06 18:33:58 DEBUG : Creating backend with remote "awsS3bucket:REDACTED/REDACTED /2023-01-06/"
	2023/01/06 18:33:58 DEBUG : Using config file from "/config/rclone/rclone.conf"
	2023/01/06 18:33:58 DEBUG : fs cache: renaming cache item "awsS3bucket:REDACTED/REDACTED /2023-01-06/" to be canonical "awsS3bucket:REDACTED/REDACTED /2023-01-06"
	2023/01/06 18:33:59 ERROR : 2023-01-06T11-33-47 motion.mp4: Post request rcat error: AccessDenied: Access Denied
		status code: 403, request id: NMWJH6SGY897NTY4, host id: bcAluDwvHb94l5SGcQ8WqQUX0vqk8/Jl0wuLef6bT3iwsabILC04PjB0opQd18wHEghuvUecDIM=
	2023/01/06 18:33:59 DEBUG : 5 go routines active
	2023/01/06 18:33:59 Failed to rcat with 2 errors: last error was: AccessDenied: Access Denied
		status code: 403, request id: NMWJH6SGY897NTY4, host id: bcAluDwvHb94l5SGcQ8WqQUX0vqk8/Jl0wuLef6bT3iwsabILC04PjB0opQd18wHEghuvUecDIM=
2023-01-06 18:33:59 [  WARNING  ] unifi_protect_backup.uploader              : [63b8695902fb6d03e7002167]   Failed to upload file: 'awsS3bucket:REDACTED/REDACTED /2023-01-06/2023-01-06T11-33-47 motion.mp4'
2023-01-06 18:33:59 [   DEBUG   ] unifi_protect_backup.uploader              : [63b8695902fb6d03e7002167]  Uploaded
^C2023-01-06 18:34:36 [  WARNING  ] aiorun                                     :  Stopping the loop
([\d.]+)(B|KiB|MiB|GiB|TiB|PiB|EiB|ZiB|YiB)
2023-01-06 18:34:37 [   ERROR   ] asyncio                                    :  Future exception was never retrieved

Am I correct that this has not been released yet?
Getting docker: no matching manifest for linux/arm/v7 in the manifest list entries.
Both on latest and dev.
If it has indeed not been released yet, any chance we can get a build for this?

hmmm something odd is going on, it is definitely enabled in the github actions:
https://github.com/ep1cman/unifi-protect-backup/blob/main/.github/workflows/release.yml#L74
but when I look at the logs from the last release:
  with:
    context: .
    platforms: linux/amd64,linux/arm64
    push: true
    tags: ghcr.io/ep1cman/unifi-protect-backup:0.8.8, ghcr.io/ep1cman/unifi-protect-backup:latest
    load: false
    no-cache: false
    pull: false
    github-token: ***

I will look into this

This should be resolved now, there was a build failure with armv7 related to cargo

Yes! Thanks. 🎉

The docker base images this container was based from no longer support Arm v7 so it has been removed here too. https://www.linuxserver.io/blog/a-farewell-to-arm-hf
Please update to a 64-bit OS


Snakemake Tutorial

This is a (work in progress) snakemake tutorial that covers the basics of how make works, and then how snakemake works.
Students will be able to understand how and why one would go from bash to make

and from make to snakemake

And at the end we'll tell them galaxy is easier ;)

@bazante1 @dirowa I think this is ready for review. The easiest way is to get the GTN set up locally on your computers but that's a bit of work and I can help with that in 2 weeks.


added missing packages in package.json

required packages for module are not mention in package.json so fix it for you :)

haha oops


Assigning null arguments causes errors

Not sure how to really describe my issue, but when I remove core-js from my application it fails on IE11 with Object.keys: argument is not an Object. It still works fine in Chrome, but to make it work in IE I have to re-enable core-js in my index.html.
In IE without core-js I get the error on the last line in the loop on my last argument (of five) which is null:
          for (var arg, i = 1; i < arguments.length; i++) {
            arg = arguments[i];
            O.keys(arg).concat(filterOS(arg)).forEach(set);
          }

In the call stack I can see that the call came from aurelia-fetch-client's buildRequest function, but don't really see where that is called from:
    var bodyObj = body ? { body: body } : null;
    var parsedDefaultHeaders = parseHeaderValues(defaults.headers);
    var requestInit = Object.assign({}, defaults, { headers: {} }, source, bodyObj);

I had a quick chat with @stoffeastrom that suggested I should post an issue here and that the arg probably should default to empty, Object.keys(arg || {}) to avoid these kind of issues.

Is it Object.keys itself that isn't present? Or is it failing when arg is undefined?

It is failing when arg is null.

@Souldrinker Can you check on the spec and see what it should do when Object.keys is called on null or undefined? Perhaps this is an area where IE supports the method but had an incorrect implementation. I'd like to know. If it is, we can detect for that scenario and overwrite IE's implementation.

Well, as far as I can see IE does it correctly according to EcmaScript5: http://www.ecma-international.org/ecma-262/5.1/#sec-<IP_ADDRESS> (If the Type(O) is not Object, throw a TypeError exception.)
It says the same here: https://msdn.microsoft.com/en-us/library/ff688127(v=vs.94).aspx.
While it seems Chrome is doing it differently and accepting non-object arguments.
Could it be that Chrome uses the ES6 version of Object.keys that according to MDN differs (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys)
"In ES5, if the argument to this method is not an object (a primitive), then it will cause a TypeError. In ES6, a non-object argument will be coerced to an object."

Yep, that has to be it. We will need to check that behavior and update if it isn't present.

Looking into the spec, if you pass null or undefined to Object.keys, it should throw an error. However, if you pass a primitive, it would previously throw an error, but should not in the newest spec. IE11 doesn't implement the latest version. Perhaps that is the issue?

Brought up to spec. Releasing coming soon. However, bear in mind that the spec says that undefined and null should still throw. Primitives should not though.

So just to clarify. This could still throw an exception from the fetch client buildRequest since it's defaulting the bodyObj to null
 var bodyObj = body ? { body: body } : null;
    var parsedDefaultHeaders = parseHeaderValues(defaults.headers);
    var requestInit = Object.assign({}, defaults, { headers: {} }, source, bodyObj);

Ok, thanks for looking into this. And sure, you probably fixed the issue where IE was using the ES5 implementation and now it supports primitives the ES6 way.
But unfortunately that doesn't help me getting rid of core-js in IE11, since I wasn't sending a primitive but null or undefined, so now with 1.0.3 I get a Cannot convert undefined or null to object instead. And I don't really know how I would be able to fix that.
It's not a big issue for me, since I can live with core-js, but if you would want Aurelia to work with IE11 and the fetch client you might want to dig further into this (unless it's me that does something wrong).
As I'm not really used to debugging in IE and it seems like it pretty much sucks I can't really follow what happens, but I'll try to explain as far as I've come.
The first call that seems to have caused the issue in IE was when I did a this.http.fetch("api/myurl"), that is I don't pass in the optional RequestInit as a second parameter to the fetch client's fetch function, but just sends an url.
In my main.ts I've set up default headers (so it works in Firefox which seems to default to xml rather than json) if that matters:
aurelia.container.registerInstance(HttpClient, new HttpClient().configure(builder => builder.withDefaults({ headers: { "Accept": "application/json", "Content-Type": "application/json"}, credentials: "same-origin"})));

For some reason I can't get IE to stop on my breakpoints to see what really is going on, but as far as I know the fetch stuff is being polyfilled using the whatwg-fetch stuff for IE and Safari (if that matters?) and as far as I can see Chrome relies on it's own implementation of Object.assign while IE that doesn't support ES6 uses your polyfill.
The arguments I then get down to your polyfill (not sure where they're being set) is:
[0] "api/myurl"
[1] undefined
[2] [object] containing credentials="same-origin" and headers (application/json).
I don't really know what the second argument corresponds to and where it comes from, but in this case it causes IE to fail on O.keys since it according to spec should throw a TypeError.
I agree with you that Object.keys should throw an error according to spec when being fed an undefined or null, but for some reason Object.assign in core-js or Chrome works when using this.http.fetch("api/myurl"), while it seems like your polyfill in IE doesn't.
Maybe core-js/chrome removes or replaces these arguments before calling Object.keys (or doesn't use keys at all?)

I've been trying to find the source of this issue as I encountered it today as well.  Can't figure out how to debug in IE though!  F12 tools stack trace doesn't show enough.  Could the fact that systemjs automatically loads system-polyfills when it detects IE be causing some kind of conflict?
By the way, the aurelia docs site also doesn't load in IE11 currently
Potentially unhandled rejection [1] TypeError: Cannot convert undefined or null to object
at Anonymous function (eval code:2:18657)
at Anonymous function (eval code:2:19229)
at b.prototype.activate (eval code:11:31762)
at Anonymous function (eval code:11:31558)
at $ (http://aurelia.io/jspm_packages/system-polyfills.js:4:8727)
at H (http://aurelia.io/jspm_packages/system-polyfills.js:4:8314)
at R.prototype.when (http://aurelia.io/jspm_packages/system-polyfills.js:4:12046)
at b.prototype.run (http://aurelia.io/jspm_packages/system-polyfills.js:4:11080)
at t.prototype._drain (http://aurelia.io/jspm_packages/system-polyfills.js:4:2985)
at drain (http://aurelia.io/jspm_packages/system-polyfills.js:4:2652)

I don't think it's system-polyfills. That error message is one I wrote myself in the last update (based on Chrome's standard message for the scenario). So, I do think it's probably coming from our Object.keys polyfill. However, I'd like to know what is calling that. Perhaps the bug is actually inside of the Object.assign polyfill?

@Souldrinker @stoffeastrom Is it likely then that the bug is actually in the Object.assign polyfill? the issue being that it isn't handling null/undefined as one of its arguments? rather than an issue with Object.keys?

Just throw in some input here.
First, I personally don't know if the Document website and Object.Key are caused by the same issue.
For Object.Key. As Rob said, It really is related to Object.assign polyfill.
From this.options = Object.assign({ routeHandler: this.loadUrl.bind(this) }, this.options, options);
To O.keys(arg).concat(filterOS(arg)).forEach(set);, where the arg here is the culprit.
However, in my case the last parameter options is undefined in both IE 11 and Chrome. But Chrome native Object.assign didn't throw anything. (I am not saying which behavior is adhere to standard).

@EisenbergEffect Yes, it sounds like that might be it. Looking at the MDN polyfill: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign, it seems like they do a null/undefined check of the arguments before adding it to the output.
I tried to understand how core-js did it (https://github.com/zloirock/core-js/blob/master/modules/_object-assign.js), but I had a bit of hard time trying to read that and I didn't find out how Chrome doesn't (at least not by a quick google).
But as stated in the previous post here it seems like both browsers gets the same input to Object.assign and Chrome/core-js can handle it and your polyfill (that kicks in using IE11) can't. So the arguments probably needs a null/undefined check.
But maybe the root cause of the issue is that aurelia-fetch-client passes in undefined values to start with? But since Chrome/core-js can handle it, it would probably be better to solve it in the Object.assign polyfill.

We can fix our Object.assign polyfill. It's a quick and easy fix. We'll have it out today.

I thought we were talking about the Object.assign polyfill all along :). So yes the fix is to make sure to default to empty object

FYI - I tried editing the aurelia polyfill to return an empty array or an empty object instead of throwing an error on null and both produce this error:
Potentially unhandled rejection [1] TypeError: Object.getOwnPropertyNames: argument is not an Object
at getOwnPropertySymbols (eval code:113:7)
at Anonymous function (eval code:481:11)
at assign (eval code:496:13)
at activate (eval code:1513:7)
at Anonymous function (eval code:1485:23)
at $ (https://localhost/jspm_packages/system-polyfills.js:4:8727)
at H (https://localhost/jspm_packages/system-polyfills.js:4:8314)
at R.prototype.when (https://localhost/jspm_packages/system-polyfills.js:4:12046)
at b.prototype.run (https://localhost/jspm_packages/system-polyfills.js:4:11080)
at t.prototype._drain (https://localhost/jspm_packages/system-polyfills.js:4:2985)
By the way, if anyone wants a temporary fix, the code below from the aurelia docs works with IE11
(install "polymer/mutationobservers" from jspm first)

Just noticed stoffeastrom was talking about a different location in the polyfill than where the error is thrown.  It does work in IE11 when setting arg to an empty object here
if (arg === undefined || arg === null) arg = {};

I can release a polyfill shortly. I think if it's null or undefined we'll just continue the loop.

Released path for Object.assign with null/undefined check.

Perfect, I tried removing core-js from the app now again and it still works fine in IE11 :-)

:+1:


cilium: transparent encryption direct routing CI test

Add direct route CI tests for transparent encryption.

This change is

test-me-please

Coverage decreased (-0.01%) to 42.565% when pulling d515ac432f3ef43a62e8e23f5e8fadb119ddd453 on routeing-ci into 720316a724bfa8c4ed99584db446dc33911bf037 on master.


Use base-orphans to import Foldable/Traversable orphan instances

Currently, functor-combo defines orphan Foldable/Traversable instances for Const a. However, there are a number of other packages that also define these instances, including witherable, semigroupoids, and lens, which means that if anyone were to use any combination of these libraries together on GHC 7.6 or earlier, it would lead to instance conflicts.
To help mitigate this possibility, this pull request imports these instances from the base-orphans library (which exports backported instances introduced in later versions of base, such as Foldable (Const a) and Traversable (Const a)). This way, we can keep all of these orphan instances in one package so that functor-combo, witherable, semigroupoids, etc. can coexist.

Thanks! Released to Hackage as functor-combo-0.3.6.


Space between lines keeps increasing

When I use the TQDM with Keras, it works well but each time an epoch is added, the space between the train loop progressbar and the epoch loop progressbar keeps increasing. It is anoying when I have several epoch. Here is an example:

Same in my case.
MacOS, Google Chrome.
I looked at the HTML code of the widget and discovered that every 'inner loop' leaves this code:

So the code above repeats itself as many times as the number of the epochs.
And this div's have nonzero height - that's why every inner loop adds blank spaces.
Maybe that is because the author of original TQDM changed something in the code.

I think that's actually more a jupyter thing. What could fix this is if instead of generating a new tqdm for each epoch, it actually just re-uses the old one and manually sets n to zero.
(Of course, only when leave_inner = False)

This is an issue with ipywidgets (#1845). The only fix so far is to revert to ipywidgets 6.0.1

Here's an implementation of @janfreyberg 's suggestion https://github.com/bstriner/keras-tqdm/compare/master...starfys:master
Note: The  tqdm.monitor_interval = 0 at the top is unrelated, but helps with a different issue I was having (https://github.com/tqdm/tqdm/issues/481)
Overall, this is a hack, and probably shouldn't be merged, but is useful in the meantime. The real issue is actually in tqdm (https://github.com/tqdm/tqdm/issues/519 or https://github.com/tqdm/tqdm/issues/433), or ipywidgets

Fixed in ipywidgets 7.2.0
Update your ipywidgets package to the latest version if you have this problem.

Just FYI I am still getting this with ipywidgets 7.2.1. I'd prefer to turn off the inner progress bar entirely, there a way to do that?

Still getting this on ipywidgets 7.4.2, have there been any other fixes/workarounds?

Still getting this on ipywidgets 7.4.2, have there been any other fixes/workarounds?

I found one!!
https://github.com/jupyter-widgets/ipywidgets/issues/1845#issuecomment-422094518

This is the only workaround that worked for me in JupyterLab:
from IPython.core.display import HTML

# See https://github.com/bstriner/keras-tqdm/issues/21#issuecomment-443019223
display(HTML("""

"""))


chore: bump stage

chore: bump stage

The commit history and differences look wonky because it rebased and merged it the last time. I'm going to do a merge commit to try and bring the branches back in alignment again.


Nuclear Facilities and Population Density

https://nsec.esri.com/arcgis/home/item.html?id=07679831f8784d5c8184073526116776

[x] Light Description
[x] No Credits

Added credits.


navigator.userAgentData in firefox

Hello
I use the npm package with  navigator.userAgentData.getHighEntropyValues([“platformVersion”])
This also works great.
Only in Firefox navigator.userAgent is undefined and the whole thing does not work.
Is there a solution for this

Firefox doesn't implement this API and so navigator.userAgentData will be undefined. There may be polyfill packages available but this is just for the typescript types.


How to call functions from redis modules using ioredis?

Hi, how I could call functions from redis modules using ioredis?

Redis Modules should provide commands with the similar interface with the native commands. For example, redis-graph offers GRAPH.CREATENODE command, so in ioredis, you should be able to use it via call method:
redis.call('GRAPH.CREATENODE', 'graph', 'label')

Thanks!!!

Is there any documentation that I can put together a test of this feature?
Do I have to do a Lua Script?
Unhandled rejection ReplyError: ERR unknown command 'GRAPH.CREATENODE'

@MichelDiz you need to compile redis with the module you want to use (prior redis 4)

Okay, I'm using Redis on Docker. I have to figure out how to do it through (local) Docker. I would have to create a new image in that case.

@MichelDiz i played with redisearch before and wrote a dockerfile for it. you may want to take a look and see https://github.com/tuananh/Dockerfile/tree/master/redisearch


spfx 1.8.2 @microsoft/sp-http/dist/index-internal"' has no exported member 'SPHttpClientBatch'.

Category

[x] Question
[ ] Bug
[ ] Enhancement

Authors
@msekkappan
Expected or Desired Behavior
Using spfx 1.8.2 I get the errors as below.
I had upgraded from spfx 1.8.1 recently using cli.
Observed Behavior
errros when trying to gulp build
Module ..../node_modules/@microsoft/sp-http/dist/index-internal"' has no exported member 'SPHttpClientBatch'.
Property 'beginBatch' does not exist on type 'SPHttpClient'.
Module '"webparts/speAdminUi/components/PeoplePicker/OfficeUiFabricPeoplePicker"' has no exported member 'OfficeUiFabricPeoplePicker'.
Steps to Reproduce
Downloaded this sample and added required component files to my own spfx project
package.json for reference
{
"name": "speadminui",
"version": "0.0.1",
"private": true,
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"build": "gulp bundle",
"clean": "gulp clean",
"test": "gulp test"
},
"dependencies": {
"@microsoft/sp-core-library": "1.8.2",
"@microsoft/sp-lodash-subset": "1.8.2",
"@microsoft/sp-office-ui-fabric-core": "1.8.2",
"@microsoft/sp-property-pane": "1.8.2",
"@microsoft/sp-webpart-base": "1.8.2",
"@types/es6-promise": "0.0.33",
"@types/react": "16.7.22",
"@types/react-dom": "16.8.0",
"@types/webpack-env": "1.13.1",
"ag-grid-community": "^20.2.0",
"ag-grid-react": "^20.2.0",
"bootstrap": "^4.3.1",
"date-fns": "^1.30.1",
"office-ui-fabric-core": "^10.1.0",
"office-ui-fabric-react": "6.143.0",
"react": "16.7.0",
"react-dom": "16.7.0",
"react-router": "^5.0.0",
"react-router-dom": "^5.0.0"
},
"resolutions": {
"@types/react": "16.7.22"
},
"devDependencies": {
<EMAIL_ADDRESS>"^0.1.6",
"@microsoft/sp-build-web": "1.8.2",
"@microsoft/sp-module-interfaces": "1.8.2",
"@microsoft/sp-tslint-rules": "1.8.2",
"@microsoft/sp-webpart-workbench": "1.8.2",
"@types/chai": "3.4.34",
"@types/jest": "^24.0.12",
"@types/mocha": "2.2.38",
"@types/node": "^12.0.0",
"ajv": "~5.2.2",
"gulp": "~3.9.1"
}
}

@ashavibapat did you ever resolve this issue?
I'm closing old issues that haven't had any activity for a while. If you're still experiencing this issue, please feel free to re-open the issue and maybe we can get folks from the community to look at this again.


[WPF][Input Evolution] [Number Validation Doesn't Work]

Platform
What platform is your issue or question related to? (Delete other platforms).

.NET WPF

Version of SDK
feature/inputEvolution
Details
Payload
https://github.com/microsoft/AdaptiveCards/blob/feature/inputEvolution/samples/v1.3/Elements/Input.Number.ErrorMessage.json
if number is inputted greater than max, the number is divided by 10 until it's within the range by app.
Similar things happen for min check, it will insert last valid number. If submit button is pressed, cards will get submitted and produce no error messages.

Adding more context here, the input number doesn't get cut when submit is pressed, it happens when the input loses focus


Entire source / project

These examples are really good. It would be great if you provided the entire project / source for each one.

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

ID: e80478f2-591c-b4f0-8d40-08ac381ea774
Version Independent ID: 16483fde-0255-71b5-1c58-da8914640c6b
Content: Find and Highlight Text Using UI Automation
Content Source: docs/framework/ui-automation/find-and-highlight-text-using-ui-automation.md
Product: dotnet-framework
GitHub Login: @Xansky
Microsoft Alias: mhopkins

This is a good suggestion @leoseccia and I believe our engineering team has some plans on how to make it better to find where the sample is coming from.
But for now, if you look at the Markdown raw version for the article, you can try to discover where the samples are. They will be either inline or come from the dotnet/samples repo.
Like in this case, they come from this folder for C#:
https://github.com/dotnet/samples/tree/master/snippets/csharp/VS_Snippets_Wpf/FindText/CSharp
I hope this helps.


Create a Workflow Project from a Template

Tutorial URL: https://developers.sap.com/tutorials/cp-workflow-create-project.html
Please specify the step you are referring to Step 2: Create a new project
The selection at "New From Template" does not have the selection "Business Process Management"

Please check whether you have enabled all the services and extensions as described in the first tutorial Prepare to Create Workflows in SAP Cloud Platform?
Make sure to save all settings.

Best regards,
Astrid

Thank you for your feedback. We haven't heard from you in a while, so we are closing the issue.
If you still have questions, feel free to reopen the issue.


qdrant archival doesn't work

Describe the bug
Tried to setup letta with qdrant for archival memory and it doesnt work
Please describe your setup

[ ] How did you install letta?

pip install letta?

[ ] Describe your setup
Linux

How are you running letta? (cmd.exe/Powershell/Anaconda Shell/Terminal)
Shell

I receive error at https://github.com/letta-ai/letta/blob/main/letta/agent_store/qdrant.py#L9
from letta.data_types import Passage, Record, RecordType

Sorry for the confusion @victorserbu2709 - our qdrant integration if currently deprecated (that file is dead code and should be removed/disabled). If you want to use qdrant with Letta, we'd recommend accessing qdrant via a custom tool, eg a Python cool that imports their client and uses it to search a database: https://python-client.qdrant.tech/


Add extension development instructions for Windows users

Signed-off-by: Lauri Nevala<EMAIL_ADDRESS>

@nevalla - See suggestions - I think we just reference the lens-extension-samples location directly?

Yes, that is better.


Fix paren-spacing rule for generic superclass constructor

Description
Adds support for detecting whitespace before a value argument list when it follows the type argument list of a constructor call.
This is needed to correctly detect and remove the excess whitespace in the following sample:
class MyClass : MySuper<String> ("hello")

Checklist
Before submitting the PR, please check following (checks which are not relevant may be ignored):

[x] Commit message are well written. In addition to a short title, the commit message also explain why a change is made.
[ ] At least one commit message contains a reference Closes #<xxx> or Fixes #<xxx> (replace<xxx> with issue number)
[x] Tests are added
[x] KtLint format has been applied on source code itself and violations are fixed
[x] PR title is short and clear (it is used as description in the release changelog)
[x] PR description added (background information)

Documentation is updated. See difference between snapshot and release documentation

[ ] Snapshot documentation in case documentation is to be released together with a code change
[ ] Release documentation in case documentation is related to a released version of ktlint and has to be published as soon as the change is merged to master

Tnx for your contribution. I have added similar logic to the class-signature rule which in the long run might replace (parts of) the paren-spacing rule.


Tide analysis website

[ ] Create a website to analyze tides (possibly the harmonic website)
[ ] Upload tide levels for a station
[ ] Calculate harmonics and download as CSV

Calculate harmonics

Given that the pipeline will likely end up being CPU-bound (else memory-bound): Tidal Prediction With a Small Personal Computer.

Calculate harmonics and …

Given #1102, and that harmonic analysis isn't trivial; also add them to TS's source for future in-app bundling.

download as CSV

See #1072 (comment).

Calculate harmonics and …

Given #1102, and that harmonic analysis isn't trivial; also add them to TS's source for future in-app bundling.

download as CSV

See #1072 (comment).

Calculate harmonics and [output results]

A suggestion for a multi-stage approach. Nutshell: have 2 levels of processing.
First, do as originally intended; spit out the numbers which the user needs now in order to have harmonic predictions. Optimise for least-delay over highly-refined HC values. Even somewhat-rough numbers are likely to yield better predictions than the simple tide clock.
This processing should always have priority over what I'll describe next.
However, keep the dataset.
Separately, in the background at a lesser priority, perform more intensive processing on the (same) dataset, to produce a more refined set of HCs. This should be optimised for quality-of-results (for long-term accuracy of predictions) over the amount of time needed to compute them.
The results of this processing are what should be added to TS's repository of HC sets (for in-app bundling).
The submitted dataset may now be discarded.
A risk to account for, if the processing will take a long time (a week+ ?), is that the intermediate progress not be lost if the host is rebooted, loses power, or similar.
Using this strategy, users can avoid the trade-off between delay & quality, and have the best of both:

rapid results which should be sufficient for the medium-term
(later) results with a high confidence of accurate predictions into the long-term.

This strategy should be applied to each dataset submitted for processing.

Calculate harmonics and [output results]

A suggestion for a multi-stage approach. Nutshell: have 2 levels of processing.
First, do as originally intended; spit out the numbers which the user needs now in order to have harmonic predictions. Optimise for least-delay over highly-refined HC values. Even somewhat-rough numbers are likely to yield better predictions than the simple tide clock.
This processing should always have priority over what I'll describe next.
However, keep the dataset.
Separately, in the background at a lesser priority, perform more intensive processing on the (same) dataset, to produce a more refined set of HCs. This should be optimised for quality-of-results (for long-term accuracy of predictions) over the amount of time needed to compute them.
The results of this processing are what should be added to TS's repository of HC sets (for in-app bundling).
The submitted dataset may now be discarded.
A risk to account for, if the processing will take a long time (a week+ ?), is that the intermediate progress not be lost if the host is rebooted, loses power, or similar.
Using this strategy, users can avoid the trade-off between delay & quality, and have the best of both:

rapid results which should be sufficient for the medium-term
(later) results with a high confidence of accurate predictions into the long-term.

This strategy should be applied to each dataset submitted for processing.

I wouldn't imagine the bundling happens directly through the website - the analysis website is designed to be a simple, client-side only website that lets the users generate a harmonic file from water levels. Therefore the analysis would be one within the user's browser (i.e. there wouldn't be a server). I am planning on doing more research into how long this processing takes. I do like the idea of having multiple quality levels though.

I wouldn't imagine the bundling happens directly through the website - the analysis website is designed to be a simple, client-side only website that lets the users generate a harmonic file from water levels. Therefore the analysis would be one within the user's browser (i.e. there wouldn't be a server). I am planning on doing more research into how long this processing takes. I do like the idea of having multiple quality levels though.

the analysis website is designed to be a simple, client-side only …. Therefore the analysis would be one within the user's browser

Ah, in that case I'd rather use a CLI toolchain & DIY it.
In-browser wouldn't be that efficient, I imagine.
Makes me think that a BOINC would be better, though very overkill.
Either way; some mechanism by which to avoid each user having to do his own harmonic analysis. It need only be done once; share the results (hence #1102).

I will consider also creating a CLI - I'll need to see how the website performs first / maybe consider using webassembly

After further consideration on who the users of this will be, I will be first creating a CLI that will be available here (https://github.com/kylecorry31/Trail-Sense-Tide-Analyzer)

Not going to implement.

Frequency of use (ex. edge case) vs effort to implement


Exporting more fields using BibTeX and renaming them

Hi,
BetterBibTeX authorizes us to omit some fields from export, but could it be possible to include some more in those BibTeX exports ? For example, "conference name", "callNumber" or "archive" ?
And if possible, where in any JS file (or directly in BBT) could I rename those fields ?
My point is, I would like to use some "rare" Zotero fields to export some special BibTeX information that can't be written in any existing Zotero field, such as an internal identifying number for authors from our institution.
So I would like to be able to write this id in the "callNumber", export this callNumber with BBT and rename its label "x-onbehalfof" instead of callNumber...
Thank you very much !!

You can add them in a postscript using something like
if (Translator.BetterBibTeX) {
  this.add({ name: 'callNumber', value: item.callNumber });
}

Thank you very much for your answer !
Shall I just paste that in my postscript ? Nothing is happening...

If nothing is happening, that would indicate either you have no callnumbers or you're not using BetterBibTeX. If you want it to work for both BetterBibTeX and BetterBibLaTeX, you can change it to
if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) {
  this.add({ name: 'callNumber', value: item.callNumber });
}

Hum... Sorry, it seems that my example with callNumber was not a good one since the field is in fact already imported by "classic" BetterBibTeX, but its BibTeX name is "lccn" and not callNumber. My bad.
So I tried
if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) {
  this.add({ name: 'Archive', value: item.Archive });
}

but it doesn't work either, even if I do really have a Archive field in my Zotero reference...

It may not be named exactly that. If you export a reference with "BetterBibTeX JSON" you get the exact field names to use.

I'm afraid BetterBibTeX JSON tells me to use "archive"... Sorry :-s

So that seems OK then. Fields are case-sensitive, so
if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) {
  this.add({ name: 'Archive', value: item.archive });
}

ought to work. Since you're not using any other configuration for the field, you could shorten it to
if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) {
  this.add({ Archive: item.archive });
}

I hate to say this but it still doesn't work... I must be doing something wrong but I cannot see what.
I have this journal article reference which includes some text in fields like Archive (JSON tells its name is archive), Loc. In Archive (archiveLocation), Library Catalog (libraryCatalog), Call Number (JSON tells its name is callNumber but BetterBibTeX exports it as "lccn") etc.
I cleared all the code I already had in my postscript and pasted the one you wrote.
Then I exported my reference using BetterBibTeX.
But those fields still don't appear in my .bib file...

Sorry, that should have been
if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) {
  this.add({ Archive: this.item.archive });
}

Still nothing... sorry...

Can you enable extended debugging in BBTs advanced prefs, trye the export again, and then submit a BBT error report?

Done ! The ID is T22BVBJF.
Thank you very much !!

No errors in that log. Can you right-click the reference which you're trying to export and send another debug report from that menu?

Report ID: TGSM3VUP

And here's what I get in my .bib file:
@article{dupont_titre_2016-28,   series = {Collection},   title = {Titre de l'article de revue},   volume = {50},   copyright = {Autorisations de l'article de revue},   issn = {ISSN},   lccn = {Cote},   shorttitle = {Titre abr{\'e}g{\'e}},   doi = {10.1340/309registries},   language = {FR},   timestamp = {2016-11-22T10:11:58Z},   number = {20},   urldate = {2016-01-01},   journal = {Titre de la revue},   author = {Dupont, Jean},   editor = {Bernard, Marie},   translator = {{de Rotterdam}, Erasme},   collaborator = {Durand, Pierre and Martin, Anne},   month = mar,   year = {2016},   keywords = {Mot-clé 1,Mot-clé 2,Mot-clé 3},   pages = {123 et suiv.} }

If I export that I get the Archive added as expected. Could you try clearing your cache in the BBT advanced prefs?

I tried with another computer and it still doesn't work... I am very puzzled.

Can you change the postscript to what's below, make sure extended debugging is on, export again, and then submit an error report?
Zotero.debug("running postscript for " + JSON.stringify(Translator.header, null, 2));
if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) {
  this.add({ Archive: this.item.archive });
}

Done ! Report ID: 2KXTVICD

OK, so the postscript is running. Change it to this and submit a new log, we'll get to the bottom of this.
Zotero.debug("running postscript: " + JSON.stringify({
  BetterBibTeX: Translator.BetterBibTeX,
  BetterBibLaTeX: Translator.BetterBibLaTeX,
  active: Translator.BetterBibTeX || Translator.BetterBibLaTeX,
  item: this.item,
  archive: this.item.archive
}, null, 2));
if (Translator.BetterBibTeX || Translator.BetterBibLaTeX) {
  this.add({ Archive: this.item.archive });
}

Yes, the postscript is running perfectly well when I add some other code like this.add etc...
Anyway, here is the Report ID: X9FJVUUM

I've just now noticed that you're on an older debug version -- could you install 1.6.93 first to see if that changes things? Don't know why you weren't upgraded automatically.

IT WORKS !!!!! \o/
Hell, all that fuss only because of my older version... I feel deeply sorry that I wasted your time like this.
Anyway, it totally works. I can add all the fields I want, and rename them.
THANK YOU SO MUCH for your help and your patience !!

Always a pleasure. You couldn't know the update mechanism had failed. You can of course remove the call to Zotero.debug now.

(smacks forehead -- and now I know why you saw no output -- the shortcut <field>: <value> as an alias for name: <field>, value: <value> was added after the version you had, and BBT was thinking "you aren't giving me a value so I don't need to do anything")

Thank you again for your help. I got another question, dealing with the same kind of problem: I am using some Zotero types that are unknown to BibTeX. E.g., when I have an "itemType" : "presentation" (according to BibTeX Json), my BibTeX export gives me a @misc reference.
Is there any way I could tell BBT to export my Zotero presentation as a @poster ?
Thank you very much !

Sure, you can use something like
if (Translator.BetterBibTeX && this.item.itemType == 'presentation') {
  this.referencetype = 'poster';
}


CORS

I’m currently using this for a project I’m working on to attempt to “smartify” my house and automatically turn appliances on based on solar generation / weather forecast! Really enjoyed using it so thanks for creating!
Something to think about is CORS and the ability to deal with OPTIONS pre-flight requests. In my version I’ve just bodged the CORS headers to return * but it could be good to think of a way to deal with certain config values almost!

Would love your feedback on the implementation here. We've got a lot of different ways to do this and I was hoping to get your feedback.
@Controller("/api/v1/books")
class Controller {
    init() {}

    @Options("/all") // have a simple base set of headers and resp code
    @Get("/all") {
        return "get";
    }

    @Cors({"access-control-allow-origin" : "*"})
    @Post
    add() {
        return "add";
    }
}

I'm struggling to get a couple different things working though. Suggestions are very welcome.

For a single route I do like the @Cors annotation, but for something a little more "global" I think a middleware which adds the headers is probably pretty useful
class Cors < Middleware {
    init (private allowedOrigin, private allowedHeaders) {}

    handle(request, response) {
        response.headers["Access-Control-Allow-Origin"] = this.allowedOrigin;
        response.headers["Access-Control-Allow-Headers"] = this.allowedHeaders.join(",");
    }
}

What this does mean (and probably for the better?) is we will need to change how responses are built as currently the response object is created after middleware is ran so it can't be modified as part of the middleware. If we create it before pass it to the middleware and probably the controller method we can then modify the response a little easier, so dispatch becomes something like this:
private dispatch(request) {
        for (var i = 0; i < this.routes.len(); i += 1) {
            if (this.routes[i].route == request.route and this.routes[i].verb == request.verb) {
                const response = Response();

                const mwCount = this.routes[i].middleware.len();
                if (mwCount > 0) {
                    for (var j = 0; j < mwCount; j += 1) {
                        const middlewareResponse = this.routes[i].middleware[j].handle(request, response);
                        if (response != nil) {
                            return middlewareResponse;
                        }
                    }
                }

                const routeData = this.routes[i].callback(request, response);

                // if (type(response) == "string") {
                //     response = Response(response);
                // } else if (["list", "number", "nil", "bool", "dict"].contains(type(response))) {
                //     response = JsonResponse(response);
                // } else if (type(response) == "result" and not response.success()) {
                //     response = ErrorResponse();
                // }

                return response.build(routeData);
            }
        }

        return this.notFoundHandler(request);
    }

Response.build would essentially be your data checking if statements that build it to the correct response with the right status code and data type being returned etc. If a response is returned from the middleware we can still exit out the chain early (i.e some sort of Auth check for example)

Something I just thought of while looking at dispatch as well (sorry not related to this) could the routes be a dictionary since the paths should always be unique and point to a given method? Would save looping through

All of that sounds great and makes sense. Creating the response value beforehand would probably allow me to finish the Cache middleware I've been meaning to get done.
As for class vs dict vs class, lemme give that some thought and play with it a bit. I did both and class was better but can't seem to remember why.
Will mess around with this some more this weekend. Thanks!

Sorry wasn't much detail on what I meant with the routes, using a class for the actual value is fine, but at the minute all the routes are pushed to a list here, I was curious if it could be
<path>: <RouteClass>

Then in dispatch you don't need the loop:
const route = this.routes.get(request.route);

// Rather than

this.routes[i]

Sounds good to me. Go for it!


Installing into APIM tenant

[ x ] feature request

Minimal steps to reproduce

You should be installing into a tenant which uses external identities (federated tenant)

Install per instructions, when asked if you want to publish to APIM, it runs a local host version of the widget rather than deploying to the APIM tenant instance.

Any log messages given by the failure

SAS url error is given as the management endpoint returned from is the organization as no tenant id is provided to the APIM deploy script.

Expected/desired behavior

The Azure Sample installer should populate the tenantid that APIM was installed in into the Environment for the Azure Sample

OS and Version?

All

Mention any other details that might be useful
The Environment variable should be as below
APIM_TENANTID="federated tenantid here"

Thanks! We'll be in touch soon.

main.bicep updated to address APIM_TENANTID needed for provisioning
[https://github.com/Azure-Samples/react-component-toolkit-openai-demo/pull/6](See PR)


Reduce timeout for json_run_localhost to 120sec.

As per https://github.com/grpc/grpc/issues/12669,
2mins should be more than enough after fixing the streaming_from_server scenarios
With the multipliers, sanitizers will have 2*20 min to run (more than enough for them, they should be fine with ~5mins based on my data).

[trickle] No significant performance differences

Corrupt JSON data (indicates timeout or crash):
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_InProcessCHTTP2_NoOpMutator_NoOpMutator__2M_2_0.opt.new: 2
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__2M_2_0.opt.new: 1
    bm_fullstack_streaming_ping_pong.BM_StreamingPingPongWithCoalescingApi_MinInProcessCHTTP2_NoOpMutator_NoOpMutator__2M_2_0.counters.new: 1

[microbenchmarks] Performance differences noted:
Benchmark                                                                                cpu_time    locks_per_iteration    nows_per_iteration    real_time
--------------------------------------------------------------------------------------------  ----------  ---------------------  --------------------  -----------
BM_ErrorGetStatus<ErrorWithGrpcStatus>                                                        +7%                                                      +7%
BM_HpackParserParseHeader<NonIndexedBinaryElem<31, false>>                                    +6%                                                      +5%
BM_IsolatedFilter<LoadReportingFilter, SendEmptyMetadata>                                     +9%                                                      +9%
BM_PumpStreamClientToServer<InProcess>/4k                                                     +4%                                                      +4%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/16M/1                                                                                +5%
BM_StreamingPingPongWithCoalescingApi<InProcessCHTTP2, NoOpMutator, NoOpMutator>/1/1/1        +5%                                                      +5%
BM_StreamingPingPongWithCoalescingApi<MinInProcessCHTTP2, NoOpMutator, NoOpMutator>/4k/1/1    +5%                                                      +5%
BM_UnaryPingPong<InProcess, Client_AddMetadata<RandomAsciiMetadata<31>, 1>, NoOpMutator>/0/0  +11%                                                     +11%
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/128M/0                                              +9%                    +9%
BM_UnaryPingPong<MinInProcessCHTTP2, NoOpMutator, NoOpMutator>/0/256k                         +6%                                                      +6%

Merging this would fail all the long running instances of streaming_from_server test cases - which might arguably be a good thing to do (but they would be re-run several times because they're marked as flake). So not sure if we should merge this or not.

Let's hold it until @sreecha has a chance to dig in on the timeouts

Can we check that this is not going to raise new P0's, and then merge?

I will go through the PR test failures as usual and look for potential breakages.
Beyond that and my good faith based on analyzing test runtime data in bigquery (and adding some extra padding for safety), I'm not sure what else can be done to guarantee not introducing another P0.

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

Good with me
On Thu, Oct 5, 2017, 5:07 AM gRPC Testing<EMAIL_ADDRESS>wrote:

libgrpc.so
 VM SIZE        FILE SIZE

++++++++++++++  ++++++++++++++
[ = ]       0        0  [ = ]

libgrpc++.so
 VM SIZE        FILE SIZE

++++++++++++++  ++++++++++++++
[ = ]       0        0  [ = ]
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/pull/12695#issuecomment-334445151, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJpudT6wF5rBRio5YzKFaAIu6P0tirr6ks5spMacgaJpZM4Pg055
.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Known issues:
#12428 #12510 #11213 #12819


[Service Bus Client] Message Batch Tweaks

Summary
The focus of these changes is to add thread safety to the core batch operations, ensuring that TryAdd, Clear, and Dispose are safe to call concurrently and apply lock semantics while a send operation is active.
An internal-facing Clear operation was added, allowing the batch state to be reset, in anticipation of architect approval, at which point things will be public.
Last Upstream Rebase
Thursday, April 9, 5:28pm (EDT)

Fixes https://github.com/Azure/azure-sdk-for-net/issues/10498

Thanks Jesse!


Avoid recursion error in profiling

Codecov Report
Attention: Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 81.66%. Comparing base (e002bf4) to head (eed1189).

Files with missing lines
Patch %
Lines

onnx_array_api/profiling.py
50.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #92      +/-   ##
==========================================
- Coverage   82.14%   81.66%   -0.49%
==========================================
  Files          63       63
  Lines        8278     8278
==========================================
- Hits         6800     6760      -40
- Misses       1478     1518      +40

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


Contracts folder missing in build folder

Is the document too old to work on feature/remove_core_symbol branch? i couldn't find eosio.token contract in build folder.

Any branch other than master is too volatile for regular use.  Also, eosio.cdt doesn't house eosio.token, for that you will need to download eosio.contracts