spatial.distance.cdist segfaults for some structured arrays

When I run the following example in scipy 1.1.0, I get a segfault.
Reproducing code example:
import numpy as np
from scipy.spatial.distance import cdist

H = np.zeros(20, dtype=[('x', '<f8', (2,)), ('m', '<i8'), ('a', '<f8'), ('b', '?'), ('c', '?'), ('d', '<f8'), ('e', '<f8'), ('fa', '<f8'), ('g', '<i8'), ('h', '<i8'), ('i', '?'), ('j', '<i8'), ('k', '?'), ('f', '<f8'), ('l', '?')])
np.random.seed(1)
H['x'] = np.random.uniform(0,1,(20,2))
dist_1 = cdist(np.atleast_2d(H['x'][3]), H['x'], 'euclidean')

Error message:
(if I import and enable faulthandler)
$ python example.py
Fatal Python error: Segmentation fault

Current thread 0x00007fc9f8280740 <python> (most recent call first):
  File "/homes/jlarson/.local/lib/python2.7/site-packages/scipy/spatial/distance.py", line 2660 in cdist
  File "example.py", line 9 in <module>
Segmentation fault (core dumped)

Scipy/Numpy/Python version information:
>>> import sys, scipy, numpy; print(scipy.__version__, numpy.__version__, sys.version_info)
('1.1.0', '1.14.3', sys.version_info(major=2, minor=7, micro=6, releaselevel='final', serial=0))

Further details:

The segfault does not occur with scipy 1.0.0
The segfault does not occur if the number of field in the structured array is reduced.

Hmm, I cannot reproduce that. How did you install scipy?

I installed scipy using pip install scipy --user -U

Okay, it's the Python 2.7 manylinux wheel then. I can't test that here. Can anyone reproduce this?

My scipy config is below:
>>> sp.__config__.show()
lapack_opt_info:
    libraries = ['lapack', 'f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/atlas-base/atlas', '/usr/lib/atlas-base']
    define_macros = [('ATLAS_INFO', '"\\"3.10.1\\""')]
    language = f77
    include_dirs = ['/usr/include/atlas']
openblas_lapack_info:
  NOT AVAILABLE
atlas_3_10_blas_threads_info:
  NOT AVAILABLE
atlas_threads_info:
  NOT AVAILABLE
openblas_clapack_info:
  NOT AVAILABLE
atlas_3_10_threads_info:
  NOT AVAILABLE
atlas_blas_info:
    libraries = ['f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/atlas-base']
    define_macros = [('HAVE_CBLAS', None), ('ATLAS_INFO', '"\\"3.10.1\\""')]
    language = c
    include_dirs = ['/usr/include/atlas']
atlas_3_10_blas_info:
  NOT AVAILABLE
atlas_blas_threads_info:
  NOT AVAILABLE
openblas_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
blas_opt_info:
    libraries = ['f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/atlas-base']
    define_macros = [('HAVE_CBLAS', None), ('ATLAS_INFO', '"\\"3.10.1\\""')]
    language = c
    include_dirs = ['/usr/include/atlas']
blis_info:
  NOT AVAILABLE
atlas_info:
    libraries = ['lapack', 'f77blas', 'cblas', 'atlas', 'f77blas', 'cblas']
    library_dirs = ['/usr/lib/atlas-base/atlas', '/usr/lib/atlas-base']
    define_macros = [('ATLAS_INFO', '"\\"3.10.1\\""')]
    language = f77
    include_dirs = ['/usr/include/atlas']
atlas_3_10_info:
  NOT AVAILABLE
lapack_mkl_info:
  NOT AVAILABLE

The segfault does not occur if the number of field in the structured array is reduced.

A shot in the dark: does it crash if H is simplified to the following?
H = np.zeros(20, dtype=[('x', '<f8', (2,)), ('b', '?')])

That config looks odd, 1.1.0 should be compiled against OpenBLAS not ATLAS: https://github.com/MacPython/scipy-wheels/blob/v1.1.x/appveyor.yml

No, it does not crash with the smaller H. Is there an upper bound on the number of fields in a numpy structured array that spatial.distance supports?
As for the config, I did not specify anything more than pip install scipy --user -U. Do I need to specify OpenBLAS somewhere?

The function doesn't know that the input arrays are from a structured array.  They are just plain numpy arrays. In the example that crashes, H['x'] has strides (93, 8), which means the floating point values in that array are not aligned on 8 byte memory boundaries.  But that shouldn't cause a crash; maybe it would just be slower than if the values were nicely aligned.

Ignore my "shot in the dark" comments.  Almost the first thing cdist does is
XA = np.asarray(XA, order='c')
XB = np.asarray(XB, order='c')

which will copy XA and XB if they are not C-contiguous.

Misalignment can cause a crash on some non-x86 platforms.
@jmlarson1: what OS and processor is this running on?

I am on an x86 platform:
$ uname -a
Linux login4 3.13.0-149-generic #199-Ubuntu SMP Thu May 17 10:12:50 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Similarly, if I use H['x'][[3]] instead of np.atleast_2d(H['x'][3]), I do not get a segfault.

Earlier I said

Ignore my "shot in the dark" comments. [...] will copy XA and XB if they are not C-contiguous.

But H['x'][3], even though it is not aligned, is C-contiguous. In that case, both np.atleast_2d (in the script) and np.asarray (in the function) will pass the argument through without copying.
If the value is copied (either by using the .copy() method or by using H['x'][[3]] instead of np.atleast_2d(H['x'][3]), the copy will be aligned.  So alignment could be the source of the problem.
I don't have an installation where I can reproduce the crash, so I can't investigate further at the moment.

Tried and failed to repro on
$ uname -a
Linux duneyrr 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

in a fresh virtualenv with python 2.7.12, numpy 1.14.3 and scipy 1.1.0 (manylinux wheel). OP example does not crash.

Misaligned dereference iirc is undefined behavior in C, so I guess the
compiler may have emitted SSE or other code launching unicorns when
alignment is bad.
So it needs fixing in any case, asarray(order="c") should be replaced
with something that ensures NPY_BEHAVED.

is this resolved? i am also getting crashes (even computer restarts) for a large-ish 2d-array (300k points). macOS 10.15.4 (Catalina) Python 3.6.10.
$ uname -a
Darwin home 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar  4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64

i'm trying to fit 300k features into a 576x576 grid. using pyenv and jupyter notebook.
>>> print(grid.shape)
(331776, 2)
>>> print(features.shape)
(331368, 2)
>>> cost = cdist(grid, features, 'sqeuclidean')
CRASH (computer restarted)

i was using Quasimondo/RasterFairy to convert UMAPs to grid and it worked with every one of my datasets (even one with 550k points) but it was hanging on one of them, possibly due to Python2/3 differences. so I gave kylemcdonald/CloudToGrid a try, which uses cdist. i didn't try this approach with the other 20 datasets.


Update README.md

Info on White/Blacklisting added to the description.

Type of request

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

Related Issue(s)

Concept

Description of the change

Description of current state
Description of target state
Estimated investment / approximate investment

Initiator
name / company / position / created at
Technical information
Platform / target area

known side-effects
other
DB Changes (if so: incl. scripts with definitions and testdata)
How has this Tested?

Screenshots, Uploads, other documents (if appropriate):

Checklist:

[x] My code follows the code style of this project.
[x] I agree with die CLA.
[x] I have read the CONTRIBUTING docs.
[x] I have added/updated necessary documentation (if appropriate).

updated readme.md

Thank you for your contribution @MarRothm!

Sorry for the delay merging this. Travis is experiencing issues and was not able to report the check status. Thanks for your patience.


Building on Windows with MinGW fails

Just tried opening the project in CLion (uses CMake and MinGW) on Windows and got errors about the redefinition of struct timespec in pthread.h (already defined in time.h).
R:\apps\jetbrains\clion\bin\cmake\bin\cmake.exe --build C:\Users\Arno\.CLion2016.1\system\cmake\generated\cpputest-57d1066f\57d1066f\Debug --target CppUTestTests -- -j 8
[  1%] Building CXX object src/CppUTest/CMakeFiles/CppUTest.dir/__/Platforms/Gcc/UtestPlatform.cpp.obj
In file included from R:\projects\github\cpputest\src\Platforms\Gcc\UtestPlatform.cpp:49:0:
c:\mingw\include\pthread.h:320:8: fout: redefinition of ‘struct timespec’
 struct timespec {
        ^
In file included from c:\mingw\include\time.h:53:0,
                 from c:\mingw\include\sys\time.h:3,
                 from R:\projects\github\cpputest\src\Platforms\Gcc\UtestPlatform.cpp:35:
c:\mingw\include\parts\time.h:105:8: fout: previous definition of ‘struct timespec’
 struct timespec
        ^
mingw32-make.exe[3]: *** [src/CppUTest/CMakeFiles/CppUTest.dir/__/Platforms/Gcc/UtestPlatform.cpp.obj] Error 1
mingw32-make.exe[2]: *** [src/CppUTest/CMakeFiles/CppUTest.dir/all] Error 2
mingw32-make.exe[1]: *** [tests/CMakeFiles/CppUTestTests.dir/rule] Error 2
src\CppUTest\CMakeFiles\CppUTest.dir\build.make:512: recipe for target 'src/CppUTest/CMakeFiles/CppUTest.dir/__/Platforms/Gcc/UtestPlatform.cpp.obj' failed
CMakeFiles\Makefile2:980: recipe for target 'src/CppUTest/CMakeFiles/CppUTest.dir/all' failed
CMakeFiles\Makefile2:1104: recipe for target 'tests/CMakeFiles/CppUTestTests.dir/rule' failed
Makefile:562: recipe for target 'CppUTestTests' failed
mingw32-make.exe: *** [CppUTestTests] Error 2

This issue seems to be similar too what the Oxygine project experienced, see: oxygine/oxygine-framework#34 (so perhaps the fix will be the same too).
I'll try to apply the similar changes to the CMake configuration to see if that helps.

#972 has been merged, so this issue can be closed.


Add PosgreSQL 9.2 image

It is based on the MySQL image and works similarly. You must set
POSTGRESQL_{USER,PASSWORD,DATABASE} environment variables and can
optionally set the 'postgres' db user password using the
POSTGRESQL_ADMIN_PASSWORD variable.
There are few minor outstanding issues that are marked and commented
with a TODO. Ideas and suggestions would be appreciated.
You can test the image with make test && make test TARGET=rhel7.
Documentation in README is still missing, but wanted early feedback.

Addressed all issues plus something extra :) PTAL

LGTM. Nice job @mnagy, kudos!

Some enhancements:
No further need to use scl when doing docker exec, added contrib directory. Added tests for env variable validations, simplified that code a bit as well. PTAL.

Very small change added. We're now also validating maximum user/db name length. Also added tests for that.

@jhadvig @soltysh can I get more reviews in addition to @mfojtik's, please?

Added SCL info into README.md, few minor fixes. PTAL

Here's mine LGTM :)

@mnagy LGTM, good job :)
Merging


