chore: Fix Oauth2Type (de)serialization issue

Description
With @JsonProperty we expect the fields to respect during (de)serialisation, but as per current values stored in MongoDB these are saved as per enum constants and not with the JsonProperty. Now on pg hibernate do follow all the annotation from Jackson and hence the de-serialization is failing there. To fix this we are introducing a custom (de)serialiser.
Fixes https://github.com/appsmithorg/appsmith/issues/35764, https://github.com/appsmithorg/appsmith/issues/35818
/test datasource,sanity,fork,importExport,git,GSheet
:mag: Cypress test results

[!IMPORTANT]
🟣 🟣 🟣 Your tests are running.
Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/10495391384
Commit: fceea9b23aa40326a0bfdbc0f1b34b89ae713b30
Workflow: PR Automation test suite
Tags: @tag.Datasource, @tag.Sanity, @tag.Fork, @tag.ImportExport, @tag.Git, @tag.GSheet
Spec: ``
Wed, 21 Aug 2024 18:27:35 UTC

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[x] No

@abhvsn The issue - https://github.com/appsmithorg/appsmith/issues/35813 is also related to the deserialisation error right?

@AnaghHegde need to check on #35813 that looks like a redirection issue which can be a sideeffect of object not getting serialised properly.


[TF 2.0 API Docs] tf.io.decode_image

Added a usage example in decode_image under image_ops_impl.py. Issue is raised on the link https://github.com/tensorflow/tensorflow/issues/29511

I'm going to go ahead and close this PR, because it seems to have stalled. If you're still interested in pursing this (and responding to my comments), please feel free to reopen!


Failed to load the native TensorFlow runtime.

I am new to tensorflow.I have installed tensorflow without GPU as my machine won't support gpu version.
I have installed it in portable winpython.

Here is my stack trace
Traceback (most recent call last):
File "C:\Program Files (x86)\JetBrains\PyCharm 5.0.6\helpers\pydev\pydev_monkey_qt.py", line 71, in patched_import
return original_import(name, *args, **kwargs)
File "D:\Life_In_IEM\Project\Predicting_Riot\Mine_Data\WPy-3670\python-3.6.7.amd64\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "D:\Life_In_IEM\Project\Predicting_Riot\Mine_Data\WPy-3670\python-3.6.7.amd64\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "D:\Life_In_IEM\Project\Predicting_Riot\Mine_Data\WPy-3670\python-3.6.7.amd64\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "D:\Life_In_IEM\Project\Predicting_Riot\Mine_Data\WPy-3670\python-3.6.7.amd64\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed with error code -1073741795
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Hi @DevDaring, as it is not clear to find the root-cause of the issue, could you fill the following build/installation template.  Please report the installation process and commands used.  Here is the template.


Help me see png files to build a Robot Avatar Generator https://www.youtube.com/watch?v=L1E_7FoTrik&t=1013s

Is your feature request related to a problem? Please describe.

This is my first attempt at coding. I need the practice before building an encyclopedia app in AWS. I'm trying to build a Robot Avatar Generator (https://www.youtube.com/watch?v=L1E_7FoTrik&t=1013s) using my own pngs. I'm nearly at the end of the tutorial (I still need to make sure the parts are measured proportionally), and the only thing that's visible is the word "Generate!" and the border outline. I'm almost sure I'm making one rooky mistake after the other and the solution is probably right in front of my face.
Describe the solution you'd like:

