get a black screen only on hiddify next due to flutter update

Steps to reproduce
hiddify next with the lower version is working fine but after a certain version (which they updated the flutter )it only shows a black screen.
to make sure I replaced the flutter folder with a lower version the screen problem solved but it wont work anymore as the coding lacks some features
Expected results
to work normally like befor
Actual results
black screen on windows 10
gt 9400
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Please open the issue in the dedicated repository https://github.com/hiddify/hiddify-next/issues for better support there. Once you have more information from there and believe this is a bug from the Flutter framework, please open a new issue with all information indicated in the issue template. Closing.

I did that but they immediately close the issue as duplicate !
the duplicate issue was also mentioning the exact sam issue with flutter
and sombody said to ask from flutter project and here we are .
On Mon, Oct 7, 2024, 1:52 PM Huy @.***> wrote:

Please open the issue in the dedicated repository
https://github.com/hiddify/hiddify-next/issues for better support there.
Once you have more information from there and believe this is a bug from
the Flutter framework, please open a new issue with all information
indicated in the issue template. Closing.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/156306#issuecomment-2396522571,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5L7WXKFRFBBNSVEE7HDI5TZ2JOHTAVCNFSM6AAAAABPPH3AASVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJWGUZDENJXGE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Two way audio using webRTC is lost when changing resolution or fps

Hi everyone,
I have my stream defined as:
rtsp://xxxxx:xxxxxx@<IP_ADDRESS>:554/Streaming/Channels/102
With a Hikvision camera with two way audio. It works like a charm using the webRTC example:
#share=xxxxxxx&pwd=xxxxxx&media=video+audio+microphone
If I want to reduce the resolution or the fps, I tried defining the stream as:
rtsp://xxxxx:xxxxxx@<IP_ADDRESS>:554/Streaming/Channels/102#width=640
And indeed, the resolution is changed, but I'm losing the audio from the browser to the camera. The audio from the camera is not lost.
I tried using ffmpeg as a source:
ffmpeg:rtsp://xxxxx:xxxxx@<IP_ADDRESS>:554/Streaming/Channels/102#video=h264#witdh=640#fps=6#audio=pcmu
But with the same results.
Any idea if this is possible?
Thanks!

you need to set separate streams, so it would be
streams:
  hikvision:
    - "ffmpeg:rtsp://xxxxx:xxxxx@<IP_ADDRESS>:554/Streaming/Channels/102#video=h264#witdh=640#fps=6#audio=pcmu"
    - rtsp://xxxxx:xxxxx@<IP_ADDRESS>:554/Streaming/Channels/102

Thanks a lot, @NickM-27. That did the trick!
Beware readers, because I mispelled "width".


Skip step if previous node exeeded step time

In addition to network throughput, simapp needs to quantize node processing time. In this approach, if a carnot node spent more time to process incoming messages from the network than the duration of a step - it will skip the next step without receiving or sending any messages (nor loosing any messages).

Not saying this is wrong. But if we consider network as the bottle neck (which usually for most operations will be) the processing time is negligent. Also it would probably change a lot depending on operator hardware. I think we can consider node processing time a blackbox in this case and do nothing really fancy 🤔

That's true. In my tests I've seen varying processing tim efor different messages ranging from tens of microseconds to tens of milliseconds. This check would mostly work in small step sizes (10ms - 50ms).
I can repurpose this PR to only gather the step processing time per node. Then we could see the relative difference with different block sizes.

That's true. In my tests I've seen varying processing time for different messages ranging from tens of microseconds to tens of milliseconds. This check would mostly work in small step sizes (10ms - 50ms).
I can repurpose this PR to only gather the step processing time per node. Then we could see the relative difference with different block sizes.

Not really sure we are actually interested in that. That sounds more like a benchmark for the node itself.

Not really sure we are actually interested in that. That sounds more like a benchmark for the node itself.

Relative difference between signature schemes in the future might be useful and consistent on different hardware.

Not really sure we are actually interested in that. That sounds more like a benchmark for the node itself.

Relative difference between signature schemes in the future might be useful and consistent on different hardware.

But that is something that can be considered outside of the simulation itself. Anyway, if we can abstract it here in the app is more than welcome.

But that is something that can be considered outside of the simulation itself. Anyway, if we can abstract it here in the app is more than welcome.

Makes sense. I'll change the PR to passively track step duration in the node without affecting the runner so that anyone interested could optionally capture these results in report.


Help command to open reference document

Simulate "Option+click" with some key or command.
Maybe :help is one of the candidates which takes this.

@kabuko Thank you for xhelp command, you saved my day ❤


Exited with no zero value.

In two of my project I am getting java.exe exited with no zero value when gradle:appDebug after addin Paper dependency. Although I love this project this issue prevents me using this project. I thinks it crosses 65k method limit after using this library.

The latest version 2.0 dramatically decreased methods count. Please give it another try :)


sample app?

hello,
it would be nice to have a example app showcasing angular dynamic components in action with your library, something similar to :
https://github.com/manfredsteyer/module-federation-with-angular-dynamic
showing a shell app and components apps

Hi there.
I mentioned an example in the readme: https://github.com/LoaderB0T/awdware3

Let me know if you have further questions, though! :)

Let me know if you have further questions, though! :)

thanks i will check this tomorrow


Lens View.

This adds a selectable lens that highlights one of the channels to our layers/components/demo.
There should be almost no performance difference - the only one I sometimes notice is maybe on your first zoom while low-res tiles are being fetched (not from cache) but I see this in other demos.  Please check out and let me know if you notice this too or something else.
I think this fixes #230?

I'm playing around with this and it seems that the COVID image suffers degradation, probably because of its 256 tile size.  There is minimal difference in the Spraggins (maybe a bit laggy, with 512 tile size) and none in the zarr (presumably the same will be true of the TIFF) with 1024 tile size.  Are others noticing this?

Not knowing much about the implementation, I'm not sure what is meant by "it seems that the COVID image suffers degradation". Degradation in performance? Image quality? What are we talking about. Why would tile size effect this?

@manzt Yes performance.  Zooming seems slow for me.  Does it also seem slow for you?  I'm working on a fix actually to fix one of the ternaries so that should really help, if you want to wait to try (again).

@keller-mark You make a great point.  I'll open an issue - I think it's a little out-of-scope here but that would be very slick.  Thanks!

@keller-mark @ilan-gold Second that is a great idea. It would be useful for the lens to apply a multi-channel blending, where the selected channel is "white" and the others are all some other black-to- map. It would let you see channel X's contribution to the additive colormap.


Fix inconsistent behavior when passing in user-provided private key

Related Issue(s)
Fixes #799
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have run yarn format and yarn lint without getting any new errors
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Hey @zkfriendly, I already started working on this task. Here the branch: https://github.com/semaphore-protocol/semaphore/tree/fix/identity-generation.
There are some discussions going on about what's the best way to manage the input types. There will probably be some changes related to that in addition to the bugfix.


ModuleNotFoundError: No module named 'wandb'

Hello,
I'm trying to training a CycleGAN-Turbo model on unpaired data by following the provided instructions.
The command
export NCCL_P2P_DISABLE=1
accelerate launch --main_process_port 29501 src/train_cyclegan_turbo.py \
    --pretrained_model_name_or_path="stabilityai/sd-turbo" \
    --output_dir="output/cyclegan_turbo/my_horse2zebra" \
    --dataset_folder "data/my_horse2zebra" \
    --train_img_prep "resize_286_randomcrop_256x256_hflip" --val_img_prep "no_resize" \
    --learning_rate="1e-5" --max_train_steps=25000 \
    --train_batch_size=1 --gradient_accumulation_steps=1 \
    --report_to "wandb" --tracker_project_name "gparmar_unpaired_h2z_cycle_debug_v2" \
    --enable_xformers_memory_efficient_attention --validation_steps 250 \
    --lambda_gan 0.5 --lambda_idt 1 --lambda_cycle 1

results in:
Traceback (most recent call last):
  File "/mnt/c/Users/pcuser/Documents/concept/img2img-turbo/src/train_cyclegan_turbo.py", line 6, in <module>
    import wandb
ModuleNotFoundError: No module named 'wandb'
Traceback (most recent call last):
  File "/home/pcuser/.local/bin/accelerate", line 8, in <module>
    sys.exit(main())
  File "/home/pcuser/.local/lib/python3.10/site-packages/accelerate/commands/accelerate_cli.py", line 48, in main
    args.func(args)
  File "/home/pcuser/.local/lib/python3.10/site-packages/accelerate/commands/launch.py", line 1174, in launch_command
    simple_launcher(args)
  File "/home/pcuser/.local/lib/python3.10/site-packages/accelerate/commands/launch.py", line 769, in simple_launcher
    raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', 'src/train_cyclegan_turbo.py', '--pretrained_model_name_or_path=stabilityai/sd-turbo', '--output_dir=output/cyclegan_turbo/my_horse2zebra', '--dataset_folder', 'data/my_horse2zebra', '--train_img_prep', 'resize_286_randomcrop_256x256_hflip', '--val_img_prep', 'no_resize', '--learning_rate=1e-5', '--max_train_steps=25000', '--train_batch_size=1', '--gradient_accumulation_steps=1', '--report_to', 'wandb', '--tracker_project_name', 'gparmar_unpaired_h2z_cycle_debug_v2', '--enable_xformers_memory_efficient_attention', '--validation_steps', '250', '--lambda_gan', '0.5', '--lambda_idt', '1', '--lambda_cycle', '1']' returned non-zero exit status 1.

This is the output of conda list:
# packages in environment at /home/pcuser/anaconda3/envs/img2img-turbo:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
_openmp_mutex             5.1                       1_gnu
blinker                   1.8.2                    pypi_0    pypi
bzip2                     1.0.8                h5eee18b_6
ca-certificates           2024.7.2             h06a4308_0
importlib-metadata        8.5.0                    pypi_0    pypi
ld_impl_linux-64          2.38                 h1181459_1
libffi                    3.4.4                h6a678d5_1
libgcc-ng                 11.2.0               h1234567_1
libgomp                   11.2.0               h1234567_1
libstdcxx-ng              11.2.0               h1234567_1
libuuid                   1.41.5               h5eee18b_0
ncurses                   6.4                  h6a678d5_0
openssl                   3.0.15               h5eee18b_0
pip                       24.2            py310h06a4308_0
pyparsing                 3.1.4                    pypi_0    pypi
python                    3.10.14              h955ad1f_1
pyyaml                    6.0.2                    pypi_0    pypi
readline                  8.2                  h5eee18b_0
setuptools                75.1.0          py310h06a4308_0
six                       1.16.0                   pypi_0    pypi
sqlite                    3.45.3               h5eee18b_0
tk                        8.6.14               h39e8969_0
tzdata                    2024a                h04d1e81_0
wheel                     0.44.0          py310h06a4308_0
xz                        5.4.6                h5eee18b_1
zipp                      3.20.2                   pypi_0    pypi
zlib                      1.2.13               h5eee18b_1

Which does not include wandb.  I installed it with conda install conda-forge::wandb as mentioned here.
conda list | grep wandb
wandb                     0.16.6             pyhd8ed1ab_1    conda-forge

but it still didn't fix the issue, and I ended up with the same error as before.
This is the content of my default_config.yaml
compute_environment: LOCAL_MACHINE
debug: false
distributed_type: 'NO'
downcast_bf16: 'no'
enable_cpu_affinity: false
gpu_ids: all
machine_rank: 0
main_training_function: main
mixed_precision: 'no'
num_machines: 1
num_processes: 1
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