Crash due to NSRunInformationalAlertPanel in non-main thread

Describe the bug
Quicksilver crashes due to NSRunInformationalAlertPanel being called on a thread which is not the main thread. See attached crashlog.
https://github.com/quicksilver/Quicksilver/issues/2548 might be related.
To Reproduce
I don't know how to reproduce it.
Expected behavior
Quicksilver should not crash.
What version of macOS?
macOS Version 11.1 (20C69)
What version of Quicksilver?
1.5.4 (401F)
I've attached a crashlog: Quicksilver_NSGenericException.txt

The current version (1.6.1) fixes a few crashes we were seeing on 10.15+. Please try it out.
https://qsapp.com/download.php

The current version (1.6.1) fixes a few crashes we were seeing on 10.15+. Please try it out.
https://qsapp.com/download.php

The attached crash-log content is identical to #2548 - closing this one in favour of that.


PoC for Lambda smart deploy

This changes won't be needed.
See new PR #2 with much reduced changes

What it does?

Adjust format of artifact paths to <prefix>/<stage>/<function_name>/<hash>
Adjust how the ZIP artifact hash is calculated so that just the content matters
Do S3.headObject() check before the artifact file upload on the deploy. If file already exists, the upload is omitted.
Change the Cloudformation template file compilation, so that Lambda version resources change also only if implementation or configuration change.

What else is important?

ZIP artifact hash is calculated based just on its content entries (files) using their: crc32, fileName and size.

This way it omits file system metadata (file timestamps) that is also part of ZIP and even though ZIP contents will be the same, regular file hash would always differ.
Make the result order-invariant (sort ZIP entries) as compiled ZIP may differ in that matter, without any impact on the deliverable.
Using crc32 instead of actual contents is just for optimization. It's part of ZIP format standard.

This change requires also that Serverless stops using CodeSha256 check feature of Cloudformation deploys for AWS::Lambda::Version. It doesn’t look to be necessary in the deployment model that Serverless uses (AWS calculates CodeSha256 per ZIP including irrelevant metadata) as the version is always deployed with AWS::Lambda::Function anyway.
This is just PoC, not to be merged yet.

Legacy.


Automatically apply dashboard yamls on boot

Proposal:
Is it possible to mount in a couple dashboard yml/jsons (like this https://github.com/influxdata/influxdb/blob/master/pkger/testdata/dashboard.yml) and apply them on boot for influxdb v2? We're running influxdb v2 on k8s and ideally would like to have a couple dashboards pre-configured. It doesn't seem like this is possible right now (we would need to hop into the container and run a influx apply -f after the server has started) but maybe a flag on the influxd entrypoint would make sense?
Current behavior:
Dashboards in the form of yml/jsons must be explicitly applied
Desired behavior:
Be able to mount in a directory of yml/jsons and have the dashboards pre-configured on boot.
Use case:
We're a 3rd party software deploying onto a k8s system. We're planning on shipping software with a fully-featured metrics stack with influxdb (and ideally pre-configured chronograf dashboards).

@williamhuangh you should be able to add that command directly after the call to setup. Here's how we do it in our helm chart: https://github.com/influxdata/helm-charts/blob/master/charts/influxdb2/templates/job-setup-admin.yaml


Connecting multiple stories in one file to multiple Figma components

It would be super helpful, when it would be possible to connect multiple stories in one Storybook file, to different Figma components. Because we do not always have one component that maps to one Figma component, sometimes there are different Figma components but only one component in code, like in this example:
// TextInput.stories.tsx

export const Base: Story = {
  render: (args) => <TextInput {...args} />,
  args: {
    helperText: 'Helper Text',
    label: 'Label',
    placeholder: 'Placeholder',
  },
  parameters: {
    design: {
      type: 'figma',
      url: 'https://...',
      // ...
    },
  },
};

export const Multiline: Story = {
  render: (args) => <TextInput {...args} />,
  args: {
    helperText: 'Helper Text',
    label: 'Label',
    maxRows: 4,
    minRows: 2,
    multiline: true,
  },
  parameters: {
    design: {
      type: 'figma',
      url: 'https://...',
      // ...
    },
  },
};

In Figma we have a TextInput component and a TextArea component, but in React Native code both are the same component.

Any news on this? @karlpetersson


Drawio desktop 12.9.3: cannot directly open existing .drawio file on hard drive

Hello,
Lately I updated my Draw.io desktop (Windows 10) to 12.9.3.
Since then, when I double click on a .drawio file, drawio will start up but won't open the file.
It will show the open existing diagram/create new diagram. I then have to click on "open existing", then pick the file I was trying to open previously.
It used to work with the previous Draw.io version.
Thanks for your help, and for the amazing Draw.io tool!!
Laurent

If you update to 12.9.9 does it still happen?

Hi David,
Thanks for your quick reply. You are right, with 12.9.9, it works!
Laurent


Tiny Tooltips

I must've done 'something', because whereas my Tooltips were working, suddenly they've turned into tiny indecipherable text :( Below used to display 'Contact' in a font about half the size of the button, now you need a degree in Quantum Mechanics to read the tip...

Here's my code:
import { Tooltip } from '@material-ui/core'
.
.
.
 <Grid item container justify="flex-end" xs={4}>
    <NavLink to={Local.contact} className={classes.link}>
        <Tooltip title={Help.contactTip}>
          <IconButton
            color="primary"
            aria-label="Contact"
            component="span"
            size="small">

          </IconButton>
        </Tooltip>
    </NavLink>
  </Grid>

So no direct styling - just meant to be a plain and simple tooltip thingy. And they were working! Help! :)
"@material-ui/core": "^4.9.13",

Looking at your screenshot, the title prop is most likely missing.
Please provide a minimal reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!

Looking at your screenshot, the title prop is most likely missing.

Nope - <Tooltip title={Help.contactTip}> - that's the title prop, isn't it?
Indeed, if I magnify the desktop to 400% I can just about read the tip...

Please provide a minimal reproduction test case.

I did! This:
import { Tooltip } from '@material-ui/core'
.
.
.
 <Grid item container justify="flex-end" xs={4}>
    <NavLink to={Local.contact} className={classes.link}>
        <Tooltip title={Help.contactTip}>
          <IconButton
            color="primary"
            aria-label="Contact"
            component="span"
            size="small">

          </IconButton>
        </Tooltip>
    </NavLink>
  </Grid>

That's using "@material-ui/core": "^4.9.13".
Thanks!

We need to be able to reproduce the issue. I'm closing until we have a minimal live reproduction.

Closing? Nice work - great support.

I've switched to react-tooltip - that appears to be working nicely.

You can use this codesandbox to provide a reprodction: https://codesandbox.io/s/basicalerts-material-demo-forked-69cmi?file=/demo.tsx, it would help.

But I gave you a code snippet :(
Clearly, I have an issue, so closing the issue just because I haven't added a trivial example to the codesandbox (which I tried and does not reproduce the problem), is a bit poor IMHO.
It's a large working app' I'm working on, and their must be something about my setup that has broken Tooltip. I would have thought it would be in your interests to try and get to the bottom of it, rather than just closing the issue! I was trying to help!
Meanwhile, I have a working solution - react-tooltip.
Thanks again.

It could be coming from the style applied on the . Is the default font-size untouched?


📝 Computation Output (take 2!)

Problem:

Results reference the consortium document’s activeComputationInputs property, which is dynamic. This can cause interface explosions! :scream:
Computations need to be updated
Computation run meta is split across components
Result tables have a lot of data, making the interface cluttered

Solution: Solve the problems!
Testing: Run a couple computations. Confirm results look :+1:

Lil’ look at those collapsible results:

First one is un-collapsed by default.

4d9cc59434a2e7cfbe0aaa27dc686ad59b24c783 closes #138.


Revisit GPG signing

We need to revisit GPG signing for the Java pipeline. At the moment we are using the Maven GPG plugin version 1.6 which has a number of compatibility issues with more recent versions of GNU GPG. What I'd like to do is upgrade to version 1.7 of the plug-in that was just recently released which has fixes to address some of these compatibility issues.
At the same time I would like to change the way that the GPG signing key is supplied to the pipeline and how the passphrase is handled.

cc @JimSuplizio
This seems to have hit a lot this last release. Maybe one mitigation we can try is to add a retry loop if the connection fails. I couldn't find any options on gpg-connect-agent that allow us to increase the 5 second connection timeout but if we can figure out how to do that it could also work.

Someone from another team reached out to me today to learn more about the way we sign and publish. I explained our hacky workaround to the way the tools work here and in the process learned that the Maven GPG Signing plugin has not been updated (there are commits, but not updated package).  So as yet there is no 1.7 version of the plugin.
I'm going to close this down because looking at our telemetry I'm not seeing any instances of this failure in our pipelines anymore. The current hack we have right now is as good as any other hack until Maven GPG 1.7 ships.

//CC @weshaggard @mikeharder
I created a tools PR to retry the reloadagent up to 5x, waiting 10 seconds in between each attempt. I'm running java template release using a temporary PR to update the tools ref to point to my tools PR.


Undocumented breaking change in v1.17.0

Hi,
after bumping the rhai version on one of our crates, I noticed that there's an undocumented breaking API change here:
https://github.com/rhaiscript/rhai/pull/792/files#diff-15c660271c7e34c78e6b9f1c61305a7fcce209766894eb48d5b9b612cb52438fR180
resulting in:
   --> notifications-handlers/src/bin/rhai-handler.rs:563:35
    |
563 |     const SCOPE: Scope<'static> = Scope::new();
    |                                   ^^^^^^^^^^^^
    |
    = note: calls in constants are limited to constant functions, tuple structs and tuple variants

Thanks for catching this.  Weren't expecting a const scope being used anywhere, so Scope::new was changed from const to non-const to accommodate some internal data changes.
Is this critical for you?  Can you simply change the offending line?

Yes, I can. I only need to figure out what the least costly option is to address this.

Since an empty constant scope is essentially equivalent to Scope::new(), you can replace all usage of SCOPE with Scope::new(), which might be better down the road.
Scope changes to use ThinVec which does not have a const constructor... one should be added though.  I'll raise an issue.

Well, functionally that is equivalent. Architecturally the Scope::new() would now be bang in the middle in the execution path of a hot function.

Luckily there doesn't seem to be any performance impact from using Scope::new() in the hot path.

It is a pity that ThinVec::new is not const... they should be able to make it so.
But I believe using ThinVec is probably a better idea as it shrinks the size of Scope without significant performance impacts.

Luckily there doesn't seem to be any performance impact from using Scope::new() in the hot path.

That's expected, I guess? consts are essentially inlined into every usage place, so from the language's point of view, you had that Scope::new at the same place the whole time.

Well const data structures can simply be bit-copied, while Scope::new would require running a function.  Even when inlined, that's still way more instructions than just copying bits.

const items are not bit-copied (semantically - their creation can be optimized to bitwise copy, but so can be Scope::new itself). Using const as a value is exactly the same as using its definition at that place. That's what I was taking to say.

Closing this for now.  Feel free to reopen if there are further issues.


plato-2 运行报错

python3.6

PLATO-2 needs python3.7+ to work. Sorry we didn't specify in the readme.

换成 python3.7 正常。多谢


Uninstall with CLI

Is your feature request related to a problem? Please describe.
Since I can't use the installer, I used pnpm inject to install it instead.
Describe the solution you'd like
I'd like a pnpm uninject, so that I don't need to use the installer
Describe alternatives you've considered
I don't know how this works, and as such don't know what or how it installs it, so I don't know of any other way to uninstall this.

In the meantime, have you tried reinstalling Discord, and why can't you use the installer

The installer is just black and doesn't respond to anything

A separate CLI is in the work, using electron for a cli is not ideal


Not center in Bootstrap v4

Although Bootstrap v4 not formal released, its offset class change to  offset-md-3 format, without that "col-" prefix.  This cause jquery-confirm not align in the center of window.

Put customised columnClass option, fixed my issue. But guess my report is still worth a penny:). Thanks for your great library!
{
columnClass: 'col-md-4 offset-md-4',
}

Thanks for the report @GeniusWiki ,
Its worth adding docs about supporting bootstrap v4.


Add drake_ros_core package.

Spin off from #2. Includes Drake C++ systems for publishing and subscribing to ROS2 messages.

This change is

FYI @gbalke.

@IanTheEngineer friendly ping (or should I bump someone else for review?)

Uh, Reviewable didn't hyperlink commit hashes?

@hidmic could you please target the develop branch?

Only had to change the base branch :)