Please help me finish this simple project. It will provide a lot of bang to my landing page (https://www.relikessentials.com/) and serve as the first real complex element of my app.
Describe alternatives you've considered:

I am trying to avoid purchasing the completed package from the creator. I want my own identity and I created robot parts in Photoshop and Illustrator. I feel like I'm taking really weird baby steps, but I'm determined to just throw myself in there. I am surely making one avoidable mistake after the next.  You have to start somewhere! Give me guidance...
Additional context:

Sorry Christian. Just panicked. I'll be more judicious about how I use the
forum in the future.
Thanks.
Regina
On Tue, Sep 6, 2022 at 5:35 AM Christian Heilmann @.***>
wrote:

Whilst this is great that you are getting started this has nothing to do
with the extension, so I am closing this as an issue here. Given time, I
will contact you directly and see what might be the problem.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-edge-devtools/issues/1172#issuecomment-1238090888,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVECTWLL5ZMO7RHSW7JVH33V443A5ANCNFSM6AAAAAAQFRNBSQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I wish to help you but I'd need a URL to check your product - from the video there is no way to help out.

Oh. Duh. I'm still working on it. This is as far as I've gotten. I can't
view the images. I still need to complete the tutorial and configure them
as well.
I think this is what you mean,,,
Thanks for getting back to me!
On Tue, Sep 6, 2022 at 7:33 AM Christian Heilmann @.***>
wrote:

I wish to help you but I'd need a URL to check your product - from the
video there is no way to help out.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-edge-devtools/issues/1172#issuecomment-1238238254,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVECTWI5SLH6PO2GNM5BNP3V45I4RANCNFSM6AAAAAAQFRNBSQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Struct size/alignment tests

In order to ensure that the size and alignment of every struct is correct, winapi needs size and alignment tests. Currently such tests go in tests/structs.rs (however it may be split up in the future if it gets too big). In order to add to this test suite, the test cases should be generated by running C++ code using VC++ with the latest Windows SDK. Every struct and union should have a test case.
// This define ensures all anonymous structs and unions have a field name so you can get its size and alignment
#define NONAMELESSUNION
// Include whichever windows SDK headers are needed to get the correct types. Note that some headers cannot be included directly.
#include <Windows.h>
#include <iostream>
#define PRINT(x) std::cout << "    assert_eq!(size_of::<"#x">(), " << sizeof(x) << ");" << std::endl;\
    std::cout << "    assert_eq!(align_of::<"#x">(), " << alignof(x) << ");" << std::endl;
int main() {
    // For regular structs and unions
    PRINT(SOME_TYPE);
    PRINT(ANOTHER_TYPE);
    // For anonymous structs and unions.
    // Unfortunately you'll have to manually rename decltype(TASKDIALOGCONFIG::u) to TASKDIALOGCONFIG_u1 in the output
    PRINT(decltype(TASKDIALOGCONFIG::u));
}

Copy the output into the appropriate test function, creating it if it does not exist. The order should match the order in the source file, which should match the order in the headers.

Why not put this in the CONTRIBUTING?

Fine. But I rolled my own PRINT_TEST before I dug this issue out. I bet other contributors would be more likely to write tests in their PRs if they saw this code snippet in the CONTRIBUTING.

I'm starting a translation of Windows Filtering Platform.  There are multiple unnamed unions.  As far as I can tell #define NONAMELESSUNION has no effect.  Using decltype is mentioned in CONTRIBUTING.md.  How do I use decltype to name an anonymous union?

@Coding-Badly The naming of anonymous unions is covered under https://github.com/retep998/winapi-rs/blob/0.3/CONTRIBUTING.md#anonymous-unions-and-structs

While I appreciate you taking the time to answer, unfortunately your answer is not applicable.  I am asking how to name the C++ unions so I can use your C++ code to emit the parameter for the Rust UNION! macro.  In addition, naming the anonymous C++ unions would facilitate automated size / alignment testing.

If the anonymous C++ union has no name, and is embedded anonymously into a struct without a name for the field, then as far as I can tell there is no way to refer to the type from C++ to get its size and alignment.


arch: arm64: mmu: avoid using of set/way cache instructions for Xen

NOTE: changes have been tested only on h3ulcb board
Exposing set/way cache maintenance to a virtual machine is unsafe, not
least because the instructions are not permission-checked, but also
because they are not broadcast between CPUs.
Unfortunately, set/way ops are not easily virtualized by Xen. S/W
emulation is disabled, because IP-MMU is active for Dom0. IP-MMU is
a IO-MMU made by Renesas, as any good IO-MMU, it shares page-tables
with CPU. Trying to emulate S/W with IP-MMU active will lead to
IO-MMU faults. So if we build Zephyr as a Xen Initial domain, it
won't work with cache management support enabled.
In this commit, VA data invalidate of mapped pages is used instead of
using set/way instructions. So, it might slightly increase system
initialization time.

General note: Zephyr supports running apps in unprivileged mode (EL0). In this case there will be multiple sets of pagetables and they will be switched in the runtime via z_arm64_swap_ptables. You need to account for this use case.
Obviously, MMU subsystem in Zehpyr is more developed and complex than in U-Boot.

There are still a few critical issues. Action plan:

avoid cache invalidating of RO virtual memory (look at C5.3.29 DC IVAC, Data or unified Cache line Invalidate by VA to PoC):

This instruction requires write access permission to the VA, otherwise it generates a Permission fault, subject to the
constraints described in Permission fault.

flush/invalidate fails with extended regions, need to rework mapping inside ext regions driver;
flush of some memory fails if we run Zephyr as Dom0:

Flush/inv PTE 0x70022000 at level 3: 700db000-700dbfff
Flush/inv PTE 0x70022000 at level 3: 700dc000-700dcfff
Flush/inv PTE 0x70022000 at level 3: 700dd000-700ddfff
Flush/inv PTE 0x70022000 at level 3: 700de000-700defff
Flush/inv PTE 0x70022000 at level 3: 700df000-700dffff
Flush/inv PTE 0x70022000 at level 3: 700e0000-700e0fff
Flush/inv PTE 0x70022000 at level 3: 700e1000-700e1fff
Flush/inv PTE 0x70022000 at level 3: 700e2000-700e2fff
SWITCH TO NEXT level 3 pte 0x70021000 va 70600000 pte[387] 70025003
Flush/inv PTE 0x70025000 at level 3: 707be000-707befff
E: ELR_ELn: 0x0000000070005e9c
E: ESR_ELn: 0x0000000096000000
E:   EC:  0x25 (Data Abort taken without a change in Exception level)
E:   IL:  0x1
E:   ISS: 0x0
E: FAR_ELn: 0x00000000707bf000
E: TPIDRRO: 0x010000007004c578
E: x0:  0x0000000000000040  x1:  0x0000000000000fff
E: x2:  0x0000000000000001  x3:  0x00000000707bf000
E: x4:  0x0000000000000037  x5:  0x0000000000000001
E: x6:  0x00000000700df540  x7:  0x00000000700df540
E: x8:  0xffffffffffffffff  x9:  0xffffffffffffffff
E: x10: 0xffffffffffffffff  x11: 0xffffffffffffffff
E: x12: 0xffffffffffffffff  x13: 0xffffffffffffffff
E: x14: 0xffffffffffffffff  x15: 0xffffffffffffffff
E: x16: 0x0000000000000012  x17: 0xffffffffffffffff
E: x18: 0xffffffffffffffff  lr:  0x0000000070005e1c
E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
E: Current thread: 0x70039490 (unknown)
E: Halting system

it is needed to find out what is mapped to  0x00000000707bf000, the memory attributes & flags of this region

I'm trying an another approach here https://github.com/xen-troops/zephyr/pull/56
so, I'm closing this pull request


Sync Error: Connection lost to pod for a spring boot project

Sync Error: Connection lost to pod at container restart for a spring boot project
DevSpace ideally should have synced the changes while running in dev mode
Use a spring boot project with gradle to reproduce this issue. Deploy the application in AKS
Local Environment:

DevSpace Version: 5.8.2
Operating System: on Local windows, on AKS it is Linux
Deployment method: helm
Spring boot version : 2.4.2
Java version : 11

Kubernetes Cluster:

Cloud Provider: azure
Kubernetes Version:
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.1", GitCommit:"7879fc12a63337efff607952a323df90cdc7a335", GitTreeState:"clean", BuildDate:"2020-04-08T17:38:50Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.10", GitCommit:"41d24ec9c736cf0bdb0de3549d30c676e98eebaf", GitTreeState:"clean", BuildDate:"2021-01-18T09:12:27Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Dockerfile contents
FROM medline-docker.artifactory.medline.com/gradle:jdk11-hotspot as build
WORKDIR /app
RUN gradle --version
RUN rm -rf build
ADD . .
RUN ./build.sh
CMD ["./build.sh", "run"]
################ dev ################
FROM mlusncprodacr.azurecr.io/3rdparty/openjdk/11:adopt-jre-hotspot as dev
COPY --from=build /app/build/libs/main.jar /app/main.jar
WORKDIR /app
EXPOSE 8080
ENTRYPOINT exec java -jar main.jar
build.sh contents
#!/bin/bash

rm -f build/libs/.jar
gradle clean build -x test --no-daemon
cp build/libs/.jar build/libs/main.jar
if [[ $1 == "run" ]] ; then
java -jar build/libs/main.jar
fi
Error message
[0:sync:app] Upstream - Restarting container
[0:sync:app] Error: Sync Error on C:\SpringPoc: Sync - connection lost to pod dev-namespace/springpoc-deploy-5f4ddf4b4f-2psdd:  command terminated with exit code 137
[0:sync:app] Sync stopped

/kind bug

@ravindrakmr thanks for opening this issue! This error occurs usually if the devspacehelper runs out of memory, which is usually the case if you are syncing to the container root /. Could you please provide the devspace.yaml here inlcuding the full output of devspace dev when this issue occurs?

@FabianKramm thanks for looking into this issue. Please find the attached zip with yaml and develop dev console logs.
devspace.zip

@ravindrakmr thanks a lot! Looks to me like the pod is somehow restarting, could you check via kubectl get po in the namespace, if the target has restarted? Is it possible that you have resource limits in place that lead to the pod being killed?

@FabianKramm yes I can see POD has restarted 3 times -
ecompoc-deploy-65dbf47b8d-8wb5j                 1/1     Running   3          4h27m
But is it POD which has restarted or is it underlying container because this count is increasing whenever I see these logs -
[0:sync:app] Upstream - Restarting container
[0:sync:app] Error: Sync Error on C:\Development\Artifacts\Projects\DevOps\Projects\Spring-boot\gs-spring-boot-master\EcomPoc: Sync - connection lost to pod smartquote-test/ecompoc-deploy-6f94b9ddc9-ntjtx:  command terminated with exit code 137
[0:sync:app] Sync stopped
[0:sync:app] Restarting sync...
I don't have any resource limit set in Kubernetes deployment manifest file.

@ravindrakmr the file is removed because of the default initial sync strategy mirrorLocal (check the docs for more options https://devspace.sh/cli/docs/configuration/development/file-synchronization#initialsync) which will remove all locally non existent files in the container. You can either exclude the file via excludePaths or you can change the initial sync strategy to something like preferLocal

@FabianKramm Thanks for sharing the docs. With preferLocal , it doesn't remove the main.jar and also not showing "Unable to access jarfile main.jar" error but it is not recreating the jar too in order to pick the updates. It keeps restarting the same old main.jar. When I do exec into the POD , I can see the changes but those are not getting picked. Here is the sync output -
[0:sync:app] Upstream - Upload File 'src\main\java\com\example\springboot\HelloController.java'
[0:sync:app] Upstream - Upload File 'src\main\java\com\example\springboot\HelloController.java'
[0:sync:app] Upstream - Upload 2 create change(s) (Uncompressed ~0.67 KB)
[0:sync:app] Downstream - Download file './hsperfdata_root/100', uncompressed: ~32.00 KB
[0:sync:app] Upstream - Successfully processed 2 change(s)
[0:sync:app] Upstream - Restarting container
[0:sync:app] Downstream - Successfully processed 1 change(s)
[0:sync:app] Downstream - Remove './hsperfdata_root/100'
[0:sync:app] Downstream - Download file './tomcat.8080.3819040160428436060/work/Tomcat', uncompressed: ~0.00 KB
[0:sync:app] Downstream - Download file './tomcat.8080.3819040160428436060', uncompressed: ~0.00 KB
[0:sync:app] Downstream - Download file './tomcat.8080.3819040160428436060/work', uncompressed: ~0.00 KB
[0:sync:app] Downstream - Download file './tomcat.8080.3819040160428436060/work/Tomcat/localhost', uncompressed: ~0.00 KB
[0:sync:app] Downstream - Download file './hsperfdata_root/128', uncompressed: ~32.00 KB
[0:sync:app] Downstream - Download file './tomcat.8080.3819040160428436060/work/Tomcat/localhost/ROOT', uncompressed: ~0.00 KB
[0:sync:app] Downstream - Download file './tomcat-docbase.8080.18379094972170664309', uncompressed: ~0.00 KB
[0:sync:app] Downstream - Successfully processed 8 change(s)

@ravindrakmr is the jar file created locally or where does the .jar get built and should be exchanged?

@FabianKramm We are using attached Dockerfile to build the jar and copy it inside container after renaming it as main.jar. I was thinking Devspace dev will be handling all the image building and exchange activities along with sync. Can you please give idea what steps this sync process includes ? I was under impression that sync process will update the main.jar based on the Dockerfile.
devspace.zip

@ravindrakmr thanks for the info! The sync does not rebuild that main.jar since it was built through a dockerfile. You can find out more about the sync in the FAQ section of it https://devspace.sh/cli/docs/configuration/development/file-synchronization#faq . You might also want to take a look at the execRemote.onBatch section, since you could try to build the main.jar either in the container or locally then: https://devspace.sh/cli/docs/configuration/development/file-synchronization#onupload

@FabianKramm I am able to make it work. I was giving wrong build target in devspace.yaml file. Thanks for the help.


TLS Renegotiation and Handshake Timeout

We currently support a timeout for the initial TLS handshake, and if a renegotiation is initiated from the local peer. However this timeout does not apply if renegotiation are initiated by the remote peer. Should we also apply the timeout for remote initiated renegotiation?
Worth considering:

TLS 1.3 removes renegotiation https://tools.ietf.org/html/draft-ietf-tls-tls13-13#section-1.2
Given what SSLEngineResult provides ... more investigation is needed to determine how to detect if a remote renegotiation is in process.

@normanmaurer @trustin @ejona86 @nmittler - WDYT. Is it worth it ... I'm leaning toward punting on this one but at least wanted to discuss.

@Scottmitch I guess it is ok to just "not fix it"

If it's a pain and it's not been shown to be a problem, I'd not bother. In my understanding, lots can go wrong in initial negotiation because of all the broken implementations out there. I'd expect less to go wrong during renegotiation that would just cause a hang. And renegotiation has been on the chopping block for a while now.

Thanks for the feedback guys ... Lets consider this a "won't fix" for now


wrong combo_type  in check_signal_from_dl2.ipynb

If I understand correctly, combo_type in check_signal_from_dl2.ipynb is not fixed after the definition of combo_type was changed.

Oh thanks I will open a PR to fix it (added to my ToDo list)

PR #263


workload can not use fixed IP with an namespace fixed Pool

feature describe：
example 1：
namespace 'NS01' bound IP Pool 'P01' （<IP_ADDRESS>-100）,users can not deploy  workload with fixed IPs by using IP Pool（<IP_ADDRESS>-100）
if workload which deployed with  fixed IP ，it can be only config as following:
NS01-→ P01（<IP_ADDRESS>-100）, only deploy workloads without fixed ip
Workload01 → P02（<IP_ADDRESS>-103），deploy workloads with fixed Ip
example 2:
Cluster nodes has been seperate into 2 regions with label : region1(node01~node10)  ，and region1 bond Pool ‘p01’(<IP_ADDRESS>-100) ;region2(node11-node20),and region2 bond Pool ‘p02’(<IP_ADDRESS>-200).
users can not deploy  workload in node01 with fixed IPs by using IP Pool（<IP_ADDRESS>-100）
expect
workload can  be  deployed with fixed IP, and the fixed IP can be obtained from  IP pool which is bound with namespace or nodes /region

it is not the way of  ippool usage
a new need


Made /clear last between sessions.

Made /clear last between refreshes and sessions.

Oops, my bad. I'll fix it in a bit.


Spotify Modal shows up when it shouldn't

The modal shows up even though I don't have Premium and I don't have any device running.
Here the preview.

should be fixed now


Cannot include headers from other directories

Output of 'strings libarm_compute.so | grep arm_compute_version':
msys32\mingw32\bin\strings.exe: 'libarm_compute.so': No such file
Platform:
Operating System:
Windows 10

I am getting a No such file or directory when trying to include header files from other path.
Problem description:
I am trying to cross compile in windows.
COMMAND:
scons.bat Werror=1 -j8 debug=0 asserts=1 neon=0 opencl=1 embed_kernels=1 os=linux arch=arm64-v8a
LOG :
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: warning: you do not seem to have the pywin32 extensions installed;
parallel (-j) builds may not work reliably with open Python files.

Also if I put the complete path it works just fine. So it has to be a build issue. I cannot figure out the reason. Maybe because I am a novice in the field. If someone can help me that would be amazing. Thanks.

Hi @arnav2
Are you building directly from windows? if you do this the build system gets confused with the windows naming convention for paths.
I would recommend you follow the suggestions in the documentation https://arm-software.github.io/ComputeLibrary/v18.05/index.xhtml#S3_5_windows_host

Hello Pablo,
Thanks for the reply. But I need to build it for windows. I did install
cygwin and I am using that but it still gives me the same error. Could you
please help me out with that.
Regards,
Arnav goel.
On Thu, Jul 26, 2018, 6:47 AM Pablo Marquez<EMAIL_ADDRESS>wrote:

Hi @arnav2 https://github.com/arnav2
Are you building directly from windows? if you do this the build system
gets confused with the windows naming convention for paths.
I would recommend you follow the suggestions in the documentation
https://arm-software.github.io/ComputeLibrary/v18.05/index.xhtml#S3_5_windows_host
http://url
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ARM-software/ComputeLibrary/issues/503#issuecomment-408056915,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOgKYJ-4KxvXwmUr71sh-bkCcjcKwSoSks5uKZ5cgaJpZM4VgTKY
.

Hi @arnav2
Have you tried Windows Subsystem for Linux ? This is the best option when building from Windows.
https://docs.microsoft.com/en-gb/windows/wsl/install-win10
Would this work for you? Other solutions on windows are problematic because the tools required to build the library are not as robust as their counterpart on the unix based operating systems.

I haven't yet but definitely seems worth looking at. Thanks for the info.
Really appreciated the help.
Regards,
Arnav goel.
On Thu, Jul 26, 2018, 7:33 AM Pablo Marquez<EMAIL_ADDRESS>wrote:

Hi @arnav2 https://github.com/arnav2
Have you tried Windows Subsystem for Linux ? This is the best option when
building from Windows.
https://docs.microsoft.com/en-gb/windows/wsl/install-win10 http://url
Would this work for you? Other solutions on windows are problematic
because the tools required to build the library are not as robust as their
counterpart on the unix based operating systems.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ARM-software/ComputeLibrary/issues/503#issuecomment-408067134,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOgKYKkoiHJt6BLCVHUUzhFcBv758yxxks5uKajzgaJpZM4VgTKY
.


Syslogger + systemd/journald for logging

The current implementation was writing all puma logs to explicit log files.
This set of changes instead allows the web server, puma, to delegate all logs at the webserver level to the systemd service, which makes them available via journalctl. An example of reading the current journal for the puma service is sudo journalctl --unit=puma.service
I've still added the syslogger gem and wired that up for local app logging, but there should be very little, if any, output from this because Sinatra is really just a very small wrapper in this case, Puma is managing all the heavy lifting.

@jhriv HELP :innocent:

It looks good to me - I am not running this locally to otherwise test; nor do I have a Vagrant set up with other dependencies in order to test it. Splunk should pick up all the syslogs

Pull Request Test Coverage Report for Build 241

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 240:
0.0%

Covered Lines:
74

Relevant Lines:
74

💛  - Coveralls


WTF ChoiceMode!?!?!?!?!

Apparently the ExpandableListView does not support any of the ChoiceModes.  You gotta be kidding me!?!?!  Need to think about what I should here.  I can either say screw it and change up the UI to test all the varying features that I normally used with the modal behavior or manually add support for the choice modes into the adapters.  That's a rather large undertaking though it appears this is a common problem people get with the ExpandableListView.  Perhaps I just add support for activation state? Not sure if I can integrate modal behavior from the ListView class or if I gotta write my own using CAB.
Oye.  What a pain.  This will slow me down.

Ended up having to roll my own solution.  Initially I found a good solution which wrapped around the ExpandableListView and called into it to set items checked/activated.  However there were some really rare edge cases that caused crashes.  A result of an AbsListView issue with the state it was in.  I tried very hard to work around it but the problem was unworkable.  This forced my hand in rolling my own solution within the adapter.  This proved to be very time consuming to complete.
However all looks good now and is fully functional.


[Integration tests] Split chain backend and miner

This PR alters the integration test setup to use a chain backend separate from the miner. This is done to make it possible to switch the chain backend with a different implementation (currently we are using btcd).
The separation of chain backend and miner increases the delay of transaction and block propagation, since there is one extra node every event must be relayed through. This caused some test flakes to manifest themselves, and they are fixed one by one in the commits before splitting backend and miner.
A follow-up PR will enable bitcoind and neutrino as chain backends.
Blocked by:

[ ] btcd Node RPC: https://github.com/btcsuite/btcd/pull/1217
[x] btcd configurable trickleTimeout: https://github.com/btcsuite/btcd/pull/1222

Builds on:

[x] https://github.com/lightningnetwork/lnd/pull/1608
[x] https://github.com/lightningnetwork/lnd/pull/1613

Making P2.

The two nodes seems to hit the stall detection on INV messages sometimes, will investigate if there's something we can do about it.

The flake I was seeing seems to be related to the change from SimNet to RegTest: https://github.com/btcsuite/btcd/issues/1317
Reverted back to Simnet for now, as we don't need it before enabling the bitcoind backend.

Stall detection is still kicking in. Will see if I can make a workaround.

Added extraction of chain backend and miner logs, should make it easier to debug if the stall detection kicks in again.

To reduce the size of the PR, the actual integration test fixes are split into its own PR: https://github.com/lightningnetwork/lnd/pull/2116

All dependencies are now merged, this is ready for review again 💪


Billing - STRIPE - One BillingInvoiceItem per Transaction?

Clarify the Billing model!
Do we want a single BillingInvoiceItem per transaction?

In that case, we will then have several stripe.invoiceItems per BillingInvoiceItem

With this Model

1 Transaction ==> 0..1 BillingInvoiceItem ==> n stripe.invoiceItems

Or do we want to have for each stripe.invoiceItems the corresponding BillingInvoiceItem

In that case the transaction cannot just keep a reference to a single BillingInvoiceItem
This is waht OCCPPUtils expects on stopTransaction

And that second Model

1 Transaction ==> n BillingInvoiceItem ==> 1 stripe.invoiceItems

I will stick to the initial model:
1 Transaction ==> 0..1 BillingInvoiceItem ==> n stripe.invoiceItems
The fact that we have several stripe.invoiceItems for a single transaction is an implementation detail.
The billing service only exposes a single BillingInvoiceItem per charging sessions.


azure-openai support other type api

Ⅰ. Describe what this PR did
Support more other type apis, like embedings, DALLE, etc.
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

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

Project coverage is 36.03%. Comparing base (ef31e09) to head (b3076a3).
Report is 24 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1187      +/-   ##
==========================================
+ Coverage   35.91%   36.03%   +0.12%
==========================================
  Files          69       69
  Lines       11576     9483    -2093
==========================================
- Hits         4157     3417     -740
+ Misses       7104     5750    -1354
- Partials      315      316       +1

see 67 files with indirect coverage changes


Modify CI action to automate lint updates

Adds lint.yml workflow, updates go to 1.21 and adds tools.go

This was addressed by https://github.com/conduitio-labs/conduit-connector-http/pull/31.


[ADAM-1614] Add VariantContextRDD to R and Python APIs.

Resolves #1614. Restructures both R and Python APIs to add GenomicDataset class, which inherits from GenomicRDD, as in adam-core. Moves all implementing classes onto GenomicDataset, and adds VariantContextRDD which is the lone class that extends GenomicRDD. Deletes saveAsVcf from GenotypeRDD and VariantRDD, and moves this functionality into toVariantContextRDD functions and VariantContextRDD.saveAsVcf. Additionally, adds sort and sortLexicographically to the R API, and fixes sortLexicographically in the Python API (it was calling sort previously).

From a sequencing perspective, I think this change has fewer moving parts and should probably merge before #1627.

Coverage decreased (-0.4%) to 83.537% when pulling 158fd57df572471bbebc2d7713dc4f4b8f6f35bb on fnothaft:issues/1614-variantcontextrdd-r-python into 9bc5e1538c3a562bedb7f5f011deb0988611a453 on bigdatagenomics:master.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2277/Build result: FAILURE[...truncated 15 lines...] > /home/jenkins/git2/bin/git fetch --tags --progress https://github.com/bigdatagenomics/adam.git +refs/pull/:refs/remotes/origin/pr/ # timeout=15 > /home/jenkins/git2/bin/git rev-parse origin/pr/1628/merge^{commit} # timeout=10 > /home/jenkins/git2/bin/git branch -a -v --no-abbrev --contains 298babfc8347dc5365a02712d61e50e66947d40f # timeout=10Checking out Revision 298babfc8347dc5365a02712d61e50e66947d40f (origin/pr/1628/merge) > /home/jenkins/git2/bin/git config core.sparsecheckout # timeout=10 > /home/jenkins/git2/bin/git checkout -f 298babfc8347dc5365a02712d61e50e66947d40fFirst time build. Skipping changelog.Triggering ADAM-prb ? 2.3.0,2.10,1.6.1,centosTriggering ADAM-prb ? 2.3.0,2.10,2.1.0,centosTriggering ADAM-prb ? 2.6.0,2.10,2.1.0,centosTriggering ADAM-prb ? 2.6.0,2.11,1.6.1,centosTriggering ADAM-prb ? 2.6.0,2.11,2.1.0,centosTriggering ADAM-prb ? 2.3.0,2.11,2.1.0,centosTriggering ADAM-prb ? 2.6.0,2.10,1.6.1,centosTriggering ADAM-prb ? 2.3.0,2.11,1.6.1,centosADAM-prb ? 2.3.0,2.10,1.6.1,centos completed with result SUCCESSADAM-prb ? 2.3.0,2.10,2.1.0,centos completed with result SUCCESSADAM-prb ? 2.6.0,2.10,2.1.0,centos completed with result SUCCESSADAM-prb ? 2.6.0,2.11,1.6.1,centos completed with result SUCCESSADAM-prb ? 2.6.0,2.11,2.1.0,centos completed with result SUCCESSADAM-prb ? 2.3.0,2.11,2.1.0,centos completed with result SUCCESSADAM-prb ? 2.6.0,2.10,1.6.1,centos completed with result SUCCESSADAM-prb ? 2.3.0,2.11,1.6.1,centos completed with result FAILURENotifying endpoint 'HTTP:https://webhooks.gitter.im/e/ac8bb6e9f53357bc8aa8'
Test FAILed.

Jenkins, retest this please.

Coverage decreased (-0.4%) to 83.537% when pulling 158fd57df572471bbebc2d7713dc4f4b8f6f35bb on fnothaft:issues/1614-variantcontextrdd-r-python into 9bc5e1538c3a562bedb7f5f011deb0988611a453 on bigdatagenomics:master.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2278/
Test PASSed.

Addressed comment.

Coverage decreased (-0.4%) to 83.537% when pulling c6cf39fd98d87a6f96aa0501687987e6cee0e84f on fnothaft:issues/1614-variantcontextrdd-r-python into 9bc5e1538c3a562bedb7f5f011deb0988611a453 on bigdatagenomics:master.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/2279/
Test PASSed.

Thank you, @fnothaft


moosync: Add version 10.2.0

Add Moosync - yet another customizable desktop music player with a clean interface.
Closes #12340.
Relates to Moosync/Moosync#136.

[x] I have read the Contributing Guide.

/verify


How to minify

What is the command use to minify the source?

answering myself:
nodejs build/build.js


(feat) add Holmes

Holmes is a python library built on top of spaCy that lets you interact and explore your unstructured data in a variety of methods: chatbot, structural extraction, topic matching, and supervised document classification. It's a well described tool [1] that allows users to navigate semantic structure and nlp vectors at the same time to extract information.
[1] https://explosion.ai/blog/introduction-to-holmes

Thanks for the extension!


Adding new terms

New terms:

IP, IPCHI2
FD, FDCHI2
ORIGINVERTEX
UT, x-u-v-x configuration, BCM
GEC
Ghost, Ghost rate, tracking efficiency

modified:

SciFi, TT

from Lera's fork, simulation related terms:

FastSimulation, ReDecay, tracker-only, rich-less, Delphes
EventType, DecFiles

Thanks again @lukascalle for this big update. Super appreciated! I'm now merging with my final edits. Indeed this is largely ready and we can always fine-tune "forever".

Hey @henryiii, deployment failed after I merged this, see https://app.travis-ci.com/github/lhcb/glossary/builds/240225599. Comparing to the previous merge on master I see that that that one deployed just fine "as you", see https://app.travis-ci.com/github/lhcb/glossary/builds/217622626. Any idea on what happened in the meantime? Just a token that expired? I could not find one. Thanks for any pointer/help.


Fix styles and typos

I cann't speak Spanish, but checked those word with dictionary. It will be OK. :)

Haha, my native language is Spanish :) and I want to support he community

:tada:


User access update (based on pending SMC changes)

Describe your specific features or fixes and provide a preview link for the feature being incorporated
Resolves: MWPW-NUMBER
Test URLs:

Before: https://main--ecc-milo--adobecom.hlx.live/drafts/
After: https://--ecc-milo--adobecom.hlx.live/drafts/

To test the feature, please load up the branch locally and run it against your local ESP and ESL server.
For more information on how to set up ESL and ESP locally, please refer to: https://wiki.corp.adobe.com/display/adobedotcom/Events+Milo+FE+Dev+Wiki#EventsMiloFEDevWiki-Localdevelopmentsetup

Codecov Report
Attention: Patch coverage is 10.89109% with 180 lines in your changes missing coverage. Please review.

Project coverage is 43.41%. Comparing base (13516fc) to head (92159c3).
Report is 203 commits behind head on dev.

Files with missing lines
Patch %
Lines

ecc/scripts/profile.js
10.44%
180 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##              dev     #303       +/-   ##
===========================================
- Coverage   67.22%   43.41%   -23.81%
===========================================
  Files           2        2
  Lines         238      357      +119
===========================================
- Hits          160      155        -5
- Misses         78      202      +124

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


Failed to load audio: ffmpeg can't open .mp4 files

So I've deployed the latest container on GCP and sent a request to /transcribe-media as follows;
{
    "media_url": "https://drive.google.com/file/d/16WI4ABsF0A190TRxIGSNIr03fudFmfiS",
    "output": "transcript",
    "id": "uniquerequest-i62322232314123232377811"
}

But I get a 500 internal server error where the FFMPEG can't seem to open the file
{
    "build_number": 17,
    "code": 500,
    "endpoint": "/transcribe-media",
    "id": "uniquerequest-i62322232314123232377811",
    "job_id": "f126051c-e756-4b75-be12-b197add59843",
    "message": "Failed to load audio: ffmpeg version n7.0.2 Copyright (c) 2000-2024 the FFmpeg developers\n  built with gcc 12 (Debian 12.2.0-14)\n  configuration: --prefix=/usr/local --enable-gpl --enable-pthreads --enable-neon --enable-libaom --enable-libdav1d --enable-librav1e --enable-libsvtav1 --enable-libvmaf --enable-libzimg --enable-libx264 --enable-libx265 --enable-libvpx --enable-libwebp --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libass --enable-libfreetype --enable-fontconfig --enable-libsrt --enable-gnutls\n  libavutil      59.  8.100 / 59.  8.100\n  libavcodec     61.  3.100 / 61.  3.100\n  libavformat    61.  1.100 / 61.  1.100\n  libavdevice    61.  1.100 / 61.  1.100\n  libavfilter    10.  1.100 / 10.  1.100\n  libswscale      8.  1.100 /  8.  1.100\n  libswresample   5.  1.100 /  5.  1.100\n  libpostproc    58.  1.100 / 58.  1.100\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ab4212a7380] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible!\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ab4212a7380] moov atom not found\n[in#0 @ 0x2ab4212a7040] Error opening input: Invalid data found when processing input\nError opening input file /tmp/input_media/858f2980-5fb8-4370-9177-6bf694103093.mp4.\nError opening input files: Invalid data found when processing input\n",
    "pid": 4,
    "queue_id":<PHONE_NUMBER>5312,
    "queue_length": 0,
    "queue_time": 0,
    "response": null,
    "run_time": 5.575,
    "total_time": 5.575
}

I see that the server is processing the request but it just fails

thanks for sending that through, looking through the logs it looks like its having a hard time detecting something. Is there a chance to can cut/paste that log here so we can use it?

it looks like the file is missing some information that helps whisper figure out what type of file it is. where was the file created?

{
  "textPayload": "[in#0 @ 0x29f506f4b040] Error opening input: Invalid data found when processing input",
  "insertId": "6701f584000b8ee48d7a566c",
  "resource": {
    "type": "cloud_run_revision",
    "labels": {
      "project_id": "nca-toolkit-437708",
      "configuration_name": "no-code-architects-toolkit",
      "location": "us-central1",
      "revision_name": "no-code-architects-toolkit-00006-kwp",
      "service_name": "no-code-architects-toolkit"
    }
  },
  "timestamp": "2024-10-06T02:27:16.757476Z",
  "labels": {
    "instanceId": "007989f2a1ca559b4fc686f84621641030df45fe3ed10b6be0d15bb9f92b7993097e5d139e794df5c05663d042382ba555f293cae8bbcdfc5be34af05f3ecbcf451bd27ad2"
  },
  "logName": "projects/nca-toolkit-437708/logs/run.googleapis.com%2Fstderr",
  "receiveTimestamp": "2024-10-06T02:27:16.836180769Z"
}

{
  "textPayload": "Error opening input file /tmp/input_media/1a3b235d-5403-4aeb-ac5b-7341d0c27fa6.mp4.",
  "insertId": "6701f584000b8eecb836d1e1",
  "resource": {
    "type": "cloud_run_revision",
    "labels": {
      "service_name": "no-code-architects-toolkit",
      "project_id": "nca-toolkit-437708",
      "location": "us-central1",
      "configuration_name": "no-code-architects-toolkit",
      "revision_name": "no-code-architects-toolkit-00006-kwp"
    }
  },
  "timestamp": "2024-10-06T02:27:16.757484Z",
  "labels": {
    "instanceId": "007989f2a1ca559b4fc686f84621641030df45fe3ed10b6be0d15bb9f92b7993097e5d139e794df5c05663d042382ba555f293cae8bbcdfc5be34af05f3ecbcf451bd27ad2"
  },
  "logName": "projects/nca-toolkit-437708/logs/run.googleapis.com%2Fstderr",
  "receiveTimestamp": "2024-10-06T02:27:16.836180769Z"
}

{
  "textPayload": "Error opening input files: Invalid data found when processing input",
  "insertId": "6701f584000b8ef0c6a85dff",
  "resource": {
    "type": "cloud_run_revision",
    "labels": {
      "service_name": "no-code-architects-toolkit",
      "project_id": "nca-toolkit-437708",
      "revision_name": "no-code-architects-toolkit-00006-kwp",
      "configuration_name": "no-code-architects-toolkit",
      "location": "us-central1"
    }
  },
  "timestamp": "2024-10-06T02:27:16.757488Z",
  "labels": {
    "instanceId": "007989f2a1ca559b4fc686f84621641030df45fe3ed10b6be0d15bb9f92b7993097e5d139e794df5c05663d042382ba555f293cae8bbcdfc5be34af05f3ecbcf451bd27ad2"
  },
  "logName": "projects/nca-toolkit-437708/logs/run.googleapis.com%2Fstderr",
  "receiveTimestamp": "2024-10-06T02:27:16.836180769Z"
}

{
  "textPayload": "ERROR:routes.transcribe_media:Job 06bc94f8-68ac-4cd2-890a-e7317658a11f: Error during transcription process - Failed to load audio: ffmpeg version n7.0.2 Copyright (c) 2000-2024 the FFmpeg developers",
  "insertId": "6701f584000b8f082b805687",
  "resource": {
    "type": "cloud_run_revision",
    "labels": {
      "service_name": "no-code-architects-toolkit",
      "configuration_name": "no-code-architects-toolkit",
      "project_id": "nca-toolkit-437708",
      "location": "us-central1",
      "revision_name": "no-code-architects-toolkit-00006-kwp"
    }
  },
  "timestamp": "2024-10-06T02:27:16.757512Z",
  "labels": {
    "instanceId": "007989f2a1ca559b4fc686f84621641030df45fe3ed10b6be0d15bb9f92b7993097e5d139e794df5c05663d042382ba555f293cae8bbcdfc5be34af05f3ecbcf451bd27ad2"
  },
  "logName": "projects/nca-toolkit-437708/logs/run.googleapis.com%2Fstderr",
  "receiveTimestamp": "2024-10-06T02:27:16.836180769Z"
}

The example file to transcribe is https://drive.google.com/file/d/16WI4ABsF0A190TRxIGSNIr03fudFmfiS

I've figured out the issue. I was sending a wrong link format to the google drive.
Instead of
https://drive.google.com/file/d/16WI4ABsF0A190TRxIGSNIr03fudFmfiS
It needs to be in the format
https://drive.google.com/uc?export=download&id=16WI4ABsF0A190TRxIGSNIr03fudFmfiS


Appveyor key

Key is visible in your config.

Which one?

Disregard my comment its encrypted. New baby lack of sleep is getting to me.

It's okay


Safe wrappers

I need to run this through a battery of tests to see if this code is legit but I wanted to PR this before it gets any bigger.  I did nearly everything except for the async io calls which aren't easy to do safely.  I implemented a recursive decent parser for ceph's tmap data structure.  I'll do another for omap is necessary.  Other highlights include using bitflags where possible to make it easy to set flags.  There are a few functions where ceph only returns that the buffer we passed to it is too small.  I wasn't sure how many times I should iterate before just failing the operation.  It's something that requires more thought.

I haven't throughly tested everything yet.  It seems that anything that's reading from a buffer or just doing an operation seems fine.  Writing back into a supplied buffer seems problematic.

@hanscj1 do you have time to review this? I realize it's quite large

yes. sorry for the delay


Implement SSL Encryption for Flask API and Web App

As a user of the data quality framework, I would like the Flask API to use SSL encryption. In particular to ensure login and passwords sent over the network are not captured by third parties.

Done with Nginx


Develop RESTful APIs for NFL Data Access (use Express.js):

	○ Time: 3 weeks
	○ Tools Required: Express.js
	○ Steps:
		1. Set up an Express.js server for the API.
			□ Utilize a standard project structure for the Express.js server.
		2. Create endpoints for data access.
			□ Define endpoints for different datasets and functionalities (e.g., player stats, team stats).
		3. Implement unit and integration tests.
			□ Ensure all endpoints are covered with unit and integration tests using a testing framework like Jest.
		4. Store database connection strings in GitHub Secrets.
			□ Secrets Needed: API_DB_CONNECTION_STRING
	○ Documentation:
		§ API design documents and endpoint descriptions.
		§ Sample request and response formats.
	○ Major Milestone: RESTful APIs created and tested.
	○ GitHub Issue:

Develop RESTful APIs for NFL Data Access
Description: Develop RESTful APIs using Express.js for accessing NFL data.
Tasks:

Set up an Express.js server with a standard project structure.
Create endpoints for data access and implement unit and integration tests.
Store necessary credentials in GitHub Secrets: API_DB_CONNECTION_STRING.
Milestone: RESTful APIs created and tested.

Hi, is this issue still open ?

if yes then what is pending/requirement for this ?


startMonitoringSignificantLocationChanges is not a function

I'm getting error TypeError: this.nativeInterface.startMonitoringSignificantLocationChanges is not a function
Version:
react-native: 0.57.1
react-native-location: ^2.1.1
Screenshot:

Stack trace:
TypeError: TypeError: this.nativeInterface.startMonitoringSignificantLocationChanges is not a function. (In 'this.nativeInterface.startMonitoringSignificantLocationChanges()', 'this.nativeInterface.startMonitoringSignificantLocationChanges' is undefined)

This error is located at:
    in HomeScreen (created by SceneView)
    in SceneView (at StackViewLayout.js:784)
    in RCTView (at View.js:44)
    in RCTView (at View.js:44)
    in RCTView (at View.js:44)
    in AnimatedComponent (at StackViewCard.js:69)
    in RCTView (at View.js:44)
    in AnimatedComponent (at screens.native.js:59)
    in Screen (at StackViewCard.js:57)
    in Card (at createPointerEventsContainer.js:27)
    in Container (at StackViewLayout.js:860)
    in RCTView (at View.js:44)
    in ScreenContainer (at StackViewLayout.js:311)
    in RCTView (at View.js:44)
    in AnimatedComponent (at StackViewLayout.js:307)
    in Handler (at StackViewLayout.js:300)
    in StackViewLayout (at withOrientation.js:30)
    in withOrientation (at StackView.js:79)
    in RCTView (at View.js:44)
    in Transitioner (at StackView.js:22)
    in StackView (created by Navigator)
    in Navigator (at createKeyboardAwareNavigator.js:12)
    in KeyboardAwareNavigator (created by SceneView)
    in SceneView (at createTabNavigator.js:39)
    in RCTView (at View.js:44)
    in RCTView (at View.js:44)
    in ResourceSavingScene (at createBottomTabNavigator.js:113)
    in RCTView (at View.js:44)
    in ScreenContainer (at createBottomTabNavigator.js:103)
    in RCTView (at View.js:44)
    in TabNavigationView (at createTabNavigator.js:197)
    in NavigationView (created by Navigator)
    in Navigator (created by SceneView)
    in SceneView (created by SwitchView)
    in SwitchView (created by Navigator)
    in Navigator (at createAppContainer.js:388)
    in NavigationContainer (at renderApplication.js:34)
    in RCTView (at View.js:44)
    in RCTView (at View.js:44)
    in AppContainer (at renderApplication.js:33)

This error is located at:
    in NavigationContainer (at renderApplication.js:34)
    in RCTView (at View.js:44)
    in RCTView (at View.js:44)
    in AppContainer (at renderApplication.js:33)
subscribeToSignificantLocationUpdates
    subscriptions.js:44:8
componentDidMount
    index.js:45:6
wrapper
    native.js:486:32
fn
    native.js:507:23
commitLifeCycles
    ReactNativeRenderer-dev.js:12144:10
commitAllLifeCycles
    ReactNativeRenderer-dev.js:13496:8
invokeGuardedCallbackImpl
    ReactNativeRenderer-dev.js:92:15
invokeGuardedCallback
    ReactNativeRenderer-dev.js:306:36
commitRoot
    ReactNativeRenderer-dev.js:13702:8
completeRoot
    ReactNativeRenderer-dev.js:15269:13
performWorkOnRoot
    ReactNativeRenderer-dev.js:15197:21
performWork
    ReactNativeRenderer-dev.js:15090:24
performSyncWork
    ReactNativeRenderer-dev.js:15047:14
requestWork
    ReactNativeRenderer-dev.js:14925:19
scheduleWork
    ReactNativeRenderer-dev.js:14711:16
scheduleRootUpdate
    ReactNativeRenderer-dev.js:15429:15
render
    ReactNativeRenderer-dev.js:16142:20
renderApplication
    renderApplication.js:59:34
run
    AppRegistry.js:101:10
runApplication
    AppRegistry.js:195:26
__callFunction
    MessageQueue.js:349:47
<unknown>
    MessageQueue.js:106:26
__guard
    MessageQueue.js:297:10
callFunctionReturnFlushedQueue
    MessageQueue.js:105:17

Hi there,
This method is actually only available on iOS and from your screenshot, it looks like you are attempting to call it on Android. I recommend checking that you are on iOS before calling it (Platform.OS === "ios").
What you likely want to do is to subscribe to location updates with a large distance filter so your callback only gets called when a large distance change happens. You can do this cross-platform like this:
RNLocation.configure({
    distanceFilter: 500, // Meters
    desiredAccuracy: {
      ios: "best",
      android: "balancedPowerAccuracy"
    }
})

// Subscribe
const unsubscribe = RNLocation.subscribeToLocationUpdates(locations => {
  ...
})

// Unsubscribe
unsubscribe();

I do think the error message for calling startMonitoringSignificantLocationChanges on Android could be improved, so I'll leave this open as a reminder for me to do that.
Let me know if you have any other issues.

Hi @matt-oakes,
Thanks for the reply!
Got confused with subscribeToLocationUpdates and subscribeToSignificantLocationUpdates.


Add rpmsg tty deinit

This function adds deinit function for RPMSG LITE TTY transport. @MichalPrincNXP  could you provide feedback please. Is it ok to deinitialize master/remote tty RPMSG instance like this?

Look like i used some wrong branch


Replace ZenHub project with GitHub

Changes
We've started using GitHub for project tracking instead of ZenHub! We were using ZenHub for 2 reasons:

Burndown
Cross repo project planning

GitHub projects now provide (2) and we don't really use (1) anymore, so now we're using GitHub projects which have a lower barrier to usage.
@vdemeester @afrittoli @dibyom @sbwsg @wlynch
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[n/a] Includes tests (if functionality changed/added)
[x] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.

/test pull-tekton-pipeline-build-tests

Linter timeout 😓

Thanks! /lgtm

/retest


Remove pyopenssl versionning

Codecov Report

Merging #1006 (319938d) into master (fd57b00) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1006   +/-   ##
=======================================
  Coverage   76.92%   76.92%
=======================================
  Files         134      134
  Lines       12915    12915
=======================================
  Hits         9935     9935
  Misses       2980     2980

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


Regression test 9 fails

The test fails in CI environment, while on my machine everything works OK.

Python2 still fails, Python3 works.


v18.2.7 Package Definitions

It appears that DevExpress has removed the 18.2.6 version of their software. Could you generate and upload the definitions for v18.2.7?

Will generate them shortly.

Done.
https://github.com/caioproiete/DevExpress-NuGet/releases/tag/v18.2.7


CQ-4349008 Fixed Clear value not working for dropdown

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[ ] I ran all tests locally and they pass.

Wrong approach ig as $ is not available inside view. Will update the PR


turnOnSystem does not work

Hi, I followed your guide, but the turnOnSystem argument does not work for me.
Automatic turnOffSystem (auto power off the tv) work well, but then the TV does not turn on automatic, just manually with the remote.
Can you help please what could be the problem?
Thanks for reply.
I am blind actually, I am reading now that turnOnSystem is not possible with use this method, only turnOff, right?

you can try the points of section Troubleshooting of https://github.com/JPersson77/LGTVCompanion. If it does not help, I have no fix.


Clear memory after a WebSocket upgrade

After a WebSocket upgrade very few of the request members will ever be used again (headers, path, query, etc.). Applications can greatly increase their server density if they're able to reduce their per-connection memory usage.  We should clean up what we can automatically and allow the remainder to be cleaned up manually.
Clear automatically:

The 4k request buffer: https://github.com/aspnet/WebListener/issues/40
Request & response streams

Allow clearing manually:

Request & Response headers (Clear())
Uri fields
Method
IPs

Maybe just have a public CleanupNonWebSocketResources method that deletes everything.
Note that customers are already doing this kind of cleanup via private reflection. Make it so they don't have to.

Thanks for your feedback. We appreciate your letting us know about the problem you've encountered or suggestion but we are not planning to take further action on this issue because our focus has been on issues with significantly higher customer interest and issues impacting a broad number of customers.


[FEATURE] Allow git config settings

I would like to be able to set configs that I would normally do from the command line.
Ex:
git config  --global http.sslverify false

Sorry, I just don't have time to implement this feature. If you're still using this project I'm happy to get a PR for this feature, but otherwise I'm going to close this issue. Thanks.


referral

Would be awesome to have some text on "Referring a friend", "Send a referral link", etc.

Adding some content here: https://copybook.me/categories/referral/


WFU Artist name label has lost its gesture recognizer

However, the numberOfWorksLabel has retained its recognizer, so this is rather odd.

Fixed by #1348


Change handling of webaudio radius & volume

Fixes #13, also made the maximum radius and volume settings much more relaxed at 3x volume and 10,000 source units distance radius. If you want it lower, just set your server or client's convars.

Can you test if this works fine for you? @RanchTheDeer
I buffed the default convars as well since the server and client can always change the settings themselves

For me, these changes cause the stream to play with no volume whatsoever
With a little debugging, print(stream.volume * ( 1 - math_min(dist_to_stream / stream.radius, 1))) always seems to return a value of 0 despite the stream volume being set to 100 and the max volume being at 200

You're most likely using setPos at the same tick of setParent, which results in the stream being parented to the object local to the stream's set position. This is expected behavior

Either don't set the position of the stream at all before parenting it or set it to the parent's position in the same tick if you want that normal behavior

I'm not using setPos at all in my code, as it should not be required when setting the parent of the stream. Simply setting the parent and then starting the stream should be sufficient to set the correct origin.

 And are you on singleplayer? Cause I still haven't debugged any behaviors on singleplayer

        {
            TimeIncrement = 1000
            PlaybackRate = 1
            WebAudio = webAudio(S)
            WebAudio:setParent(TargetEntity)
            WebAudio:setRadius(2000)
            WebAudio:play()
            WebAudio:setVolume(Volume)
            WebAudio:setPlaybackRate(PlaybackRate)
            WebAudio:update()
            timer("playNext_1", 100)
        }
```
I'm running on singleplayer, yes.
I'd really expect SetParent to set the parent position to the center of the entity it's parented to, and for `setPos` to be optional rather than required. Perhaps some clarification is required in the documentation if this is not the case.

It's not required, I said don't set the position of the stream at all before parenting it in my last message

Ok it's meant to not be required but apparently the code wasn't working my bad, didn't notice I had a setPos in there that basically set it to the same position at the prop to parent to. brilliant

Ugh, it was because at some point I made self.pos initialize as Vector() instead of nil as it initially was meant to be. Documented it so I don't make the mistake again

Thanks for the report, think it's all good now

Current revision of code now behaves as expected; parenting the stream now works as expected.


UUID feature, store & generate & use  unique keys  for items

gather and generte UUIDs into leaf nodes.
Enhacements:

[x] UUID item gathering
[x] new identifier what is easier as identifier for tools

uuid

[x] tmt identifier generation on demand

[tmt generate-uuid --tests regexp_selectors

I have a usecase to the extended UUID (UUID+realtive_path).
In this example [1] I have a structure which could be generated on demand using a macro language inside the fmf [2]. The only thing which prevents it is the nitrate link which is unique for all the leafs. If there was just a one way link from TCMS to fmf using the_extended UUID_ it would be possible to use UUID of the root element of [1] plus relative path to the generated testcase.

https://github.com/RedHat-SP-Security/tests/blob/sopos-ossl-anon/rsyslog/Sanity/gnutls-openssl/main.fmf
https://github.com/teemtee/fmf/issues/152

let me demonstrate it on a example:
the source (expanded - after the ) fmf tree would look like:
/gtls:
    UUID: XYZ
    require+:
      - rsyslog-gnutls
    /old-syntax:
        environment+:
            rsyslogSyntax: old
        /x509_name:
        /client_anon:
            environment+:
                CLIENT_NO_CERT: 1

the final result would be (not saved anywhere, just held in the memory for the tmt/fmf processing)
/gtls:
    UUID: XYZ
    require+:
      - rsyslog-gnutls
    /old-syntax:
        UUID: XYZ/old-syntax
        environment+:
            rsyslogSyntax: old
        /x509_name:
            UUID: XYZ/old-syntax/x509_name
        /client_anon:
            UUID: XYZ/old-syntax/client_anon
            environment+:
                CLIENT_NO_CERT: 1

This would allow one to move whole test while using still the same UUIDs for all the sub-tree. I think we refused this idea as we basically thought of that as a sub-tree containing different tests where we need a UUID for each of them. But we did not consider the case where there may be a sub-tree representing one test with several virtual test cases for parametrization purposes. Such sub-tree cannot be easily split and moved separately so it completely makes sense to allow this kind of grouping.

The UUID implemented in fmf directly could simply acts as extension of the list instead of replacing.
Let me expand my example a bit more (removed unrelated attributes):
the real fmf file:
/gtls:
    UUID: GTLS
    /old-syntax:
        UUID: OLD
        /x509_name:
        /client_anon:

would be internally handled a bit like the following with appending the relative path to all the inherited items
/gtls:
    UUID+:
      - GTLS
    /old-syntax:
        UUID+:
          - OLD
        /x509_name:
        /client_anon:

so the final data structure would be (not saved anywhere, just held in the memory for the tmt/fmf processing)
/gtls:
    UUID:
      - GTLS
    /old-syntax:
        UUID:
          - GTLS/old-syntax                   # << the inherited and automatically extended
          - OLD
        /x509_name:
            UUID:
              - GTLS/old-syntax/x509_name     # << the inherited and automatically extended
              - OLD/x509_name                 # << the inherited and automatically extended
        /client_anon:
            UUID:
              - GTLS/old-syntax/client_anon   # << the inherited and automatically extended
              - OLD/client_anon               # << the inherited and automatically extended

as simple as that..

Yes, this is exactly example where it could be very useful.
I wanted also this. But maybe this is more controversial and harder then to lint then, than the discussed solution

just updated the last example, please consider using the list approach - the forwards-compatible

Early UX notes:
I've tried tmt generate-uuid --dry on fresh tmt init -t full and was surprised it prints nothing. IMHO it should warn user that at least one of -p or -t is necessary
What means "via selected rules" in the help message? I see no option to select rule.
And lastly, could I get better name instead of _fmf_uuid? IMO uuid could be completely fine.

Early UX notes: I've tried tmt generate-uuid --dry on fresh tmt init -t full and was surprised it prints nothing. IMHO it should warn user that at least one of -p or -t is necessary
What means "via selected rules" in the help message? I see no option to select rule.
And lastly, could I get better name instead of _fmf_uuid? IMO uuid could be completely fine.

Hi @lukaszachy,
yep, this could be changed,
I've just proposed something, to not put much effort there, to clarify what we want,
not sure what could be better, also though about using tmt tests [uuid-show|uuid-generate] with possible applying filters or conditions as another solution, then it will be forced to use tests or plans.
and second question, I prefer to use some prefixed key something_uuid to avoid users can define there something for them, but completely fine with uuid as key. So I have no problem to change it to anything.

just updated the last example, please consider using the list approach - the forwards-compatible

makes sense, i'll do that, to be able to extend it in future.

and second question, I prefer to use some prefixed key something_uuid to avoid users can define there something for them, but completely fine with uuid as key. So I have no problem to change it to anything.

I believe we should have uuid as official attribute. It will (or should) be used in tmt so it has to be defined (IMO)

I'm still leaning a bit more towards the idea of implementing this on the fmf level as one might want to use the UUID for the test discovery as well. Such discovery could not be how: fmf but would need to be how: tmt as the fmf would not be able to handle such case on its own.

I'm still leaning a bit more towards the idea of implementing this on the fmf level as one might want to use the UUID for the test discovery as well. Such discovery could not be how: fmf but would need to be how: tmt as the fmf would not be able to handle such case on its own.
Actually, any fmf_id reference could be using UUID even on its own (without url) once there is a central registry holding the (UUID, fmf_id) pairs.

Yes, I also would like to see it also part of FMF, but theoretically, we can then move this semantics and functions into FMF and TMT will just wrap this functions.
Just one bad is, that currently FMF does not have any semantics, nor fmf_id (it is also implemented just in TMT, not in FMF directly) so that question is if we want add some semantics into FMF.
imagine another ideas (if we implement some semantics in FMF, thwn would be nice because it is something generic and not tight to TMT direclty):

add semantics for remote tree referencing
add merging of trees
add symlinking inside one tree
also theoretically semantics for link semantics, so that e.g. coverage and verified-by or another link items will use FMF directives and automatically implements logic of searching though trees, (It would be very nice)

uuid in tmt
I'll try to summarize a possible approach without adding a semantics to fmf but still covering the uuid/path use case:

A new core uuid key is defined in the tmt specification
Something like an fmf.Tree.where_do_you_come_from(key) method is implemented returning the node where the key is defined (searching for the closest parent node which includes the key)
A new Core.uuid() method or property would be implemented in the following way:

The uuid() value would be generated in tmt using inherited uuid content and the result of the where() method above:

If the where() result is self, only uuid would be used
Otherwise relative path from the parent with uuid defined would be appended to the parent uuid

In addition to the functionality outlined above, tmt should probably take care of checking for possible uuid duplicates.

uuid in fmf
Here's a summary of the alternative fmf approach:

Agree on a reserved prefix such as fmf- which would be used for special fmf features
Special reserved key fmf-uuid (or something like that) would have to allocated for uuids
A new method (or property) would be introduced which would return the uuid value

Generating the value would work in a similar way as for the tmt implementation above:

If self._raw_data contains fmf-uuid return it
Otherwise search for the closest parent when it is defined and append the relative path

Checking for duplicates would probably be easier as the whole fmf.Tree is always created when exploring the fmf metadata on disk.

@psss, you're right that having multiple uuid is a kind-of nonsense as it is not unique any more.
The only use-case I can currently come up with is a "redirect".
Imagine a situation where you have one two tests linked from some external resource. Later on you decide to cover it with one single test but still there are two external references so you want to keep maintaining them.
There are basically two solutions:

allow multiple uuid
create a virtual tests for each uuid separately.

So I'm currently not sure if we really need to use the list. May be we can choose the second approach and stick to a really unique uuid.
Regarding the place - fmf / tmt decision:
If one uses an uuid as an identifier of the fmf_id the tmt would be necessary to be able to resolve it if implemented on the tmt side. Otherwise fmf_id would be resolvable with fmf only. The former approach would be more like a tmt_id.

Thanks to all for valuable input! After a couple of additional discussions I'd say the tmt approach summarized above sounds like the best solution. As the first step let's implement identifiers in the leaves only. Later we can extend with the relative path from the parent with identifier defined suffix generation.
Unless there are strong objections or concerns I suggest to keep the new key simple, that is it should be a single string. Also, because we expect the suffix extension in the future, I believe we should not call it uuid. I've outlined spec for the new key in fff1617, please review. Regarding the name id sounds as a natural choice. Or should it be identifier? Better ideas?

tmt and a single-value string sounds good to me, after all
As for the attribute name I prefer id over identifier.

Would be nice to mention that on Linux systems one can use the uuidgen command to generate it and that is now a responsibility of the user to make it unique, there is nothing stopping the user to misconfigure.

Right, probably I do not plan to do some check of unique IDs, at least it is easy inside one project.
And yes, user can generate it itself if not generated via TMT tooling.

SO current solution is:

it uses id as key in fmf file
class Core contains property identifier returning the id if defined in leaf.

if not defined in leaf it raises error

file uuid.pycontains functions to work with IDs especiallyid_locationsearches the node where theid` is defined - so easy then to extend it with IDs not in leafs in future

adapted @psss way of generator cli command: tmt test|plan uuid ...

@jscotka could you please also add the new module to mypy.ini to enable the typing checks?

@jscotka could you please also add the new module to mypy.ini to enable the typing checks?

okay added to list of files inside mypy

@psss thanks for adjustments, seems well.

All essential tests passed, remaining failures are unrelated.


glibc: patch 2.23 for CVE-2016-3075, CVE-2016-1234, CVE-2016-3706

Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ x] Fits CONTRIBUTING.md.

