Threading incompatible with HashedFilesMixin

For an S3 storage class using the HashedFilesMixin (e.g. CachedFilesMixin or ManifestFilesMixin), a ValueError will be raised when collectstatic is run with an empty S3 bucket (or more precisely, a bucket lacking any one of the original static files):
ValueError: The file 'mypath/myfont.eot' could not be found with <myapp.MyStorageClass object at 0x7fa786804978>.

This only occurs when COLLECTFAST_THREADS is not False.  When the HashedFilesMixin.hashed_name  method uses exists() to determine whether the file for the cleaned file name exists (on S3), a ValueError is raised, since it doesn't.  i assume this is due to a race condition.
At first i thought that overriding hashed_name to compute based on file contents of local static media would fix that issue (and be faster?), but for third-party apps, that raises a SuspiciousFileOperation.

What is the usecase for this? Collectfast already provides hashing of the contents of the files.
I remember reading up on HashedFilesMixins and its siblings when they were released to see if it was something that Collectfast could utilize but I decided then that they did not really add value and weren't what I thought they was initially.
Now I can't find documentation for them making it a hard (or even bad?) thing to support.
I also think that generally, it's not a good idea for Collectfast to work around this. It has to be up the developer to provide a storage that is threadsafe, or not use the multithreading feature.
What are your thoughts?

The base HashedFilesMixin class is not documented, but two implementations are: ManifestFilesMixin and CachedFilesMixin.
ManifestFilesMixin uses hashes for browser cache busting:

The purpose of this storage is to keep serving the old files in case some pages still refer to those files, e.g. because they are cached by you or a 3rd party proxy server. Additionally, it’s very helpful if you want to apply far future Expires headers to the deployed files to speed up the load time for subsequent page visits.

In my case, i am storing files in S3 and using ManifestFilesMixin for browser cache busting.  You might be right that a fix could be out of scope, but given that this package explicitly supports S3 as a storage backend, and that ManifestFilesMixin is a stock Django storage mixin, i think this is a good candidate for resolution.


Failed to fetch Kudu App Settings. Error: Error: Request timeout: /api/settings

I have an "Webapp for containers" that is updated from VSTS. Every third or forth time, it fails with this error message:

Failed to fetch Kudu App Settings. Error: Error: Request timeout: /api/settings

I'm not sure if the problem lies with VSTS or with Kudu, though?

@johnknoop , thanks for reporting the issue.
We have added retry for this transient issue. Can you please set variable system.debug to true in your release definition? This will enable the debug mode. Share the logs once the release failed.

@vincentdass sure, I'll do that. I'll let you know the next time this occurs.

Closing the issue. Please feel free to reopen / create a new thread if required.


Run benchmark on CircleCI

Run wrk benchmark on CircleCI, so we get some ballpark performance numbers to stop massive performance regression.

I'll rebase #456 on top of master to see if this would have detected the perf regression that we found.


resample monthly to seasonal docstring example is wrong

The doc string for resample contains an example for calculating a seasonal average from monthly values:
https://github.com/pydata/xarray/blob/9c8005937556211a8bf28a946744da3768846c5a/xarray/core/common.py#L620-L637
But running the code in the docstring gives different output:
>>> da = xr.DataArray(np.linspace(0, 11, num=12),
                   coords=[pd.date_range('15/12/1999',
                           periods=12, freq=pd.DateOffset(months=1))],
                   dims='time')
>>> da
<xarray.DataArray (time: 12)>
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.])
Coordinates:
  * time     (time) datetime64[ns] 1999-12-15 2000-01-15 2000-02-15 ...

>>> da.resample(time="Q-DEC").mean()
<xarray.DataArray (time: 5)>
array([ 0. ,  2. ,  5. ,  8. , 10.5])
Coordinates:
  * time     (time) datetime64[ns] 1999-12-31 2000-03-31 2000-06-30 ...

Problem description
The difference is undesirable. Furthermore, the user is probably after seasonal averages computed for DJF, MAM, JJA, and SON, which is not what the example code produces. The example produces averages for JFM, AMJ, JAS, and OND.
Changing to
da.resample(time="Q-NOV").mean()

produces three month averages that align with the expected seasons.
Output of xr.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.4.final.0
python-bits: 64
OS: Darwin
OS-release: 17.5.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8
LOCALE: en_GB.UTF-8
xarray: 0.10.2
pandas: 0.22.0
numpy: 1.14.2
scipy: 1.0.1
netCDF4: 1.3.1
h5netcdf: None
h5py: 2.7.1
Nio: None
zarr: None
bottleneck: 1.2.1
cyordereddict: None
dask: 0.17.2
distributed: 1.21.5
matplotlib: 2.2.2
cartopy: 0.16.0
seaborn: 0.8.1
setuptools: 38.4.0
pip: 10.0.1
conda: None
pytest: 3.3.2
IPython: 6.2.1
sphinx: 1.7.2

I think that if the correct way should be to use 'QS-DEC' and not 'Q-NOV'  - and this was definitely true. However I run also 0.10.2 - not sure if it was fixed in the latest versions.

Hmm. This may have changed upstream in pandas. Certainly an updated docstring would be appreciated!

Cool. I'll put in a PR with new one.


telerik radcontrols dont work

even installed all packages of telerik, radcontrols dont load, gives a error when show up the desing of layout, which version of VS and which version of telerik has been used?

Visual Studio 2012 was used. Telerik modules are provided in /lib/RCWF/.


CUB Dataset issue

The link of CUB dataset is no longer valid. The dataset was moved to [https://data.caltech.edu/records/20098]

Thank you for reporting this issue, we have already updated the CUB URL, and we hope you enjoy using LibFewShot.


Debug crashed

When do debug there's an alert message like this and can't debug.

Could you please try out the 1.6 prerelease?

I just had the same issue, and it was because the port was already in use (by Eclipse I think).

Hm, if the TCP server or socket emits an error event the error should get printed to the debug console before the adapter exits...
@weinand is there a way to get the stderr output of a debug adapter when it crashes, eg the stack trace and exception message? Is it printed to the console in the dev tools?

I saw something in the console. It may have been EADDRINUSE, but there was no stack trace IIRC.

Yeah then that is actually the proper error handling here: https://github.com/felixfbecker/vscode-php-debug/blob/e980a155684af20b504467ff0df6f27328901e05/src/phpDebug.ts#L253. When the TCP server emits an error I print it to the debug console and terminate the adapter. EADDRINUSE should indeed give you the hint that the port is already occupied.

Tested it again, and the message is listen EADDRINUSE :::9000.
I almost missed it the first time because there was just a small console icon with a red circle over it, which is initially covered by the error that you see in the screenshot above.

There is nothing I can do about it, VS Code does not allow debug adapters to show error messages to the user at arbitrary times :/

@felixfbecker I suggest to file a feature request for adding support for asynchronous error messages. In the meantime you can send asynchronous error messages as an output event with category console. They will show up in the debug console in orange.
In addition a discussion has started about where to log the stderr messages of the debug adapter: https://github.com/Microsoft/vscode/issues/5832. Please feel free to chime in...

I had the exact same issue has @thanhhungtn1
I resolved the issue by reinstalling the extension using vscode.
==
Currently I'm using vscode version:
1.7.1
02611b40b24c9df2726ad8b33f5ef5f67ac30b44

==
When experiencing the issue I was already using the lastest version of this extension.

If it was EADDRINUSE, reinstalling would not have helped.
@glen-84 I consider this resolved so closing :)


prisma generate does not work on node:12 image

we use a node:12 image on our gitlab-ci. there yarn install should trigger prisma2 generate.
it thows an error:
Error: Error: Command failed with ENOENT: /path/to/project/node_modules/prisma2/query-engine-debian-openssl-1.1.x --enable_raw_queries cli --dmmf

i can also log into the pod running this build and i see that this path indeed does not exist.
seems similar to https://github.com/prisma/prisma2/issues/1635 and https://github.com/prisma/prisma2/issues/1642
the base image is not an alpine, but the node:12 image, so it should be supported.

edit: i removed node_modules on that pod and did a yarn install again and now it works.
have to check whether this has to do with how we cache node_modules on gitlab-ci

closing, it seems the cached node_modules folder had not the right binaries.
maybe it would be good if prisma2 generate would try to reinstall missing stuff

@macrozone We further improved our binary checking logic in https://github.com/prisma/prisma-client-js/commit/551970475faf9c94961655dd154b6732def31eca so this should not occur anyways now. It is avaliable in alpha


Add DataPalooza keynote bio and picture to website

use the same title/topic description from Civic Camp  for DataPalooza talk

Done.

Looks good - thanks!


user permissions plugin. Update request won't work

Version
@nuxtjs/strapi: ^1.9.3
nuxt: ^3.7.0
Steps to reproduce
Have a strapi server v4 on and you need to be using user::permissions plugin to handle your users.
https://docs.strapi.io/dev-docs/plugins/users-permissions
try to update your user
const { update } = useStrapi();
await update('users', userId, { email<EMAIL_ADDRESS>});

fail miserably.
What is Expected?
You should be able to update your users.
What is actually happening?
The requisition returns 200, but nothing is being updated. 'Why?' you ask.
For some reason the user:permissions plugin doesn't expect the data to be wrapped in a data object. They are not going against strapi guidelines, their logic is that they're doing the work for you, so you don't need to send your data wrapped in a data object.
The whole problem lies with this function, it always wraps the data inside a data object. So the user:permissions gets it and wraps under an additional data object. The requisition succeeds, but there's no nested data property to be found and updated, so nothing changes.
 const update = <T>(contentType: string, id: string | number | Partial<T>, data?: Partial<T>): Promise<T> => {
    if (typeof id === 'object') {
      data = id
      // @ts-ignore
      id = undefined
    }

    const path = [contentType, id].filter(Boolean).join('/')

    return client(path, { method: 'PUT', body: { data } })
  }

What I ask in behalf of the user:permissions plugin and of all those who want to go against strapi best-practices by building their own custom endpoints is an option, an optional option, to not wrap the data inside a data object.
For now, here's the workaround
const client = useStrapiClient();
await client(`/users/${props.id}`, {
        method: 'PUT',
        body: { email<EMAIL_ADDRESS>},
      });

Hey @doubleyooz The way to update the users collection is with the useStrapiClient composable like so
const client = useStrapiClient();

await client("users", {
  method: "PUT",
  body: { email<EMAIL_ADDRESS>}
});

I think this is the case because this module wraps all the update requests in an object like so:
data: {
// your data gets spread here when passed to the `update` function
}