Need to get 10000+ rows from Hubspot.Companies table

Copy Activity allows to get tens of thousands of rows for some tables (for example, Hubspot.Contacts, Hubspot.Contacts_Identity_Profiles etc.), but an execution for Hubspot.Companies returns no more than 10.000 rows. Even "SELECT COUNT(*) FROM Hubspot.Companies" returns 10.000, but the table definitely contains more records (seen from the frontend)
Is there any limitation by table ?

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

ID: 4d9d4670-d8f7-2c1a-b93c-2d260f32ab84
Version Independent ID: 6756005b-8c21-9dac-3837-340b30565078
Content: Copy data from HubSpot using Azure Data Factory (Preview)
Content Source: articles/data-factory/connector-hubspot.md
Service: data-factory
GitHub Login: @linda33wj
Microsoft Alias: jingwang

@linda33wj can you please take a look at this?

@ChiragMishra-MSFT, @linda33wj any news ?

Hi @artsheiko, if SELECT (*) only returns 10,000 rows, then it is expected that COPY activity would only return 10,000 rows, because COPY uses SELECT query to extract the data out of Hubspot.  If you are seeing data discrepancy between ADF Copy and running SELECT query, then please raise a support ticket so we can look into whether there is an issue.
#please-close


Snapchat Spotlight support

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
Canada
Example URLs

Single video: https://story.snapchat.com/o/W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA
Single video: https://story.snapchat.com/o/W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA
Whole profile: https://story.snapchat.com/@koriee27

Description
On a single video, yt-dlp returns a .irzxsoy file, which is unplayable.
On a whole profile, yt-dlp returns an "Unsupported URL" error.
Verbose log
[debug] Command-line config: ['-Uv', 'https://story.snapchat.com/o/W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2<IP_ADDRESS> (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.22000-SP0
[debug] exe versions: ffmpeg 4.4.1-essentials_build-www.gyan.dev (setts)
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [generic] Extracting URL: https://story.snapchat.com/o/W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA
[generic] W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA: Downloading webpage
[generic] W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA: Extracting information
[debug] Looking for video embeds
[debug] Identified a JSON LD
[debug] Default format spec: bestvideo*+bestaudio/best
[info] W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA: Downloading 1 format(s): 0
[debug] Invoking downloader on "https://cf-st.sc-cdn.net/d/kKJHIR1QAznRKK9jgYYDq.27.IRZXSOY?mo=GlEaFRoAGgAiBgin0YOrBjIBBEgCUC5gAVoQU3BvdGxpZ2h0U2hhcmluZ6IBJQgbEhQKEiABSg4KCXExPzVNO1U-VRD0AyILEgAqB0lSWlhTT1k%3D&uc=46"
[download] Destination: Views 💕 [W7_EDlXWTBiXAEEniNoMPwAAYYWtidGhudGZpAX1TKn0JAX1TKnXJAAAAAA].irzxsoy
[download] 100% of 649.09KiB in 00:00

For single video, it works and correctly played in the master branch.
Log :
(python_proj) C:\Users\HobbyistDev\Documents\Program\python_proj\yt-dlp>python -m yt_dlp -v "https://story.snapchat.com/o/W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA"
[debug] Command-line config: ['-v', 'https://story.snapchat.com/o/W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd2508] (source)
[debug] Lazy loading extractors is disabled
[debug] Git HEAD: 9bfd2d10c
[debug] Python 3.11.1 (CPython AMD64 64bit) - Windows-10-10.0.22000-SP0 (OpenSSL 1.1.1q  5 Jul 2022)
[debug] exe versions: ffmpeg 5.1.2-full_build-www.gyan.dev (setts), ffprobe 5.1.2-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1762 extractors
[generic] Extracting URL: https://story.snapchat.com/o/W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA
[generic] W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA: Extracting information
[debug] Looking for embeds
[debug] Identified a JSON LD
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA: Downloading 1 format(s): 0
[debug] Invoking http downloader on "https://cf-st.sc-cdn.net/d/wlc5sbwMb4XpSRhQ2uwCo.27.IRZXSOY?mo=Gl0aFRoAGgAiBgi3iYWpBjIBBEgCUC5gAVoQU3BvdGxpZ2h0U2hhcmluZ6IBMQgbEiAKHiABShoKFXBQS2A-SVpYRB1QaJ0BqAFRNC0cExD0AyILEgAqB0lSWlhTT1k%3D&uc=46#__youtubedl_smuggle=%7B%22force_videoid%22%3A+%22W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA%22%2C+%22to_generic%22%3A+true%2C+%22http_headers%22%3A+%7B%22Referer%22%3A+%22https%3A%2F%2Fstory.snapchat.com%2Fo%2FW7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA%22%7D%7D"
[debug] File locking is not supported. Proceeding without locking
[download] Destination: Spotlight Snap [W7_EDlXWTBiXAEEniNoMPwAAYb2RjYmFwanZ3AXxakh7NAXxakhXgAAAAAA].mp4
[download] 100% of    1.47MiB in 00:00:02 at 602.27KiB/s

Media metadata can be retrieved in hydrated json (__NEXT_DATA__)


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Setpgid, PTY & “operation not permitted”

Here's a code snippet of running a bash script in a PTY:
pty-test.go
package main

import (
	"bytes"
	"fmt"
	"io"
	"os"
	"os/exec"
	"path"
	"sync"
	"syscall"

	"github.com/kr/pty"
)

func main() {
	wd, _ := os.Getwd()
	c := exec.Command(path.Join(wd, "pty-test.sh"))
	c.Dir = wd
	c.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}

	f, err := pty.Start(c)
	if err != nil {
		panic(err)
	}

	var wg sync.WaitGroup
	wg.Add(1)

	var buffer bytes.Buffer

	go func() {
		_, err = io.Copy(&buffer, f)
		if e, ok := err.(*os.PathError); ok && e.Err == syscall.EIO {
			// We can safely ignore this error, because it's just
			// the PTY telling us that it closed successfully. See:
			// https://github.com/buildkite/agent/pull/34#issuecomment-46080419
			err = nil
		}

		wg.Done()
	}()

	c.Wait()
	wg.Wait()

	fmt.Printf(buffer.String())
}

pty-test.sh
#!/bin/bash

echo "Oh hai there!"

Can anyone give me any pointers of what I may be doing wrong?
Thanks!

This code was working before, but then I updated to the latest kr/pty https://github.com/kr/pty/commit/f7ee69f31298ecbe5d2b349c711e2547a617d398 with the fix for pre-existing settings on c.SysProcAttr. Looks like before my call to Setpgid was doing nothing.

Just to double-check, /root/pty-test.sh didn't somehow get marked as not-executable right?
What happens if you use exec.Command("/bin/echo", "hello from echo") instead?

Yeah, I checked that as well (probably should have mentioned that in my bug report, sorry):
func main() {
        c := exec.Command("ls")
        c.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}

        // ...
}

Returns:
panic: fork/exec /bin/ls: operation not permitted

goroutine 1 [running]:
main.main()
	/root/pty-test.go:22 +0x147
exit status 2

And with the echo example:
panic: fork/exec /bin/echo: operation not permitted

goroutine 1 [running]:
main.main()
	/root/pty-test.go:22 +0x18b
exit status 2