This addresses the following security advisories:

CVE-2016-3075: Stack overflow in _nss_dns_getnetbyname_r
CVE-2016-1234: glob: buffer overflow with GLOB_ALTDIRFUNC due to incorrect
NAME_MAX limit assumption
CVE-2016-3706: getaddrinfo: stack overflow in hostent conversion

Patches cherry-picked from glibc's release/2.23/master branch.
The "glob-simplify-interface.patch" was a dependency for
"cve-2016-1234.patch".

Would it be possible to fetch these patches instead of checking them into the repo?

It looks like sourceware.org does have urls where the patches can be downloaded, but they don't apply cleanly without first removing the changes to the file ChangeLog. The other option would be to pull in every patch on the release/2.23/master branch. Looking back at the recent nixpkg history of glibc I didn't see a precedent for doing that, last time individual CVE patches were pulled in. That said, maybe pulling everything in is a better approach, I don't have a lot of experience with this.

Thank you. In past I tried to find a better way to pull in patches for glibc but I couldn't.


Sendfile enhancement

added a new method with the following signature
func (s *Session) ChannelFileSendWithMessage(channelID, content string, name string, r io.Reader) (st *Message, err error)

to keep backwards compatability i kept the old method but it just calls the full method.

Looks good to me.

Thx

:heart:  thanks for the PR :)