I read other users mentioning it might be related to the package vision_aided_loss, but so far I haven't found a way to install it with conda, even though I have it installed with pip.
pip list | grep vision-aided-loss
vision-aided-loss         0.1.0

I'm using the provided conda virtual environment, and I'm on WSL with Ubuntu 22.04.
Hope you can help me.

Could you try installing wandb with pip?

Yes I tried that, and it still doesn't work.
pip list | grep wandb
wandb                     0.16.6

Can you please tell me which version you're using?

I met this problem too,but I just use "pip install wandb", the problem was solved successfully.

Hi @enfff
I am using the same wandb version as you are, i don't think the issue is the version.
Looking at your error log, it looks like your python is unable to find the wandb package.
could you try a simple import command to test if you can import wandb?
import wandb

-Gaurav

Sorry for the late answer; I forgot to reply. And sadly yes, importing wandb works fine, and I have the same wandb version both in the conda environment and installed via pip:
pip list | grep wandb
wandb                     0.16.6

conda list | grep wandb
wandb                     0.16.6                     pyhded1ab_1                     conda-forge

I ran the model on Windows, and surprisingly, everything worked fine, except for an error with Triton that can be safely ignored. Maybe there's something wrong with my WSL2 setup.


WIP: Enables app service slots and moves worker in to its own app service

Changes in this PR:

Moved the worker in to its own app service and app service plan
Enabled deployment slots for the web app service
Increased the number of instance to two for the web app service
Added functionality to azure-deploy to support the above changes

Next steps for this work are:

Fix failing health check for worker app service plan
Prepare changes to Azure DevOps pipeline to support slots

closing this for now, the branch will still be available to us if we need it.


get_issue_infos() error

python3.8 comix.py list
returns no result
After some debugging I found that get_issue_infos() receives a reply:
 b'\n\x0f\x08\x01\x12\x0bNo ids sent'
even if there are ids given and correctly get by print_list() function.
It looks that maybe ids format is changed in API?

I've done a bit of digging myself and I've came to the same conclusion. Seems they've changed something in the back end on the download side since auth still works.

my friend devised a workaround where you'd fetch the name from the site after providing the book id. But that only works for downloads and won't fix the list issue.

My friend has devised a temporary workaround where you'd fetch the name from the site after providing the book id. But that only works for downloads and won't fix the list issue.

can you give me an example of how to do this? having a bit of trouble figuring it out

Solved in #22


No Factor.h in package

Hi, I run catkin build following the README.md, but I found there is no "Factor.h" in avoid_msgs. Is this is necessary?

Can you try catkin build avoid_msgs first before catkin build?

Thank u! It works for me!


IBinaryDocument for region of Virtual Memory

Hello, thanks for the great project.
What's the proper way to implement IBinaryDocument for regions of virtual memory?
For example if I create range 0x400000 .. 0x401000, first ReadBytes is called with offset 0, not 0x400000.
public class VirtualMemorySingleRangeDocument(IMemoryCursor cursor, VirtualMemoryLocation location, ulong length) : IBinaryDocument
{
    public ulong Length { get; } = length;

    public IReadOnlyBitRangeUnion ValidRanges { get; } = new BitRangeUnion([new BitRange(location.Address, location.Address + length)]).AsReadOnly();

    public void ReadBytes(ulong offset, Span<byte> buffer)
    {
        if (!cursor.TrySeek(offset))
            throw new($"Failed to seek address 0x{offset:X}");

        if (cursor.Read(buffer) is var cnt && cnt != buffer.Length)
            throw new($"Hex document read {cnt} of {buffer.Length} bytes");
    }
}

So it seems expects 0 based ranges, i.e.
public IReadOnlyBitRangeUnion ValidRanges { get; } = new BitRangeUnion([new BitRange(0, length)]).AsReadOnly();