I did the test on a fresh Ubuntu instance that I setup on Digital Ocean (all I did was install latest Go) to make sure it wasn't something on my system doing something funny. I also tried running as a non-root user, and got the same behaviour.

Cool, I reproduced it.
Short answer, you can just remove the Setpgid flag. Because pty sets the Setsid flag and according to the setsid man page on Ubuntu:

setsid()  creates  a new session if the calling process is not a process group leader.  The calling process is the leader of the new session, the process group leader of the new process group, and has no controlling terminal.

I'm still not exactly sure why the error message comes up, but the man page for setpgid says:

If setpgid() is used to move a process from one process group to another, … both process groups must be part of the same session (see setsid(2)) …

Browsing exec_linux.go in package syscall, we can see that it calls setsid before setpgid.
It seems to me that the setpgid call ought to succeed, but maybe setsid has something to do with it. Anyway, I think if you take out Setpgid you should be fine, because Setsid makes a new process group regardless.

@kr great! Thanks so much for clarifying :+1: happy for you to close the issue now (unless you want to leave it open for further investigation)

Cool. I'm glad it worked out ok. :smiley:


Replace constructor_with_series with constructor

We need to simplify the test strategy ahead of #645
The task in this issue is:

make a new branch, make sure it's up to date with upstream/main
find a test file which uses constructor_with_series
replace it with constructor. You may need to do some adjusting. For example, instead ofs = nw.from_native(constructor_series([1, 2, 3]), series_only=True)

you can dos = nw.from_native(constructor({'a': [1, 2, 3]}), eager_only=True)['a']

Example pull request: https://github.com/narwhals-dev/narwhals/pull/646, and https://github.com/narwhals-dev/narwhals/pull/649

closed by #650


test: ignore resource group destroy

Description
Due to issues with resource group deletion (reclamation issues), this change will cause all unit tests to ignore destroy of resource groups created by using the ImplicitDestroy feature of ibmcloud-terratest-wrapper, which will remove the resource groups from terraform state before destroy.
Because there is no ImplicitDestroy feature for Schematics tests, those unit tests have been moved from PR tests into the "Other" tests so that this resource group delete issue does not block pull requests.
Release required?

[x] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

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

GitHub release
v5.11.1

Your semantic-release bot :package::rocket:


fix rename GUI, fix outdated warnings

I don't like the way wpf works: everything compiles fine, but crashes at runtime :(


Is there a maximum of lines?

Is there a maximum of lines?
Is there an option to set to free memory?

Hey Guilherme, there is a maximum size of the underlying buffer - 16k characters - see here.
There is not a public option to set it.

So after this it will discard the old ones, right?

So after this it will discard the old ones, right?

Correct :)


Use a hashed key when the URL is too long

The filesystem doesn't support names longer than 255 chars, when that happens the file is not saved, rendering the disk cache useless.
This fixes that by creating a hashed key in those cases.

I think the issue should be addressed in PINCache. Or at the very least, PINCache should throw an exception if you try and use a key that is too long.
Separately, cacheKeyForURL is called on the main thread, so I'd be concerned that this could cause performance issues.