It cool @bwmarrin I will be helping more currently building a discord bot using the api.

Awesome! I can use all the help right now!  Been so busy lately it's hard to keep up.


Implementation of FFT geophysical filters in Harmonica

Hi everyone!
I'm Santiago Soler, one of the core developers of the Fatiando a Terra project: open-source tools for geophysics. We have been quite interested in the development of xrft, specially for managing FFT-based processes and filters that we are planning to include in Harmonica, a library for processing, forward and inverse modelling gravity and magnetic data.
We are very interested in using xrft for managing the whole FFT and inverse FFT processes that these functions need. Our potential fields data (gravity and magnetic) is usually given as a 2D regular grids whose coordinates are projected geographical coordinates: easting and northing (Cartesian coordinates in meters). See this gallery example to get a better picture of them. In the old fatiando package we used to have some implementations of these methods using numpy.fft directly, although we are very interested in a FFT implementation that harness xarray objects, since we are using DataArrays and Datasets as our default structure for our 2D grids.
We therefore find xrft the perfect solution to our problems. We really appreciate you developers for taking the time to build this great project!
I personally started drafting an implementation of a directional derivatives of a regular grid using FFTs (https://github.com/fatiando/harmonica/pull/238) using xrft under the hood for computing the FFTs and their inverse.
On this process, I started getting some user experience of xrft and wanted to share them with you.
We also found that we might have some special needs and we would like to know if you would want to include solutions to them into xrft. We are absolutely willing to help with the implementation and maintenance of those.
Differences between dft and fft
We found that xrft hosts two different functions for handling FFT computations: dft and fft.
We found out that fft is a wrapper of dft that passes hard-coded values to certain parameters.
IMHO, it sounds slightly confusing at the beginning, and in fact I had to surf through the code to finally understand the difference between them.
Is there any strong decision for this design?
Mathematical docstring of dft
The docstring of dft states that it returns the Fourier transform computed as
daft = \mathbb{F}(da - \overline{da})

where I assume that the \overline states the mean value of the array. Am I right?
If so, the function only removes the mean value if we pass detrend="linear", right?
True Phase and True Amplitude
I've been struggling to understand what true_amplitude and true_phase actually mean.
I think it would help to add some mathematical background on the intended behavior of enabling and disabling them.
Coordinates shift
Most of the FFT-related functions we will implement on Harmonica can be summarized in the following workflow:

compute FFT of a 2D regular grid
apply a filter in the frequency domain
compute inverse FFT to obtain the modified grid on the same coordinates.

While implementing the derivatives (https://github.com/fatiando/harmonica/pull/238) I've noticed that xrft.xrft.ifft returns a DataArray whose coordinates are centered around zero. Although this might not be a big deal in the general case, for the Harmonica use cases it's extremely important that the output grid has the same coordinates as the original one, since they mean actual geographical locations. I tried passing a tuple to the lag parameter with the western and southern coordinates of the original region, but ifft returns a warning saying that it ignores this parameter.
So far, we manage to implement this feature on our side: https://github.com/fatiando/harmonica/blob/4e865f00f0464e24d8f1cbb8b3c825ab70aa899d/harmonica/filters/fft.py#L34-L85
Nevertheless we don't intent to maintain wrappers of the xrft functions in the future.
Would you like to see something like this implemented in xrft?
Plans for future padding functions
In the future we will be very interested in having functions to apply padding to our 2D grids before passing them to fft. We've been following the implementation of xarray.pad, although it currently fills with nans the extended coordinates which cause a lot of problems when trying to compute FFTs (see https://github.com/pydata/xarray/issues/3868). Since xarray is not intended to be used exclusively with regular grids, extending the coordinates of a DataArray is not trivial. But since xrft assumes regular grids, will you be interested in implementing specific padding functions in xrft?

Thanks again for all your work on this subject! We really appreciate it.
And sorry for my long issue. If you think it might be better to split this Issue into several ones, please let me know and I'll split it so we can chat about every topic in a more organized way.
Cheers!
cc @leouieda @aguspesce @andieie

Hi @santisoler, thanks for your interest in xrft and detailed feedback. We are happy to know that there are people using our package.

Differences between dft and fft
We found that xrft hosts two different functions for handling FFT computations: dft and fft.
We found out that fft is a wrapper of dft that passes hard-coded values to certain parameters.
IMHO, it sounds slightly confusing at the beginning, and in fact I had to surf through the code to finally understand the difference between them.
Is there any strong decision for this design?

Part of it was to be compatible with prior releases. We decided to use the naming of fft for similar behavior to numpy.fft while as the functionality of passing the xarray metadata was left for dft.

Mathematical docstring of dft
The docstring of dft states that it returns the Fourier transform computed as
daft = \mathbb{F}(da - \overline{da})

where I assume that the \overline states the mean value of the array. Am I right?
If so, the function only removes the mean value if we pass detrend="linear", right?

detrend="constant" removes the mean while removes the linear trend either in 1D or 2D.

True Phase and True Amplitude
I've been struggling to understand what true_amplitude and true_phase actually mean.
I think it would help to add some mathematical background on the intended behavior of enabling and disabling them.

The documentation page (https://xrft.readthedocs.io/en/latest/) has some examples with mathematical/theoretical explanation but feel free if you have inputs on how to improve it.

Coordinates shift
Most of the FFT-related functions we will implement on Harmonica can be summarized in the following workflow:

compute FFT of a 2D regular grid
apply a filter in the frequency domain
compute inverse FFT to obtain the modified grid on the same coordinates.

While implementing the derivatives (fatiando/harmonica#238) I've noticed that xrft.xrft.ifft returns a DataArray whose coordinates are centered around zero. Although this might not be a big deal in the general case, for the Harmonica use cases it's extremely important that the output grid has the same coordinates as the original one, since they mean actual geographical locations. I tried passing a tuple to the lag parameter with the western and southern coordinates of the original region, but ifft returns a warning saying that it ignores this parameter.

The lag parameter is only valid when using xrft.idft and not xrft.ifft.

Plans for future padding functions
In the future we will be very interested in having functions to apply padding to our 2D grids before passing them to fft. We've been following the implementation of xarray.pad, although it currently fills with nans the extended coordinates which cause a lot of problems when trying to compute FFTs (see pydata/xarray#3868). Since xarray is not intended to be used exclusively with regular grids, extending the coordinates of a DataArray is not trivial. But since xrft assumes regular grids, will you be interested in implementing specific padding functions in xrft?

This may be related also to issue #146 ?

Hi @roxyboy ! Thanks for the quick response.

Part of it was to be compatible with prior releases. We decided to use the naming of fft for similar behavior to numpy.fft while as the functionality of passing the xarray metadata was left for dft.

I understand. My question is: does it worth having two different functions that are intended to do the same thing with slight differences?
IMHO, I find it a little bit confusing. Nevertheless, if you find necessary to maintain both functions, I would suggest to improve their docstrings to make it very clear about their differences.

detrend="constant" removes the mean while detrend="linear" removes the linear trend either in 1D or 2D.

Right! My concern was about the difference between the math description on the docstring and the default behavior of the function. By default dft sets detrend=None, which corresponds to not removing any trend from the array. I would suggest that the docstrings should match the default behavior of the function.

The documentation page (https://xrft.readthedocs.io/en/latest/) has some examples with mathematical/theoretical explanation but feel free let us know if you have ideas on how to improve it.

I like the documentation! I would just add mathematical descriptions of what the dft function is doing when passing true_amplitude=True and true_phase=True.
For example, Numpy has an extended explanation about their fft method: https://numpy.org/doc/stable/reference/routines.fft.html#module-numpy.fft

The lag parameter is only valid when using xrft.idft and not xrft.ifft.

Is there any reason why it wouldn't work with ifft?

This may be related also to issue #146 ?

Yes! I'll bring my ideas on #146 then.

Thanks again for the response! We are really looking forward to use xrft as the base tool for managing FFTs on Harmonica.

I understand. My question is: does it worth having two different functions that are intended to do the same thing with slight differences?
IMHO, I find it a little bit confusing. Nevertheless, if you find necessary to maintain both functions, I would suggest to improve their docstrings to make it very clear about their differences.

Maybe @lanougue can chime to remind of the discussion we had but I think the idea was that in order to avoid confusion between numpy.fft and xarray.dft, we decided to keep xrft.fft to maintain a functionality similar to numpy.fft.

Right! My concern was about the difference between the math description on the docstring and the default behavior of the function. By default dft sets detrend=None, which corresponds to not removing any trend from the array. I would suggest that the docstrings should match the default behavior of the function.

Noted. Will do this in a new PR.

I like the documentation! I would just add mathematical descriptions of what the dft function is doing when passing true_amplitude=True and true_phase=True.
For example, Numpy has an extended explanation about their fft method: https://numpy.org/doc/stable/reference/routines.fft.html#module-numpy.fft

Ok, I'll add this to the documentation.

Is there any reason why it wouldn't work with ifft?

xrft.fft and xrft.ifft sheds all the coordinate data so we decided that lag should only work with dft which utilizes the coordinate metadata.

Hi @santisoler,
The initial idea of xrft was to extend fft's to xarrays handling frequency coordinates. However, since xarrays also contain coordinates information, it is possible to correctly perform a Fourier Transform (meaning : with the correct amplitude and correct phase). xrft.fft is the historical function that simply mimic numpy.fft (with frequency vector) while xrft.dft takes care of correct amplitude and phasing of the output. Enabling the correct ampltude and correct phasing compared to xrft.fft is possible with flags "true_amplitude" and "true_phase".
We beleive that maintaining xrft.fft was important for the users for retro-compatibility and to reassure users that would still prefer fft anyway.
Maybe, in the future, only xrft.dft will be kept and documentation will explain that "old fft" behaviour could be recovered with true_amplitude=False and true_phase =False.
I agree that documentation should be more explicit (mea culpa, I am slow in reviewing @roxyboy's work)
"lag flag" could also work with ifft but would not have any signification. fft works together with ifft and dft works together with idft. (However, only dft/idft correctly handle the phase).

@santisoler,
The "lag" parameter exists in order to be able to get the idft onto the right range of coordinates (same as initial input). However, from a user point of view: do you think that it could be easier to provide the original signal's coordinates instead of the lag?

Hi @leouieda
I think that keeping the full coordinates would be a waste of memory space since they can easily be regenerated (and will be anyway when calling idft). However, the lag is a single value and would require almost no memory.
It could be possible to store the "lag" (evaluated during dft call) but I would prefer rather not for several reasons:

It is only useful when calling both dft and then idft. Most of the users only use the direct dft to look at the spectrum for example. This lag information is useless for them.
Even if the lag evaluated when calling dft is the more probable value used in idft, it is not guaranted.

As I suggested, I think it could be useful to enable passing the initial dataarray coordinates to idft in order to make idft to automattically evaluate the lag.
Maybe @rabernat and @roxyboy  have other pros/cons arguments.

Thanks so much @santisoler and @leouieda for this really useful feedback. We are 💯 committed to making fft a useful, stable dependency for downstream projects such as yours. I'll chime in with a few of my thoughts.

Part of it was to be compatible with prior releases. We decided to use the naming of fft for similar behavior to numpy.fft while as the functionality of passing the xarray metadata was left for dft.

IMO we should strongly consider deprecating one or the other. dft is not a standard function name, while fft appears in many different packages. I think the first step would be to give these duplicate functions the same API (together with a warning that one will be dropped).

The documentation page (https://xrft.readthedocs.io/en/latest/) has some examples with mathematical/theoretical explanation but feel free let us know if you have ideas on how to improve it.

Our documentation basically only has examples. What is missing is the standard narrative documentation that describes the operation and theory of xrft in detail.

I think that keeping the full coordinates would be a waste of memory space since they can easily be regenerated (and will be anyway when calling idft). However, the lag is a single value and would require almost no memory.

IMO, we should not be concerned about memory footprint for coordinates. If you are using Xarray, you already have decided you want to accept the extra memory overhead in exchange for keeping careful track of coordinates.

Most of the users only use the direct dft to look at the spectrum for example. This lag information is useless for them.

@lanougue: How do you know this? Have we done a user survey? Not to my knowledge. Here we have some actual users coming and requesting this feature. We can see from the harmonica workaround that this is a feature that users need. We should not be so quick to say no. As I said above, I don't think that conserving memory is a valid reason. People use xrft (and python in general) for its convenience, not its memory efficiency.
In general, I think that xrft should support full "round-tripping" of data, such that ifft(fft(data)) returns a dataarray with the original coordinates of data.

I think it could be useful to enable passing the initial dataarray coordinates to idft in order to make idft to automattically evaluate the lag

Rather than placing this burden of keeping track of coordinate information on the user, I propose we use attributes and / or extra non-dimension coordinates to provide the necessary information about lag within the dataarray returned by fft.

IMO we should strongly consider deprecating one or the other. dft is not a standard function name, while fft appears in many different packages. I think the first step would be to give these duplicate functions the same API (together with a warning that one will be dropped).

dft is the legacy naming in xrft so if we are to drop either fft or dft, for compatibility with prior versions, I vote for dropping fft.

Our documentation basically only has examples. What is missing is the standard narrative documentation that describes the operation and theory of xrft in detail.

PR #151 adds some of the the operation and theory, which I think we can merge.

IMO, we should not be concerned about memory footprint for coordinates. If you are using Xarray, you already have decided you want to accept the extra memory overhead in exchange for keeping careful track of coordinates.
In general, I think that xrft should support full "round-tripping" of data, such that ifft(fft(data)) returns a dataarray with the original coordinates of data.
Rather than placing this burden of keeping track of coordinate information on the user, I propose we use attributes and / or extra non-dimension coordinates to provide the necessary information about lag within the dataarray returned by fft.

I'll work on this in another PR.

IMO we should strongly consider deprecating one or the other. dft is not a standard function name, while fft appears in many different packages. I think the first step would be to give these duplicate functions the same API (together with a warning that one will be dropped).

dft is the legacy naming in xrft so if we are to drop either fft or dft, for compatibility with prior versions, I vote for dropping fft.

Or perhaps the other way around is better: dft will be a wrapper function of fft with the latter being the default and whenever dft is called, it'll raise a deprecation warning.

I did not say "no" ! I only started a discussion :)
I like the round-tripping argument :)
@roxyboy, I can start this PR too if you need

Sure, sorry if I mischaracterized your comments @lanougue. My apologies. I appreciate everyone's viewpoint on this discussion.

I made a PR #155  to start the deprecation cycle of dft (coined as byebyedft)

@roxyboy, I can start this PR too if you need

Sure, if you could start a PR about keeping the original coordinates as an attribute and automating the lag computation, that'd be great @lanougue :)

I like the round-tripping argument :)
@roxyboy, I can start this PR too if you need

Sure, if you could start a PR about keeping the original coordinates as an attribute and automating the lag computation, that'd be great @lanougue :)

Ok, I'll initiate it !

Thanks everyone for the amazing responses.
I left a few thoughs after reading all the comments in this Issue.

In general, I think that xrft should support full "round-tripping" of data, such that ifft(fft(data)) returns a dataarray with the original coordinates of data.
by @rabernat

I totally agree on this. I think the fft and ifft functions should resemble the mathematical description of the Fourier transform and its inverse as much as possible. And since the F^-1 * F operator is equal to the identity, I cannot agree more to support the round-tripping.

xrft.fft is the historical function that simply mimic numpy.fft (with frequency vector) while xrft.dft takes care of correct amplitude and phasing of the output. Enabling the correct ampltude and correct phasing compared to xrft.fft is possible with flags "true_amplitude" and "true_phase".
We believe that maintaining xrft.fft was important for the users for retro-compatibility and to reassure users that would still prefer fft anyway.
by @lanougue

IMHO, if any user would like to apply the FFT to a xr.DataArray regardless of the frequency arrays or its coordinates, they can always go back to numpy.fft instead of having to go with xrft. Therefore I think that xrft should be focused on the users that are specially worried of keeping track of the frequencies and coordinates arrays.

Or perhaps the other way around is better: dft will be a wrapper function of fft with the latter being the default and whenever dft is called, it'll raise a deprecation warning.
by @roxyboy

I agree with keeping fft and deprecating dft. FFT stands for Fast Fourier Transform, which actually stands for a particular algorithm for computing discrete Fourier transforms that it's much more faster than carrying out the entire summation by iteration. The first time I saw dft I thought that xrft was actually using a different algorithm than FFT. Therefore I agree xrft should keep fft and ifft as the default functions to apply Fourier transformations.

Rather than placing this burden of keeping track of coordinate information on the user, I propose we use attributes and / or extra non-dimension coordinates to provide the necessary information about lag within the dataarray returned by fft.
by @rabernat

If we are all in the same page regarding the round-tripping property of fft, I think this feature is a must. Probably it's easier to add the lag coordinates as attrs, although I'm worried if the attrs could get deleted or modified by any intermediate process.
@leouieda: I think you mention something like this at some point, could you bring some light on this?
It think coordinates and not-index coordinates cannot be easily removed or modified. Nevertheless which option we choose, I think we should stick with the safer one.
Finally but not least, I'm willing to help opening PRs or reviewing code. Feel free to assign me any task you want me to help with!

Hi @santisoler
We are doing PRs according to your suggestions ! Thanks. Concerning the accidental removal of the lag attribute during intermediate processes (in the frequency domain). I proposed (in the PR) to store the lag as an attribute of the coordinates (and not of the dataarray). This should ensure that it will not be deleted during intermediate operations on this dataarray. (it is also actually an attribute of the coordinates per definition).
The lag will be changed/removed only if operations are realized on the coordinates themselves. In this case, the lag should probably be changed anyway.

I think the fft and ifft functions should resemble the mathematical description of the Fourier transform and its inverse as much as possible.

Actually this question raised up some time ago. Should xrft.fft mimic the numpy.fft (because user are used to it) or should it be the closest as possible to the mathematical Fourier transform, as you suggest.
At time, the chosen option was to make xrft.fft to mimic numpy.fft and to make xrft.dft the closest to the mathematical Fourier Transform (I agree that the dft name was not a very good choice but it was for historical reasons).
We now need to choose how xrft.fft should behave. I also raised this question in PR #155 too because it is of central interest

Hi @santisoler
We are doing PRs according to your suggestions ! Thanks. Concerning the accidental removal of the lag attribute during intermediate processes (in the frequency domain). I proposed (in the PR) to store the lag as an attribute of the coordinates (and not of the dataarray). This should ensure that it will not be deleted during intermediate operations on this dataarray. (it is also actually an attribute of the coordinates per definition).
The lag will be changed/removed only if operations are realized on the coordinates themselves. In this case, the lag should probably be changed anyway.

This is much more clever! I totally agree, so feel free to ignore my previous proposals regarding where to place the lags.


[.Net][Feature Request]: Add support for OpenAI o1-preivew model

Is your feature request related to a problem? Please describe.
The existing OpenAIChatClientAgent needs a little twist in order to work with o1-preview model

make system message optional, because o1 doesn't support system message
don't set temperature/max token when it's null, because o1 doesn't allow setting these fields

Describe the solution you'd like
No response
Additional context
No response

Hello @LittleLittleCloud, wondering if o1-preview model is supported for the python package as well. In particular, I am looking to use it in AssistantAgent.


refactor: Move retry logic from infer_type_name to wizard

Move the logic to wizard
Use tokio_retry instead of our existing implementation to retry with an exponential back off if the the API returns a 429 error.

/bounty $25

/attempt #2671

/attempt #2671

/attempt #2671

/attempt #2671

Go ahead

/attempt #2671


node-api not no_std compatible

Noticed with https://github.com/scs/substrate-api-client/pull/369. Not sure why test-no-std didn't detect that before hand, but two things seem to be breaking the current no-std build:

frame-metadata serde_full (can be removed)
sp-core full-crypto

additionally: full-crypto needs sp-application-crypto import, which depends on sp-io. So I guess this compiles to wasm?

No.  Some great magic is happening that disturbs the test-no-std greatly. Not sure whatever, but it seems making substrate-api-client a separate crate does not work.


Good Work!

Good Work!

Thank you.


[Feature Request] Not respecting Jellyfin User Access Restrictions

Description
I restricted a library for some users in Jellyfin. All users irrespective of the restrictions specified in Jellyfin can see the titles in Jellyseerr.
Expected Behavior
Titles from libraries should only be displayed to users who has access to the library.
Version
a5cc36c88f34f9326f50552a8d6e3b8777b58e40
Steps to Reproduce

Create a new library in Jellyfin
Restrict the library for User X
Login to Jellyseer as an admin and check the newly created library and sync
Log out and login as User X in Jellyseerr

Screenshots
No response
Logs
No response
Platform
desktop
Device
N/A
Operating System
N/A
Browser
N/A
Additional Context
No response
Code of Conduct

[X] I agree to follow Overseerr's Code of Conduct

Currently, jellyseerr only scans the library and adds any media library that you give jellyseerr read access to (turn on). It does not check for any user related preferences. (I'm not sure any request management software does that. I dont think Ombi, Overseerr or Petio does it either. They all only scans the library and checks what media is available).
This could be a feature we could look into implementing in the future though.

Could you maybe share what needs to be done? I'll take a stab at it.


Fix: Type should be bool

This PR

[x] fixes a docblock where type should be boolean instead
[x] renames a parameter from $boolean to $parameter

Thanks