This works. Is it by-design and I should use latter?
Also it shows zero-based offsets (I'd like to show VA or RVA instead of offset):

Currently, the implementation just calls ReadBytes regardless of what is stored in ValidRanges. ValidRanges is currently more or less a visual layer on top of the raw data, and ReadBytes is assumed to not throw but simply skip (or leave zero) the bytes that are invalid. I intend to have it only call ReadBytes on the actual valid disjoint ranges (or wait for someone to PR this :upside_down_face:), it just hasn't happened yet.
See also SegmentedDocument.cs in the example project on a simple implementation that uses ValidRanges (can be activated in the demo app using File > Open Example > Segmented Document).


Question: Math Predicate functions / Query for geolocation range?

Hi!
Thank you very much for checking my question.
I would like to ask if it is possible to use Math Functions in filtering the RealmResults?
Basically I would like to find a list of nearby records from a geolocation point.
I'd love to hear from you soon.
Thank you!

@ronjumola at the moment, there's no way to use arbitrary math expressions in your queries, but @bdash was working on adding support for bounding box geo queries recently, I believe there's an open PR for that.

@segiddins Will math expression supported in Realm.js, too?
As following expression:
String where = "(" + MyDataColumns.TIME + "+ (" + MyData.OFFSET + " * 30" + "))" + "<=" + my_value;
Thanks,

@CrystalRanita you're probably looking for the realm-js repo, though the answer at the moment is still no, since this is blocked on Realm's core engine shared by both this product (Realm Objective-C and Swift) as well as Realm React Native.


Run parity check in parallel

Jira-3673
Context
The parity check service takes a long time to run in production (~2hr 45m). We want to improve the performance so it can run more quickly.
Changes proposed in this pull request

Run parity check in parallel

The parity check currently takes around 3 hours to run. Most of the time is spent waiting for network requests to complete.
Instead of making the service more complex by splitting across jobs, we should be able to get a decent performance bump by running it across multiple threads, so we can make several network requests in parallel.
Split parity check across threads; one thrad per lead provider (there are 10 lead providers, so this should give a decent performance bump).
Run request to each service in parallel in the Client. This should effectively double the throughput.
Raise errors earlier so we don't have to deal with individual threads raising errors.

Split parity check across multiple workers

As the workers only have 4 CPU cores we found multithreading to not be that efficient.
Instead, this commit will split the requests across multiple workers. It uses a mutex on the database to ensure the last worker to finish will finalise the parity check.
The testing becomes quite complicated/contrived due to relying on accessing Delayed::Job directly for the check status (so we can't use the :test queue adapter).
Also adds progress % during run to get an idea of how far along it is; that being said, the few endpoints that are paginated can skew this so the last ~5% can take ~30% of the total time, for example.
Guidance to review
Roughly 2hrs 2m quicker by splitting across workers. It is also now stress testing the applications, which is showing in the response times 😬

Before
After
After (progress)

Closing this as there are issues with ordering and running async (the POST requests can effect the outcome of GET requests)


Can Hop used in PETR model?

Hi @FDInSky . HoP cannot directly be used in PETR model since it do not explicitly construct BEV feature.


Press Command+Q twice to Quit Application

I love the Press Command+Q twice to Quit Application setting in Karabiner. I just updated to macOS Sierra and now I'm trying to get the same behavior with Karabiner Elements. Is there a way to achieve this by editing karabiner.json? Thank you.

@tekezo おはよう！I miss this feature as well and am interested in working on it. Do you have any links to the code in old Karabiner and the new Karabiner elements that could help in making a pull request?

I implemented this feature with Hammerspoon.
https://github.com/raulchen/dotfiles/blob/master/hammerspoon/double_cmdq_to_quit.lua

@raulchen Thanks! I just installed Hammerspoon and your script and it works like a charm!
Is there a way to "import" double_cmdq_to_quit.lua from init.lua? (for the time being I just copied your script into init.lua).

@gabrielmaldi glad that this could help you. you can do require("double_cmdq_to_quit") in your init.lua

THANK YOU @raulchen! So this is just a totally separate solution, but glad to have found it here.
To make it a little easier on anyone else like me who had no idea about Hammerspoon:

Hammerspoon is an automation app, it has an unusual setup procedure but only takes a couple minutes to install: http://www.hammerspoon.org/go/
It lets you script your macOS with a text file you open by going to the Hammerspoon menu icon and clicking OPEN CONFIG.
You can get the "Press Command+Q twice to Quit Application" feature working by pasting @raulchen 's script into that file: https://github.com/raulchen/dotfiles/blob/master/hammerspoon/double_cmdq_to_quit.lua
To make it active click on the Hammerspoon menu icon and choose RELOAD CONFIG.

So far it's doing what I hoped for.

@jeremyclarke I think it's better to save the script in its own file and then require("double_cmdq_to_quit") from Hammerspoon's config (init.lua). Otherwise, if you paste other scripts inside the main config file, it will become difficult to maintain. Just in case you want to update your steps 👍

@jerclarke and @raulchen saving the day! this was literally the only feature i downloaded the karabiner app for, and i've been infinitely confused (and accidentally quit a billion apps) ever since karabiner just decided to not recreate this feature for no good reason. i owe you both coffee if i ever see you in the real world


Flesh out the documentation

Pages left to flesh out in the documentation:

[ ] https://sphinx-basic-ng.readthedocs.io/en/latest/usage/getting-started/
[ ] https://sphinx-basic-ng.readthedocs.io/en/latest/usage/skeleton/
[ ] https://sphinx-basic-ng.readthedocs.io/en/latest/development/
[ ] https://sphinx-basic-ng.readthedocs.io/en/latest/design/

Don't mean to add noise to your development process, but a possibly dumb question that maybe should be in the docs:
what does the "ng" stand for?

NG means "Next Generation", usually.

Just when I thought I knew all the tech acronyms. Thanks @jpmckinney


Numeric pins break everything

On OSX, I have a numeric pin stored that I want to retrieve.
I'm assuming that the code here: https://github.com/hwchen/keyring-rs/blob/master/src/macos.rs#L98-L104 is meant to deal with binary objects (although I can't find any code for trying to serialize as hex), in the case of my ascii numeric pin it's trying to decode it as hex and then turn that into UTF 8 which fails, and as a result I can't fetch my entry.
Maybe this should be a different method? I can open a PR for that if you'd prefer.

Hi, thanks for filing the issue. Sorry about the bug, I'll take a look at your PR.

Hello,
Just need to verify how this (#3) is working for you (I don't currently have access to osx).
From my research, it looks like because I pass the -w flag to the security command, the password should come back as hex. As mentioned above, I can't currently verify this because I don't have access to osx. But the stackoverflow here mentions it in the expansion to the accepted answer: http://stackoverflow.com/questions/22370552/keychain-services-secure-notes
I'm pretty sure that's why the code is the way it is.  I had tested manually, I should get some stuff set up.
Also, hopefully I'll soon move the osx backend to use the API instead of the cli.

Closed by #6. Now handles utf8 passwords (including "special chars) on osx correctly. Version is bumped to 0.2


[BUG][LUIS] apps.add_custom_prebuilt_domain throws because of missing tokenizerVersion

Package Name: azure-cognitiveservices-language-luis
Package Version: 2.0
Operating system: Windows 10 Enterprise 1803
python ersion: 3.7.3

Describe the bug
Calling apps.add_custom_prebuilt_domain gets a 400 response from the server because no tokenizer version is specified.
Exception or Stack Trace
{'error': {'code': 'BadArgument', 'message': 'The tokenizer version cannot be null or empty.'}}
Traceback (most recent call last):
  File "quickstart.py", line 26, in <module>
    app_id, app_version = create_app()
  File "quickstart.py", line 22, in create_app
    culture="en-us")
  File "C:\Program Files (x86)\Python\Lib\site-packages\azure\cognitiveservices\language\luis\authoring\operations\apps_operations.py", line 1111, in add_custom_prebuilt_domain
    raise models.ErrorResponseException(self._deserialize, response)
azure.cognitiveservices.language.luis.authoring.models.error_response_py3.ErrorResponseException: Operation returned an invalid status code 'Bad Request'

Note the first line of the error output was obtained by editing C:\Program Files (x86)\Python\Lib\site-packages\azure\cognitiveservices\language\luis\authoring\operations\apps_operations.py on my machine and changing the code starting at line 1103 from:
if response.status_code not in [201]:
	raise models.ErrorResponseException(self._deserialize, response)

to:
if response.status_code not in [201]:
	print(response.json())
	raise models.ErrorResponseException(self._deserialize, response)

This provides more detailed information about the "Bad Request" response from the server than I can obtain otherwise.
To Reproduce

Get a LUIS subscription key.
Set the environment variable LUIS_SUBSCRIPTION_KEY to your subscription key.
Set the environment variable LUIS_REGION to the region for your subscription key (example: westus).
Install Python 3.
Install the package azure-cognitiveservices-language-luis.
Run the following code.

Code Snippet
from azure.cognitiveservices.language.luis.authoring import LUISAuthoringClient
from msrest.authentication import CognitiveServicesCredentials

import json, os, sys

key_var_name = 'LUIS_SUBSCRIPTION_KEY'
if not key_var_name in os.environ:
    raise Exception('Please set/export the environment variable: {}'.format(key_var_name))
subscription_key = os.environ[key_var_name]

region_var_name = 'LUIS_REGION'
if not region_var_name in os.environ:
    raise Exception('Please set/export the environment variable: {}'.format(region_var_name))
region = os.environ[region_var_name]
endpoint = "https://{}.api.cognitive.microsoft.com".format(region)

client = LUISAuthoringClient(endpoint, CognitiveServicesCredentials(subscription_key))

def create_app():
    app_version = "0.1"
    app_id = client.apps.add_custom_prebuilt_domain(domain_name="HomeAutomation",
        culture="en-us")
    print("Created LUIS app with ID {}".format(app_id))
    return app_id, app_version

app_id, app_version = create_app()

Expected behavior
Expected output:
Created LUIS app with ID <guid>.

Additional context
This seems to be the same issue as https://github.com/Azure/azure-sdk-for-java/issues/4300, https://github.com/Azure/azure-sdk-for-net/issues/6853, and https://github.com/Azure/azure-sdk-for-js/issues/4221.
The necessity of the tokenizerVersion property can also be seen from the API testing console.
If you go to "Get LUIS prebuilt domains list" (https://westus.dev.cognitive.microsoft.com/docs/services/5890b47c39e2bb17b84a55ff/operations/59104cec5aca2f0b48c76be3) and use the console to send a request, you get back results such as:
{
  "name": "Calendar",
  "culture": "en-us",
  "tokenizerVersion": "1.0.0",
  "description": "The Calendar domain provides intent and entities for adding, deleting, or editing an appointment, checking participants availability, and finding information about a calendar event.",
  "examples": "-",
  "intents": [{
    "name": "AcceptEventEntry",
    "description": "-",
    "examples": "-"
  },
...

Note the tokenizerVersion field.
If you go to "Add prebuilt application" (https://westus.dev.cognitive.microsoft.com/docs/services/5890b47c39e2bb17b84a55ff/operations/59104e515aca2f0b48c76be5) and use the console to send the default request body:
{
	"domainName": "Web",
	"culture": "en-us"
}

you get back the same response as in the code snippet:
Response status

400 Bad Request
Response latency
111 ms
Response content

Pragma: no-cache
Apim-Request-Id: c0024d77-12bc-4063-8ec1-14ebae8a76a8
Request-Id: c0024d77-12bc-4063-8ec1-14ebae8a76a8
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Request-Context: appId=cid-v1:26a3540d-a02a-4998-a060-715488fd769b
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Cache-Control: no-store, proxy-revalidate, no-cache, max-age=0, private
Date: Mon, 08 Jul 2019 03:02:00 GMT
Content-Length: 116
Content-Type: application/json; charset=utf-8

{
  "error": {
    "code": "BadArgument",
    "message": "The tokenizer version cannot be null or empty."
  }
}

If you change the request body to:
{
	"domainName": "Web",
	"culture": "en-us",
	"tokenizerVersion": "1.0.0"
}

and resend, you get back a successful response:
Response status

201 Created
Response latency
561 ms
Response content

Pragma: no-cache
Apim-Request-Id: 551b309f-5967-426b-bf98-cfff25895c59
Request-Id: 551b309f-5967-426b-bf98-cfff25895c59
Operation-Location: https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/customprebuiltdomains/a9fb34c3-25be-4e92-9bc6-3370303803c2
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Request-Context: appId=cid-v1:26a3540d-a02a-4998-a060-715488fd769b
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Cache-Control: no-store, proxy-revalidate, no-cache, max-age=0, private
Date: Mon, 08 Jul 2019 03:14:09 GMT
Location: https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/customprebuiltdomains/a9fb34c3-25be-4e92-9bc6-3370303803c2
Content-Length: 38
Content-Type: application/json; charset=utf-8

"a9fb34c3-25be-4e92-9bc6-3370303803c2"

I am able to resolve this issue by making the following changes on my machine.

In C:\Program Files (x86)\Python\Lib\site-packages\azure\cognitiveservices\language\luis\authoring\operations\apps_operations.py, change line 1078 from:

rebuilt_domain_create_object = models.PrebuiltDomainCreateObject(domain_name=domain_name, culture=culture)

to:
prebuilt_domain_create_object = models.PrebuiltDomainCreateObject(domain_name=domain_name, culture=culture, tokenizer_version="1.0.0")

In C:\Program Files (x86)\Python\Lib\site-packages\azure\cognitiveservices\language\luis\authoring\models\prebuilt_domain_create_object_py3.py, starting at line 25, change the attribute map from:

_attribute_map = {
	'domain_name': {'key': 'domainName', 'type': 'str'},
	'culture': {'key': 'culture', 'type': 'str'}
}

to:
_attribute_map = {
	'domain_name': {'key': 'domainName', 'type': 'str'},
	'culture': {'key': 'culture', 'type': 'str'},
	'tokenizer_version': {'key': 'tokenizerVersion', 'type': 'str'}
}

In C:\Program Files (x86)\Python\Lib\site-packages\azure\cognitiveservices\language\luis\authoring\models\prebuilt_domain_create_object_py3.py, starting at line 31, change the init method from:

def __init__(self, *, domain_name: str=None, culture: str=None, tokenizer_version: str=None, **kwargs) -> None:
	super(PrebuiltDomainCreateObject, self).__init__(**kwargs)
	self.domain_name = domain_name
	self.culture = culture

to:
def __init__(self, *, domain_name: str=None, culture: str=None, tokenizer_version: str=None, **kwargs) -> None:
	super(PrebuiltDomainCreateObject, self).__init__(**kwargs)
	self.domain_name = domain_name
	self.culture = culture
	self.tokenizer_version = tokenizer_version

After this, my code runs without errors and produces the expected output:
Created LUIS app with ID 36fb74a8-4c63-4d30-b459-58904ed50a43

Thanks for the bug report. I have routed to the appropriate team for follow-up.


Currently Data is storing in App Data inside the C Directory.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Yes, it is. Please provide more details if there is a problem with it.

Thanks for your response.
If any pharmacy is using this software.
And there windows got currpted then there data will loss.To prevent this
issue we need to store data in other drive.
Some issues in code that I see
If stock check in unchecked then code cause error due to its undefined.
Some other issues some time transaction is not showing and I clear all data
now it is working fine .
On Tue, Dec 26, 2023, 8:19 PM Nsubuga Derrick @.***>
wrote:

Yes, it is. Please provide more details if there is a problem with it.
—
Reply to this email directly, view it on GitHub
https://github.com/drkNsubuga/PharmaSpot/issues/14#issuecomment-1869611243,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3TS64QRQP3MV3JSZ4CF33YLLTIBAVCNFSM6AAAAABBDJTP3WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRZGYYTCMRUGM
.
You are receiving this because you authored the thread.Message ID:
@.***>


doc: add doc for ip blacklist and whitelist plugin.

https://github.com/iresty/apisix/commit/f26f8ba6da6676f39c65897ca37562d286515ab9

fixed: https://github.com/apache/incubator-apisix/blob/master/doc/plugins/ip-restriction.md


[Feature request]: Use crewAI agents with a praisonAI simplification

What do you need?
Checkout this project and this issue to include in just one command an autogenerated crew from CrewAI for a piped task
Love your project and it values

This is phenomenal! I'm going to look into this. Thank you!

OK, so I just pushed a commit which uses praisonAI to create and utilize agents. its the --agents flag. Thank you so much for the recommendation. Please try it out and let me know if it can be better in any way, or if it's not working. It should work with the -m flag. all openai and ollama models but NOT claude.

I could check earltier, but I leave a few comments at this commit.
I see future in having a agent_patterns.yamls files to be able to refine the agents teams selecting models for each and tool for each agent and having mini teams for some tasks.
PS: I dont know why is not groq allready added to the model list, but for now there is a free API and praisonAI supported due to the openai schema


Support of cursorline/textbox/bold highlighting of current assembly instructions

Hi,
It would be nice if the corresponding asm instructions of the code (under mouse/curosr) can be highlighted with a "cursorline" or a "text box" or by "making the font bold".
I am aware of the colored distinction, but this suggestion would make browsing/code walkthrough more intuitive as it[the highlight] will follow the current code in real time in asm window.
Please ignore if something similar is already in your backlog.
Thanks in adv!

We already highlight that under the mouse...but obviously it's not that clear. We can improve this for sure! Thanks :)

@RabsRincon I don't see highlighting under the mouse on the live site, should I take a swing at this? If I'm understanding the issue correctly, the goal here is simply to make the hovered ASM command bold (or distinguish it some other way).


Fix surface from array creation

The debug check was not updated to the new format.
Bug introduced by #50037

I think it resolves this #50059


[feature] : nginx  integration

nginx  integration

https://github.com/xiaopeng163/docker-compose-flask/blob/master/docker-compose.yml


random effects on GCP model

A previous email exchange:

A possible issue on gcp random effect:
Population.py is using get_gcp_vectorized <https://github.com/jburke5/microsim/blob/phenotype/microsim/population.py#L207> which includes a gcpRandomEffect <https://github.com/jburke5/microsim/blob/phenotype/microsim/outcome_model_repository.py#L164> and then the get_risk_for_person of the gcp_model <https://github.com/jburke5/microsim/blob/phenotype/microsim/outcome_model_repository.py#L164> includes another random effect and I am not sure if those two random effects represent something different or not.
One is using person.gcpRandomEffect and the other one is using the dictionary person._randomEffects that includes the "gcp" key...but I think the first one is just a column from the dataframe (also see here) <https://github.com/jburke5/microsim/blob/phenotype/microsim/person.py#L302> whereas the second one is a person attribute.
So it is possible the code is now adding the same thing two times but I am not entirely certain....

and JB's response:
you gave me a heart attack there for a minute, but i think we’re ok…
when you look at this method in the model: https://github.com/jburke5/microsim/blob/d487de6f15072156e7cff223cae9957a734e9251/microsim/gcp_model.py#L107
i thikn the get_risk_for_person() only ends up adding the gcp IF it is non-vectorized. the if statement on line 110 means that random_effect is zero if it is run in a vectorized setting…so, its only adding it at the end.
looking at this, though, it’d be cleaner to move the random effect to the person row wrapper and then access it all in the gcp model as opposed to having the random effect be implemented in the repository — that’s a lousy place to have substantive logic…

I agree that things are OK as far as the vectorized version is concerned. I think that the non-vectorized approach however includes the gcp model's random effects two times, one from the get_gcp method and one
from the get_risk_for_person method.
The solution I am proposing is to move all random effects, vectorized or not, for both gcp regular and gcp stroke models in the same place, the get_risk_for_person method.....

got it. that sounds like the right way to do it...

On Aug 31, 2023, at 11:49 AM, Christos Deligkaris @.***> wrote:
A previous email exchange:
A possible issue on gcp random effect:
Population.py is using get_gcp_vectorized <https://github.com/jburke5/microsim/blob/phenotype/microsim/population.py#L207 https://mcas-proxyweb.mcas.ms/certificate-checker?login=false&originalUrl=https%3A%2F%2Furldefense.com.mcas.ms%2Fv3%2F__https%3A%2F%2Fgithub.com%2Fjburke5%2Fmicrosim%2Fblob%2Fphenotype%2Fmicrosim%2Fpopulation.py*L207__%3BIw!!AU3bcTlGKuA!D15IiUQq8yfdKaGz5j427YOuQy7HUKe55BZBGMp98ddjSmrBWfe7qap0u5YPnpprR8qMNWxGdVBQX2CIr-44lMebe9cF%24%3FMcasTsid%3D20893&McasCSRF=f628a247e20f8522d298a781d7c48843b6e8420cb0414454896f59fe6ed01132> which includes a gcpRandomEffect <https://github.com/jburke5/microsim/blob/phenotype/microsim/outcome_model_repository.py#L164 https://mcas-proxyweb.mcas.ms/certificate-checker?login=false&originalUrl=https%3A%2F%2Furldefense.com.mcas.ms%2Fv3%2F__https%3A%2F%2Fgithub.com%2Fjburke5%2Fmicrosim%2Fblob%2Fphenotype%2Fmicrosim%2Foutcome_model_repository.py*L164__%3BIw!!AU3bcTlGKuA!D15IiUQq8yfdKaGz5j427YOuQy7HUKe55BZBGMp98ddjSmrBWfe7qap0u5YPnpprR8qMNWxGdVBQX2CIr-44lGXQ6cT6%24%3FMcasTsid%3D20893&McasCSRF=f628a247e20f8522d298a781d7c48843b6e8420cb0414454896f59fe6ed01132> and then the get_risk_for_person of the gcp_model <https://github.com/jburke5/microsim/blob/phenotype/microsim/outcome_model_repository.py#L164 https://mcas-proxyweb.mcas.ms/certificate-checker?login=false&originalUrl=https%3A%2F%2Furldefense.com.mcas.ms%2Fv3%2F__https%3A%2F%2Fgithub.com%2Fjburke5%2Fmicrosim%2Fblob%2Fphenotype%2Fmicrosim%2Foutcome_model_repository.py*L164__%3BIw!!AU3bcTlGKuA!D15IiUQq8yfdKaGz5j427YOuQy7HUKe55BZBGMp98ddjSmrBWfe7qap0u5YPnpprR8qMNWxGdVBQX2CIr-44lGXQ6cT6%24%3FMcasTsid%3D20893&McasCSRF=f628a247e20f8522d298a781d7c48843b6e8420cb0414454896f59fe6ed01132> includes another random effect and I am not sure if those two random effects represent something different or not.
One is using person.gcpRandomEffect and the other one is using the dictionary person._randomEffects that includes the "gcp" key...but I think the first one is just a column from the dataframe (also see here) <https://github.com/jburke5/microsim/blob/phenotype/microsim/person.py#L302 https://mcas-proxyweb.mcas.ms/certificate-checker?login=false&originalUrl=https%3A%2F%2Furldefense.com.mcas.ms%2Fv3%2F__https%3A%2F%2Fgithub.com%2Fjburke5%2Fmicrosim%2Fblob%2Fphenotype%2Fmicrosim%2Fperson.py*L302__%3BIw!!AU3bcTlGKuA!D15IiUQq8yfdKaGz5j427YOuQy7HUKe55BZBGMp98ddjSmrBWfe7qap0u5YPnpprR8qMNWxGdVBQX2CIr-44lHL-aZGt%24%3FMcasTsid%3D20893&McasCSRF=f628a247e20f8522d298a781d7c48843b6e8420cb0414454896f59fe6ed01132> whereas the second one is a person attribute.
So it is possible the code is now adding the same thing two times but I am not entirely certain....
and JB's response:
you gave me a heart attack there for a minute, but i think we’re ok…
when you look at this method in the model: https://github.com/jburke5/microsim/blob/d487de6f15072156e7cff223cae9957a734e9251/microsim/gcp_model.py#L107 https://mcas-proxyweb.mcas.ms/certificate-checker?login=false&originalUrl=https%3A%2F%2Furldefense.com.mcas.ms%2Fv3%2F__https%3A%2F%2Fgithub.com%2Fjburke5%2Fmicrosim%2Fblob%2Fd487de6f15072156e7cff223cae9957a734e9251%2Fmicrosim%2Fgcp_model.py*L107__%3BIw!!AU3bcTlGKuA!D15IiUQq8yfdKaGz5j427YOuQy7HUKe55BZBGMp98ddjSmrBWfe7qap0u5YPnpprR8qMNWxGdVBQX2CIr-44lKdSf09I%24%3FMcasTsid%3D20893&McasCSRF=f628a247e20f8522d298a781d7c48843b6e8420cb0414454896f59fe6ed01132
i thikn the get_risk_for_person() only ends up adding the gcp IF it is non-vectorized. the if statement on line 110 means that random_effect is zero if it is run in a vectorized setting…so, its only adding it at the end.
looking at this, though, it’d be cleaner to move the random effect to the person row wrapper and then access it all in the gcp model as opposed to having the random effect be implemented in the repository — that’s a lousy place to have substantive logic…
I agree that things are OK as far as the vectorized version is concerned. I think that the non-vectorized approach however includes the gcp model's random effects two times, one from the get_gcp method https://github.com/deligkaris/microsim/blob/phenotype/microsim/outcome_model_repository.py#L154 and one
from the get_risk_for_person method https://github.com/deligkaris/microsim/blob/phenotype/microsim/gcp_model.py#L111.
The solution I am proposing is to move all random effects, vectorized or not, for both gcp regular and gcp stroke models in the same place, the get_risk_for_person method.....
—
Reply to this email directly, view it on GitHub https://github.com/jburke5/microsim/issues/73, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDZITSWYAHTSQMCJ66UMPDXYCW7RANCNFSM6AAAAAA4GJEZJU.
You are receiving this because you are subscribed to this thread.

The latest commit on the phenotype branch fixes this.


Moving PlatformBenchmarks from aspnet/benchmarks

Why is it failing? https://ci3.dot.net/job/aspnet_KestrelHttpServer/job/dev/job/linux-Configuration_Release_prtest/48/console

Looks like some sort of benchmark validation. I'm pretty sure @pakrym added this.
16:23:38 /home/dotnet-bot/.dotnet/buildtools/korebuild/2.1.0-preview3-17002/modules/vstest/module.targets(119,5): error : Run exited with a non-zero exit code: /mnt/j/workspace/aspnet_KestrelHttpServer/dev/linux-Configuration_Release_prtest/.dotnet/dotnet /mnt/j/workspace/aspnet_KestrelHttpServer/dev/linux-Configuration_Release_prtest/benchmarks/PlatformBenchmarks/bin/Release/netcoreapp2.1/PlatformBenchmarks.dll * --validate-fast [/home/dotnet-bot/.dotnet/buildtools/korebuild/2.1.0-preview3-17002/KoreBuild.proj]
16:23:38     0 Warning(s)
16:23:38     1 Error(s)
16:23:38
16:23:38 Time Elapsed 00:05:59.77
16:23:38 error  : dotnet failed with exit code 1

We expect everything in benchmarks directory to be BenchmarkDotNet microbenchmark project. We also try to validate that all of them run that's why you build fails.

@BrennanConroy whats the deal here?

First time I'm seeing this, what are you asking?

Oops, wrong issue.

All green, time to merge this PR

@sebastienros whats up with the benchmarksapps/ folder? Didn't we agree benchmarks?

@davidfowl

We expect everything in benchmarks directory to be BenchmarkDotNet microbenchmark project. We also try to validate that all of them run

So having a web app in there breaks the build.

@davidfowl validation just tries to run the project with  * --validate-fast arguments, if run completes successfully nothing fails. It seems that this particular app fails to start with * --validate-fast and fails the build.
We should consider moving signalr tests apps out too.

I'll take a look at signalr repo.

Validation target has a bug, it only runs validation on the last project in the list. In SignalR case it happens to be microbenchmark project so it passes.
https://github.com/aspnet/BuildTools/blob/0e523ad57cf84e546a50ab15df544e6ded8688a4/files/KoreBuild/modules/vstest/module.targets#L119

Fixes #2439


Why options is a map?

I was wondering why options are passed as a Map<String, dynamic> as it's not safer than a simple class.

No strong reason. Originally I was matching an existing Javascript library so people could migrate easier. I used dynamic maps for it. Now its mostly backwards compatibility and not breaking peoples code as many have it implemented using maps. Maybe once there is a need for another major version change, I can make the change to something more type safe and use a class.

You could migrate (in a future version) to make a version with objects and call it from the deprecated one (as well as marking it as such).
I think you could also delegate the algorithms of each version to match their corresponding class.
// Before - the implementation
class UUid {
  String v1() { //... }
  String v4() { //... }
  String v5() { //... }
}

// Before - the client usage
var uuid = Uuid();
var options = <String, dynamic{
  // ...
};
final strUuid = uuid.v1(options);

// After - the implementation
abstract class UUIDBuilder {
  String build();
}
class V1Builder implements UUIDBuilder {}
class V4Builder implements UUIDBuilder {}

class Uuid {
  String call(UUIDBuilder builder) {
    return builder.build();
  }
  // ...
}
// After - the client usage
final builder = V4Builder()
    ..option1 = value
    ..option2 = value;
final strUuid = builder.build();
// or
final uuid = Uuid(builder);
final strUuid = builder.build();

I'll take this into consideration in the future. I'm not a fan of the builder pattern, but I'll definitely consider it when I'm implementing this.
A migration step with both functions (one map and one that takes classes) could be a good way to get migrations happening and marking deprecation.

Sure! Waiting to see improvements in future updates. Good luck :smile:


[v0.12] torchaudio.info reports num_frames=0 for MP3

🐛 Describe the bug
First, download a wav and a mp3 file:
wget https://filesamples.com/samples/audio/wav/sample3.wav
wget https://filesamples.com/samples/audio/mp3/sample3.mp3

Here is a short repro:
import torchaudio

# try reading number of frames
# wav is fine
num_frames = torchaudio.info("sample3.wav").num_frames
assert num_frames == 4664587, num_frames

# opening mp3 works
audio, sr = torchaudio.load("sample3.mp3")
print(audio.shape, sr)

# fetching mp3 info fails silently
num_frames = torchaudio.info("sample3.mp3").num_frames
assert num_frames > 0, num_frames

Running this results in:
/home/chris/tmp/torchaudio-issue/venv/lib/python3.8/site-packages/torchaudio/compliance/kaldi.py:22: UserWarning: Failed to initialize NumPy: numpy.core.multiarray failed to import (Triggered internally at  ../torch/csrc/utils/tensor_numpy.cpp:68.)
  EPSILON = torch.tensor(torch.finfo(torch.float).eps)
torch.Size([2, 4664587]) 44100
Traceback (most recent call last):
  File "repro.py", line 14, in <module>
    assert num_frames > 0, num_frames
AssertionError: 0

Maybe this is a bug introduced with the recent switch to ffmpeg for mp3 handling.
Workaround
A (arguably bad) workaround is to use torchaudio.load and then calculate the number of frames via the shape of the audio.
Sadly this takes a lot longer than using torchaudio.info for me.
Versions
Collecting environment information...
PyTorch version: 1.12.0+cu102
Is debug build: False
CUDA used to build PyTorch: 10.2
ROCM used to build PyTorch: N/A

OS: Ubuntu 20.04.4 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: Could not collect
CMake version: version 3.16.3
Libc version: glibc-2.31

Python version: 3.8.10 (default, Mar 15 2022, 12:22:08)  [GCC 9.4.0] (64-bit runtime)
Python platform: Linux-5.13.0-41-generic-x86_64-with-glibc2.29
Is CUDA available: True
CUDA runtime version: Could not collect
GPU models and configuration:
GPU 0: NVIDIA GeForce RTX 2080 Ti
GPU 1: NVIDIA GeForce RTX 2080 Ti

Nvidia driver version: 470.103.01
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

Versions of relevant libraries:
[pip3] torch==1.12.0
[pip3] torchaudio==0.12.0
[conda] Could not collect

ffmpeg -version
ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100
libpostproc    55.  5.100 / 55.  5.100

Hi @iceychris
Unfortunately this is how it is starting 0.12.
We swapped the mp3 decoder. In my understanding MP3 container does not contain this information in header and originally, libsox was reporting the number of frames by parsing the entire file, but libavformat does not perform this and reports 0. The ffmpeg command does extra step to estimate the duration of the input audio but not the exact frame numbers. The thing is that we cannot be sure if this estimate performed by ffmpeg is correct, and that is the reason I could not port such feature. I understand that this is very bad for entire user community, but I did not have much choice.
One another possible workaround is to export duration (say in seconds), and ask you to migrate to StreamReader based metadata fetching.
I know this kind of BC-breaking change causes terrible UX and I wanted to avoid as much but there is little I could control on this one.

I just ran into the same issue when testing lhotse against the latest PyTorch in https://github.com/lhotse-speech/lhotse/pull/764. I don't mind handling MP3 with StreamReader as a special case. Would the duration info you mentioned be more reliable than ffmpeg estimation? And if yes, could you show an example how to fetch it?

being devils advocate for mp3: this was always an issue with mp3 encoders and they provide different paddings thus it is still a bit luck that the decoder is able to remove the padding completely. IMO its better to prepare the users with a documation hint

would it be possible if the input is an mp3 to have torchaudio.info internally call torchaudio.load the file to get its metadata?

would it be possible if the input is an mp3 to have torchaudio.info internally call torchaudio.load the file to get its metadata?

I think there should be some warning as well. I mean general use of torchaudio in my case is to grab audio lengths, num frames or/and sample rate fast, loading will definitely slow it down

num_frames is 0 with opus loaded as BytesIO as well. To reproduce,
Download
wget https://filesamples.com/samples/audio/opus/sample3.opus

Run
import torchaudio
import io

torchaudio.utils.sox_utils.set_buffer_size(16000)

num_frames = torchaudio.info("sample3.opus").num_frames

num_frames_file_obj = torchaudio.info(io.BytesIO(open("sample3.opus", "rb").read())).num_frames

print(num_frames, num_frames_file_obj)
# 5077102, 0

Note that #2740 addresses this by having info load and scan the file object to compute the frame count. It affects only mp3 files and those of formats not handled by sox. If this behavior is not desired, one can use StreamReader directly instead for fetching the info.

I wrote an audio in gsm format using
    torchaudio.backend.sox_io_backend.save(
        filepath="audio.gsm",
        src=signal,
        sample_rate=8000,
        channels_first=True,
        format="gsm",
    )

Both torchaudio.info and StreamReader.get_src_stream_info return num_frames=0.


Internalize diagnostics

Based on previous discussion, this makes all diagnostics declared in the project internal. Tests now compare the message strings directly.
Do we want to move the various extensions of Diagnostic.Message to Diagnostics.swift? Right now, they are sprinkled into various files based on relevance, but in Driver.swift there are now 5 separate extensions.

It probably does make sense to put them all in one file. Originally I was thinking they would be defined closer to their use, but then there is no re-use

@swift-ci please test


Remove contuple from types

It's not needed per discussion with @samuelcolvin

please review

I see @samuelcolvin was assigned but this seems fine considering this function didn't exist in v1 and you can use Annotated  directly to achieve the same results. I'll just merge it 👍

I see @samuelcolvin was assigned but this seems fine considering this function didn't exist in v1 and you can use Annotated directly to achieve the same results. I'll just merge it 👍

Yes, that's the reason. Thanks!

Sorry to necro, but I was searching exactly for this type and this is the only mention. Might be sensible to add a hint to the docs why tuples are excluded, I was expecting one after finding the ones for lists and sets.


[WIP] feat: limit the num. of decision can be created

Signed-off-by: Marco Yeung<EMAIL_ADDRESS>limit the number of Decisions that a customer can create to prevent abuse. (BAAAS-292)

@myeung18 Yep I think the general idea here looks good!
I wonder if you can simplify it by just performing the check within the DecisionManager when the call to createDecision(String customerId, DecisionRequest decisionRequest) is made?
The first thing this method could do is call your validation logic  that checks to see if the request is allowed (in this case that the customer hasn't exceeded the maximum number of Decisions).  It could delegate to a Validator implementation (which is @Inject).
I think throwing the Exception is the right idea when the user is exceeding their maximum permitted number of Decisions.
Does that make sense?

@myeung18 Yep I think the general idea here looks good!
I wonder if you can simplify it by just performing the check within the DecisionManager when the call to createDecision(String customerId, DecisionRequest decisionRequest) is made?
The first thing this method could do is call your validation logic that checks to see if the request is allowed (in this case that the customer hasn't exceeded the maximum number of Decisions). It could delegate to a Validator implementation (which is @Inject).
I think throwing the Exception is the right idea when the user is exceeding their maximum permitted number of Decisions.
Does that make sense?
make sense, and
do you mean DecisionVersion createOrUpdateVersion(String customerId, DecisionRequest decisionRequest) ?

@myeung18 Yep I think the general idea here looks good!
I wonder if you can simplify it by just performing the check within the DecisionManager when the call to createDecision(String customerId, DecisionRequest decisionRequest) is made?
The first thing this method could do is call your validation logic that checks to see if the request is allowed (in this case that the customer hasn't exceeded the maximum number of Decisions). It could delegate to a Validator implementation (which is @Inject).
I think throwing the Exception is the right idea when the user is exceeding their maximum permitted number of Decisions.
Does that make sense?

make sense, and
do you mean DecisionVersion createOrUpdateVersion(String customerId, DecisionRequest decisionRequest) ?

@myeung18 I actually think with the createDecision private method. Part of the logic you have implemented performs a check to see if the user is performing an update and if yes, skips the validation.
If you do the validation in the createDecision method, you don't need to perform that check. It has already been done for you.

@myeung18 Yep I think the general idea here looks good!
I wonder if you can simplify it by just performing the check within the DecisionManager when the call to createDecision(String customerId, DecisionRequest decisionRequest) is made?
The first thing this method could do is call your validation logic that checks to see if the request is allowed (in this case that the customer hasn't exceeded the maximum number of Decisions). It could delegate to a Validator implementation (which is @Inject).
I think throwing the Exception is the right idea when the user is exceeding their maximum permitted number of Decisions.
Does that make sense?

make sense, and
do you mean DecisionVersion createOrUpdateVersion(String customerId, DecisionRequest decisionRequest) ?

@myeung18 I actually think with the createDecision private method. Part of the logic you have implemented performs a check to see if the user is performing an update and if yes, skips the validation.
If you do the validation in the createDecision method, you don't need to perform that check. It has already been done for you.

ah, got it, thanks.

@myeung18 Can you also please reference the JIRA issue in the commit messages where it isn't chore.

Hibernate Validator framework

Refactored to use Hibernate Validator framework.

Hi @myeung18 , I merged a PR and I caused a conflict in this PR. I've rebased it


Missing '--headless' Flags; Error Path Improvements in 'zrok enable'

Missing --headless flags -> #246
Error path improvements -> #244

~works on my machine~
EDIT: works sometimes on my machine

"works" in this context means "does not panic any longer".


[AutoPR graphrbac/data-plane] chore: jsonfmt graphrbac

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6077

This PR has been merged into https://github.com/Azure/azure-sdk-for-js/pull/3152


There is no way to change the save file in the documentation editor.

Expected behavior
There is a way to update the save file location in the documentaiton editor.
Actual behavior
There is no way to change the file save location in the documentation editor.
Steps To Reproduce
Save documentation to a file using the button.
Then try or change the yml file to a different one.
Log output/Screenshots
No response
Operating System
mac
dbt version
1.6
dbt Adapter
databricks
dbt Power User version
current one
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

This has been fixed in #1050


The formatter should not remove empty lines or add new lines

The formatter in IntelliJ (or the "Reformat code" action, which I activate it with Cmd+Alt+L in a american keyboard on Mac) does more than formatting.
It removes empty lines for no reason.
For example in this code:
shared void run() {
    print("Hello world");

}

Formatting the code causes the empty line to be removed. Why? This is not what anyone expects. Leaving empty lines is quite common and has many good reasons... no other language formatter removes empty lines, and they shouldn't!
On the other hand, the Ceylon formatter seems happy to introduce new lines where none should be added.
For example, this fine code:
value x = product { 1, 2, 3 };

Gets turned into this ugly thing:
value x = product {
        1, 2, 3
};

Quite disappointing to work with Ceylon in IntelliJ :(

The formatter is an unfinished feature, there are known problems that will be fixed in #43 and #138.


Added support for SPI version of OLED display

Added code to support SPI version of the OLED display:

Users can now select I2C (default) or SPI  in their .ino code.
To make the https://github.com/squix78/esp8266-weather-station code work, see the changes in SSD1306Demo.ino
or
simply make the following changes to WeatherStationDemo.ino or WorldClockDemo.ino:
#include <SPI.h>
// Pin definitions for SPI
#define OLED_RESET  D0  // RESET
#define OLED_DC     D2  // Data/Command
#define OLED_CS     D8  // Chip select

// Uncomment one of the following based on OLED type
SSD1306 display(true, OLED_RESET, OLED_DC, OLED_CS); // FOR SPI
// SSD1306 display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN);

Hi Daniel,

  Many thanks for your library and merges - much appreciated.

  Regards,
  Andrew

  On 4/9/2016 1:56 PM, squix78 wrote:

  Merged #26.
  —
    You are receiving this because you authored the thread.
    Reply to this email directly or view
      it on GitHub

I am the one who has to say thanks! Sorry for the long delay, I'm busy with other stuff these days...

Hi Andrew (@neptune2)
Together with Fabrice I'm preparing the next version of the library. @FWeinb  did some great improvements on the development branch but unfortunately those changes made it quite hard to merge your SPI addition to the dev branch. I think I could manage but then wouldn't be able to test them. Would you mind updating your pull request also to the dev branch? That would be awesome!
Regards,
Daniel

Hi Daniel,

  I would be glad to.

  Regards,
  Andrew

  On 5/25/2016 3:44 PM, squix78 wrote:

  Hi Andrew (@neptune2)

    Together with Fabrice I'm preparing the next version of the
    library. @FWeinb
    did some great improvements on the development branch but
    unfortunately those changes made it quite hard to merge your SPI
    addition to the dev branch. I think I could manage but then
    wouldn't be able to test them. Would you mind updating your pull
    request also to the dev branch? That would be awesome!
    Regards,
    Daniel
  —
    You are receiving this because you were mentioned.
    Reply to this email directly or view
      it on GitHub

Hi Daniel (@squix78),
Thanks to Fabrice's (@FWeinb) changes and merge #41 this is no longer needed.
Regards,
Andrew

Hi Andrew
Yes, thanks a lot. Fabrice and I decided that another abstraction for hardware support was desperately needed and then Fabrice quickly made it happen. Did/could you test the SPI implementation?
Regards,
Daniel

Thanks @FWeinb for the quick action.
I have confirmed that all demos work correctly on both an I2C and an SPI version of the SSD1306 using a Wemos D1 mini esp8266 board. However I had to make changes to compile on arduino IDE 1.6.5 (r5) to prevent compile errors. I'm not sure if this is fixed in later Arduino releases.
The 1.6.5 changes required are:

move the #include "images.h" to after the display library includes.
add #include <SPI.h> in the .ino demo file directly before #include "SSD1306Spi.h" if you are using the SPI display.

Also there is a minor typo in each of the Demo files for the SPI comments:
// D5 -> SCL
// D7 -> SDA
should be
// D5 -> CLK
// D7 -> MOSI (DOUT)
Regards,
Andrew

@FWeinb Confirmed that Arduino IDE 1.6.9 and PlatformIO IDE 1.2.2 work correctly without the 1.6.5 changes above.

Thank you. I will make the changes you mentioned. Glad you tested it with Arduino IDE I am only using PlatformIO these days.

@neptune2 would be great if you could test it again.

@FWeinb I have confirmed all demos work as expected without code changes (except commenting/uncommenting required code). I specifically checked both Arduino 1.6.5 and 1.6.9 (using esp8266 2.2.0) and PlatformIO IDE 1.2.2 using both I2C and SPI displays with Wire I2C, brzo I2C and SPI libraries (as appropriate).
I found some recommended pairings. Just as #include <SPI.h> is only needed with #include "SSD1306Spi.h" in Arduino 1.6.5 (and earlier?), so also, #include <Wire.h> is only needed with #include "SSD1306.h". I also had to add #include <brzo_i2c.h> when using #include "SSD1306Brzo.h" with Arduino 1.6.5.
The following is the recommended code:
// Include the correct display library
// For a connection via I2C using Wire include
#include <Wire.h>  // Only needed for Arduino 1.6.5 and earlier
#include "SSD1306.h" // alias for `#include "SSD1306Wire.h"`
// For a connection via I2C using brzo_i2c (must be installed) include
// #include <brzo_i2c.h> // Only needed for Arduino 1.6.5 and earlier
// #include "SSD1306Brzo.h"
// For a connection via SPI include
// #include <SPI.h> // Only needed for Arduino 1.6.5 and earlier
// #include "SSD1306Spi.h"

One other suggested change for clarification:
I would recommend changing
// Initialize the OLED display using Wire library
to
// Initialize the OLED display using I2C Wire library
Side-by-side SSD1306ClockDemo on I2C (left) vs SPI (right) displays
being driven by Wemos D1R2 and D1  mini

Awesome thank you for these extensive tests! Will fix the remaining issues.


[Design] Separate PageContext and ViewContext

This change decouples PageContext and ViewContext completely.
Design because not all tests are passing yet but I want to get some
feedback.

/cc @pranavkm

/cc @pranavkm removed [Design] Please take a look asap.


Improve SortTransformer

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

Project coverage is 100.00%. Comparing base (ac40f0e) to head (7fcb4b2).
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #282   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           40        40
  Lines         1054      1060    +6
  Branches        42        42
=========================================
+ Hits          1054      1060    +6

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


use n to install another node.js version; existing node.js is gone?

I had node.js 0.6.5 installed via homebrew on Mac. I installed n and then used n to install node.js 0.4.12.
Now /usr/local/Cellar/node/0.6.5/bin/node -v gives v0.4.12.
Lots of things seem broken, so now I've had to uninstall everything and start over.

homebrew is probably the worst way to install node

It was fine until I tried using n.

maybe they dont mix well for some reason, couldn't tell you, I try to avoid homebrew whenever possible


fixed #362 normalizing KVP in dispatch method

Hi all, I'd like to contribute the following bugfix for issue #362 to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
This pull request fixes issue #362 by performing normalization of a GET request's KVP parameters in the pycsw.server.dispatch method.

Thanks @ricardogsilva !


Feature/add a "ground angle conformance" parameter to the ScatterShaper

When placing foliage (with a ScatterShaper) it would be nice to allow the items to conform to the underlying grounds angle (normal vector). This PR adds that functionality by introducing a new parameter to the ScatterShaper - ground_angle_conformance - which can be set between 0 (no conformance)  and 1 (full conformance).
See the videos below for the result
https://github.com/user-attachments/assets/d4ffae63-060e-4812-854a-0110d034b05b
https://github.com/user-attachments/assets/0790c169-49da-4254-b3f1-d67f146529a9

Great idea, great work, thanks for the contribution!


Is this compatible with Gatsby somehow?

Hi There, have you got any advice how to get this working from within Gatsby? I suspect the issue is coming from routing...
It works locally, but I get Cannot GET /.netlify/functions/server/ when visiting the location.

Hi @b3nk3,
Sorry I am not familiar with Gatsby. Where are you making the GET from?

Hi @b3nk3,
Sorry I am not familiar with Gatsby. Where are you making the GET from?

on my url on netlify. I'm suspecting, since Gatsby has its own router this might be the cause of the issue with the functions?
Whilst we are at it, I'm querying a third party API that has some max request limits, hence I'd need to cache the results. I can achieve this fine with Firebase Functions, is Netlify able to do the same?
https://firebase.google.com/docs/hosting/functions
If not it is not worth for me to put more effort into getting this express server working from under Gatsby. (it does work locally though)

on my url on netlify. I'm suspecting, since Gatsby has its own router this might be the cause of the issue with the functions?

That might be the case. I recommend checking Gatsby docs for bypassing it.

You can, though, configure caching behavior for dynamic content. For example, if a function generates content only periodically, you can speed up your app by caching the generated content for at least a short period of time. You can also potentially reduce function execution costs because the content is served from the CDN rather than via a triggered function. Read more about optimizing function execution in the Cloud Functions documentation.

I do not believe Netlify supports that at this time.


[BUG] The default configuration of the nacos component consumer registry has a serious memory leak problem.

Resolve
// config/services.php

// Solve the problem by replacing the configuration

use GuzzleHttp\HandlerStack;
use Hyperf\Guzzle\CoroutineHandler;

return [
    ...
    'drivers'   => [
        'nacos' => [
            ...
            'guzzle'       => [
                'config' => [
                    'headers'     => [
                        'charset' => 'UTF-8',
                    ],
                    'http_errors' => false,
                    'handler'     => HandlerStack::create(new CoroutineHandler())
                ],
            ],
            ...
        ],
    ],
];

Steps To Reproduce:
// config/services.php

// The default configuration
return [
    ...
    'drivers'   => [
        'nacos' => [
            ...
            'guzzle'       => [
                'config' => null
            ],
            ...
        ],
    ],
];

The more service consumers there are, the more memory leaks there are.

please upgrade your swoole version
and check your swoole to ensure enable curl-native
swoole

Swoole => enabled
Author => Swoole Team<EMAIL_ADDRESS>Version => 4.8.11
Built => Jul  9 2022 14:44:22
coroutine => enabled with boost asm context
kqueue => enabled
rwlock => enabled
openssl => OpenSSL 1.1.1q  5 Jul 2022
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
pcre => enabled
zlib => 1.2.11
brotli => E16777225/D16777225
async_redis => enabled

Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => Off => Off
swoole.unixsock_buffer_size => 262144 => 262144

I made sure it was on, and here's my configuration
Docker mirror
hyperf/hyperf:7.4-alpine-v3.15-swoole-v4.8.10

Swoole configuration
swoole

Swoole => enabled
Author => Swoole Team<EMAIL_ADDRESS>Version => 4.8.10
Built => May 12 2022 23:26:27
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
spinlock => enabled
rwlock => enabled
openssl => OpenSSL 1.1.1o  3 May 2022
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
pcre => enabled
zlib => 1.2.12
brotli => E16777225/D16777225
mutex_timedlock => enabled
pthread_barrier => enabled
async_redis => enabled

Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608

@limingxinleo

'handler'     => null
No need to use coroutine handler, the native curl hook is better.


Block names for br are not preserved

When parsing WAT into bytes and re-printing it then I have noticed that for blocks the name for the block itself preserved but not for br instructions for instance, e.g.
block $myBlock
  br $myBlock
end

When parsing and printing it again it produces:
block $myBlock ;; label = @1
  br 0 (;@1;)
end

Is this a bug or on purpose, or can we change this so that the blocks use the name if it has one?

Just an oversight, would be great to have this implemented!


Using with Cold Card

Hey --
I emailed @bucko13 about this last week and have been hacking away at a solution to use my 3 Cold Card Hardware Wallets to create a multisig wallet with Caravan but am still running into issues, so I am going to move the conversation to here.
Right now my workflow is as follows:

Export each xpub from path m/48'/1'/0'/2' (I am not sure why we use 2' at the end, but that seems to be what coldcard does natively when creating a multisig on their device).

// I know this is insecure, these are just play cold cards, no real funds
const JB_MASTER_XPUB = "tpubDECB21DPAjBvUtqSCGWHJrbh6nSg9JojqmoMBuS5jGKTFvYJb784Pu5hwq8vSpH6vkk3dZmjA3yR7mGbrs3antkL6BHVHAyjPeeJyAiVARA"; // xfp (9130C3D6)
const DAS_MASTER_XPUB = "tpubDDv6Az73JkvvPQPFdytkRrizpdxWtHTE6gHywCRqPu3nz2YdHDG5AnbzkJWJhtYwEJDR3eENpQQZyUxtFFRRC2K1PEGdwGZJYuji8QcaX4Z"; // xfp (34ECF56B)
const SUNNY_MASTER_XPUB = "tpubDFR1fvmcdWbMMDn6ttHPgHi2Jt92UkcBmzZ8MX6QuoupcDhY7qoKsjSG2MFvN66r2zQbZrdjfS6XtTv8BjED11hUMq3kW2rc3CLTjBZWWFb"; // xfp (4F60D1C9)

Open Caravan and create a new wallet

Use the Derive from extended public key option and paste in the xpubs from Step 1 for each device. Note: I am leaving the BIP32 path at default (m/0). Is this correct?

After doing that, I have my wallet created. And I am able to generate addresses in the Receive tab. I then send test bitcoin to the address displayed (blockstream link).
Now for spending...

I go to the Spend tab and click manual and select the UTXO I just sent myself

I take the Witness Script (WITNESS_SCRIPT) from the Scripts ... menu and copy the address (SCRIPT_PUB_KEY_ADDRESS) and put them into the script below.

I type in the faucet return address I got the test btc from (2NGZrVvZG92qGYqzTLjCAewvPZ7JE8S8VxE) and configure the right amounts with change so that it equals the original UTXOs value.

I click Preview Transaction and take the unsigned transaction and put it in the script below.

import axios from 'axios';
import { Psbt, Transaction, bip32, networks } from 'bitcoinjs-lib';
import {
  blockExplorerAPIURL,
  TESTNET
} from "unchained-bitcoin";

// From Caravan
const UNSIGNED_TRANSACTION = "0100000001e57c0ccb1bccafc93ae5ba88e6b1fadb00ed4d041cf71fa31e3cad1e013388280100000000ffffffff028e1a00000000000017a914ffd0dbb44402d5f8f12d9ba5b484a2c1bb47da4287b80b0000000000002200200f6fecf96fa0472e82b379ea99ec58eb09dfc9c44b23da3e83a0727bc50dee5000000000";
const WITNESS_SCRIPT = "5221025626020fe15c4934e62fdd041499373f64fa576b6ea5adfbe9216a5b61b24e262102a1c872b3added7a69c50678eae4705bbce748911bcacc9e3b6f1272833d5622b2103a8d96b535b9367b3339d4ba0bd79a0a326e910e6c72452b0e7403d61213d9b3353ae"
const SCRIPT_PUB_KEY_ADDRESS = "tb1q48f8tgpfs9zxk07ep3eucks20285rnfskxu0xp3ma29cy5d6s3vs3e6gx5";

// XPub (m/48'/1'/0'/2') from ColdCard
const JB_XPUB = "tpubDECB21DPAjBvUtqSCGWHJrbh6nSg9JojqmoMBuS5jGKTFvYJb784Pu5hwq8vSpH6vkk3dZmjA3yR7mGbrs3antkL6BHVHAyjPeeJyAiVARA"; // xfp (9130C3D6)
const DAS_XPUB = "tpubDDv6Az73JkvvPQPFdytkRrizpdxWtHTE6gHywCRqPu3nz2YdHDG5AnbzkJWJhtYwEJDR3eENpQQZyUxtFFRRC2K1PEGdwGZJYuji8QcaX4Z"; // xfp (34ECF56B)
const SUNNY_XPUB = "tpubDFR1fvmcdWbMMDn6ttHPgHi2Jt92UkcBmzZ8MX6QuoupcDhY7qoKsjSG2MFvN66r2zQbZrdjfS6XtTv8BjED11hUMq3kW2rc3CLTjBZWWFb"; // xfp (4F60D1C9)

const PATH = "m/48'/1'/0'/2'/0/0'";

const main = async () => {
  const tx = Transaction.fromHex(UNSIGNED_TRANSACTION);

  const psbt = new Psbt();
  psbt.setVersion(2);
  psbt.setLocktime(0);

  for (let i = 0; i < tx.ins.length; i++) {
    const txId = tx.ins[i].hash.reverse().toString('hex');
    const txFromBlockstream = await (await axios.get(blockExplorerAPIURL(`/tx/${txId}`, TESTNET))).data;

    const inputUtxo = getUTXOByAddress(txFromBlockstream, SCRIPT_PUB_KEY_ADDRESS);

    const jbHDInterface = bip32.fromBase58(JB_XPUB, networks.testnet);
    const dasHDInterface = bip32.fromBase58(DAS_XPUB, networks.testnet);
    const sunnyHDInterface = bip32.fromBase58(SUNNY_XPUB, networks.testnet);

    psbt.addInput({
      hash: tx.ins[i].hash,
      index: tx.ins[i].index,
      sequence: tx.ins[i].sequence,
      witnessUtxo: {
        script: Buffer.from(
          inputUtxo.scriptpubkey,
          'hex'
        ),
        value: inputUtxo.value
      },
      witnessScript: Buffer.from(WITNESS_SCRIPT, 'hex'),
      bip32Derivation: [
        {
          masterFingerprint: jbHDInterface.fingerprint,
          pubkey: jbHDInterface.derivePath("0/0").publicKey,
          path: PATH,
        },
        {
          masterFingerprint: dasHDInterface.fingerprint,
          pubkey: dasHDInterface.derivePath("0/0").publicKey,
          path: PATH,
        },
        {
          masterFingerprint: sunnyHDInterface.fingerprint,
          pubkey: sunnyHDInterface.derivePath("0/0").publicKey,
          path: PATH,
        }
      ]
      // redeemScript?
    });
  }

  for (let j = 0; j < tx.outs.length; j++) {
    psbt.addOutput({
      redeemScript: tx.outs[j].script,
      script: tx.outs[j].script,
      value: tx.outs[j].value
    });
  }

  return psbt.toBase64();

This returns
cHNidP8BAH4CAAAAASiIMwEerTweox/3HARN7QDb+rHmiLrlOsmvzBvLDHzlAQAAAAD/////Ao4aAAAAAAAAF6kU/9DbtEQC1fjxLZultISiwbtH2kKHuAsAAAAAAAAiACAPb+z5b6BHLoKzeeqZ7FjrCd/JxEsj2j6DoHJ7xQ3uUAAAAAAAAQErECcAAAAAAAAiACCp0nWgKYFEaz/ZDHPMWgp6j0HNMLG48wY76ouCUbqEWQEFaVIhAlYmAg/hXEk05i/dBBSZNz9k+ldrbqWt++khalthsk4mIQKhyHKzrd7XppxQZ46uRwW7znSJEbysyeO28ScoM9ViKyEDqNlrU1uTZ7MznUugvXmgoybpEObHJFKw50A9YSE9mzNTriIGAyIEErL0BQQffuTOA9kTjyEC+eybnl5zNuAf6pdxUq06HLaYsQkwAACAAQAAgAAAAIACAACAAAAAAAAAAIAiBgPZs2BhKxwQyn6qpiv+VcRihe//FftBBqQk8H+YLmaO3BxYoz6GMAAAgAEAAIAAAACAAgAAgAAAAAAAAACAIgYD5COMlBMA/fsBELla1MfIEB6gGi5qERqdqQsCA8I8FFcch8DaOTAAAIABAACAAAAAgAIAAIAAAAAAAAAAgAABABepFP/Q27REAtX48S2bpbSEosG7R9pChwABACIAIA9v7PlvoEcugrN56pnsWOsJ38nESyPaPoOgcnvFDe5QAA==

I then use the output and use signtx command while my ColdCard is plugged in, but I keep getting:
None of the keys involved in this transaction belong to this Coldcard (need 4F60D1C9)
Is there any glaring issue you are seeing to this approach? I feel like I have some sort of disconnect between the way I am constructing HD wallets, etc.

I was able to figure it out, but I'm using m/0 path...I emailed ColdCard to figure out how to use m/84' or other paths. Maybe I need to configure the BIP32 path in Caravan?
https://blockstream.info/testnet/tx/043235ee5a1146297e2f81589fbf5143eed80f2ea7a582140e784bd751041ba3
import "regenerator-runtime/runtime";

import axios from 'axios';
import { Psbt, Transaction, bip32, networks } from 'bitcoinjs-lib';
import {
  deriveChildPublicKey,
  blockExplorerAPIURL,
  TESTNET
} from "unchained-bitcoin";

const getUTXOByAddress = (txFromBlockstream, scriptPubKeyAddress) => {
  return txFromBlockstream.vout.filter((out) => out.scriptpubkey_address === scriptPubKeyAddress)[0];
}

// From Caravan
const UNSIGNED_TRANSACTION = "01000000011456f48b5735f3e0f569eebce3024f341f79ace5b17fe7fd2ed5968ba5553b2b0100000000ffffffff025e2200000000000017a914ffd0dbb44402d5f8f12d9ba5b484a2c1bb47da4287e80300000000000022002070969926a0faa52990a46a3b2a149a65d37854b9b69f8585710190ebca5f97ef00000000";
const WITNESS_SCRIPT = "52210232c809fa8dde6baae7e61bbeb69a1299765474a9d79a8de22b59686a0c2c2fe0210279096b1ac8cc5d1e1ecb8849e93945ecbbca1a0928aee401e67515e76e7aa09a2102c337dea513af82c08256751c0ba2d7a081a7e3622d31b7096043f39568a3768453ae"
const SCRIPT_PUB_KEY_ADDRESS = "tb1q8ahn3sydm3wqzjn89gcw6n9wejhdwpnnch3t74lj9ulfdv3z54ksx4hlul";

// Master XPub (m)
const JB_XPUB = "tpubD6NzVbkrYhZ4Yos4KiTCexKCkKGmzLwfExUXxXE2qq8ky9Ky9uZE1Xbctzk2rhduQntdCeg47MLRQ7zM1rUAH3RHRaSFHfHpyrvLb5Fzrg9"; // xfp (9130C3D6)
const DAS_XPUB = "tpubD6NzVbkrYhZ4XBQLfAgvNCzqCbKu3ZpRJqMPBxYBn7Gw92P9tF8xxQicgEWpSeT3seaFAVwcdc1Wo5DK7fJRi2qPDtSENyzAfbP9xNKnT86"; // xfp (34ECF56B)
const SUNNY_XPUB = "tpubD6NzVbkrYhZ4XLEhtbB4e4AbTH4ZbXB77Nuu23WGDwyHa6S8EfWpnx268EWP4wQhas1N9ByWSCsPvjh9ArmNk2NnoXaSFioxw29z6z1xNbe"; // xfp (4F60D1C9)

const PATH = "m/0/0";

const main = async () => {
  const tx = Transaction.fromHex(UNSIGNED_TRANSACTION);

  const psbt = new Psbt();
  psbt.setVersion(2);
  psbt.setLocktime(0);

  for (let i = 0; i < tx.ins.length; i++) {
    const txId = tx.ins[i].hash.reverse().toString('hex');
    const txFromBlockstream = await (await axios.get(blockExplorerAPIURL(`/tx/${txId}`, TESTNET))).data;

    const inputUtxo = getUTXOByAddress(txFromBlockstream, SCRIPT_PUB_KEY_ADDRESS);

    const jbHDInterface = bip32.fromBase58(JB_XPUB, networks.testnet);
    const dasHDInterface = bip32.fromBase58(DAS_XPUB, networks.testnet);
    const sunnyHDInterface = bip32.fromBase58(SUNNY_XPUB, networks.testnet);

    psbt.addInput({
      hash: Buffer.from(tx.ins[i].hash, 'hex').toString('hex'),
      index: tx.ins[i].index,
      sequence: tx.ins[i].sequence,
      witnessUtxo: {
        script: Buffer.from(
          inputUtxo.scriptpubkey,
          'hex'
        ),
        value: inputUtxo.value
      },
      witnessScript: Buffer.from(WITNESS_SCRIPT, 'hex'),
      bip32Derivation: [
        // I have these ordered by pubkey...not sure if necessary
        {
          masterFingerprint: sunnyHDInterface.fingerprint,
          pubkey: Buffer.from(deriveChildPublicKey(SUNNY_XPUB, PATH, TESTNET), 'hex'),
          path: PATH,
        },
        {
          masterFingerprint: dasHDInterface.fingerprint,
          pubkey: Buffer.from(deriveChildPublicKey(DAS_XPUB, PATH, TESTNET), 'hex'),
          path: PATH,
        },
        {
          masterFingerprint: jbHDInterface.fingerprint,
          pubkey: Buffer.from(deriveChildPublicKey(JB_XPUB, PATH, TESTNET), 'hex'),
          path: PATH,
        },
      ]
    });
  }

  for (let j = 0; j < tx.outs.length; j++) {
    psbt.addOutput({
      redeemScript: tx.outs[j].script,
      script: tx.outs[j].script,
      value: tx.outs[j].value
    });
  }

  console.log('psbt: ', psbt.data);
  console.log('psbt hex base64: ', psbt.toBase64());
  // return psbt.toBase64();

  // Pause here...
  // SIGN USING COLD CARD

  // Signed PSBT from DAS
  const dasSignedTx =
    "cHNidP8BAH4CAAAAARRW9ItXNfPg9WnuvOMCTzQfeazlsX/n/S7VloulVTsrAQAAAAD/////Al4iAAAAAAAAF6kU/9DbtEQC1fjxLZultISiwbtH2kKH6AMAAAAAAAAiACBwlpkmoPqlKZCkajsqFJpl03hUubafhYVxAZDryl+X7wAAAAAAAQErECcAAAAAAAAiACA/bzjAjdxcAUpnKjDtTK7MrtcGc8Xiv1fyLz6WsiKlbSICAsM33qUTr4LAglZ1HAui16CBp+NiLTG3CWBD85Voo3aERzBEAiAaHd5825a9rKIVK0uPhOZ7eJzKjzPMx7+F5n79JElPxgIgRpXs9WEvztk3a8BtZN4oPyXRDuEOpHAHWFSgE1XfPWwBAQMEAQAAAAEFaVIhAjLICfqN3muq5+YbvraaEpl2VHSp15qN4itZaGoMLC/gIQJ5CWsayMxdHh7LiEnpOUXsu8oaCSiu5AHmdRXnbnqgmiECwzfepROvgsCCVnUcC6LXoIGn42ItMbcJYEPzlWijdoRTriIGAjLICfqN3muq5+YbvraaEpl2VHSp15qN4itZaGoMLC/gDJEww9YAAAAAAAAAACIGAnkJaxrIzF0eHsuISek5Rey7yhoJKK7kAeZ1FedueqCaDE9g0ckAAAAAAAAAACIGAsM33qUTr4LAglZ1HAui16CBp+NiLTG3CWBD85Voo3aEDDTs9WsAAAAAAAAAAAABABepFP/Q27REAtX48S2bpbSEosG7R9pChwABACIAIHCWmSag+qUpkKRqOyoUmmXTeFS5tp+FhXEBkOvKX5fvAA==";

  // Signed PSBT from JB
  const jbSignedTx =
    "cHNidP8BAH4CAAAAARRW9ItXNfPg9WnuvOMCTzQfeazlsX/n/S7VloulVTsrAQAAAAD/////Al4iAAAAAAAAF6kU/9DbtEQC1fjxLZultISiwbtH2kKH6AMAAAAAAAAiACBwlpkmoPqlKZCkajsqFJpl03hUubafhYVxAZDryl+X7wAAAAAAAQErECcAAAAAAAAiACA/bzjAjdxcAUpnKjDtTK7MrtcGc8Xiv1fyLz6WsiKlbSICAjLICfqN3muq5+YbvraaEpl2VHSp15qN4itZaGoMLC/gRzBEAiAqeRoZMFX2PpDdYqd301bsL2TvqAvW+tci9F0f1HznXgIgHpMAB1itBCItVE9oxUMUbhKKhOu8DJv1UFdzLYa9CmEBAQMEAQAAAAEFaVIhAjLICfqN3muq5+YbvraaEpl2VHSp15qN4itZaGoMLC/gIQJ5CWsayMxdHh7LiEnpOUXsu8oaCSiu5AHmdRXnbnqgmiECwzfepROvgsCCVnUcC6LXoIGn42ItMbcJYEPzlWijdoRTriIGAjLICfqN3muq5+YbvraaEpl2VHSp15qN4itZaGoMLC/gDJEww9YAAAAAAAAAACIGAnkJaxrIzF0eHsuISek5Rey7yhoJKK7kAeZ1FedueqCaDE9g0ckAAAAAAAAAACIGAsM33qUTr4LAglZ1HAui16CBp+NiLTG3CWBD85Voo3aEDDTs9WsAAAAAAAAAAAABABepFP/Q27REAtX48S2bpbSEosG7R9pChwABACIAIHCWmSag+qUpkKRqOyoUmmXTeFS5tp+FhXEBkOvKX5fvAA==";

  const dasFinal = Psbt.fromBase64(dasSignedTx);
  const jbFinal = Psbt.fromBase64(jbSignedTx);

  psbt.combine(dasFinal, jbFinal);

  psbt.finalizeAllInputs();

  console.log('psbt.extractTransaction().toHex(): ', psbt.extractTransaction());
  console.log('psbt.extractTransaction().toHex(): ', psbt.extractTransaction().toHex());

  // return psbt.extractTransaction.toHex();
}

main();

Just a couple notes:

Export each xpub from path m/48'/1'/0'/2' (I am not sure why we use 2' at the end, but that seems to be what coldcard does natively when creating a multisig on their device).

The 2' is the path used for P2WSH, i.e. native, bech32 script hash for "BIP48" based HD paths. A 1' would indicate embedded P2WSH (P2SH-P2WSH) so, not bech32.
Something else to note is that proper PSBT support isn't in Caravan yet (but it's coming!) and PSBT, and thus Coldcard, require a "master key fingerprint" (helpful stack exchange question). Given that, I think there's going to be a lot of manual work that would have to be done in the interactions with the coldcard to get the right info out (which is part of what we're working on now as well) and the right signatures composed.


Err When Running Project

Hey, I am new in react
I got err when run
npm run webpack-server
ERROR in ./~/frontend/routes.js
Module parse failed: C:\Zoo\react-ultimate-master\node_modules\frontend\routes.js Unexpected token (17:2)
You may need an appropriate loader to handle this file type.
and What is mean   "Check dev.env and load it into SHELL via $ . dev.env. "  ?
and when npm start
I got this
nodemon
[nodemon] 1.17.1
[nodemon] to restart at any time, enter rs
[nodemon] watching: .
[nodemon] starting node backend/server.js
module.js:540
throw err;
^
Error: Cannot find module 'node-uuid'
Anything I miss ?
Thanks

have you installed the dependencies by running npm install or yarn? in the project folder?

What is mean "Check dev.env and load it into SHELL via $ . dev.env. " ?

This project is configured via system environment instead of config.js or something:

https://en.wikipedia.org/wiki/Environment_variable
https://12factor.net/config

"Check" means you should look into this file to get an idea what's inside :)

@ComputerCarl   Yes I have install both..

@rullymartanto Sorry for the canned response.
I tried to get it running and also could not. It seems there's some webpack loader error wherein it does not transpile the JSX/React

Ok guys, I'll take a look.

What does server console logs? What does browser shows?

Thanks, Ivan.
Running 'npm run webpack-server' I get
<EMAIL_ADDRESS>webpack-server /Users/.../.../.../.../react-ultimate-master

webpack-dev-server --config webpack.server.js --progress --port 2992 --inline
70% 1/1 build modules http://localhost:2992/
webpack result is served from http://localhost:2992/public/
content is served from /.../.../.../.../.../.../react-ultimate-master
...
webpack: Compiled successfully.

Running 'npm start' in second terminal I get:
[nodemon] 1.17.2
[nodemon] to restart at any time, enter rs
[nodemon] watching: .
[nodemon] starting node backend/server.js
2018-04-13 09:22:02 INFO Listening on port undefined
If I visit localhost:8080. I get 'This site can’t be reached. localhost refused to connect.'
I'm on a Mac

INFO Listening on port undefined

https://github.com/Paqmind/react-ultimate/blob/master/backend/server.js
server.on("listening", () => logger.info("Listening on port " + process.env.HTTP_PORT))

.env files aren't loaded automatically. You have to load their variables into shell.

hey @ivan-kleshnin,...
maybe because this ?
C:\Users\myname\AppData\Roaming\npm
this file is not exist ? create-react-native-app
?
Please check. Thanks

create-react-app is not used in this project.


Resolve #94 use baytune==0.1.1 instead of btb from github

Codecov Report

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

@@           Coverage Diff           @@
##           master      #95   +/-   ##
=======================================
  Coverage   74.25%   74.25%
=======================================
  Files          12       12
  Lines        1235     1235
=======================================
  Hits          917      917
  Misses        318      318

Continue to review full report at Codecov.

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


merge release-3.7 branch back into master

merge release-3.7 branch back into master

jobs to roles for dashboard
3.7 release notes

Resolves #2959.

We've got a few more PRs coming in before we should merge this.

version bump 3.7.1
aws faststart login fix.


How to retrieve documents according to their topic

Hi, Greg, after successfully fitting the models, how should I retrieve all the documents according the topic?

There's a couple different ways you can get the documents for each topic. You could use the p_y_given_x attribute or log_p_y_given_x attributes to rank which documents are most probable for each topic. You could also get a binary classification of each document in each topic from labels (which applies a softmax from p_y_given_x).
You can also use log_z to rank which documents are "explained" the most by each topic according to pointwise total correlation. If you're looking something simple tough labels or p_y_given_x will probably be enough. Note, CorEx is a discriminative model, which means that CorEx estimates the probability a document belongs to a topic separately for each topic and the probabilities don't have to add up to 1.

That's fantastic! Thank you!


Don't show the duration links if there is nothing to be shown

I have noticed that we show the duration links in the group extended view even if they don't have any instances to report:

Ideally we disable those links if there is no duration for the user to see.
The strategy for doing this should be:

get the instances/count for the default duration (1 day in this case);
if nothing is reported, set the link's state to disabled and repeat 1 but for the longer duration after the current one.

This should allow the user to get directly into a duration that is useful.
If this requires a long time when no instances for 30d are there, then we can take a lazy approach:

get the instances/count for the current duration (default 1 day in this case);
if nothing is returned, disable the current duration link and the ones that are less than it.

This means that if the user gets to the view (1 day) and there are no instances, then 1day and 1hour durations are disabled. If they then click on 30 days and there is nothing, 30 day and less gets disabled (i.e. all the links get disabled).

@joaquimrocha this can be closed now as we have the changes in master now


chore(docs): update examples

coverage: 99.245%. remained the same
when pulling 4277dc8d9d26f228b32b1b94160cd4e37806338a on rc-3.3.0-doc
into e56277b88060a255b88a4567d6fe8addf8ab9546 on master.


Business critical blog + doc updates

update after initial business critical push

fixed docs links to self hosted installers
updated self hosted screenshot in blog post
updated self hosted components page, api page and console page
added trial link to self hosted docs

@susanev the svgs on mobile don't look great but the pngs do. Any advice? My instinct would be to screenshot the svg so they are clear but guessing you have more professional methods!

@cnunciato could you double check the links I added on the blog post feature list before we merge? Much appreciated!

@meagancojocar are you using safari? if so the issue is not us, safari does not render svgs well at all in general (its a known issue). if we are super worried about it we could detect that and display pngs just for them but i don't think we should make that happen right now for this.

why is this not running the test suite?

@meagancojocar for the future, no trailing slashes on links (this is a hugo thing)