Agreed that PINDiskCache should throw an exception.
The problem with addressing it in PINCache (And that's the first I looked to fix it in) is that it means to change the keys internally to some canonical form, and then use that form in both the memory and disk cache.
Also, PINDiskCache uses the key as the file name and even performs a "decoding" of the path to get the key, so it is not possible to internally address the issue in that class without changing the key and therefore going up the chain.
To enforce a key length limit needlessly restricts the usage of the API when a potential user might not need the disk cache.
Lastly, this issue is directly related to URLs, hence why I think the best address it completely at this level.
About the performance concerns:
At any level that we solve this, key Creation is synchronous so we will eventually hit the main thread anyways.
I suggest adding a NSCache to perform the key calculation the least times possible. And also, as you might see, it only hits keys which are very large and likely to not be working anyways.
Thoughts?
On 18 Apr 2016 18:55 +0200, Garrett<EMAIL_ADDRESS>wrote:

I think the issue should be addressed in PINCache. Or at the very least, PINCache should throw an exception if you try and use a key that is too long.
Separately, cacheKeyForURL is called on the main thread, so I'd be concerned that this could cause performance issues.
—
You are receiving this because you authored the thread.
Reply to this email directly orview it on GitHub(https://github.com/pinterest/PINRemoteImage/pull/189#issuecomment-211471890)

My biggest concern is calculating a SHA on the main thread. You're right that it will only occur in cases where the items would be dropped from the disk cache, but we'll be blocking to calculate the SHA even when the item is in the memory cache.
If there's no way to reduce the complexity, an NSCache might mitigate the performance effects, but I'd rather find a way to reduce the performance effects across the board.
SHA is designed for cryptographic use. There must be better hashing algorithms that aren't optimized for cryptography?

True that...
two algorithms come to mind, MurmurHash3 and MD5.
Murmur is slightly faster (http://blog.httrack.com/blog/2013/07/19/md5-is-your-friend/) in hashing small keys (as in URLs) but MD5 is readily available in CommonCrypto and means not having another dependency. The difference is negligible.

You present a compelling argument, MD5 is probably reasonable and we can improve it in the future if it comes up.
Can you switch it to MD5 and add unit tests? I've opened an issue on PINCache: https://github.com/pinterest/PINCache/issues/80

Oh! You'll also need to add common crypto as a dependency in the podfile

Will do, tomorrow.
About the dependency, I meant an external one, and you are right, forgot to commit that!

I understood about the dependency :)

CommonCrypto is not a framework and as such apparently it is included in the default loaded libraries. The tests run fine without a change in the podspec. I don't know how to trigger the CI again but it says it failed because I previously pushed a change in the podspec which broke the linting

Yeah, I don't know what's up with the tests. I'll get them figured out.


identity topUp throws: "invalid transaction: min relay fee not met"

trying to topUp an identity throws the following error:
node topUp.js
warn: Running on a NodeJS env without any specified adapter. Data will not persist.

Error: 3 INVALID_ARGUMENT: invalid transaction: min relay fee not met, 1000 < 1105 (code 66). Code:-26
    at Object.exports.createStatusError (rates/node_modules/grpc/src/common.js:91:15)
    at Object.onReceiveStatus (rates/node_modules/grpc/src/client_interceptors.js:1209:28)
    at InterceptingListener._callNext (rates/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (rates/node_modules/grpc/src/client_interceptors.js:618:8)
    at InterceptingListener._callNext (rates/node_modules/grpc/src/client_interceptors.js:574:12)
    at InterceptingListener.onReceiveStatus (rates/node_modules/grpc/src/client_interceptors.js:618:8)
    at callback (rates/node_modules/grpc/src/client_interceptors.js:847:24) {
  code: 3,
  metadata: Metadata {
    _internal_repr: {
      server: [ 'nginx/1.19.7' ],
      date: [ 'Thu, 01 Apr 2021 08:27:35 GMT' ],
      'content-length': [ '0' ]
    },
    flags: 0
  },
  details: 'invalid transaction: min relay fee not met, 1000 < 1105 (code 66). Code:-26'
}

Tested for topUp amounts from 1e6 to 1e8

Discussed in triage. Alex to attempt to reproduce and aim for a fix priority post v21.

Already in progress (one bit of work done here https://github.com/dashevo/wallet-lib/pull/305). Aiming to complete this soon after v21.


Only set FLAG_SPELLING if query flags demand spelling correction

With FLAG_SPELLING Xapian::TermGenerator::index_text calls internal
functions which will write into the spelling database.
This prevents concurrent building of multiple instances of
Xapian::Document.

Thanks 👍


add dyn_Bzero warning

add warning so dyn_Bzero cannot be selected as depletion denominator unless first selected in extra_std
Please Link issue(s)
#69
resolves #[add issue number number], resolves #[optional second issue number if more than 1 issue addressed.]
#69
What tests have been done? Upload any model input files created for testing in a zip file, if possible.
warning appears if erroneous setup is used
What tests/review still need to be done? Who can do it, and by when is it needed (ideally)?
none
Has any new code been documented?
of course
If not, please add documentation before submitting the Pull Request.

[X] I have documented any new code added (or no new code was added)

is there an input change for users to Stock Synthesis?
no
If so, please provide an example of the new inputs needed.
[New example stock synthesis input goes here]

Check which is true. This PR requires:

[X] no further changes to r4ss
[X] no further changes to the manual
[X] no further changes to SSI (the SS3 GUI)
[X] no further changes to the stock synthesis change log (new features, bug reports)

Describe any changes in r4ss/SS3 manual/SSI that are needed (if not checked):
If changes are needed in the change log, please fill in the table here:

Action
Topics
Type

[fix, new, or revise]
[e.g., biology. Use issue label options.]
[input, output, and/or calc, or ALL]

Additional information (optional):

Elizabeth - this is a very straightforward change.  Can you review then approve the PR?


Error when run from android studio

I'm getting the following error when i compile and run it on my Galaxy s5. When install from google play it works just fine.
java.lang.RuntimeException:
Unable to get provider android.support.v4.content.FileProvider:
java.lang.ClassNotFoundException:
Didn't find class "android.support.v4.content.FileProvider" on path:
DexPathList[[zip file "/data/app/io.plaidapp-2/base.apk"],nativeLibraryDirectories=[/data/app/io.plaidapp-2/lib/arm, /vendor/lib, /system/lib]]

¯_(ツ)_/¯
That class is part of the support lib – do you get any build errors from gradle?


lib.systems.inspect.patterns.isGnu: init

This allows checking e.g. stdenv.hostPlatform.isGnu, just like isMusl or isUClibc.  It was already possible to check for glibc with stdenv.hostPlatform.libc == "glibc", but when that doesn't line up with how every other platform check works, this is apparently sufficiently non-obvious that we've ended up with stuff like adding glibc.static if !isMusl, which is obviously wrong.

Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

The only thing that gives me pause is, should isGNU means something more expansive like GCC + Glibc + Coreutils, etc.? I can just hear the "GNU/linux" partisans weeping, hah.
I suppose we have isGNU not isGCC already, but maybe it would be better to change that to be isGCC and make this isGlibc?
Also, as there person that made is* in the first place, I didn't expect them to proliferate this much. (I was expecting more the underlying matchAttrs with custom "patterns" to be used. The is* encourages a sort of boolean blindness more than the libc == ... I think, because the latter emphasizes there are potentially many choices / open world. So I would be fine just getting rid of isMusl too :).

isGlibc would be less accurate, because this also returns true for mingw, which also uses the GNU ABI.  So actually the example I gave was misleading, and that should be a libc == "glibc" check.
I can see what you mean about the problem with the is* attributes, but I think it's worth it for the readability and easiness they provide.  Ultimately, the problems we have with portability mostly come down to people not thinking about what all the combinations are, and the is* functions are useful in that they do at least let you see a bit list of possibility, and they protect against string comparisons which could end up with typos that mean they'll never work correctly, etc.
What do you think?


Column Level Badging Through API

The only way to add badges to columns currently is through the databuilder and there is only API support for tables. It would be great to provide API support for column level badging.
Expected Behavior or Use Case
Defining badges to the metadata config and config-custom.ts in the amundsenfrontendlibrary should stay the same. Ability to badge columns with a similar curl command like: curl -X PUT https://{your metadata url}/column/{column key}/badge/{badge name}?category={badge category}.
Where the column key would be in the format: datasource://database.schema/table/column (e.g. hive://gold.testschema/testtable)
Service or Ingestion ETL
This is within the amundsenmetadatalibrary.
Possible Implementation
I believe adding this to metadata_servie/api/column.py would be most of the code:
class ColumnBadgeAPI(Resource):
    def __init__(self) -> None:
        self.client = get_proxy_client()
        self.parser = reqparse.RequestParser()
        self.parser.add_argument('category', type=str, required=True)
        super(ColumnBadgeAPI, self).__init__()

        self._badge_common = BadgeCommon(client=self.client)

    @swag_from('swagger_doc/badge/badge_put.yml')
    def put(self, id: str, badge: str) -> Iterable[Union[Mapping, int, None]]:
        args = self.parser.parse_args()
        category = args.get('category', '')

        return self._badge_common.put(id=id,
                                      resource_type=ResourceType.Column,
                                      badge_name=badge,
                                      category=category,
                                      column_name=column_name)

    @swag_from('swagger_doc/badge/badge_delete.yml')
    def delete(self, id: str, badge: str) -> Iterable[Union[Mapping, int, None]]:
        args = self.parser.parse_args()
        category = args.get('category', '')

        return self._badge_common.delete(id=id,
                                         resource_type=ResourceType.Column,
                                         badge_name=badge,
                                         category=category,
                                         column_name=column_name)

And adding this resource to the metadata_service/__init__.py:
    api.add_resource(ColumnBadgeAPI,
                     '/table/<path:id>/column/<column_name>/badge/<badge>')

I also see this TODO in the badge.py file: https://github.com/amundsen-io/amundsenmetadatalibrary/blob/master/metadata_service/api/badge.py#L56
Context
Being able to hit the API for low-effort badge assignment would be helpful when there are minimum amount of badges to assign.

both prs are merged now. thanks @alldoami for the contribution!


VBA-Docs/api/Word.Styles.Add.md contains cut & paste errors

The  VBA-Docs/api/Word.Styles.Add.md have not been created correctly. It is incorrectly just a cut & paste from the HeadingStyles.Add method.

Is the information at https://docs.microsoft.com/en-us/office/vba/api/word.styles correct?

From the object page, I determined that indeed it was a bad copy/paste, and I fixed it according to the info on the object page. You can see the results in Git here: https://github.com/MicrosoftDocs/VBA-Docs/blob/master/api/Word.Styles.Add.md. Changes will be live in a few days or so...
Thanks for finding this.


Report State Changes is reporting updates not changes

Describe the bug
if activating the "Report changes" function in the states setting, every update is sent. So either this option needs to be renamed, the way it works needs to be corrected, or better: a choice between "Report changes" and "Report Updates" should be implemented.
Versions:

Adapter version: v1.13.0
JS-Controller version: v4.0.23
Node version: v12.22.10
Operating system: debian - docker

Additional context
was already addressed in #190

Now you have an option:

fixed according to @GermanBluefox.
Please drop a note or open a new issue if further problems exist.


Allow some customization of terminal attributes

See @krader1961's comment in #706.

To improve the likelihood a search will find this issue below is the last comment I made in issue #706. The key point is that we want to allow the user to modify some tty attributes (typically via the stty command) but ensure that the tty is in a usable state when Elvish is running. The latter is to guard against programs which do not, or cannot (e.g., due to SIGKILL), restore the tty attributes when they exit.
===
The fish shell issue I linked to has two main schools of thought. I have seen people propose that fish should assume the tty is in a sane state and if it isn't require the user to type things like stty sane [ctrl-j]. Even for a grey beard like myself who was accustomed to typing that at least once a week back in the 1990's that proposal is absurd. The more sensible approaches are:

Use a whitelist of tty attributes the user can change. Things like the magic chars like stty intr (the c_cc[VINTR] termios structure member) would be whitelisted.

Use a blacklist of tty attributes it never makes sense for the user to change. This would include things like the ICANON flag.

 I prefer option 1. Primarily because in practice the only things these days that users seem to want to change are the canonical mode special chars. I can't recall the last time I needed to, or heard of anyone else needing to, change attributes like the parity, or enable translating uppercase to lowercase, or having the tty driver convert tabs to spaces. The only exception to this is enabling or disabling software flow control.
The problem with a way to signal to elvish that it should "run this command, and retain the terminal settings it makes" is it will be hard to discover. Yes, to the extent the whitelist and blacklist approaches might surprise a user who deliberately attempts to do stty -icanon, for example, I would argue that user deserves to be surprised :smile: The solution might be to display a warning message that the tty was not in a sane state and elvish corrected the problem.


chore(release): v0.1.2

:robot: I have created a release beep boop
0.1.2 (2023-03-04)
Bug Fixes

indexes list can not scrollable. (0956552)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/riccox/meilisearch-ui/releases/tag/v0.1.2 :sunflower:


Payload does not handle DateTime type as expected

I have registered a Payload type for a simple class:
JsonapiSpecHelpers::Payload.register(:course) do
  key(:name, String)
  key(:description, String)
  key(:next_start_time, DateTime)
end

And I have written an RSpec test based on the #show template:
require 'rails_helper'

RSpec.describe "courses#show", type: :request do
  let(:params) { {} }

  subject(:make_request) { jsonapi_get "/api/v2/courses/#{course.id}", params: params }

  describe 'basic fetch' do
    before { login_as_user }
    let!(:course) { create(:course, description: 'A test course', next_start_time: '2018-07-01 06:00:00') }

    it 'serializes the resource correctly' do
      make_request
      assert_payload(:course, course, json_item)
    end
  end
end

When I run the test, the result is:
Expected JSON payload key 'next_start_time' to have type DateTime but was String
./spec/controllers/api/v2/courses/show_spec.rb:14:in `block (3 levels) in <main>'
-e:1:in `<main>'

I get the same response if I parse the string in advance, like so:
let!(:course) { create(:course, description: 'A test course', next_start_time: DateTime.parse('2018-07-01 06:00:00')) }

The test passes if I change the registration in the Payload registry to indicate that next_start_time is a String.
I would have expected if a key is registered as DateTime in the Payload registry, the test suite would attempt to parse the JSON response string to determine if it was a valid datetime.

I agree with your expected behavior - we should treat DateTime as a specially-formatted string and parse it. Probably won't get to this in the near-term but would love to see a PR for it. I think the logic would go here.


Implement JPA opcode

This is a reasonably good starter issue because we already implemented SKM (in op_jump.rs) and this jump instruction will have a similar instruction, but a simpler condition (the comparison part is already implemented in the base crate, too).
JPA is described on page 3-32 of the Users Handbook: http://www.bitsavers.org/pdf/mit/tx-2/TX-2_UserHandbook_ch3.pdf


Group Header has to checked if any one of the Child checkbox is checked and How to Customize C-badge

Hi CuppaLabs,
I am really happy when I found "angular2-multiselect-dropdown" packages and it helped a lot for my development. Could you please help me to enhance the below new features based on my requirement. Much appreciated in advance for your help on this.

Please find below screen that we have selected Petrol under Car Group, so the requirement is that "Car has to select if  we select any one of the Child check box selected" that means, Group header check box has to checked if any one of the child checkbox has selected.

Please find below screen that we have "Petrol, Diesel & Electricity" items and we have selected Petrol under "Bus & Car" but we need to display only one Badge for Petrol even though we selected two Petrol items in different Group. Could you please help to do this enhancement

Please let me know if you need any more details.
Thanks.
LaRis.

@CuppaLabs , Could you please someone from your team help me on the above requirements.
Thanks,
Madhu.

@CuppaLabs, Could you please someone from your team help me on the above requirements.
Thanks,
LaRis.

@LaRis742 Will be fixed shortly.

@CuppaLabs , Thanks for working on this. Could you please let me know once it is fixed so that I will verify and will confirm to you.

@CuppaLabs , Could you please save my life and I am waiting for this changes since 10 days.
Please find below Dataset for your reference to do Unit test on your change once you have done the changes.
Component:
this.settings = {
singleSelection: false,
text: "Select Fields",
selectAllText: 'Select All',
unSelectAllText: 'UnSelect All',
enableCheckAll: true,
searchPlaceholderText: 'Search Fields',
enableSearchFilter: true,
badgeShowLimit: 5,
groupBy: "category",
};
this.itemList = [
  { "id": 1, "itemName": "Diesel", "category": "Bus" },
  { "id": 2, "itemName": "Petrol", "category": "Bus" },
  { "id": 3, "itemName": "Diesel", "category": "Car" },
  { "id": 4, "itemName": "Petrol", "category": "Car" },
  { "id": 5, "itemName": "Electricity", "category": "Car" },
  { "id": 6, "itemName": "Petrol", "category": "Bick" }
];

this.selectedItems = [
  { "id": 1, "itemName": "Desiel" },
  { "id": 2, "itemName": "Petrol" },
  { "id": 4, "itemName": "Petrol" }

];
Template
    <angular2-multiselect [data]="itemList" [(ngModel)]="selectedItems" [settings]="settings">
    </angular2-multiselect>

@CuppaLabs , Could you please help on this to get it fixed.

I believe the two points you raised have some merit, but I find both of them to be invalid.

The header checkbox shouldn't be checkable [X] if only one child is selected. It should only be checked when all of the children are selected.

If there are two different groups with the same child, data binding should handle this situation. The child should not be selected twice but displayed only once.


Dev version not published for @azure/arm-resources preventing daily docs

Build error -- https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1002739&view=logs&j=b1e79959-24d8-5aa9-2799-72d40c3e051b&t=616ae03f-d350-5ea1-2948-454bf182d472
Write-Error: Found non alpha version artifact to publish as dev version. Failing publish step. VersionPolicy should be client or core in rush.json to get alpha version build.

Closing in favor of #16457


Controller still consumes baseUsage when turned off.

Issue description:
When changing the Server config so that a controller has a base power usage larger than 0 it will continue using power when turned off.
What happens:
consumes power while turned off
Steps to reproduce:

change config
place, charge and turn off the controller.
watch power bar go down
...

Version (make sure you are on the latest version before reporting):

Minecraft: 1.15.2/1.14.4
Forge:31.1.36
Refined Storage: 1.8.1

Thanks!

Np!


The rise of decentralized finance (DeFi) and its implications for traditional finance systems

Introduction to Python Programming: Basics, Data Types, and Control Structures

I have taken up this


Azure Functions - Python functions out of date

Learn / Reference  / Functions / azure-functions / Classes:
https://learn.microsoft.com/en-us/python/api/azure-functions/azure.functions?view=azure-python#classes
On the Classes section, WsgiMiddleware information is included, but AsgiMiddleware is missing, having no information at all.
AsgiMiddleware is supported, as can be seen here: https://learn.microsoft.com/en-us/samples/azure-samples/fastapi-on-azure-functions/azure-functions-python-create-fastapi-app/

Thanks for  informing will update on this.

We are working on it and will have update asap.


mongodb stopped starting

The last refresh of the last 3 days caused the snap wekan that was running without trouble for the last 4 months to stop working.
It seems there is a conflict for the setup of MONGO_URL between the mongodb instance and the wekan instance. I could fix one or the other by setting the appropriate wekan variable but not both at the same time.
The error is the following:
2020-01-05T15:43:03Z wekan.wekan[2903686]: MONGO_URL=mongodb:///var/snap/wekan/current/share/mongodb-27019.sock/wekan
2020-01-05T15:43:04Z wekan.wekan[2903686]: /snap/wekan/698/programs/server/node_modules/fibers/future.js:280
2020-01-05T15:43:04Z wekan.wekan[2903686]: 						throw(ex);
2020-01-05T15:43:04Z wekan.wekan[2903686]: 						^
2020-01-05T15:43:04Z wekan.wekan[2903686]: MongoParseError: No hostname or hostnames provided in connection string
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at parseConnectionString (/snap/wekan/698/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/uri_parser.js:607:21)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at connect (/snap/wekan/698/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/operations/mongo_client_ops.js:195:3)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at connectOp (/snap/wekan/698/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/operations/mongo_client_ops.js:284:3)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at executeOperation (/snap/wekan/698/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/utils.js:416:24)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at MongoClient.connect (/snap/wekan/698/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/mongo_client.js:175:10)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at Function.MongoClient.connect (/snap/wekan/698/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/mongo_client.js:341:22)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at new MongoConnection (packages/mongo/mongo_driver.js:177:11)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at new MongoInternals.RemoteCollectionDriver (packages/mongo/remote_collection_driver.js:4:16)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at Object. (packages/mongo/remote_collection_driver.js:38:10)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at Object.defaultRemoteCollectionDriver (packages/underscore.js:784:19)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at new Collection (packages/mongo/collection.js:97:40)
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at packages/idmontie_migrations.js:38:15
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at packages/idmontie_migrations.js:255:4
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at packages/idmontie_migrations.js:263:3
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at /snap/wekan/698/programs/server/boot.js:398:38
2020-01-05T15:43:04Z wekan.wekan[2903686]:     at Array.forEach ()
2020-01-05T15:43:04Z systemd[1]: snap.wekan.wekan.service: Main process exited, code=exited, status=1/FAILURE
2020-01-05T15:43:04Z systemd[1]: snap.wekan.wekan.service: Failed with result 'exit-code'.
fixing MONGO_URL to something with a hostname will clear up that error but create another one when starting mongodb itself.

Try:
sudo snap unset wekan SOME-SETTING-HERE

no, it did not work.
The only solution that I have found is to install a separate mongodb
instance and ask the wekan in snap package to use it.
On 1/5/20 4:48 PM, Lauri Ojansivu wrote:

Try:
|sudo snap unset wekan SOME-SETTING-HERE |
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wekan/wekan-snap/issues/115?email_source=notifications&email_token=ABYR72Y36PBNFMFDJKUWSUTQ4H6MDA5CNFSM4KC32GJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIDZT5I#issuecomment-570923509,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYR7246CM3YNXJUH7FNIN3Q4H6MDANCNFSM4KC32GJQ.

@lavaux
You could try to reinstall Wekan:
https://github.com/wekan/wekan-snap/issues/103#issuecomment-571064587
Some future Snap version will probably upgrade mongodb version if older ones become incompatible with newest Meteor/Node.

@lavaux
What are your current Snap settings? Please anonymize urls/passwords before posting.
sudo snap get wekan

For example, locally I have these settings:
$ sudo snap get wekan
Key                         Value
caddy-enabled               false
mongodb-bind-ip             <IP_ADDRESS>
port                        2000
richer-card-comment-editor  false
root-url                    http://<IP_ADDRESS>:2000

At server, I have these settings:
$ snap get wekan
Key                     Value
caddy-enabled  true
port                    3001
root-url                https://boards.example.com

At /var/snap/wekan/common/Caddyfile are these settings:
https://boards.example.com {
        tls {
            alpn http/1.1
        }

        proxy / localhost:3001 {
          websocket
          transparent
        }
}

Alternative Caddyfile with CloudFlare or other SSL certs (no Let's Encrypt certs)
http://boards.example.com https://boards.example.com {
        tls {
            load /var/snap/wekan/common/certificates
            alpn http/1.1
        }

        proxy / localhost:3001 {
          websocket
          transparent
        }
}

$ sudo snap get wekan
Key                       Value
debug                     false
disable-mongodb           true
mail-from<EMAIL_ADDRESS>mail-url                  smtp://smtp.iap.fr:25
mongo-url                 mongodb://<IP_ADDRESS>:27021/wekan
mongodb-bind-unix-socket  nill
mongodb-port              27021
port                      3001
root-url                  https://www.aquila-consortium.org/wekan
The server is behind a reverse proxy. But the problem is not with the
Caddyfile. It is starting the mongodb instance and getting wekan to talk
to that server. Something changed with the snap package after December
30th 2019. Previous configuration was perfectly running.
I had to set the mongo-url in the above to access the outside instance.
On 1/6/20 10:51 AM, Lauri Ojansivu wrote:

For example, locally I have these settings:
|$ sudo snap get wekan Key Value caddy-enabled false mongodb-bind-ip
<IP_ADDRESS> port 2000 richer-card-comment-editor false root-url
http://<IP_ADDRESS>:2000 |
At server, I have these settings:
|$ snap get wekan Key Value caddy-enabled true port 3001 root-url
https://boards.example.com |
At |/var/snap/wekan/common/Caddyfile| are these settings:
|https://boards.example.com { tls { alpn http/1.1 } proxy /
localhost:3001 { websocket transparent } } |
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wekan/wekan-snap/issues/115?email_source=notifications&email_token=ABYR725BBQFPFQ5SIZUD65DQ4L5ITA5CNFSM4KC32GJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIE6TAA#issuecomment-571074944,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYR724XKB3IN5UREORJ6ZLQ4L5ITANCNFSM4KC32GJQ.

@lavaux
What Linux version are you running? Have you installed latest apt/yum updates?
Are you running at some platform that has limited kernel, like OpenVZ/OVH/Kimsufi ?
I don't currently have any problem installing Wekan on newest Ubuntu and Debian 64bit.

I am not running on limited platform. It is a full baremetal server that
I physically control running Fedora 31.
The problem is that the mongodb in the snap is failing to start if I do
not set mongodb-bind-unix-socket to something sane:
Jan 07 07:46:51 athos.iap.fr mongod.27021[3589545]: [initandlisten]
build environment:
Jan 07 07:46:51 athos.iap.fr mongod.27021[3589545]: [initandlisten]
distmod: ubuntu1604
Jan 07 07:46:51 athos.iap.fr mongod.27021[3589545]: [initandlisten]
distarch: x86_64
Jan 07 07:46:51 athos.iap.fr mongod.27021[3589545]: [initandlisten]
target_arch: x86_64
Jan 07 07:46:51 athos.iap.fr mongod.27021[3589545]: [initandlisten]
options: { net: { bindIp: "<IP_ADDRESS>", port: 27021 }, storage: { dbPath:
"/var/snap/wekan/comm>
Jan 07 07:46:51 athos.iap.fr mongod.27021[3589545]: [initandlisten]
listen(): bind() failed errno:2 No such file or directory for socket:
/tmp/mongodb-27021.sock
Jan 07 07:46:51 athos.iap.fr mongod.27021[3589545]: [initandlisten]
Failed to set up sockets during startup.
So I tried a fresh install on a different computer (also running Fedora
31). The fresh install was running ok (I do not know why there is not
the above error). But if I set with 'snap set wekan
mongodb-bind-unix-socket=/var/snap/wekan/current/share' then, I get the
following error (on a freshly installed and working snap wekan):
2020-01-07T06:55:01Z wekan.wekan[21051]:
MONGO_URL=mongodb:///var/snap/wekan/current/share/mongodb-27019.sock/wekan
2020-01-07T06:55:01Z wekan.wekan[21051]:
/snap/wekan/714/programs/server/node_modules/fibers/future.js:280
2020-01-07T06:55:01Z wekan.wekan[21051]: throw(ex);
2020-01-07T06:55:01Z wekan.wekan[21051]: ^
2020-01-07T06:55:01Z wekan.wekan[21051]: MongoParseError: No hostname or
hostnames provided in connection string
2020-01-07T06:55:01Z wekan.wekan[21051]:     at parseConnectionString
(/snap/wekan/714/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/uri_parser.js:607:21)
2020-01-07T06:55:01Z wekan.wekan[21051]:     at connect
(/snap/wekan/714/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/operations/mongo_client_ops.js:195:3)
2020-01-07T06:55:01Z wekan.wekan[21051]:     at connectOp
(/snap/wekan/714/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/operations/mongo_client_ops.js:284:3)
2020-01-07T06:55:01Z wekan.wekan[21051]:     at executeOperation
(/snap/wekan/714/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/utils.js:416:24)
2020-01-07T06:55:01Z wekan.wekan[21051]:     at MongoClient.connect
(/snap/wekan/714/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/mongo_client.js:175:10)
2020-01-07T06:55:01Z wekan.wekan[21051]:     at
Function.MongoClient.connect
(/snap/wekan/714/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongod
On 1/6/20 11:02 AM, Lauri Ojansivu wrote:

@lavaux https://github.com/lavaux
What Linux version are you running? Have you installed latest apt/yum
updates?
Are you running at some platform that has limited kernel, like
OpenVZ/OVH/Kimsufi ?
I don't currently have any problem installing Wekan on newest Ubuntu
and Debian 64bit.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wekan/wekan-snap/issues/115?email_source=notifications&email_token=ABYR723GLA4DUZ3NDBGZDQTQ4L6TBA5CNFSM4KC32GJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIE7QCY#issuecomment-571078667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYR724KIYPCLU5TP45J37DQ4L6TBANCNFSM4KC32GJQ.

Moved to #103


Combine with BMM150 and BMP38x

Hello everyone,
with the older BMI family it was possible to combine the IMU with a geomagnetic sensor. According to the datasheet of the BMI088 it seems like this is still possible (?) and the new BMP sensors can also be used to improve accuracy (?). Please clarify how those product are compatible to each other and if there will be API changes to reflect this.
Thanks

Hi @feliwir,
This is definitely possible with the BMI088. We haven't released the relevant APIs yet for the same. We will include this in our backlog and notify you when published.

@feliwir,
Note that only one auxiliary sensor can be operated at a time.

@BoschSensortec
When i can only use one auxiliary sensor i am wondering which one you'd recommend to get the best possible results from the BMI. Is the BMM or the BMP the preferred choice?

@feliwir,
The BMM is preferred over the BMP for primarily 2 reasons,

The BMM is a sensor that contributes to the orientation sensing like the BMI. It is better to have these sensors in closer sync.
The BMM has output data rates similar to that of the BMI (BMP3 has some overlapping ODRs too)

Hi @feliwir,
Sorry to inform you, but the auxiliary sensor feature is not available for the BMI08x series as the relevant pins are not broken out.

@boschsensortec
Very sad to hear this, since it was promoted in the flyer. I spent the last days designing footprints for the BMI088 in circuitmaker, but it seems like i should go with the BMI160 now....

This is very misleading in case the auxiliary interfaces really don’t work

Hi @feliwir,
The intended meaning here is as an additional sensor and not as an auxiliary sensor. We will make it clear in the flyer.


Add new time grain and time range configs to dashboard YAML

For metrics views (dashboards), we currently support passing a list of time_grains. We want to support more configurability here:

[ ] Change the MetricsView.time_grains proto to use the TimeGrain enum instead of strings (and change frontend accordingly). It might make sense to move the TimeGrain enum into the catalog.proto file.
[ ] Add a default_time_grain key in YAML and the internal representation
[ ] Add a default_time_range key in YAML and the internal representation. It should support setting a recency interval (e.g. "10 days") or "all time".

Before building this, please suggest some ideas for what the YAML and internal representation could look like.

Resources:

The internal representation of metrics views are defined in proto/rill/runtime/v1/catalog.proto
The logic parsing YAML into internal representation is in services/catalog/artifacts/yaml

#1704 is related

First 3 items need to be done here - https://github.com/rilldata/rill-developer/issues/1704

@begelundmuller have few questions -

In object.go we have intermediate representation of artifacts like MetricsView etc. is it because yaml.Unmarshal and yaml.Marshal does not work on proto structs and expects all the fields to be simple like strings, bools etc.
default_time_grain is already present in yaml and internal object but I think it will be needed in proto message as well.
For representing default_time_range we already one enum named TimeRangeName in api.proto, I believe we can use that in proto message. For yaml we can predefine strings to be used like 10 days, 1 day, 6 hours since its free form it might be good to give suggestions here in the sql editor and also fail validation if its not correct. Other way is to use ISO 8601 representation like P10D , P6H etc. but then user can write any arbitrary duration here. Actually same goes for time grain as well, how does user know the acceptable values.

It's a good question. Currently, the mapping is close to 1-to-1, but that might not always be the case. The internal representation may be more explicit. E.g. in YAML, we might put sample: 10 MB and in internal representation it would be something like {sample: {strategy: head, bytes: 10000000}}. In future, we might also add more code file compilers (like SQL in addition to YAML), but the internal representation should stay the same. I think of it a bit like the difference between an AST type and a logical type in SQL.

Side note: the current YAML parsing and mapping to internal representation is slightly confusing now (the copier is a bit too much magic IMO), but let's not touch that now – we can tackle it when improving reconcile

Good catch, not surprised if some of this logic is halfway there
Good observation. We haven't given much thought to this previously, but it would be good to solve this the right way (@nishantmonu51 agrees). I like the idea of using the ISO 8601, and then the frontend can map it up to nice names to guide the user (if the user overwrote the YAML with a custom range, we could just show "custom range" in the UI). (Invalid grains or ranges should return an error when parsing the YAML.)

I thought some more about time ranges in general. For a flexible design, we would need to support:

All time
All time until T
All time after T
T +/- offset
current time +/- offset

The ISO 8601 spec has a section on time intervals that appears useful. For example, we could slightly extend it to do something like:
default_time_range: / # all time
default_time_range: 2020-01-01/2021-01-01 # 1st Jan 2020 to 2021
default_time_range: /2021-01-01 # all time until 1st Jan 2021
default_time_range: P-30D # last 30 days relative to now() at eval time
default_time_range: P30D/2020-01-01T00:00:00Z // 30 days lead up to 1st Jan 2020
...

For the internal representation, we would have some different options:
// Option 1
string default_time_range = 1;

// Option 2
message TimeRange {
  google.protobuf.Timestamp start_time = 1; // nil means since all time
  google.protobuf.Timestamp end_time = 2; // nil means until all time
  string offset_duration = 3;
}
TimeRange default_time_range = 1;

// Option 3
message TimeRange {
  google.protobuf.Timestamp start_time = 1; // nil means since all time
  google.protobuf.Timestamp end_time = 2; // nil means until all time
  int64 year_offset = 3;
  int64 month_offset = 4;
  int64 week_offset = 5;
  int64 day_offset = 6;
  int64 hour_offset = 7;
  int64 minute_offset = 8;
  int64 second_offset = 9;
}
TimeRange default_time_range = 1;

There are probably some trade-offs on how the UI would consume these. Some of this might also be useful in other places.
Just some thoughts, let me know what you think.

In the UI, if the user manually specifies a non-standard interval in the YAML, it could just show it outright or label it "custom".

What do you mean by non-standard here, can you give some examples ? do you mean users will still write last 1 day, last hour etc. but internally we store it in ISO 8601 format ? and by custom you mean if user wrote something other than the list of time ranges we support in string format ?
Also for your first answer, my main confusion is the difference between internal representation and corresponding proto object. For example we have MetricsView struct in objects.go and MetricsView message in catalog.proto. So I was wondering if we can directly create proto object from yaml and vice versa and remove intermediate structs. That can still support explicit representation you mentioned, this is more for my understanding.

More clarification from @begelundmuller

I think in UI they will probably do a drop-down with a few preset options (probably like the enum you highlighted). But then UI should write that into the YAML as ISO 8601. If the user then edits the YAML to an ISO value not supported in the drop-down, it’s fine, it could just say “custom” or the ISO value directly or something like that


Error page background image is not positioned properly

Rancher versions: 2.0 master 2/21
Steps to Reproduce:

Go to ///sdfasjdf

Results:  The fail page comes up but the background image is centered and left justified.

Version - 2.0 master 2/23
Verified fixed


How to open the PDF document automatically in the browser instead of downloading it ?

Hi guys !
I am using this lib to generate a PDF invoice
When I click a download button I want to open the PDF in a new browser tab
How can I do this ?
Please I need an exact response ?
Regards.

I think it won't be possible.
This would only be possible if you saved the pdf on the webserver itself (via php etc.) and then open the pdf url in a new window.
Please correct me if i'm wrong.


single flag for output; closes #166

Works as prescribed. I think the option in the globals section should come below --profile.

I consolidated the global flags. Are the ordered now how you're expecting @kenperkins ?

Perfecto! :+1:

:shipit: Looks great.
I'll miss --json but alas. :sob:


Crash when trying to launch a URL with a space on iOS

There is a discrepancy between Uri.tryParse and iOS's internal URL parsing where Uri.tryParse will say the scheme of an URL is https, but iOS will throw an "unsupported scheme" error.
Steps to Reproduce

Have an URL with a space in it (for example, https://example.com/test page)
Parse the URL with Uri.tryParse and observe the scheme
Open the URL with url_launcher package launch() function

Expected results:
URL is opened in the browser.
Actual results:
App crashes. No error is printed in Flutter console, but the following can be found in Simulator crash logs:
"The specified URL has an unsupported scheme. Only HTTP and HTTPS URLs are supported."

Code sample
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    var urlString = "https://example.com/test page";

    var uri = Uri.tryParse(urlString);
    print(uri?.scheme);

    launch(urlString);

    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

The flutter run output is way too long and GitHub does not let me include it in this issue. Please refer to my gist here: https://gist.github.com/spiralw/458290dc47b553ab1c89dea60c5351f3

Logs
$ flutter analyze
Analyzing bug...

   info • Avoid `print` calls in production code • lib/main.dart:46:5 • avoid_print

1 issue found. (ran in 1.9s)

$ flutter doctor -v
[✓] Flutter (Channel stable, 2.5.2, on macOS 11.5.1 20G80 darwin-arm, locale en-CA)
    • Flutter version 2.5.2 at /Users/spiral/Downloads/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3595343e20 (7 weeks ago), 2021-09-30 12:58:18 -0700
    • Engine revision 6ac856380f
    • Dart version 2.14.3

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A233
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

[✓] VS Code (version 1.60.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.27.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 2B50A669-160E-486E-8068-6323D186FA25 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-arm64   • macOS 11.5.1 20G80 darwin-arm
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 96.0.4664.45

Have an URL with a space in it (for example, https://example.com/test page)

That is not a valid URL; URLs cannot contain spaces.
We should make this return false though, not crash, for invalid URLs.

@stuartmorgan URLs can contain empty spaces, they are normalized as %20.

This is resolved with the switch to launchUrl.


This is not what people are looking for

This is jar binding, a messy unfunctional code that renders very rigid views which are not customizable. That is not what we are looking for. for years we are asking for C# library that runs on MAUI so we deal with low level details like CallClient and CallAgent .. etc. and be able to render the video anywhere we like with the controls we like. not with this composite thing. Simply, we want something like this but for C# and MAUI: https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/get-started-with-video-calling?pivots=platform-web

Hello MhAllan,
Thank you for reaching out. I appreciate your interest in the UI libraries showcased in the repository Azure Communication UI Library for Android, which offer support for .NET MAUI. These UI libraries provide customizable components for common calling interactions and are available as open source.
It appears that you are exploring native calling SDKs and wish to create your own unique UI experience. Unfortunately, as of now, there are no native SDK bindings specifically designed for .NET MAUI. However, you can refer to the bindings samples available in the repository to understand how to create bindings for native SDKs.
For comprehensive insights into MAUI bindings and their integration, I recommend visiting the following link.
If you have any further questions or require additional assistance, please feel free to ask.
Best regards.

Hello MhAllan, please reopen if more info is required.


Sches' Diversion: missing modulation rings

Sches' Diversion works on cursory testing. However, the modulation rings around the knobs (when you add a modulation with right click) are missing. (contacted the author, he has no clue on what to test)

fixed with a more recent wine. 2.6 .


[Suggestion] Flashlight Offset

While running players can see their shadow of playermodel, if the flashlight offset y is changed to 20 from -20
it removes the visibility of their own shadow and its much easier to see stuff.
It would be cool if by default offset would be changed to 20 or less

just use r_flashlightdepthtexture 0 in your autoexec and you don't need to change the offset


Update README.md

npm install -g<EMAIL_ADDRESS>will give error changing to npm install -g @tsed/cli
Information

Type
Breaking change

Doc
No

Todos

[x] Tests
[ ] Coverage
[ ] Example
[x] Documentation

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

v7.5.2
GitHub release

Your semantic-release bot :package::rocket:


Update domain-joined-device-public-key-authentication.md

Description:
Based on issue ticket #2570 (Public key in TPM? Looks wrong.), I still find the solution in PR #3922 not clear enough.
To my understanding, it should be made perfectly clear that only the private key is protected by Credential Guard or TPM.
Changes proposed:

Clarify that only the private_key is protected by Credential Guard or TPM
Change "sign-in" to 'sign in' (compound verb, not a noun)
Remove/move/modify usage of "then" (readability/natural language)
Change "password" to 'passwords' (plural) (readability & understanding)
Grammar improvement in the last sentence of the first paragraph
Add missing particle (a/the) in 3 of the H3 headings (natural language)
Add readability commas (natural language)
Add emphasis:

"a key pair is not generated" ("not" cursive/italics)
"Administrative Templates > System > Kerberos" in bold
"Administrative Templates > System > Kerberos" (bold again)

Whitespace changes:

Add MD indent marker compatibility spacing in > Applies to:
Editorial blank line after H2/H3 headings (5 lines)

Ticket closure or reference:
Closes #2570

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


Dynamic pages and SSG

Let's say i have a dynamic page /[id] which can be from1 to 10. I want to generate all those pages on SSG Build.
I tried includedRoutes in  SSGOptions for vite-SSG, but was wodering if there is  a better approach.
Thanks

vite-ssg will take routes array from vite-plugin-pages, so if you use vite-plugin-pages's extendRoute you can replace /[id].vue dynamic route to static route from 1-10 then vite-ssg will rander it.

Thanks, that has worked, but there is one issue.
Before for a page [id].vue  I could access id through props but not anymore. So the following stopped working
const props = defineProps({
 id: {
    type: String,
    default: "1",
  },
})

Umm, if you need props from dynamic route, the original way is better.
keep dynamic route & use vite-ssg's includedRoutes option to generate it.
Nuxt.js is also doing that way.

Thanks. Good to know that two options are available.
One other thing I just noticed is that onRoutesGenerated is being called twice in dev. Is it expected?

Hi @hannoeru there is a bug with onRoutesGenerated. Each time it;s being called in dev it passes routes from previous call.
So if there were 5 routes initially and I added 10 inside onRoutesGenerated. On second call routes have 15 items, on third call 25 and so on.

Fixed in 0.9.6

Thank you

Hi @hannoeru , thise has led to even bigger problem . See #42, please

Hello,
I am facing the same problem. Would someone have any example how to use that includedRoutes option to build pages from an api call ?
I would have to retrieve all the dynamic pages before building in order to have ServerSideGenreration on these dynamic pages and make these pages SEO friendly ...
Thank you very much !

I use something like this:
export async function includedRoutes(paths, routes) {
  const newroutes = []
  for (let i = 0; i < routes.length; i++) {
    const route = routes[i]
    if (route.path.includes(':')) {
      // I don't want any pages with variables rendered, will add them manually below
      continue
    }
    if (route.path == '/gallery') {
      // I don't want the gallery page rendered
      continue
    }
    newroutes.push(route.path)
  }

  const products = (await axios.get('/api/call/list/of/products')).data.map(item => `/product/${item.slug}`)
  for (let a = 0; a < products.length; a++) {
    newroutes.push(products[a])
  }

  return newroutes
}


chat message doesn't render

DEMO:
using GenieFramework
@genietools

@app begin
  @out textmsg1 = "['hey, how are you?']"
  @out textmsg2 = "['I am good']"
end

function ui()
  [
    Html.div(class="q-pa-md row justify-center",[
      Html.div(style="width: 100%; max-width: 400px",[
        chatmessage(:textmsg1, name="abhi")
        chatmessage(:textmsg2, name="adrian")
      ])
    ])
  ]
end

@page("/", ui)

Server.isrunning() || Server.up()

now the code is correct and the output html is also correct. I can see in vue console but nothing renders on screen

@hhaensel have you seen this issue before. I am completely lost why is this happening. Could be CSS rendering and style issue? I am debugging this but if you know what's happening please let me know

You need to bind vectors of String:
@app begin
  @out textmsg1 = ["hey, how are you?"]
  @out textmsg2 = ["I am good"]
end

function ui()
  [
    Html.div(class="q-pa-md row justify-center",[
      Html.div(style="width: 100%; max-width: 400px",[
        quasar(:chat__message, text = :textmsg1, name="abhi")
        quasar(:chat__message, text = :textmsg2, name="adrian")
      ])
    ])
  ]
end

@page("/", ui)

Why is this? (Not necessarily to @AbhimanyuAryan but to everyone who is developing a new feature which is not yet incorporated in StippleUI and hasn't got a lot of experience with Vue.js)
The demo code on quasar looks like this:
<q-chat-message
        name="me"
        :text="['hey, how are you?']"
        sent
      />

Note that the text is preceded by a colon which means that the content is evaluated as javascript expression in the name space of the vue model. That means that the content is an array of strings. If you would have written the text explicitly as in the example, you would have seen a correct result. But if you bind it to a variable that variable needs to contain an array of strings.

@AbhimanyuAryan please close this if you are fine with the responses


Xref link in API reference document is not resolved for KnowDocumentBuildMode

Package Name: @azure/ai-form-recoognizer
Package Version: preview
Operating system:
[ ] nodejs

version:

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[x ] SDK API docs on https://learn.microsoft.com

Describe the bug
Xref link for KnowDocumentBuildMode is not resolved in API doc because it is not included in .d.ts file.
To Reproduce
Steps to reproduce the behavior:

Go to https://learn.microsoft.com/en-us/javascript/api/@azure/ai-form-recognizer/documentbuildmode?view=azure-node-preview
Notice that the xref link to KnownDocumentBuildMode is not resolved

Expected behavior
Xref link for KnownDocumentBuildMode  is resolved and linked to the API ref page for KnownDocumentBuildMode.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Docs:0.20910336,Storage:0.13050297,Cognitive - Form Recognizer:0.088224106'


Better handling for maxInactiveTime on dynamic pools

PR Checklist

[x] Please add a description of your changes.
[x] We need your changes to come with unit tests in order to keep this project in quality and easy to maintain.
[x] Please add a link to the open issue or task that this pull request will resolve.
[x] Add a note to the changelog to indicate the change.

Does this PR introduce a breaking change?

[x] Yes
[ ] No

If yes please indicate it and migration info into the CHANGELOG.md file.

Fixes #70 , now a thread/process is not delete when the task submitted take more time than maxInactiveTime configured.
I tested those changes with TDD writing a test that was failing previously and after add the code is not failing so this should cover well this scenario.
After this fix we really really need to work on emit of worker ready and worker exit to built more resilient tests :)
I will take a look at my own changes better tomorrow, but seems to be already working :)

You should extract a type KillBehavior = 'HARD' | 'SOFT' to e.g. utility-types

@pioardi On the file changes tab, you can apply the suggestions in batch

@pioardi You should extract a type KillBehavior = 'HARD' | 'SOFT' to e.g. utility-types

Could you please apply those changes to help me on that ?

Waiting @Shinigami92  to better handle the killBehavior enumeration, the requirement is to avoid any duplication of the strings "SOFT" and "HARD"

@Shinigami92  @jerome-benoit  is this ready to be merged for you?
NB: there is one small thing for what I need the help from @Shinigami92  but I would work on other things if we merge this ( in particular enhance the unit tests logic to avoid some small random failures that we have, and add more and more test cases also ).
Kindly let me know I will hold on this for now but I would not hold more than 1/2 days.

@pioardi I'm currently improving this in the background, give me some minutes!
branch issue-70-shini-improvements-1

Thanks @jerome-benoit  and @Shinigami92  your feedbacks and help made the difference to quickly get this implemented in a clean and effective way, this is a great improvement IMO