You can check out the signature of the update function here: https://github.com/nuxt-modules/strapi/blob/dev/src/runtime/composables-v4/useStrapi4.ts#L66
& here: https://github.com/nuxt-modules/strapi/blob/dev/src/runtime/composables-v4/useStrapi.ts#L9


bosh ssh fails while using a SOCKS5 proxy with GNU nc

I tried to ssh into an instance, but I got an nc error...super lame
Looks like nc -X is a BSD nc flag, but doesn't work with GNU nc.
My SOCKS5 proxy connection was created with bbl 5.1.2.
Here's the output of the failed command:
$ bosh -d kubo ssh worker/67314f20-1b44-4e13-b725-8866297b8010 --gw-private-key jumpbox_ssh_key
Using environment 'https://<IP_ADDRESS>:25555' as client 'admin'

Using deployment 'kubo'

Task 24. Done
nc: invalid option -- 'X'
Try `nc --help' for more information.
ssh_exchange_identification: Connection closed by remote host

Running SSH:
  1 error(s) occurred:

* Running command: 'ssh -tt -o ServerAliveInterval=30 -o ForwardAgent=no -o PasswordAuthentication=no -o IdentitiesOnly=yes -o IdentityFile=/home/adrian/.bosh/tmp/ssh-priv-key593201751 -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/home/adrian/.bosh/tmp/ssh-known-hosts270573514 -o ProxyCommand=nc -X 5 -x localhost:37307 %!h(MISSING) %!p(MISSING) <IP_ADDRESS> -l bosh_10cf838c803a4e8', stdout: '', stderr: '': exit status 255

Exit code 1

Available flags for GNU nc:
$ nc --help
GNU netcat 0.7.1, a rewrite of the famous networking tool.
Basic usages:
connect to somewhere:  nc [options] hostname port [port] ...
listen for inbound:    nc -l -p port [options] [hostname] [port] ...
tunnel to somewhere:   nc -L hostname:port -p port [options]

Mandatory arguments to long options are mandatory for short options too.
Options:
  -c, --close                close connection on EOF from stdin
  -e, --exec=PROGRAM         program to exec after connect
  -g, --gateway=LIST         source-routing hop point[s], up to 8
  -G, --pointer=NUM          source-routing pointer: 4, 8, 12, ...
  -h, --help                 display this help and exit
  -i, --interval=SECS        delay interval for lines sent, ports scanned
  -l, --listen               listen mode, for inbound connects
  -L, --tunnel=ADDRESS:PORT  forward local port to remote address
  -n, --dont-resolve         numeric-only IP addresses, no DNS
  -o, --output=FILE          output hexdump traffic to FILE (implies -x)
  -p, --local-port=NUM       local port number
  -r, --randomize            randomize local and remote ports
  -s, --source=ADDRESS       local source address (ip or hostname)
  -t, --tcp                  TCP mode (default)
  -T, --telnet               answer using TELNET negotiation
  -u, --udp                  UDP mode
  -v, --verbose              verbose (use twice to be more verbose)
  -V, --version              output version information and exit
  -x, --hexdump              hexdump incoming and outgoing traffic
  -w, --wait=SECS            timeout for connects and final net reads
  -z, --zero                 zero-I/O mode (used for scanning)

Remote port number can also be specified as range.  Example: '1-1024'

My version of the bosh cli is:
$ bosh -v
version 2.0.42-3b55fdd-2017-10-10T00:00:28Z

Succeeded

Here's the offending line in the cli:
https://github.com/cloudfoundry/bosh-cli/blob/3b55fdd7db13f2e37edb9bff41c4565994daa944/ssh/session.go#L72

:+1:
https://cloudfoundry.slack.com/archives/C2DBC3YGZ/p1507924793000386

+1; just got hit with this as well. Switching over to BSD netcat solved the problem.

+1

Not fixed as of 5.4.0.
I fixed this by uninstalling netcat and installing netcat-openbsd on Debian.

For anyone coming across this issue, I was able to fix it on my Debian system with the following command:
sudo apt install netcat-openbsd

For anyone coming across this issue, I was able to fix it on my Debian system with the following command:
sudo apt install netcat-openbsd

Where's EL version?


optimize read_in_chunks

Optimize read_in_chunks
Description
We noticed that utils.files.read_in_chunks has significant memory & CPU cost when up or downloading large files with mismatching chunk sizes. This PR attempts to fix that by potentially yielding multiple chunks per read and by avoiding large slicing ops. This seems to remove some more than quadratic scaling, bringing massive speed ups.
import tracemalloc

import numpy as np
import time

from libcloud.utils.files import read_in_chunks
import numpy as np

def run_scenario_1(data: bytes):
    # similar to calling _upload_multipart_chunks with one large array of bytes
    for a in read_in_chunks(iter([data]), chunk_size=5 * 1024 * 1024, fill_size=True):
        ...

def run_scenario_2(data: bytes):
    # as in download_object_as_stream
    response_chunk = 5 * 1024 * 1024
    for a in read_in_chunks(iter([data[i:i+response_chunk] for i in range(0, len(data), response_chunk)]), chunk_size=8096, fill_size=True):
        ...

if __name__ == "__main__":
    tracemalloc.start()
    data = "c".encode("utf-8") * (40 * 1024 * 1024)
    times = []
    for i in range(10):
        start_time = time.time()
        run_scenario_1(data)
        times.append(time.time() - start_time)
    print("scenario 1", np.median(times))

    times = []
    for i in range(10):
        start_time = time.time()
        run_scenario_2(data)
        times.append(time.time() - start_time)
    print("scenario 2", np.median(times))

    current_size, peak = tracemalloc.get_traced_memory()
    print(f'Current consumption: {current_size / 1024 / 1024}mb, '
                f'peak since last log: {peak / 1024 / 1024}mb.')

Gives the following stats:
Without this PR:
scenario 1 0.08405923843383789
scenario 2 30.04505753517151
Current consumption: 40.009538650512695mb, peak since last log:<PHONE_NUMBER>862671mb.

With this PR:
scenario 1 0.013306617736816406
scenario 2 0.060915589332580566
Current consumption: 40.01009464263916mb, peak since last log: 85.03302574157715mb.

Scenario 2 with different data sizes:

20Mb: Before 3.97s, After 0.028s
30Mb: Before 8.4s, After 0.04s
40Mb: Before 30.0s, After 0.05s
50Mb: Before 54s, After 0.07s
60Mb: Before 102s, After 0.096s

Status
done, ready for review
Checklist (tick everything that applies)

[X] Code linting (required, can be done after the PR checks)
[ ] Documentation
[X] Tests
[ ] ICLA (required for bigger changes)

Awesome, thanks for this contribution.
I think it would also be good to add micro benchmarks for this function / code path to libcloud/test/benchmarks/ so we can track performance over time, avoid regressions, etc.

Codecov Report

Merging #1847 (fc05a9b) into trunk (39877d8) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##            trunk    #1847   +/-   ##
=======================================
  Coverage   83.40%   83.40%
=======================================
  Files         402      402
  Lines       88130    88158   +28
  Branches     9330     9334    +4
=======================================
+ Hits        73502    73529   +27
  Misses      11452    11452
- Partials     3176     3177    +1

Impacted Files
Coverage Δ

libcloud/test/test_utils.py
98.02% <100.00%> (+0.21%)
:arrow_up:

libcloud/utils/files.py
98.18% <100.00%> (-1.82%)
:arrow_down:

Continue to review full report at Codecov.

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

I've added a basic baseline micro benchmark (to help us avoid regressions in the future) in 523838cd5e5a7f0c0dcab59651ebf4dee3fe6d1b.
I was indeed able to reproduce your results (large performance speed up). Right now this benchmark only measures CPU time and not memory usage. Measuring memory usage would be a nice addition, but that would be a bit more involved change since pytest-benchmark doesn't support doing something like that natively.

As you mentioned, the performance gets much worse with older implementation with larger object / input data size, but to prevent micro benchmarks for running too long, I used smaller data sizes.
Thanks again and great work :tada:


Clean up prior to 3.0.0

Packaging is modernized (same as iiasa/ixmp#319, iiasa/ixmp#326).
Lint code further to satisfy flake8.
Avoid use of deprecated f"{foo!r}" (same as iiasa/ixmp#293).
Simplify the Sphinx configuration file, in line with the basic version produced by current sphinx-quickstart.
[x] Add disclaimer for unresolved issues with MACRO.
[x] Add graphviz to installation instructions (h/t @OFR-IIASA @francescolovat)
[x] Mention GAMS 30 free license issues; suggest GAMS 29 in installation instructions (h/t @OFR-IIASA @francescolovat)
[x] ~Add plotnine to tutorial requirements~ Update installation instructions to explicitly include [tutorials] extra target, which already included plotnine (h/t @OFR-IIASA)
[x] Update pyam requirement to >= 0.6 (h/t @OFR-IIASA @danielhuppmann).

This in turn depends on that release being on conda-forge, which in turn depends on IAMConsortium/units#22 / conda-forge/staged-recipes#11824.

[x] Update ixmp requirement to >= 3.0.0 (h/t @OFR-IIASA)
[x] Move MESSAGE_master.{gms,prj} to desired location and add instructions on using git update-index --assume-unchanged to install from source docs (h/t @OFR-IIASA)
[ ] conda-forge still lacks JPype1 0.7.5: https://anaconda.org/conda-forge/jpype1; mention in the install instructions how to install using pip.

How to review

Note that the CI checks all pass.

PR checklist

[x] ~Tests added.~ N/A
[x] ~Documentation added.~
[x] ~Release notes updated.~

[ ] conda-forge still lacks JPype1 0.7.5: https://anaconda.org/conda-forge/jpype1; mention in the install instructions how to install using pip.

Since I had to deal with conda packaging today for IAMConsortium/units#22, I took a stab at putting together conda-forge/jpype1-feedstock#20. Hopefully the maintainers accept it promptly; this would let us avoid adding this extra step to our install instructions.

I took a stab at putting together conda-forge/jpype1-feedstock#20. Hopefully the maintainers accept it promptly…

Ended up reopening that as conda-forge/jpype1-feedstock#21, which was merged.

All green!


z

Describe the bug
When a link is created, once you return to the editor you cannot click to open the link unless you first click the 'create link'; button in the toolbar.
To Reproduce
Go to http://suneditor.com/sample/index.html and try opening the MIT link on the inline page.
Expected behavior
The link option is opened which allows you to open the link

Hi, when in classic mode the bubble appears, but when inline (Chrome 99 & FF 97) the bubble does not appear so you cannot click the link to open.

@andrewr4 Link speech bubble is activated only when there is a link button.
The "inline" mode in the example didn't have a link button, so the speech bubble didn't appear.
I'll edit the example to avoid confusion.

@JiHong88 in our setup, there is a link button but this still occurs.


Multi package

allow running for multiple packages without re-entering credentials

Thanks for your PR. This needs to be thought through more thoroughly.
If batching is desired some packages may not be authorized for the user to delete while others will be.
The current behavior will be fail-on-first.

Yes, that was intended. There may be other things which go wrong (typo in package name etc.) so I wanted to stop as soon as the first error occurs to give immediate feedback and not to hide the error with subsequent success messages. Feel free to change it though :-)

So when I'm thinking "batch action" I'm thinking what git does when you delete multiple branches.
$ git branch -d a b c
error: branch 'a' not found.
error: branch 'b' not found.
error: branch 'c' not found.

Unless there is a rush, I'd like to think about it a bit.

no rush at all, I am working with my own branch and like your approach just as well.

Thanks for the PR, but since the code has diverged it was easier to implement my own changes for this one.
Thanks again!


Compatibility

Good morning,
I wanted to know if the dongle was compatible with the Deye sun-6k-sg03lp1?
THANKS

The firmware works for all Single Phase Hybrid inverters


Template tests should baseline SPA templates

Add

angular
react
reactredux

to the baseline tests.

This is done.


[FEATURE REQ] Add a section on the Service Bus Admin client operations in the migration client

Library or service name.
Azure Service Bus
Is your feature request related to a problem? Please describe.
We have the Migration Guide going over most of the major changes one would encounter when moving to the new Service Bus library. The naming change of ServiceBusManagementClient to ServiceBusAdministrationClient, the reason for it, the splitting of Queue/Topic/SubscriptionDescription to Queue/Topic/Subscription Options and Properties should be called out

We have a section on the Administration client, but it does not talk about the other types or the reason for the rename.

The migration guide should be focused on capturing the "how do I" scenarios.   I don't think we want to make it harder to find the fast path to upgrading by including design rationale and other "why"-focused discussion.   Closing this out.


updating to ionic 6

Hello guys, i will start using ionic soon with one of my nx project, is there a plan to support ionic v6?
Thanks

You should be able to update to Ionic 6 with no issues. That being said, when version 13 is released it will generate Ionic 6 apps by default.


Missing or broken symbols.

Hello, My Rofi emoji was compiled and it works but I noticed my emojis are missing. I am not using Arch Linux, as I know how to fix this issue when I used to use arch. Now I use Debian 12 while using Trixie repositories and I don't know how to fix this. Can anyone help me solve this? I am fine with using Noto or Apple Emojis as long as I can get this on Debian 12 somewhat easily.

Hey guys I found the solution, go to this link: https://christitus.com/emoji/
This chris titus tech link will tell you how to set an emoji font as the default.
Note: If you want to install the Noto Emoji fonts you do the command:
sudo apt install fonts-noto-color-emoji
The font in the article mentions to install the package "noto-fonts-emoji", However this package is not in the Debian 12 repos as of 2024 so you install the package "fonts-noto-color-emoji" to actually have the font installed. Besides that mistake, the article is really good at explaining how to make an emoji font the default


try-runtime: work with block numbers

All of the commands work with block hash now. This is okay, but a nice addition would be the ability to work with block numbers as well.

Optionally, print the timestamp of any block that you are working with.


Fix snapcast group child

Fixes the group childs function and some minor corrections due to this change

I just tried this with the recently by manually replacing the init.py file inside /usr/local/lib/python3.12/site-packages/music_assistant/server/providers/snapcast from within the docker image I'm running but the server behave the same way as the last video posted here
maybe this fix was not meant for it ?


Add dask lazy loading

Types of changes

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

Description

Add lazy loading for JPG/PNG using dask.array. Also allows loading for Z-dim, currently disabled.
How has this been tested?

No tests.
Modify 1 test to test that we can now load PNGs.
Closes

...
TODO:

[x] finish error messages

hey, ust wanted to try it out on new data we got from collaborators and it's still an issue.
If I try to load jpg
img = sq.im.ImageContainer(
    "./../../dat/SP01-2020_GE_HE_JSON/GE1_V19S18-084_CA1A.jpg",
)

error is

Details
/Users/giovanni.palla/miniconda3/envs/spatial/lib/python3.8/site-packages/pims/api.py:207: UserWarning: <class 'pims.image_reader.ImageReader'> errored: Image size<PHONE_NUMBER> pixels) exceeds limit of 178956970 pixels, could be decompression bomb DOS attack.
  warn(message)
/Users/giovanni.palla/miniconda3/envs/spatial/lib/python3.8/site-packages/pims/api.py:207: UserWarning: <class 'pims.image_reader.ImageReaderND'> errored: Image size<PHONE_NUMBER> pixels) exceeds limit of 178956970 pixels, could be decompression bomb DOS attack.
  warn(message)
/Users/giovanni.palla/miniconda3/envs/spatial/lib/python3.8/site-packages/pims/api.py:207: UserWarning: <class 'pims.imageio_reader.ImageIOReader'> errored: The ImageIOReader requires imageio and (for imageio >= 2.5) imageio-ffmpeg to work.
  warn(message)
/Users/giovanni.palla/miniconda3/envs/spatial/lib/python3.8/site-packages/pims/api.py:207: UserWarning: <class 'pims.bioformats.BioformatsReader'> errored: 'NoneType' object has no attribute 'isJVMStarted'
  warn(message)
---------------------------------------------------------------------------
UnknownFormatError                        Traceback (most recent call last)
<ipython-input-2-4e20ba4bb5d2> in <module>
----> 1 img = sq.im.ImageContainer(
      2     "./../../dat/SP01-2020_GE_HE_JSON/GE1_V19S18-084_CA1A.jpg",
      3 )

~/Projects/squidpy/squidpy/im/_container.py in __init__(self, img, layer, **kwargs)
    101             if chunks is not None:
    102                 chunks = {"x": chunks, "y": chunks}
--> 103             self.add_img(img, layer=layer, chunks=chunks, **kwargs)
    104
    105     @classmethod

~/Projects/squidpy/squidpy/im/_container.py in add_img(self, img, layer, channel_dim, lazy, chunks, **kwargs)
    197         """
    198         layer = self._get_next_image_id("image") if layer is None else layer
--> 199         img = self._load_img(img, chunks=chunks, layer=layer, **kwargs)
    200
    201         if img is not None:  # not reading a .nc file

~/miniconda3/envs/spatial/lib/python3.8/functools.py in _method(*args, **kwargs)
    910         def _method(*args, **kwargs):
    911             method = self.dispatcher.dispatch(args[0].__class__)
--> 912             return method.__get__(obj, cls)(*args, **kwargs)
    913
    914         _method.__isabstractmethod__ = self.__isabstractmethod__

~/Projects/squidpy/squidpy/im/_container.py in _(self, img, chunks, **_)
    246
    247         if suffix in (".jpg", ".jpeg", ".png", ".tif", ".tiff"):
--> 248             return _lazy_load_image(img, chunks=None)
    249
    250         if img.is_dir():

~/Projects/squidpy/squidpy/im/_io.py in _lazy_load_image(fname, chunks)
     89
     90     fname = str(fname)
---> 91     shape, c_dim, z_dim, dtype = _get_shape_pages(fname)
     92     dims, shape = _determine_dimensions(shape, c_dim, z_dim)
     93

~/Projects/squidpy/squidpy/im/_io.py in _get_shape_pages(fname)
     13     import pims
     14
---> 15     with pims.open(fname) as img:
     16         shape = [len(img)] + list(img.frame_shape)
     17         dtype = np.dtype(img.pixel_type)

~/miniconda3/envs/spatial/lib/python3.8/site-packages/pims/api.py in open(sequence, **kwargs)
    207             warn(message)
    208             exceptions += message + '\n'
--> 209     raise UnknownFormatError("All handlers returned exceptions:\n" + exceptions)
    210
    211

UnknownFormatError: All handlers returned exceptions:
<class 'pims.image_reader.ImageReader'> errored: Image size<PHONE_NUMBER> pixels) exceeds limit of 178956970 pixels, could be decompression bomb DOS attack.
<class 'pims.image_reader.ImageReaderND'> errored: Image size<PHONE_NUMBER> pixels) exceeds limit of 178956970 pixels, could be decompression bomb DOS attack.
<class 'pims.imageio_reader.ImageIOReader'> errored: The ImageIOReader requires imageio and (for imageio >= 2.5) imageio-ffmpeg to work.
<class 'pims.bioformats.BioformatsReader'> errored: 'NoneType' object has no attribute 'isJVMStarted'

If I set the limit: PIL.Image.MAX_IMAGE_PIXELS =<PHONE_NUMBER> then it loads but the kernel freezes (exceeding memory).
if I convert it to tiff and then load it as that, it works but the kernel freezes when I launch interactive:
img = sq.im.ImageContainer(
    "./../../dat/SP01-2020_GE_HE_JSON/GE1_V19S18-084_CA1A.tiff",
)
adata = sc.read("./../../res/GE1_V19S18-084_CA1Aa.h5ad")
import napari
with napari.gui_qt():
    img.interactive(adata)

it's quite a large image

shall I send you the image to test it out @michalk8 ?

@giovp , yes, that would be great.

@giovp , yes, that would be great. Or I can just generate random RGB image.

coming very soon

I've tried this:
img = sq.im.ImageContainer(
    "./../../dat/SP01-2020_GE_HE_JSON/GE1_V19S18-084_CA1A.tiff",
)
adata = sc.read("./../../res/GE1_V19S18-084_CA1Aa.h5ad")
import napari
with napari.gui_qt():
    v = napari.Viewer()
    v.add_image(img['image'])
    # img.interactive(adata)

works fine, with a warning that GL_TEXTURE is only ~ 2^14 and I've had 30k x 30k image.
Furthermore, can confirm that when using img.interactive(adata), there's huge mem. spike (~9GiB to 32+), because of img_as_float, which is always called when new layer is added.

Also for large images, I will look into https://napari.org/tutorials/fundamentals/image.html#image-pyramids
and I'd say we should enable it for some large images (maybe larger that 16k x 16k.

ok interesting, but why this works
import napari
with napari.gui_qt():
    v = napari.Viewer()
    v.add_image(img['image'])

and not interactive ?

and not interactive ?

Because there's img_as_float call in img.interactive. I've removed it for now and enabled as well the pyramids for image with more than 65536 ** 2 elements.

Because there's img_as_float call in img.interactive. I've removed it for now and enabled as well the pyramids for image with more than 65536 ** 2 elements.

amazing, can confirm I can load and open napari, both with tif and jpeg (although with jpeg need to set the PIL flag above).
I'll try to work on it a bit and report here,
thanks. alot for the prompt fixes @michalk8 !

ok, managed to segment tissues with napari, still impressed by how much functionality you put in the napari interface @michalk8 ...

@giovp I've added the labels layer (e.g. watershed segmentation) + more control over how the image is displayed, i.e.
1 channel img. is displayed as grayscale (not sure about this one) and treating the channels as luminance, not RGB, see the code below.
The above changes should work with Z-stack, just need to uncomment stuff.
Will merge this soon to #324 and continue from there with watershed+dask.
import napari
import squidpy as sq

adata = sq.datasets.visium_fluo_adata_crop()
img = sq.datasets.visium_fluo_image_crop()
_ = img.data.load()  # TODO: there's some padding problem with dask

sq.im.process(img, method="smooth")
sq.im.process(img, method="gray", layer='image_smooth')

img['image'].attrs['luminance'] = True  # treat as luminance, not as rg
# img['segmentation_watershed'].attrs['segmentation'] = True  # only works for integer-based images

with napari.gui_qt():
    img.interactive(adata)

merged into #324


ui: add action to delete traffic type

Description
Fixes #7677
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

@blueorangutan ui

@shwstppr a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/8076 (QA-JID-202)

@shwstppr in the description is says Fixes #7756, but that one talks about updating a user role. Should some other issue number be referenced here?

@DaanHoogland my bad. I've updated the description now

@rajujith , can you review?


ivan: init at 052

Motivation for this change
I want to be able to play IVAN on NixOS and also share this package with others.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
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 pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@pSub Thanks a lot.


apt fails on fips-enabled hosts

Jenkins and plugins versions report
Jenkins LTS 2.414.1
What Operating System are you using (both controller, and any agents involved in the problem)?
Debian 12 Bookworm
Reproduction steps
[root@jumpbox ~]# docker run --rm -it -u root jenkins/jenkins:2.414.1-jdk11 bash
root@7bf45452930d:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@7bf45452930d:/# sysctl crypto.fips_enabled
crypto.fips_enabled = 1
root@7bf45452930d:/# apt-get update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8906 kB]
Get:6 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [4952 B]
Get:7 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [58.3 kB]
Get:5 https://packagecloud.io/github/git-lfs/debian bookworm InRelease [25.8 kB]
Get:8 https://packagecloud.io/github/git-lfs/debian bookworm/main amd64 Packages [2131 B]
Fetched 9248 kB in 2s (5902 kB/s)
fatal error in libgcrypt, file ../../src/misc.c, line 92, function _gcry_fatal_error: requested algo not in md context

Fatal error: requested algo not in md context
Aborted

Expected Results
No error
Actual Results
Error
Anything else?
https://github.com/jenkinsci/docker/issues/1686
https://github.com/debuerreotype/docker-debian-artifacts/issues/202

Hi @mkim37 thanks for reporting.
Debian operating system is not intended to operate in FIPS as per https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014517#37: this error with apt might never go away.
I don't see a solution to this behavior: as far as I can tell, the Jenkins project never worked on FIPS support.
You might try another declination of the Jenkins controller image such as Alpine but I have no idea if it works in FIPS as well.
You might also have to run Jenkins itself outside a container or build your own container image of Jenkins.
For info, other users tried to run Jenkins in FIPS environments: https://community.jenkins.io/t/jenkins-fails-on-fips-mode-enabled-rhel/2714/16 but it highly depends on the plugins you are using.
This is not a bug in Jenkins neither its Docker image: as per I'm closing this issue. Feel free to raise the FIPS topic in the community forum or join the https://www.jenkins.io/sigs/platform/ if you want to bring this topic on the table and invest time in driving it.

@mkim37 additionally, you can also try with CloudBees: https://www.cloudbees.com/newsroom/cloudbees-releases-hardened-cloudbees-ci-enable-secure-dod-compliant-software-delivery

@dduportal Thanks for replying. This was more of an FYI than a bug report. It appears to have been fixed in debian:bookworm-20230725

@dduportal Thanks for replying. This was more of an FYI than a bug report.

Thanks for hte FYI @mkim37 !

It appears to have been fixed in debian:bookworm-20230725

The jenkins/jenkins:2.414.1-jdk11 image is built on top on debian:bookworm-20230814:
https://github.com/jenkinsci/docker/blob/e1c29ed1273932d3f118939463440f0ea97fb49f/11/debian/bookworm/hotspot/Dockerfile#L2
Did you mean debian:bookworm-20230825 ?

@dduportal Sorry I just saw your reply. It's working in debian:bookworm-20230725 and presumably after but not before. I haven't had the chance to look through the debian bug tracker to see what changed and why. Strangely it's still not working in the LTS image.
# https://hub.docker.com/_/debian/tags?page=1&name=bookworm-202306
[root@mcaas-jumpbox ~]# docker run --rm -it debian:bookworm-20230612 apt-get update
Unable to find image 'debian:bookworm-20230612' locally
bookworm-20230612: Pulling from library/debian
bba7bb10d5ba: Pull complete
Digest: sha256:d568e251e460295a8743e9d5ef7de673c5a8f9027db11f4e666e96fb5bed708e
Status: Downloaded newer image for debian:bookworm-20230612
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8906 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [4952 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [58.3 kB]
Fetched 9220 kB in 2s (5814 kB/s)
fatal error in libgcrypt, file ../../src/misc.c, line 92, function _gcry_fatal_error: requested algo not in md context

Fatal error: requested algo not in md context

# https://hub.docker.com/_/debian/tags?page=1&name=bookworm-202307
[root@jumpbox ~]# docker run --rm -it debian:bookworm-20230703 apt-get update
Unable to find image 'debian:bookworm-20230703' locally
bookworm-20230703: Pulling from library/debian
d52e4f012db1: Pull complete
Digest: sha256:3d868b5eb908155f3784317b3dda2941df87bbbbaa4608f84881de66d9bb297b
Status: Downloaded newer image for debian:bookworm-20230703
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8906 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [4952 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [58.3 kB]
Fetched 9220 kB in 2s (4216 kB/s)
fatal error in libgcrypt, file ../../src/misc.c, line 92, function _gcry_fatal_error: requested algo not in md context

Fatal error: requested algo not in md context

[root@jumpbox ~]# docker run --rm -it debian:bookworm-20230725 apt-get update
Unable to find image 'debian:bookworm-20230725' locally
bookworm-20230725: Pulling from library/debian
785ef8b9b236: Pull complete
Digest: sha256:9f76a008888da28c6490bedf7bdaa919bac9b2be827afd58d6eb1b916e1e5918
Status: Downloaded newer image for debian:bookworm-20230725
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8906 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [4952 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [58.3 kB]
Fetched 9220 kB in 2s (5454 kB/s)
Reading package lists... Done

[root@jumpbox ~]# docker run --rm -it debian:bookworm-20230814 apt-get update
Unable to find image 'debian:bookworm-20230814' locally
bookworm-20230814: Pulling from library/debian
Digest: sha256:b91baba9c2cae5edbe3b0ff50ae8f05157e3ae6f018372dcfc3aba224acb392b
Status: Downloaded newer image for debian:bookworm-20230814
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8906 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [4952 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [58.3 kB]
Fetched 9220 kB in 3s (3193 kB/s)
Reading package lists...  You can now install packages.
#10 7.675 Reading package lists...fatal error in libgcrypt, file ../../src/misc.c, line 92, function _gcry_fatal_error: requested algo not in md context
#10 8.242
#10 8.242 Fatal error: requested algo not in md context
#10 8.277 Aborted (core dumped)
#10 ERROR: process "/bin/sh -c curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh -o /tmp/script.deb.sh   && bash /tmp/script.deb.sh   && rm -f /tmp/script.deb.sh   && apt-get install -y --no-install-recommends     git-lfs   && rm -rf /var/lib/apt/lists/*   && git lfs install" did not complete successfully: exit code: 134
------
 > [stage-1  3/13] RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh -o /tmp/script.deb.sh   && bash /tmp/script.deb.sh   && rm -f /tmp/script.deb.sh   && apt-get install -y --no-install-recommends     git-lfs   && rm -rf /var/lib/apt/lists/*   && git lfs install:
#10 0.864 Detected gpg...
done.
#10 3.029 Installing debian-archive-keyring which is needed for installing
#10 3.029 apt-transport-https on many Debian systems.
done.
#10 5.464 Importing packagecloud gpg key... gpg: out of core handler ignored in FIPS mode
fatal error in libgcrypt, file ../../src/misc.c, line 92, function _gcry_fatal_error: requested algo not in md context
#10 8.242
#10 8.242 Fatal error: requested algo not in md context
#10 8.277 Aborted (core dumped)
------
Dockerfile:29
--------------------
  28 |
  29 | >>> RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh -o /tmp/script.deb.sh \
  30 | >>>   && bash /tmp/script.deb.sh \
  31 | >>>   && rm -f /tmp/script.deb.sh \
  32 | >>>   && apt-get install -y --no-install-recommends \
  33 | >>>     git-lfs \
  34 | >>>   && rm -rf /var/lib/apt/lists/* \
  35 | >>>   && git lfs install
  36 |
--------------------
ERROR: failed to solve: process "/bin/sh -c curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh -o /tmp/script.deb.sh   && bash /tmp/script.deb.sh   && rm -f /tmp/script.deb.sh   && apt-get install -y --no-install-recommends     git-lfs   && rm -rf /var/lib/apt/lists/*   && git lfs install" did not complete successfully: exit code: 134


PDF Merge Problem: dereferenceObject: problem dereferencing object

Hi.
I'm using the 0.1.23 version in Windows 10 AMD64
$ pdfcpu version
pdfcpu version 0.1.23

I tried to merge the next pdfs and throws an error
sample.pdf
PDF14.pdf
$ pdfcpu merge out.pdf sample.pdf PDF14.pdf
merging into out.pdf: [sample.pdf PDF14.pdf]
dereferenceObject: problem dereferencing object 222: parse: duplicate key

The verbose output is the next
$ pdfcpu merge -v out.pdf sample.pdf PDF14.pdf
merging into out.pdf: [sample.pdf PDF14.pdf]
 INFO: 2019/05/08 15:57:37 reading sample.pdf..
 INFO: 2019/05/08 15:57:37 PDF Version 1.5 conforming reader
Fatal: parse: duplicate key
github.com/hhrutter/pdfcpu/pkg/pdfcpu.init.ializers
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/pdfcpu/parse.go:33
runtime.main
        C:/Go/src/runtime/proc.go:188
runtime.goexit
        C:/Go/src/runtime/asm_amd64.s:1337
dereferenceObject: problem dereferencing object 222
github.com/hhrutter/pdfcpu/pkg/pdfcpu.dereferenceObject
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/pdfcpu/read.go:2054
github.com/hhrutter/pdfcpu/pkg/pdfcpu.dereferenceObjects
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/pdfcpu/read.go:2106
github.com/hhrutter/pdfcpu/pkg/pdfcpu.dereferenceXRefTable
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/pdfcpu/read.go:2177
github.com/hhrutter/pdfcpu/pkg/pdfcpu.Read
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/pdfcpu/read.go:85
github.com/hhrutter/pdfcpu/pkg/pdfcpu.ReadFile
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/pdfcpu/read.go:57
github.com/hhrutter/pdfcpu/pkg/api.ReadContextFromFile
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/api/api.go:127
github.com/hhrutter/pdfcpu/pkg/api.readAndValidate
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/api/api.go:236
github.com/hhrutter/pdfcpu/pkg/api.Merge
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/api/api.go:429
github.com/hhrutter/pdfcpu/pkg/api.Process
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/pkg/api/process.go:84
main.process
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/cmd/pdfcpu/main.go:219
main.main
        C:/Users/SERGIO/go/src/github.com/hhrutter/pdfcpu/cmd/pdfcpu/main.go:182
runtime.main
        C:/Go/src/runtime/proc.go:200
runtime.goexit
        C:/Go/src/runtime/asm_amd64.s:1337

I was validating the files and looks like the problem is sample.pdf
$ pdfcpu validate sample.pdf
validating(mode=relaxed) sample.pdf ...
dereferenceObject: problem dereferencing object 222: parse: duplicate key

$ pdfcpu validate PDF14.pdf
validating(mode=relaxed) PDF14.pdf ...
validation ok

Maybe the problem is the file sample.pdf  that has the pdf version 1.2
Any idea? Thanks :)

Yes, the info dict is corrupt with 2 entries for creator:
buf=<222 0 obj <<
/Author ()
/Title ()
/Subject ()
/Creator ( LaTeX with hyperref package)
/Producer ( pdfTeX12.h) /Keywords ()
/Creator (TeX)
/Producer (pdfTeX)
/CreationDate (D:19990220212000) >> >
I am going to fix this by ignoring secondary dict inserts silently like other PdfReaders do.
Stay tuned.

This is fixed with commit bdc37
Thanks for reporting this 💚


Need new API Key

Need to have more configurations read from files. For example: Calendar ID is already read from calendar.json, why not include calendar API key?
Note: This was an accidentally redundant issue, so it was re-purposed to a  similar issue related to API key config.

New API key was added in as default API key in gCalFlow prototype in commit b4002748a6b69888388d96d955187a2fe248ba21 .


Global Chat not working

I cant get my message on the global chat board....is it missing an enter button
Is this by design it works if I hit enter on my keyboard

working for me here.

oh yes, it's by design :-D


I can't download the database

Hi! I used the DeepARG pipeline. But I can't download the database. I entered the "deeparg download_data -o data" command but the downloaded file was empty. And the website https://bench.cs.vt.edu/deeparg is also not downloadable. Can you help me? Looking forward to your reply!

Hi Sorry for my super late reply:
You can download the database manually from https://zenodo.org/records/8280582
Best,
Gustavo


Fix UI Failing to get workspaces for non workspace admin users

Fixes #3489

Added missing enrichment in the the API
Although it shouldn't happen now, added validation in the UI to ensure that nonMajorUpgrades is not null

/test

successful test run:
https://github.com/microsoft/AzureTRE/actions/runs/5004406367

/test-force-approve

/test-force-approve


Introduce parameterized Rust / Rust Comment writers.

Currently, a maliciously crafted .jar can probably inject naughty code into the generated bindings.  A proper parameterized API for writing code would do a lot to tighten up this security gap.
Of course, if you're using a maliciously crafted .jar, you're probably already pretty screwed on the security front - but if you're only running the outputs in a nicely constrained sandbox or other security context, I'd like to avoid contributing to any means of badware escaping said sandbox or security context.

This could use the #[doc] attribute, especially in the context of macro codegen.


Automatically assign sex if unknown

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Would it be an idea to do replace ASSIGN with INFER or ESTIMATE? To me assign sounds like the pipeline is choosing a default value, but you are actively inferring or estimating the sex.

Sure, I could use INFER since that is the flag supplied to somalier relate.


ELIFECYCLE error. TypeError: Cannot read property 'split' of undefined

$ npm -v
5.3.0
$ npm run transform

<EMAIL_ADDRESS>transform /home/archives/Education/Phet/phet/phet-master
node steps/transform.js

Compressing images, this will take a while
/home/archives/Education/Phet/phet/phet-master/steps/transform.js:92
html = htmlSplit[0] + htmlSplit[1].split('// ### END THIRD PARTY LICENSE ENTRIES ###')[1];
^
TypeError: Cannot read property 'split' of undefined
at removeStrings (/home/archives/Education/Phet/phet/phet-master/steps/transform.js:92:39)
at /home/archives/Education/Phet/phet/phet-master/steps/transform.js:157:16
at Array.forEach (native)
at Object. (/home/archives/Education/Phet/phet/phet-master/steps/transform.js:152:6)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
2017-08-13T18_50_10_567Z-debug.log.txt
npm ERR<EMAIL_ADDRESS>transform: node steps/transform.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>transform script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!  This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/adrian/.npm/_logs/2017-08-13T18_50_10_567Z-debug.log

Thx for the report, will try to reproduce the bug.

@nobicycle I can not reproduce the problem. What is your version of nodejs?
@ISNIT0 any idea?

$ node -v
v8.2.1
I don't know whether the command sequence and aborts have anything to do with it.
First used 'npm run setup' and ran out of internet quota.
Next I ran 'npm run get' but noticed with all languages being pulled I would also run out of internet quota, so I aborted.
I edited the json file to limit the build to english and re-ran  'npm run get', which succeeded.
Then I ran ' npm run transform' and got the error.

@nobicycle Could you please clean everything, rerun things cleanly from the beginning and, if you still have an issue, publish here the whole set of command you run?

@nobicycle BTW, what do you try to do? We publish already ZIM files in all languages you know? http://download.kiwix.org/zim/phet/

Hi kelson42
Exactly! :-)
I already have phet_en.zim, downloaded from Kiwix but the file never opened properly, in more than one client. Here for example the Kizix client:

Unable to load '/media/esata/MEDIA/System/Kiwix/data/content/phet_en.zim'. Are you sure this is a ZIM file?

However, I just downloaded phet_en_2017-08.zim from the link you gave and it worked!!!
Thanks very much.

I spoke prematurely.
The file opens but the opening screen presents no content index.
(Kiwix client)

One has to use Search or Random to have a simulation running.
When I run Kiwix server and open Phet in a browser I get the following in the console:

The console log
phet-<IP_ADDRESS>-1502769840895.log.txt

@nobicycle Yes, the desktop version of Kiwix is a mess on that file. This is a known issue. Have you tried to enjoy it through the server (menu tools > server) ? Maybe it work better?

Yes kelson42, the above screenshot is the Kiwix server and Opera browser. Also the same result with the python Zimply client.
Anyhow, thanks for the help. I am happy  PHET can be used via search in the Kiwix client, provided one knows the names of course (attached)
phet-list.txt

I have published new ZIM files and It works perfectly with kiwix-serve nightly version: http://download.kiwix.org/nightly/2017-09-13/


libmaxminddb: 1.5.0 -> 1.5.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/maxmind/libmaxminddb/releases.
meta.description for libmaxminddb is: "C library for working with MaxMind geolocation DB files"
meta.homepage for libmaxminddb is: "https://github.com/maxmind/libmaxminddb"
meta.changelog for libmaxminddb is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.5.2 with grep in /nix/store/6q8nn4zn6s298dmsj2nqvxm6pm2d0wcw-libmaxminddb-1.5.2

directory tree listing: https://gist.github.com/f3cbb8bb05083f985b26a6a9e64f9009

du listing: https://gist.github.com/a519d0af36e4a74662d744ec9940d13c

Rebuild report (if merged into master) (click to expand)

85 total rebuild path(s)

25 package rebuild(s)

25 x86_64-linux rebuild(s)
21 i686-linux rebuild(s)
18 x86_64-darwin rebuild(s)
21 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
compactor
goaccess
ipv6calc
knot-dns
knot-resolver
libmaxminddb
perl530Packages.MaxMindDBReaderXS
perl532Packages.MaxMindDBReaderXS
php73Extensions.maxminddb
php74Extensions.maxminddb
php80Extensions.maxminddb
phpExtensions.maxminddb
python37Packages.geoip2
python37Packages.maxminddb
python37Packages.sopel
python38Packages.geoip2
python38Packages.maxminddb
python38Packages.sopel
python39Packages.geoip2
python39Packages.maxminddb
python39Packages.sopel
rsyslog
suricata
zeek
zeronet

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6q8nn4zn6s298dmsj2nqvxm6pm2d0wcw-libmaxminddb-1.5.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libmaxminddb https://github.com/r-ryantm/nixpkgs/archive/54a42f6d27e988704b31faeff2de4599fb7a4cbf.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6q8nn4zn6s298dmsj2nqvxm6pm2d0wcw-libmaxminddb-1.5.2
ls -la /nix/store/6q8nn4zn6s298dmsj2nqvxm6pm2d0wcw-libmaxminddb-1.5.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages marked as broken and skipped:

python39Packages.geoip2
python39Packages.sopel

22 packages built:

bro (zeek)
compactor
goaccess
ipv6calc
knot-dns
knot-resolver
libmaxminddb
perl530Packages.MaxMindDBReaderXS
perl532Packages.MaxMindDBReaderXS
php73Extensions.maxminddb
php74Extensions.maxminddb
php80Extensions.maxminddb
python37Packages.geoip2
python37Packages.maxminddb
python37Packages.sopel
python38Packages.geoip2
python38Packages.maxminddb
python38Packages.sopel
python39Packages.maxminddb
rsyslog
suricata
zeronet

Maintainer pings
cc @vcunat for testing.

Result of nixpkgs-review pr 113846 at 54a42f6d run on aarch64-linux 1

2 packages marked as broken and skipped:

python39Packages.geoip2
python39Packages.sopel

19 packages built:

compactor
goaccess
ipv6calc
knot-dns
knot-resolver
libmaxminddb
perl530Packages.MaxMindDBReaderXS
perl532Packages.MaxMindDBReaderXS
python37Packages.geoip2
python37Packages.maxminddb
python37Packages.sopel
python38Packages.geoip2
python38Packages.maxminddb
python38Packages.sopel
python39Packages.maxminddb
rsyslog
suricata
zeek
zeronet


neovim/basic: add undofile options

vim.undoFile.enable and vim.undoFile.path can be used to manipulate whether undofile will be enabled, and the location if it is enabled.
Closes #331

This looks good to me. I do think having undofiile.path have a sane default rather than throw an error if it's unspecified would provide a smoother transition from a lua config, but it's a minor inconvenience

that looks like it would work


fix: keyboard onLongPressOut

Coverage remained the same at 68.163% when pulling cf013c5466ffd5016e3097b71219c724e9448ed9 on edison-hm:dev into eefaee1b34557b104059182bd06e847802ab8a3c on ZhonganTechENG:dev.

Coverage remained the same at 68.163% when pulling cf013c5466ffd5016e3097b71219c724e9448ed9 on edison-hm:dev into eefaee1b34557b104059182bd06e847802ab8a3c on ZhonganTechENG:dev.


turn on/off "added PLAYER to the whitelist"

I would like to see an option in config that turns off the console messages about adding/removing players from whitelist. It would be better only to print full list at the server start, but when server is running just notify about new added/removed players

Added in 53aca13cfb24f0e06c0509bc2540e28501fa084d


Replace MockArtifacts with Artifacts.test()

Description
Prefer Artifacts.test() to mockito MockArtifacts.

I re-ran the purple "Linux firebase_abstract_method_smoke_test"


Call for GUI coders: create an intuitive GUI to drive RP2 and DaLI

This would be a separate Github project. It would be GUI-based and provide intuitive operation for people who aren't power users or comfortable using a CLI interface. The GUI would collect input from the user, and drive DaLI and RP2 to generate the user's taxes. The main goal would be to build an easy-to-use interface for non-technical people, similar to commercial crypto tax software.

yeah = i'm in = let me help you put this in to streamlit and we'll have a baller product in a couple of weeks
<EMAIL_ADDRESS>ping me?

and maybe https://trymito.io for an intermediary product?

Thanks for volunteering to help with an external project! The user interface for RP2 and DaLI is fairly well defined, so hopefully you can drive them easily from your GUI. Looking forward to see what you come up with. If you have questions let me know.

This would be an amazing feature to add to my existing site! Would welcome the opportunity to discuss this is a possibility. I reached out to you on X.


Issue 87

@juherr
Looks like one test failed?
https://travis-ci.org/cbeust/testng/jobs/60692154

Yes... And I doesn't reproduce it on my pc.
I sent you a mail.


You already can by disabling vanillaLeavesCollision in the server config.
For more info on where to find configs in 1.16:
Configs in 1.16
All paths are given relative to the Minecraft directory unless otherwise stated. [world] is a placeholder for a world name.
Client config/dynamictrees-client.toml
Common config/dynamictrees-common.toml
Server [Singleplayer] saves/[world]/serverconfig/dynamictrees-server.toml
Server [Dedicated] [world]/serverconfig/dynamictrees-server.toml relative to the server folder
The server config file, like any Forge server config file, can be placed in the defaultconfigs/ folder in order to be automatically copied over to the serverconfig folder of each newly created world.


Maven Linux build: please provide jar files instead of single class files

The Linux binary distribution of OpenRefine distributes hundreds of single class files instead of merging them into a few jar files. This can be observed by downloading the latest tar.gz distribution of OpenRefine from Github. This is only a minor issue but would possibly help to improve some reproducible build problems in Debian.
Proposed solution
Modify the maven build to install jar files instead of single class files.

That makes sense: it does make the distribution smaller too (I have noticed that as a side-effect of the more granular Maven modules in the 4.0 branch).


[REQUEST] Phoenix Wright: Ace Attorney Trilogy (PC)

hey!, i made a script for it https://github.com/0xDC00/scripts/blob/2c4daa52cfc29d7e9c536ad5d262ef37943ac4df/PC_Steam_Unity_Phoenix_Wright_Ace_Attorney_Trilogy.js
its my first one so if i see any errors or missing things while im playing through the games, ill try fixing it


DotNetCoreMSBuildSettings should be analog to MSBuildSettings

Things like Configuration is missing.

Makes sense, Configurations is also available as root property on below on which has also MSBuildSettings settings.

DotNetCoreCleanSettings
DotNetCoreBuildSettings
DotNetCorePackSettings
DotNetCorePublishSettings

MSBuildSettings also exists on DotNetCoreRestoreSettings but there's no Config option in the .NET Cli command.
That said dotnet restore proj/sln /p:Configuration=Debug is fully valid and supported.
So property should be added.

I'm currently working on it.


Is it possible to use multithreading in this place?

https://github.com/apache/incubator-skywalking/blob/03824c2f8f43d55746ac466f0252bd78c1b48363/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/TraceSegmentService.java#L37-L40
I'm trying to improve the processing speed for apm collector in skywalking version 3.2.6.  Is it possible to run send method in a thread pool rather than invoke it directly? just like this:
private final ThreadPoolExecutor executor;
...
public void send(UpstreamSegment segment) {
    executor.execute(new TraceSegmentRunnable(moduleManager, segment));
}
...

public class TraceSegmentRunnable implements Runnable {

    private final ModuleManager moduleManager;
    UpstreamSegment segment;
    ....
    public void run() {
        SegmentParse segmentParse = new SegmentParse(moduleManager);
        segmentParse.parse(segment, SegmentParse.Source.Agent);
    }
}

Is there any problem or risk?

You could use multiple threads to send. But make sure each one client has its own grpcStub.


Manifest columns in different order than table (simple mode)

ref https://keboola.zendesk.com/agent/tickets/9291
job https://connection.keboola.com/admin/projects/976/jobs/452290290
config https://connection.keboola.com/admin/projects/976/extractors/keboola.ex-db-pgsql/452290048
create table event

https://connection.keboola.com/admin/projects/976/jobs/452290290?q=&eventId=1061338814
import event

https://connection.keboola.com/admin/projects/976/jobs/452290290?q=&eventId=1061338964
csv content

manifest
    "columns": [
        "vip_tier",
        "***_user",
        "objectid",
        "created_at",
        "***_item_common"
    ]

maybe this?

I was not able to reproduce it on a testing db.

The only thing that comes to mind here is that the column order retrieved when executing select * from table is different than the orderdinal values of the columns as listed in the information schema.
I will try to confirm / reproduce

fixed in 2.3.1


Login failed when earlier we login to another epinio server using oidc

Describe the bug
Epinio login throws an error during login if I login to another epinio server using oidc earlier.
To Reproduce
Steps to reproduce the behavior, e.g.:

Login using oidc to epinio-server-A, i.e., epinio login --oidc https://epinio-server-A
Now login without oidc to epinio-server-B, i.e., epinio login https://epinio-server-B
You might see this error:
❌  error verifying credentials: error while connecting to the Epinio server: Unauthorized: token verification failed: verifying rawIDToken: oidc: id token issued by a different provider, expected "https://epinio-server-B" got "https://epinio-server-A"
Sometimes you might see this error, although I don't know how to reproduce this error:
❌  error verifying credentials: error while connecting to the Epinio server: invalid character '<' looking for beginning of value

Expected behavior
I do not expect to see an error when I login to different epinio servers.
Logs
(base) ➜  app-server git:(main) ✗ epinio login https://epinio-server-B
🚢  Login to your Epinio cluster [https://epinio-server-B]
Username: epinioadmin
Password:
❌  error verifying credentials: error while connecting to the Epinio server: Unauthorized: token verification failed: verifying rawIDToken: oidc: id token issued by a different provider, expected "https://epinio-server-A" got "https://epinio-server-B"
Cluster (please complete the following information):
NA
Desktop/CLI (please complete the following information):

OS: macOS Ventura 13.3.1
Epinio Version: 1.7.,1
Epinio Install Options: NA

Additional context
NA

I think we should have a logout command... and when a user issue a login command, we should do a logout first so that the settings yaml/json are clear out.
This is an issue that developer will spend lots of time figuring out. Especially, in a multi epinio env (dev, test, prod) We can get into this issue very easily. It will give a user a bad dev experience. (not as bad if we use raw k8) but still confusing and frustration for the user

Reading again this issue I understood which is the problem. The bug is related to the priority of the two tokens in the settings. Basically if user, password and token are all available the token will be the one used, instead of the last one.
We should cleanup the old login settings after a successfull login. Anyway the logout command make sense!

Checked  in v1.8.0-23-ga8964680, using single node k3d and Minkube deployments and oidc login on the first one:
Before (error):

After (fixed):

verified again in v1.8.1-rc1:


Update compare-azure-government-global-azure.md

Heading change to match the corresponding left navigation window entry.
https://docs.microsoft.com/en-us/azure/azure-government/documentation-government-services-integration

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

Hi @dumartinmsft
Would you review the proposed changes to your article?
Thank you

Hi @stevevi - As noted in https://github.com/MicrosoftDocs/azure-docs/pull/52256, please create future PRs in the private repo (azure-docs-pr). Thanks!


Git Reset A File

I was trying to find a way to reset a local file to a version on another branch but could not find anything like this in the reset/revert section.
I found this link https://stackoverflow.com/a/37972822 which helped me solve my problem.
I'm wondering what you think about this and if it's possible to get this added to the project? I could also create a PR if this is alright!

Please create a PR. We'd appreciate that

@FatimahSanni I just created a PR to add this command 🥳


⚠ Bofrost.be has degraded performance

In 06b86bb, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1427 ms

Resolved: Bofrost.be performance has improved in ddd7274.


External Database support

Add External Database Support

[x] Character limit for mysql support
[x] Mysql and postgres dependencies for  flask-sqlalchemy
[x] Environment variable for the database connection uri
[x] Add Paramater to the README
[ ] Database checking if it's initialized or not

Something I completely forgot about is that since it isn't using sqlite it isn't making the data.db file so it'll run the init.py script every time the container is started.
What do you think would be the best way to check for this?

I am myself not sure, as the init.py file just populates the database with our old data and I am not that happy about it atm

The easiest solution would proably just be an env var that you can set which then triggers the init script.

why not check wheter the database is empty and run it then inside the init.py script?

Sure that also works.

What do you want to do with the check in start.sh?
Since that isn't really needed anymore.

Just remove it

That's what I was thinking


ssh config allows weak ciphers and MACs

The ssh configuration in cflinuxfs2 allows the use of Arcfour (RC4) encryption algorithms and 96-bit MAC algorithms, which are considered weak.
Ideally ssh config should at least be consistent with that of BOSH stemcells.
The attached file show the difference between the ssh running in the HAproxy VM and the ssh running on port 2222 in the container. I used the nmap script ssh2-enum-algos against BOSH CF HAproxy VM.
nmap-ssh.log

Hi @jostockley, nice catch.
I worry that changing this has the potential to break running apps during an upgrade. We'll investigate. We can almost certainly make the change for cflinuxfs3.


Added S3 migration scripts for both the assets and the URL data in Postgres

Description
These 2 scripts are for copying over the assets from existing S3 to the new one.
scripts/copy-optimize-images-to-new-bucket.js - Copy over the assets themselves. Resize, optimized and store them in the new bucket participedia.{{stage || prod}} according to process.env.AWS_S3_BUCKET environment variable.
scripts/points-url-data-to-new-bucket.js - Changes the stored URLs in the database from uploads.participedia.xyz to process.env.AWS_S3_BUCKET. This is to points the existing images data to the new bucket.
Context/Issue Link
https://github.com/participedia/api/issues/811
How has this been tested? How can it be tested?
Tested locally and stage
Screenshots (if it's a frontend change)

Closing this PR in regards to https://github.com/participedia/api/pull/844 as it contains the same changes.


HAOS Invalid Authentication

I'm getting the invalid authentication error with an app password. I'm on HAOS and can't follow the Docker instructions to get a token. Do you know of a workaround or a way to diagnose the issue in HAOS?

Hi, I'm also struggling with this. Getting an error msg when I try to run the container on two separate Raspberry Pis. So, unable to get a token. Would really love to get this up and running if at all possible.

Hi,
The Docker container method is the current accepted workaround for the known authentication issue.
It doesn't matter whether you are using HAOS or not because you don't run the docker container on the same system that Home Assistant is installed on, it should be on another computer that you install docker on.
I believe the docker image is built for x86 so it won't work with the ARM architecture that Raspberry Pi's use.
If you don't have an extra x86 Linux computer, you can easily install docker on any Windows computer with WSL, see https://learn.microsoft.com/en-us/windows/wsl/install.
Then you would just follow the instructions to install docker https://docs.docker.com/engine/install/ubuntu/.
And finally would follow the instructions in the Readme for the Docker container.

thanks for this. managed to get it sorted with WSL.


"ng serve --prod" keeps giving the same error even the file is changed

Versions
@angular/cli: 1.4.7
node: 6.12.2
os: linux x64
@angular/animations: 4.4.5
@angular/cli: 1.4.7
@angular/common: 4.4.5
@angular/compiler: 4.4.5
@angular/compiler-cli: 4.4.5
@angular/core: 4.4.5
@angular/forms: 4.4.5
@angular/http: 4.4.5
@angular/platform-browser: 4.4.5
@angular/platform-browser-dynamic: 4.4.5
@angular/platform-server: 4.4.5
@angular/router: 4.4.5
@ngtools/webpack: 1.7.4
typescript: 2.5.3

OS: Ubuntu 14.04

Repro steps

ng serve --prod (gives error)
some changes that must disappear the error
ng serve --prod (same error)

Observed behavior
I had a line as below:
<ng-container *ngIf="!resource.performer">

The performer entity is an object. When I try to serve it in production mode, it gives the error:
Type 'X' is not assignable to type 'boolean'.

I tried some other things to fix it and at the end I just put a boolean in the *ngIf to see if there is something wrong:
<ng-container *ngIf="true">

When I run the ng serve --prod command again, it gave the exact same error: Type 'X' is not assignable to type 'boolean'.. It acts like the old file is cached and used again.
Desired behavior

To run just as it should.
Mention any other details that might be useful (optional)
I don't know if it may be related with the IDE but just as an extra information, I am using WebStorm.

Heya, have you checked maybe your browser cache? Maybe it's another component that's showing that error even.
Happy to take a look at a repro.

@filipesilva No, I am sure the error is in that component. Also, the error did not appear at runtime in the browser, it was in the command line while compiling.

I'm sorry, but we can't reproduce the problem following the instructions you provided.
Remember that we have a large number of issues to resolve, and have only a limited amount of time to reproduce your issue.
Short, explicit instructions make it much more likely we'll be able to reproduce the problem so we can fix it.
If the problem persists, please open a new issue following our submission guidelines.
A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.


Functional test process dies

On almost all piplines the funcitonal tests end prematurely due to some fatal error.
Looks like the following error is killing the process completely.
If a test fails, it should not stop running rest of the tests.
However in this instance, everythign stops. Tests that take 20-90 minutes end in 30s.

@karthiknadig /cc

Once https://github.com/microsoft/vscode-python/pull/8798 is merged, please revert the changes.

@DonJayamanne is this still an issue?

This is resolved now, thanks


Expose possible errors on instance

Hi @heaths, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Heath Stewart). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

:white_check_mark: Build vssetup.powershell 1.0.43-rc+g17aab8088f completed (commit https://github.com/Microsoft/vssetup.powershell/commit/17aab8088f by @heaths)


VK+KIP displays cells from a previous incarnation

Created 1 node vk+kip cluster - incarnation1 (KipControllerID 2qs4mvn2pza6teedd6hfz5hiky)
Deployed nginx deployment with 1 replica - incarnation1
Deleted nginx deployment
Deleted virtual-kubelet deployment
Created virtual-kubelet deployment - incarnation2 (KipControllerID 72oxoqlbgrgjrleablteitvrxu)
kubectl get pods shows zero pods.
kubectl get cells shows nginx and kube-proxy cells from incarnation1.

$ kubectl get pods
No resources found in default namespace.

$ kubectl get cells
NAME                                   POD NAME                            POD NAMESPACE   NODE              LAUNCH TYPE   INSTANCE TYPE   INSTANCE ID           IP
0dfd31cf-8d5a-494d-98e7-d8de2f4b4c9d   kube-proxy-rjspt                    kube-system     virtual-kubelet   On-Demand     t3.nano         i-0650833d57a649efd   <IP_ADDRESS>
61c44374-33aa-4636-8d09-23479025c3b4   kube-proxy-rjspt                    kube-system     virtual-kubelet   On-Demand     t3.nano         i-005c2fb81f90a1ede   <IP_ADDRESS>
66e5f0da-7f74-4a17-ac9b-fe6234ed8369   nginx-deployment-66f967f649-9b8zj   default         virtual-kubelet   On-Demand     t3.nano         i-0ec6eabbae4ca4c6b   <IP_ADDRESS>

Created #131 to deal with all resources left behind by a deleted Kip instance.


Support for Name Mapping

I'm going to be using this for the web and many bundlers/frameworks enforce a prefix for web available environmental variables. This is something like NEXT_PUBLIC_API_URL or VITE_API_URL. I would love if this had first class support to remove prefixes from what I pass in.
I understand if it's not part of the lib, but wanted to open an issue to chat about it. Thanks for a great lib!

Thanks for the kind words! The recommended way to perform name mapping is like this:
export const {
  NEXT_PUBLIC_API_URL: PUBLIC_API_URL,
  SOME_OTHER_PROPERTY,
  A_THIRD_THING: MY_COOL_RENAMED_VALUE,
} = parseEnv(process.env, {
  NEXT_PUBLIC_API_URL: z.string().min(1),
  SOME_OTHER_PROPERTY: z.number().int().positive(),
  A_THIRD_THING: z.enum(["red", "blue"]),
});

I can't think of a much more idiomatic way of doing this, personally... I guess if you're using the detailed spec declaration format there could be a field like renameTo -- but handling that would add a lot of complexity to the type inference and I'm not really convinced it's worth it.
Incidentally, note that you won't be able to pass in process.env at all if your framework or bundler inlines secrets, like Next does for server-side secrets:

Note: In order to keep server-only secrets safe, environment variables are evaluated at build time, so only environment variables actually used will be included. This means that process.env is not a standard JavaScript object, so you’re not able to use object destructuring. Environment variables must be referenced as e.g. process.env.PUBLISHABLE_KEY, not const { PUBLISHABLE_KEY } = process.env.


Allow typeholes on functions

I do not know if this is possible but this would also be life-changing: scan the prototype of an object to see if it contains any functions, and then optionally add those to an interface. For example, I tried this to see if it worked (it did not):

Notice the dozens of functions in the debug window.... Since this library doesn't have a types declaration, I have to go through and "discover" what functions I can call. I'm wondering whether there could be a setting in the typehole function call? e.g. call a typehole like typehole.t3<ISomeType>(valueBeingInspected, 'includeProtoFunctions')
Alternatively, add some kind of config options parameter for further extensibility:
typehole.t3<ISomeType>(valueBeingInspected, {
  includePrototypeFunctions: true,
  id: 'ISomeType' // read below
  export: true // The type being generated is automatically set to be exported from the file
})

I saw you had some issues with using the function names to address typeholes? Consider making some kind of string identifier instead if possible. I could see a scenario where I might want to have multiple typeholes write to the same destination type (eg an API error response that is received in different functions, but is ultimately the same type).
Using the typeholes function name seems a bit odd to me, when you could make a string identifier which is equal in value to the name of the interface/type/class etc being written to.

I've actually thought of this before, but creating an accurate type signature for a runtime function value is, if not impossible, extremely difficult. Detecting a value is a function and creating a generic type like (...args: any[]) => any would be possible though.

I saw you had some issues with using the function names to address typeholes? Consider making some kind of string identifier instead if possible. I could see a scenario where I might want to have multiple typeholes write to the same destination type (eg an API error response that is received in different functions, but is ultimately the same type).

That use case could possibly be solved with the same approach I described here. Define one interface and refer to it in multiple typeholes.

Using the typeholes function name seems a bit odd to me, when you could make a string identifier which is equal in value to the name of the interface/type/class etc being written to.

Yeah, I agree – it's a bit of an odd design decision. The first idea I had for the usage of this tool was actually something like this:
const value: ??? = await getData()

where the ??? would then be automatically replaced by the extension. At the moment this type of syntax isn't really possible to achieve however, as TypeScript compiler doesn't support plugins. As the next evolution, I did something like this
typehole(await getData())

but this of course doesn't work when you have more than one typehole. I guess
typehole('1', await getData())

would work and be a bit more convenient than the current Proxy implementation.


[Event Request] table 5902 "Service Line" - OnValidateApplToItemEntryOnBeforeShowNotOpenItemLedgerEntryMessage

    field(38; "Appl.-to Item Entry"; Integer)
    {
        AccessByPermission = TableData Item = R;
        Caption = 'Appl.-to Item Entry';

        trigger OnLookup()
        begin
            SelectItemEntry(FieldNo("Appl.-to Item Entry"));
        end;

        trigger OnValidate()
        var
            ItemLedgEntry: Record "Item Ledger Entry";
        begin
            if "Appl.-to Item Entry" <> 0 then begin
                TestField(Type, Type::Item);
                TestField(Quantity);

                ItemLedgEntry.Get("Appl.-to Item Entry");
                ItemLedgEntry.TestField(Positive, true);
                Validate("Unit Cost (LCY)", CalcUnitCost(ItemLedgEntry));
                "Location Code" := ItemLedgEntry."Location Code";
                OnValidateApplToItemEntryOnBeforeShowNotOpenItemLedgerEntryMessage(Rec, xRec, ItemLedgEntry, CurrFieldNo); //A108B0068.Event.19.05
                if not ItemLedgEntry.Open then
                    Message(Text042, "Appl.-to Item Entry");
            end;
        end;
    }

[IntegrationEvent(false, false)]
local procedure OnValidateApplToItemEntryOnBeforeShowNotOpenItemLedgerEntryMessage(var ServiceLine: Record "Service Line"; xServiceLine: Record "Service Line"; var ItemLedgerEntry: Record "Item Ledger Entry"; CurrFieldNo: Integer)
begin
    //A108B0068.Event.19.05
end;

Can you explain the purpose of this event? You want to skip message?

Hi Alexander,
The problem is that code:
"Location Code" := ItemLedgEntry."Location Code"
has a bug because it does not perform a validation and therefor the Bin Code handling is completely off.
In Cronus W1 you can fill in an item ledger entry no. which has LocationCode=BLUE while the line itself has LocationCode=SILVER with a BinCode. Then all of a sudden the Line has LocationCode=Blue with still a BinCode of LocationCode=SILVER.
I should use the ServicesHub to enter an issue there but it took us till earlier this week to get access to that. So I've been fixing things with events for the last couple of years.

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


⚠ ClamAV has degraded performance

In e63f4bd, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in 0d3512a.


Different instances of the same model seem to share model node poses

Description
In my mirror dwelling app, I display two instances of my avatar model. One of them is displayed on top of my body, the other one is "mirrored" across an arbitrary axis. I want to set the scale of the head node to 0 for the instance on top of my body so that my vision is not obstructed, but I want the mirrored instance to have the head displayed normally.
This should have been accomplished by calling model_node_set_transform_model on both models, one with a zeroed-out head pose, but they both ended up either scaled normally or with zero scale, depending on which one I assigned last. I believe this is caused by StereoKit keeping only one model node data representation around per filename, and I got around this by just copying the avatar file and loading from two different filenames.
I'm in a big hurry right now, I'll add a minimum reproducible snippet in a few days
Platform / Environment
StereoKitC

This is as designed! SK uses file names as IDs to prevent them from being loaded multiple times. There are two approaches for getting around this:

Model.Copy is intended to behave appropriately in the context of separate animations or poses per model, but will still share Materials, and some non-skinned meshes.
You can change the model's ID after loading it from file, then load the file again.

model_copy works perfectly, thanks!


Remove validation rules that block uploading valid semver2 versions

The gallery currently blocks uploading packages with versions that:

have numerics-only (pre)release part
have metadata part

In addition, dependency version range validation is also an issue (tracked by https://github.com/NuGet/NuGetGallery/issues/3482)
The above need to be unlocked in order to avoid rejecting semver2 package versions.

Verified in DEV, fix part of feature/semver2 branch.


Pipe: Added restart logic to stuck pipe

Description
As the title said.

This PR has:

[ ] been self-reviewed.

[ ] concurrent read
[ ] concurrent write
[ ] concurrent read and write

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods.
[ ] added or updated version, license, or notice information
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious
for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold
for code coverage.
[ ] added integration tests.
[ ] been tested in a test IoTDB cluster.

Key changed/added classes (or packages if there are too many classes) in this PR

https://github.com/apache/iotdb/pull/11955


ARROW-2964: [Go] wire all primitive arrays into array.MakeFromArray

@stuartcarnie PTAL.

Codecov Report

Merging #2364 into master will decrease coverage by 50.36%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master    #2364       +/-   ##
===========================================
- Coverage   84.48%   34.12%   -50.37%
===========================================
  Files         293       44      -249
  Lines       45220     1855    -43365
===========================================
- Hits        38205      633    -37572
+ Misses       6984     1185     -5799
- Partials       31       37        +6

Impacted Files
Coverage Δ

go/arrow/array/array.go
77.77% <100%> (+18.8%)
:arrow_up:

go/arrow/math/uint64_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/math/int64_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/math/float64_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/memory/memory_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/math/int64_amd64.go
33.33% <0%> (ø)
:arrow_up:

go/arrow/math/float64_amd64.go
33.33% <0%> (ø)
:arrow_up:

go/arrow/math/uint64_amd64.go
33.33% <0%> (ø)
:arrow_up:

python/pyarrow/tests/test_scalars.py

cpp/src/arrow/python/numpy-internal.h

... and 255 more

Continue to review full report at Codecov.

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


feat: updates navigation to allow keeping action links always visible on the navbar and position links to the end

Description
Updates navigation to:

allow positioning links to the end
allow keeping action links always visible on the

Checklist

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[x] Storybook or docs have been added / updated (for bug fixes / features)

Storybook Link (Link to a local storybook url to review new functionality)

https://5eed577398d08d0022b52d76-wenxzcwsoq.chromatic.com/?path=/story/blocks-navigation--playground

Trying to re-rerun checks by closing/reopening it

Trying to re-rerun checks by deleting/recreating it


[Knwon issue validation + Escape mechanism] Avoid infinite loops

The known issue validation processing on GitHub can fall into an infinite loop between our GitHub apps on repositories where the staging and production applications are installed.

PR: https://dev.azure.com/dnceng/internal/_git/dotnet-helix-service/pullrequest/37128


i18n(es): update 5-astro-api/3

Description (required)
Updates 5-astro-api/3 based on this commit f51952706b3c16b8924a6cb837d77da48b7e59be

Related issues & labels (optional)

Closes # N/A
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

es
tutorial/5-astro-api/3.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Added preventDrag config item to prevent dragging of tabs

By adding preventDrag to the config, the drag proxy will not fire, the user will no longer be able to drag move the element.
However other components can be moved around it so in theory, by moving everything else you can change the position of the component.
I am not preventing the event handler bind to allow for this to be changed dynamically.

Just found reorderEnabled.
Feature is practically the same.
Closing


Read access token from Info.plist

As in mapbox/MapboxStatic.swift#19 and MapboxGeocoder.swift#40, the access token should be optional. When no access token is explicitly passed into MBDirections’ initializer, this library should get it from the MGLMapboxAccessToken key in the main bundle’s Info.plist, just like the Mapbox iOS SDK does.
/cc @friedbunny

👍


Error in Vite project when using Shepherd.js with process.env.ES_BUILD

Description:
I am encountering an issue in my Vite project when trying to use Shepherd.js, specifically related to the process.env.ES_BUILD check in the entry.js file. The error occurs on line 19, column 17.
Error Location:
AT entry.js:19:17

import Shepherd from 'shepherd.js';

...

if ('false' === process.env.ES_BUILD) {
  // Error occurs here
  let GlobalVue = null;
  if (typeof window !== 'undefined') {
    GlobalVue = window.Vue;
  } else if (typeof global !== 'undefined') {
    GlobalVue = global.Vue;
  }
  if (GlobalVue) {
    GlobalVue.use(plugin);
  }
}

Steps to Reproduce:

Create a Vite project.
Include Shepherd.js and the provided entry.js file.
Run the project.

Expected Behavior:
The project should run without errors.
Actual Behavior:
The error mentioned above is thrown, indicating an issue with the process.env.ES_BUILD check.
Environment:

Vite version: "^4.3.9",
Shepherd.js version: "^3.0.0"
Node.js version: v20.6.1

Duplicate. See https://github.com/shipshapecode/vue-shepherd/issues/174#issuecomment-1400512294

I appreciate @RobbieTheWagner pointing it out and providing a fast replay.


Reuse Nuxt's WebSocket

Currently, we are creating a new WS entry to do server-client communication:
https://github.com/nuxt/devtools/blob/703b69afb6d5d135f96d1c1c1432351edcaab0cf/packages/devtools/src/module-main.ts#L58-L59
Since Nuxt DevTools is relying on Vite (I see in the near future, we probably only support Vite), I guess reusing Vite's WS would make things more efficient and stable. As Vite has the capability of handling custom events now: https://github.com/vitejs/vite/pull/7437
This could potentially solve the connection issue in back-proxy or dockers, as Vite handles them well. Also could align with the approaches of vite-plugin-inspect etc.
/cc @pi0 you mentioned previously about reusing WS from Nitro, do you think it's still a thing, and what's your opinion on choosing which over which?

I believe the second port (either the vite or custom port we are currently using for devtools) would share the same issues for remote sharing and docker as it needs extra configuration in the Nuxt setup.
Also even though vite is the default builder, design-wise Nuxt shouldn't depend its ecosystem and DX directly on a specific bundler (this way we can introduce new bundlers without huge migration costs like Nuxt 2 to Nuxt 3)
Working on a new nuxi dev server to implement a similar layer for shared WS listening on the same port of Nuxt and it keeps alive across Nuxt/Nitro/Builder restarts. Maybe it is something we could work on together.

That sounds great if Nuxt itself is going to have a WS server 👍. Changed the title

I've spend considerable time figuring out websockets on nuxt a week ago, please have a look at: https://github.com/nuxt/nuxt/pull/19230
My proposal would be: untangle the whole websocket stuff from nuxt core/vite and just put a proxy in front of nuxt for your websocket needs. This fixes all docker port sharing issues and you have full control that the HTTP UPGRADE comand works.


Customize some source files based on profile before making release

Is it possible to run some overlay commands before making a release?  I want use customized app file in different rebar3 profiles.  I made a profile that enables some functionality which needs other applications as dependencies, so I want add those dependencies in app before release being made.
The other solution is list all possible dependencies in app file and tell relx just load them, but it make release unnecessary big.

Just saw dynamic configuration section in documentations.


missing 1 required positional argument

Traceback (most recent call last):
File "C:\Users\xxxx\AppData\Local\Programs\Python\Python39\booster.py", line 148, in
Booster.run()
TypeError: run() missing 1 required positional argument: 'self'

code wont run due to this traceback

My response is a little late, this project was mostly abandoned years ago....I just hate having open issues on my work so here you go. Issue fixed.