refactor: refactor checker into cfg

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[SC2] bump keycloak to 24 and add fallback channel 22

https://github.ibm.com/IBMPrivateCloud/roadmap/issues/62785

/retest


device: allow lookup by name without requiring device be ready

device_get_binding() combines looking up a device structure by name
and verifying that the device is ready for use (originally that it had
been successfully initialized).
With a move to DEVICE_DT_GET() supporting retrieval of the device
reference at build-time we've added a separate function to verify that
the device is ready to be used.
Formerly the ready-to-use check was incorrect in that it indicated
readiness before the device had been initialized, and initialization
could fail.  This has been fixed, but it means that drivers that had
successfully retrieved a device by name before initialization but
didn't try to use it right away are now are getting a null device
pointer.
Support these capabilities by adding new API that matches
DEVICE_DT_GET() in simply retrieving the device object pointer without
validation.
Signed-off-by: Peter Bigot<EMAIL_ADDRESS>

This enhancement plus:
--- a/subsys/shell/shell_uart.c
+++ b/subsys/shell/shell_uart.c
@@ -290,7 +290,7 @@ static int enable_shell_uart(const struct device *arg)
 {
        ARG_UNUSED(arg);
        const struct device *dev =
-                       device_get_binding(CONFIG_UART_SHELL_ON_DEV_NAME);
+                       device_from_name(CONFIG_UART_SHELL_ON_DEV_NAME);
        bool log_backend = CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL > 0;
        uint32_t level =
                (CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL > LOG_LEVEL_DBG) ?

"fixes" #32581.
To the degree putting a device into a power-down mode makes it unready other API that might retrieve an instance by name would need the non-checked API in this.
Draft to allow people to get used to this idea, mediate it against the remove of label properties which makes this feature unuseful, and to invite opportunities to pick paint colors.

Rebased to resolve merge conflict.

This isn't complete, and since I'm not going to use it I think it's best to not keep hacking at it but rather leave it orphaned and let somebody who thinks this functionality has a role in future Zephyr finish it up, or drop it.


Missing HLS replay functionality

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.
Watching live tracks using HLS (m3u8) sources, it is not possible to go back in time.
Sorry if I'm not technical on this.
Let's take a DASH stream: based on the manifest, it is possible to go back from the 'live' up to a defined moment in the past. For example, I have live streams which allow me to go back up to 2 hours compared to the 'live'. This is working as expected with Shaka.
The same, however, is not working using HLS stream: there is no way to go back even if the manifest allows it.
Describe the solution you'd like
It should be possible to go back (and forward if we already did go back) in the track timeline.
Describe alternatives you've considered
I know that it works with other players.
Additional context
Example of m3u8 available in Spain:
https://directes-tv-es.ccma.cat/live-origin/tvc-hls/bitrate_3.m3u8
Using the shaka-player demo, only the live track is visible.
Using for example the JWPlayer demo, it is possible to go back up to 2 hours from the live.
Sorry it I used the wrong words here, I don't know how this is defined in the HLS standard but hopefully with the m3u8 link above and the JWPlayer demo you can understand what I mean.

This is already possible through configuration.
Shaka has a parameter called the "availability window", which is how long segments are available to be fetched from the server.  DASH has explicit signaling for this, but HLS does not.
By default, Shaka mimics Apple's native HLS, which does not permit seeking, by setting the availability window to something very small.
You can configure Shaka's availability window explicitly with something like:
player.configure('manifest.availabilityWindowOverride', 300 /* seconds */);

See also https://shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.ManifestConfiguration
Does this answer your question?

@joeyparrish thank you, this seems to work really well!
Sorry that I was not able to find the option by myself :)
One last question: as I cannot determine in advance the proper 'availabilityWindow', is there any downside to (let's say) set a very large window?
I'm asking because I have streams with no window (no 'replay' at all), and streams with 4 hours window. If HLS does not provide thgis information, I was thinking to just set a very large (12 hours or something) window.
In the tests I just did, it seems to work: I get only the live option when no replay is available, and the correct amount of minutes when there is the option (I set 12 hours, but the player only reports 4 hours available, as it should - the provider for this stream allows to go back up to 4 hours).

One last question: as I cannot determine in advance the proper 'availabilityWindow', is there any downside to (let's say) set a very large window?

The UI may show times that can't be accessed, but otherwise it shouldn't be an issue.

I could set useSafariBehaviorForLive to false to solve all of this.

Yes, I forgot about that option.

I don't plan to use/support Safari, so this should be a safe option.

It doesn't have anything to do with supporting Safari, but with recreating the behavior of Safari in Shaka.  Sorry for the confusion!

Perfect then, thank you for the answers!
I will just keep useSafariBehaviorForLive to false.
We can close this!


camera.computeViewRectangle returns incorrect values?

Pardon my question, I am not an expert on projections, it's possible this is a feature, not a bug.
I suspect the camera.computeViewRectangle() method returns incorrect values for certain magnitude levels. The reason I noticed this is because I attached a listener to the map that is meant to count points inside the visible bounds. As I zoom in, the number decreases, even though I still see all of the points on the map. In other cases, the number stays the same, even though I cannot see the points anymore.
Here is how I obtain my view.
const getView = () => {
    const { ellipsoid } = viewer.scene.globe;
    const rect = camera.computeViewRectangle(ellipsoid, new Rectangle());
    return {
      east: Cesium.Math.toDegrees(rect.east),
      north: Cesium.Math.toDegrees(rect.north),
      south: Cesium.Math.toDegrees(rect.south),
      west: Cesium.Math.toDegrees(rect.west),
    };
};

Am I doing something wrong here? I want to know coordinates for the bounding box of currently visible area on canvas.

Sorry we missed your question.  If you are still having issues, please post on or forum and we'll be happy to help: https://groups.google.com/forum/?hl=en#!forum/cesium-dev

Hi @hpinkos! Is this not the right place to ask questions? Forum only? Thanks!

@mrlubos yes, we use GitHub exclusively for tracking bugs and planning new features.  Members of our team also monitor the forum so we do our best to make sure all questions there get answered.  Thanks!


Images generated from stable diffusion 2.1 are weird

Describe the bug
I have tried to run stable diffusion 2.1 using DeepSpeed on nvidia A10 GPU. Overall process is working and I am also getting the reduction in latency. However, the generated images are quite weird. I have tried the same thing for Stable diffusion 1.4. It is working perfectly there. Can someone help me to resolve this issue? I have listed the code and dependencies used in process.
Thanks.
To Reproduce
!pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
!pip install git+https://github.com/microsoft/deepspeed@3a2dc40d54489b176981cf24c7c1f296c8fc5d30
!pip install --upgrade diffusers==0.11.0 transformers==4.24.0 safetensors scipy triton==2.0.0.dev20221031 accelerate --upgrade
!pip install ftfy

import re
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
import torch
from torch import inference_mode
import deepspeed
from time import perf_counter
import numpy as np

HF_MODEL_ID="stabilityai/stable-diffusion-2-1"
HF_TOKEN="" # your hf token: https://huggingface.co/settings/tokens

#pipe = DiffusionPipeline.from_pretrained(HF_MODEL_ID, torch_dtype=torch.float16 ,use_auth_token=HF_TOKEN).to("cuda")

pipe = StableDiffusionPipeline.from_pretrained(HF_MODEL_ID, torch_dtype=torch.float16).to("cuda")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")

#Used to conduct timings
def measure_latency(pipe, prompt):
    latencies = []
    # warm up
    pipe.set_progress_bar_config(disable=True)
    for _ in range(2):
        _ =  pipe(prompt, height=512, width=512)
    # Timed run
    for i in range(10):
        start_time = perf_counter()
        a = pipe(prompt,  height=512, width=512)
        a.images[0].save("aimg"+str(i)+".png")
        latency = perf_counter() - start_time
        latencies.append(latency)
    # Compute run statistics
    time_avg_s = np.mean(latencies)
    time_std_s = np.std(latencies)
    time_p95_s = np.percentile(latencies,95)
    return f"P95 latency (seconds) - {time_p95_s:.2f}; Average latency (seconds) - {time_avg_s:.2f} +\- {time_std_s:.2f};", time_p95_s

prompt = "a photo of an astronaut riding a horse on mars"

with torch.inference_mode():
    deepspeed.init_inference(
      model=getattr(pipe,"model", pipe),      # Transformers models
      # mp_size=1,        # Number of GPU
      dtype=torch.float16, # dtype of the weights (fp16)
      # replace_method="auto", # Lets DS autmatically identify the layer to replace
      replace_with_kernel_inject=True, # replace the model with the kernel injector
  )
    # a = pipe(prompt,  height=512, width=512)
    # print(a)
    ds_results = measure_latency(pipe,prompt)
    print(f"DeepSpeed model: {ds_results[0]}")

Output from above code:
/home/ubuntu/.local/lib/python3.8/site-packages/pandas/core/computation/expressions.py:20: UserWarning: Pandas requires version '2.7.3' or newer of 'numexpr' (version '2.7.1' currently installed).
  from pandas.core.computation.check import NUMEXPR_INSTALLED
Fetching 13 files: 100%
13/13 [00:00<00:00, 830.64it/s]
[2023-04-21 00:45:34,490] [INFO] [logging.py:96:log_dist] [Rank -1] DeepSpeed info: version=0.9.1+3a2dc40d, git-hash=3a2dc40d, git-branch=HEAD
[2023-04-21 00:45:34,492] [INFO] [logging.py:96:log_dist] [Rank -1] quantize_bits = 8 mlp_extra_grouping = False, quantize_groups = 1
**** found and replaced vae w. <class 'deepspeed.model_implementations.diffusers.vae.DSVAE'>
Using /home/ubuntu/.cache/torch_extensions/py38_cu116 as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /home/ubuntu/.cache/torch_extensions/py38_cu116/transformer_inference/build.ninja...
Building extension module transformer_inference...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
Time to load transformer_inference op: 0.3998148441314697 seconds
[2023-04-21 00:45:35,814] [INFO] [logging.py:96:log_dist] [Rank -1] DeepSpeed-Attention config: {'layer_id': 0, 'hidden_size': 320, 'intermediate_size': 1280, 'heads': 5, 'num_hidden_layers': -1, 'fp16': True, 'pre_layer_norm': True, 'local_rank': -1, 'stochastic_mode': False, 'epsilon': 1e-12, 'mp_size': 1, 'q_int8': False, 'scale_attention': True, 'triangular_masking': False, 'local_attention': False, 'window_size': 256, 'rotary_dim': -1, 'rotate_half': False, 'rotate_every_two': True, 'return_tuple': True, 'mlp_after_attn': True, 'mlp_act_func_type': <ActivationFuncType.GELU: 1>, 'specialized_mode': False, 'training_mp_size': 1, 'bigscience_bloom': False, 'max_out_tokens': 4096, 'min_out_tokens': 1, 'scale_attn_by_inverse_layer_idx': False, 'enable_qkv_quantization': False, 'use_mup': False, 'return_single_tuple': False, 'set_empty_params': False, 'transposed_mode': False}
Loading extension module transformer_inference...
Using /home/ubuntu/.cache/torch_extensions/py38_cu116 as PyTorch extensions root...
No modifications detected for re-loaded extension module transformer_inference, skipping build step...
Loading extension module transformer_inference...
Time to load transformer_inference op: 0.07170987129211426 seconds
Using /home/ubuntu/.cache/torch_extensions/py38_cu116 as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /home/ubuntu/.cache/torch_extensions/py38_cu116/spatial_inference/build.ninja...
Building extension module spatial_inference...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
Loading extension module spatial_inference...
Time to load spatial_inference op: 0.4000411033630371 seconds
**** found and replaced unet w. <class 'deepspeed.model_implementations.diffusers.unet.DSUNet'>
Using /home/ubuntu/.cache/torch_extensions/py38_cu116 as PyTorch extensions root...
No modifications detected for re-loaded extension module spatial_inference, skipping build step...
Loading extension module spatial_inference...
Time to load spatial_inference op: 0.07284045219421387 seconds
DeepSpeed model: P95 latency (seconds) - 2.60; Average latency (seconds) - 2.59 +\- 0.01;

ds_report output
2023-04-21 00:48:19.878939: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
--------------------------------------------------------------------------
WARNING: No preset parameters were found for the device that Open MPI
detected:

  Local host:            192-9-246-221
  Device name:           mlx5_0
  Device vendor ID:      0x02c9
  Device vendor part ID: 4126

Default device parameters will be used, which may result in lower
performance.  You can edit any of the files specified by the
btl_openib_device_param_files MCA parameter to set values for your
device.

NOTE: You can turn off this warning by setting the MCA parameter
      btl_openib_warn_no_device_params_found to 0.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
No OpenFabrics connection schemes reported that they were able to be
used on a specific port.  As such, the openib BTL (OpenFabrics
support) will be disabled for this port.

  Local host:           192-9-246-221
  Local device:         mlx5_0
  Local port:           1
  CPCs attempted:       udcm
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
 [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
 [WARNING]  async_io: please install the libaio-dev package with apt
 [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
async_io ............... [NO] ....... [NO]
cpu_adagrad ............ [NO] ....... [OKAY]
cpu_adam ............... [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
fused_lamb ............. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  using untested triton version (2.0.0), only 1.0.0 is known to be compatible
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
utils .................. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/home/ubuntu/.local/lib/python3.8/site-packages/torch']
torch version .................... 1.13.1+cu116
deepspeed install path ........... ['/home/ubuntu/.local/lib/python3.8/site-packages/deepspeed']
deepspeed info ................... 0.9.1+3a2dc40d, 3a2dc40d, HEAD
torch cuda version ............... 11.6
torch hip version ................ None
nvcc version ..................... 11.6
deepspeed wheel compiled w. ...... torch 1.13, cuda 11.6

Screenshots

System info (please complete the following information):

OS: [e.g. Ubuntu 18.04]
GPU : Nvidia A10

I have similar issue when I use StableDiffusion 2.1 with DeepSpeed. Any ideas?

Anyone tried integrating it w SDv2.1 locally instead of using it with HF?


[Bug]: Vite / Ledger doesn't seem to work together

Current Behavior
When attempting to submit a transaction, it errors out with
index.js:3098 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'Berlin')
    at getCommon (index.js:3098:28)
    at async Object.eth_signTransaction (index.js:192:40)
    at async Object.eth_sendTransaction (index.js:221:42)

Expected Behavior
It should submit the transaction without any issues
Steps To Reproduce
I've recreated the issue in this repo, just npm i and npm run dev to run. After connecting a Ledger wallet, it should try to submit a transaction and fail immediately. The error will show up in the console.
https://github.com/WoodyDark/web3-onboard-vite-ledger/blob/main/src/App.vue
What package is effected by this issue?
@web3-onboard/ledger
Is this a build or a runtime issue?
Runtime
Package Version
2.10.1
Node Version
16.18.0
What browsers are you seeing the problem on?
Chrome
Relevant log output
index.js:3098 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'Berlin')
    at getCommon (index.js:3098:28)
    at async Object.eth_signTransaction (index.js:192:40)
    at async Object.eth_sendTransaction (index.js:221:42)

Anything else?
No response
Sanity Check

[X] If this is a build issue, I have included my build config. If this is a runtime issue, I have included reproduction steps and/or a Minimal, Reproducible Example.

@WoodyDark friendly ping, are you still encountering this issue?
We recently partnered with Ledger to create a new package version with all new deps using the latest Ledger applications and I would be interested to hear if that fixes your problem.

Closing as we are unable to reproduce this issue and the Ledger package has been updated by the Ledger team


Feature/add pending channel balance

The wallet balance command on the broker needs pending balances because in the process of commit a balance to a channel or closing a channel, the funds go into a pending state. Without this change, the funds completely disappear and this is confusing and worrisome for the end user.

Fix uncommitted balance to be the correct value from the LND api
Add a pending channel balance which is the amount of funds in the process of being committed.
Add a pending uncommitted channel balance which is the amount of funds in channels that are being closed combined with the amount of unconfirmed funds in the wallet.

 wallet balance should reflect pending actions

 wallet balance should reflect pending actions


registration of dataclass as event requires passing state/event/mf explicitly

Class:
@dataclass
class MyData
    state: miniflask.state
    transforms: transforms
    mode: str

Registration:
mf.register_event("init_dataclass", MyData, unique=True)

Call:
return event.init_dataclass(state, transform, splitname)

This seems to be no issue anymore in miniflask v2.
I have added a unit-test to catch this kind of bugs in future releases.


Example config is missing

Litterally just compiled for archlinux with the intent to use
and i get this error
[merith@archlinux polybar]$ install -Dm644 /usr/local/share/doc/polybar/config $HOME/.config/polybar/config
install: cannot stat '/usr/local/share/doc/polybar/config': No such file or directory

pretty sure this issue is self explanitory

The file is at /usr/share/doc/polybar/config
See the note at https://github.com/polybar/polybar/wiki#where-to-start

The wiki states in in /usr/local/share/doc/polybar/config

The note addresses this.


chore(main): release 2.5.1

:robot: I have created a release beep boop
2.5.1 (2024-03-17)
Bug Fixes

deps: update dependency react-datocms to v4.2.1 (13ddef1)
deps: update dependency react-datocms to v4.2.2 (6a3edae)
deps: update dependency react-datocms to v5 (9c1db1e)
node.js.yml: only use node 20 builds (e788768)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/crea-orkest/crea-public/releases/tag/v2.5.1 :sunflower:


API deprecations reported

https://github.com/lightward/mechanic-tasks/blob/32f4c4761706a25986c283a816d64d7d7c10b902/docs/unpublish-products-that-have-been-out-of-stock-for-x-days/script.liquid#L136
Runtime Error using the oldest supported Shopify Admin API version.

Shopify API deprecations reported

The field Publication.name is deprecated. Use Catalog.title instead.

Hi @rajaakhtar, thank you for the report. This issue is being tracked in #270, and the affected tasks will be updated once there is resolution from Shopify.
For now, you can just update any tasks that report this specific deprecation to the latest API version, and the notification should disappear (until the next API release). They will continue to function properly in the meantime.


modify getting YAxisSecondary range

I tried to assign a custom ticker to the chart.Chart's YAxisSecondary.
However, it did not work anyhow.
So I checked the source code and found that It checked YAxisSecondary.Ticker is exist and iterate YAxis.Ticker!
And I fixed it.
Request you to check.

debugged my graph generation and came to the same conclusion as @sangheee
I tested the solution and can confirm that it indeed solves the issue #71.

Hey folks!
@sangheee @MJacred this got approved, but reopened and never merged. What's the process here? How can I help to get this PR in
thanks in advance

@vrum4o: I reviewed it (github says it's "approved", but it's rather misleading...), but I'm not an authorized member of this repo (just a random person on the internet who tested the fix), so I can't merge. @wcharczuk will have to review/approve and then merge


top related backers in monthly report

The goal is to show the top backers (sponsors) that have backed related collectives last month

This PR breaks master: https://circleci.com/gh/OpenCollective/opencollective-api/2716
Don't know why circleci results aren't shown here?

@sedubois because it has already been merged


Check table and column exist before executing query

Task/Issue URL: https://app.asana.com/0/488551667048375/1204397066248837/f
Description
This PR checks if the cookies table and is_httponly column exist before executing the query.
Steps to test this PR

[ ] Install in emulator with API 23 which will use an old webview version and won't have the is_httponly column
[ ] Launch the app and go to any website
[ ] Send the app to the background
[ ] App should not register a crash pixel
[ ] All tests should pass

Current dependencies on/for this PR:

develop

PR #3074   👈

This comment was auto-generated by Graphite.

Querying the behaviour i'm seeing to ask if it's intended:

on API 23, when FirstPartyCookiesModifierWorker runs, it can't make the update so we request that the work is retried Result.retry()
I see there is an attempt to cancel all work with that tag, but I'm not seeing it ever get cancelled. When i continually background/foreground the app, it keeps trying to run that code and flagging that it should be tried again (but that will never succeed?)


Changed UHTTPD_SRC value

Changed UHTTPD_SRC from the legacy repository (which is no longer available) to a Github replica

NAK. If the old address is corrected, the new address should point to the Openwrt Backfire git repo where the same source can be found:
http://git.openwrt.org/?p=10.03/openwrt.git;a=history;f=package/uhttpd;h=30439ab2956df87682048cf4e610276ae8b7eaf5;hb=HEAD
http://git.openwrt.org/?p=10.03/openwrt.git;a=tree;f=package/uhttpd;hb=HEAD
The separate uhttpd packaging has been removed as obsolete from trunk, so I am not sure if it pays off to correct the addresses on old unsupported Luci branches.
Ps. your link to your own repo was wrong...


Keep player prefs in server memory while connected.

Having to deal with the potentially async nature of player prefs sucks, see #1705 as an example.
It would be 100% better to load prefs into server memory when clients connect so that we don't have any async issues anywhere.

This was done as part of auth.


[Feature] Colortoblack

Description
A simple python script to convert coloured image to black- white / greyscale image
Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@avinashkranjan Please have a look into this issue

/assign

Not Applicable for this REPO


Failing to parse lots of specs

The following network or parsing error occurred: TypeError: Cannot read property 'version-history' of undefined TypeError: Cannot read property 'version-history' of undefined at fetch.then.then.s (/home/dom/github.com/reffy/src/lib/util.js:312:34) at <anonymous> at process._tickCallback (internal/process/next_tick.js:189:7)
Reffy could not render this specification as a DOM tree and cannot say anything about it as a result. In particular, it cannot include content defined in this specification in the analysis of other specifications crawled in this report.

on 7 of the first 10 specs in https://tidoust.github.io/reffy-reports/whatwg/

Reffy repeatedly fails to run on W3C's server for some reason (for multiple reasons apparently, the above error suggests the W3C API server refused to serve the request Reffy sent, but Reffy also fails with more obscure error messages in other cases). I have been swamped with other priorities for the time being, so haven't found the time to look into it yet, sorry about that. Will try to look into it tomorrow.

No worries, just wanted to make sure you're aware

Main cause of troubles has now been fixed and Reffy now produces daily reports again, with the exception of the HTML spec, whose crawl fails with a timeout on the W3C server (tracked in #145). I'm closing this issue as a result.


A user defined unique Identifier (ID) won't be used by designer - it just disappears

Hi Dave,
In the designer I've tried assigning my own ID to a new menuItem, yet it gets lost and won't appear in the designer and not in the generated code. Out of curiosity I've tried with an already used ID - this "error" is handled by the designer correctly. I also checked with a couple of different itemTypes, all the same.
As the process of coding sometimes isn't straight forward for me, the feature of 'user defined Item-IDs' would great to have. And I believe this might have been the initial intention ...
Thanks a lot, Frank

Hi there, thanks for reporting this, I'll check this in all three versions, Mac, Windows and Linux. On the mac I just checked and it's not even editable. We'll make it work consistently across all three.

Pls see the other issue (forward declations) >> TcMenu Designer 1.7.13 from MS.
Tx a lot, Frank

Started sorting this out now. and should be in the next beta version. Just got the Win10 version left to look at now. Was a simple fix for the Mac version, and already worked on the older Java version for Linux & Win 7/8

This is already in the 2.0 BETA. It will be released to the store once it's gone through a test cycle.
All UIs act the same way now.


List commits

Adds field containing all the git commit information one could possibly need for each page.

Targets #5

I am thinking about a feature where you can show the diff as well.
If you wait with the merge, I will try to add such a feature (switched off by default) to my PR. If you want to merge asap, go ahead, I will open another PR for this.

I really like this feature. But I'm starting to think there might be too much git data. Could we make this optional and toggleable through a config?

This PR is two years old, I'm no longer interested in jekyll, I'm sorry. Feel free to reuse these commits as you please.

😭 sorry for not getting to this. I'll take a look at your implementation and see what I can do 😄


Azure CLI Interactive on a Azure VM

Get an exepction an an Azure VM
az 2.062 works but if i try to install an extenstion like the interactive i run in this error i never ever seen bevor:
Try to run the cmd also as an admin, repair the az installation all with no sucess.
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\threading.py", line 916, in bootstrap_inner
self.run()
File "C:\Users\aatv.azure\cliextensions\interactive\azext_interactive\azclishell\threads.py", line 21, in run
FreshTable(self.shell).dump_command_table(self.shell)
File "C:\Users\aat.azure\cliextensions\interactive\azext_interactive\azclishell_dump_commands.py", line 88, in dump_command_table
main_loader.load_arguments(None)-----------------------------------------------------------------------------------
File "C:\Users\aat.azure\cliextensions\interactive\azext_interactive\azclishell_dump_commands.py", line 49, in load_arguments--------------------------------------------------------------------------------------------------------
command.load_arguments()
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-cli-core\azure\cli\core\commands_init.py", line 130, in load_arguments : use commands outside the application
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\knack\knack\commands.py", line 89, in load_arguments
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-cli-core\azure\cli\core_init_.py", line 454, in default_arguments_loader : do a step by step tutorial of example
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-cli-core\azure\cli\core_init_.py", line 494, in get_op_handler : set a scope, and scopes can be chained with spaces
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import Hit [enter] to refresh
File "", line 971, in _find_and_load
File "", line 955, in find_and_load_unlocked
File "", line 665, in load_unlocked
File "", line 678, in exec_module
File "", line 219, in call_with_frames_removed
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-cli-servicefabric\azure\cli\command_modules\servicefabric\custom.py", line 43, in
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-mgmt-compute\azure\mgmt\compute\models.py", line 10, in
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30_init.py", line 12, in
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30\compute_management_client.py", line 16, in
File "C:\Users\VSSADM1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30\operations_init.py", line 12, in
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-z6u9vbmn\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30\operations\disks_operations.py", line 18, in
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\mgmt\compute\v2018_09_30\models_init.py", line 56, in
from ._compute_management_client_enums import StorageAccountTypes
ImportError: cannot import name 'StorageAccountTypes'

get the same error on my a new physical machine / also with the edge msi
there is something wrong !

Please can you try to give us more context. What scenario and what commands are actually failing? @mountainbrother
Please provide the information requested in the bug report template:
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior.
Expected behavior
A clear and concise description of what you expected to happen.
Environment summary
Install Method (e.g. pip, interactive script, apt-get, Docker, MSI, edge build) / CLI version (az --version) / OS version / Shell Type (e.g. bash, cmd.exe, Bash on Windows)
Additional context
Add any other context about the problem here.

Describe the bug
I download the version 2.062 on several machines Physical or VM´s on azure.
I can install the cli and it works.
If i start the az interactive it runs always the same error.
A clear and concise description of what the bug is.
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\threading.py", line 916, in bootstrap_inner
self.run()
File "C:\Users\guent.azure\cliextensions\interactive\azext_interactive\azclishell\threads.py", line 21, in run
FreshTable(self.shell).dump_command_table(self.shell)
File "C:\Users\guent.azure\cliextensions\interactive\azext_interactive\azclishell_dump_commands.py", line 88, in dump_command_table
main_loader.load_arguments(None)
File "C:\Users\guent.azure\cliextensions\interactive\azext_interactive\azclishell_dump_commands.py", line 49, in load_arguments
command.load_arguments()
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-cli-core\azure\cli\core\commands_init.py", line 130, in load_arguments
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\knack\knack\commands.py", line 89, in load_arguments
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-cli-core\azure\cli\core_init_.py", line 454, in default_arguments_loader
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-cli-core\azure\cli\core_init_.py", line 494, in get_op_handler
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in find_and_load_unlocked
File "", line 665, in load_unlocked
File "", line 678, in exec_module---------------------------------------------------------------------------------
File "", line 219, in call_with_frames_removed
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-cli-servicefabric\azure\cli\command_modules\servicefabric\custom.py", line 43, in                                                                       *
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-mgmt-compute\azure\mgmt\compute\models.py", line 10, in
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30_init.py", line 12, in ----
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30\compute_management_client.py", line 16, in
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30\operations_init.py", line 12, in
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qor58sf1\azure-mgmt-compute\azure\mgmt\compute\v2018_09_30\operations\disks_operations.py", line 18, in               : use commands outside the application
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\mgmt\compute\v2018_09_30\models_init.py", line 56, in
from ._compute_management_client_enums import StorageAccountTypes
ImportError: cannot import name 'StorageAccountTypes'ial of example
$                           : get the exit code of the previous command
%%[cmd]                     : set a scope, and scopes can be chained with spaces
%% ..                       : go back a scope
To Reproduce
Steps to reproduce the behavior.
az interactive with version 2.062
Expected behavior
that it works like the versions bevor
Environment summary
MSI installer from azure cli
Windows 10 Pro

@mountainbrother I was able to reproduce it.
I will be closing this as a duplicate of #9133


Disable rustfmt by default

This effects issue #11.
This change disables rustfmt from reformatting any code in this project.
This change will cause no changes for people not using rustfmt. Whereas, for people who have their editor set up to automatically reformat Rust code, this change will cause their editor to not make any rustfmt-related changes. I.e., this pull request makes it so that rustfmt-using people will not need to disable rustfmt manually before hacking on this project.
Later, if and when this project switches to using rustfmt, the .rustfmt.toml file would be modified to specify whatever rustfmt settings are desired.

This pull request is a workaround until pull request #12 is merged.

Thanks!


chore(project): convert to typescript

BREAKING CHANGE: This also removes old deprecated create function

@dbrockman I am not 100% sure of what effects the removal of deprecated stuff will have, if any.
The reason for converting this project is primarily that I want to make it easier to work with, in particular in other TS projects.

Could you also commit the yarn.lock file

Re-assigning to @chribben since @dbrockman is ill.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Please improve config documentation for server.hmr.server

Clear and concise description of the problem
In https://vitejs.dev/config/#server-hmr it is said:

When using server.middlewareMode or server.https, assigning server.hmr.server to your HTTP(S) server will process HMR connection requests through your server. This can be helpful when using self-signed certificates or when you want to expose Vite over a network on a single port.

But it's unclear and nowhere else described what "assigning server.hmr.server to your HTTP(S) server" would look like in the actual config file.
Suggested solution
Please add a code snippet of the actual final configuration:
server: {
    host: true,
    port: 8015,
    https: true,
    hmr:{
         server: what are the options and syntax here?
    }
  }
}

Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Why you downvoting the request, @bluwy ?

I think it's just something tricky to document. The types had shown that it's of NodeJS Server type, which you can create or start of with require('http').createServer(), but we can't just use that as an example because it doesn't reflect:

This can be helpful when using self-signed certificates or when you want to expose Vite over a network on a single port.

And if we want to do a full example, it would take a big portion of the page for a niche usecase. Hence, I feel like this issue would be stale for months.
This is just a pet peeve of mine 😬  I'd usually prefer documentation suggestions to be submitted as PRs directly and discuss from there onwards.

@bluwy
Thanx for the explanation and pointing in the right direction with require('http').createServer(). But how is this a niche usecase? Everyone who is developing full-stack apps which contains any kind of user interaction with the application's backend  (ecommerce or forms) and is using docker for development is affected...
Also after googling "node self signed createServer" the first result  offered some snippets which made my config finally work. And the required code example for the docs isn't huge at all:
openssl genrsa -out key.pem
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem
rm csr.pem

const https = require('https');
const fs = require('fs');

const options = {
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem')
};
const HttpsServer = https.createServer(options, function (req, res) {});
export default defineConfig({
  plugins: [vue()],
  server: {
    //https://github.com/vitejs/vite/discussions/3396
    host: true,
    port: 8015,
    https: true,
    hmr:{
      server: HttpsServer
    }
  }
})

I am not a node developer and I bet most of the vue.js developers aren't. So why you assume every vite user has to know node.js? I write my backends in PHP.

Ok, then I will stick with webpack and suggest to anybody I know to do the same due to rude and careless vite community.

By the way I spend whole or at least half of a day searching through the vite node module trying to find the right syntax and available options for server.hmr.server. Without bluwy's suggestions I wouldn't be able to solve this problem. And I develop vue.js apps for 4 years and JavaScript stuff in general for 6-7 years. I don't get why you have to be so arrogant and ignorant.

please give constructive feedback instead of being hostile.
in my head remember us having several issues related to docker which could justify having a docker section

I've gave you constructive feedback. You downvoted it and considered fullstack dev needs as a niche. WTF?

please continue being constructive.
writing hostile comments doesn't make a good community

Not caring about legit usecases outsite your personal experience area and being cynical doesn't make a good community neither.

@Tech-Nomad I'm sorry you felt that your suggestion wasn't taken into account, but the fact that two maintainers took the time to read through your issue and evaluate if the docs should be extended or not should show you that it isn't the case. As they explained already, the Vite documentation can't contain an explanation for all possible use cases. We need to work with other communities so they include sections about Vite for example to be able to scale.
Closing this issue now as I don't think this discussion is constructive. You are free to use other tools if they work better for you.


Releases endpoint returns releases before upload is completely done

Describe the bug
When a bosh release gets uploaded it does appear in the existing releases before the last upload steps are executed and the task is finished. Subsequent deploys assume that the release exists even if the upload is not yet finalized and fail with  job is not found in the template table.
The timeframe in which this can happen increases with the size of the bosh release and may only be problematic with releases of a certain size.
To Reproduce

Create a huge bosh release > 5 GB
Create two manifests, which download and use the bosh release
Run the following script

bosh deploy <first_manifest>.yml -n
while true; do
  release="$(bosh curl /releases | jq -r '.[] | select(.name == "<release_name>") | .release_versions[] | select(.version == "release_version")')"
  if [[ -n "$release" ]]; then
    break
  fi
  echo "release upload pending"
  sleep 1
done
bosh deploy <second_manifest>.yml -n

Expected behavior
A release is only returned by the releases endpoint after the upload has completely finished and the release is ready to use.
Versions (please complete the following information):

Infrastructure: does not matter
BOSH version 270.x.x
BOSH CLI version 6.x
Stemcell version xenial 456.x

Hi @mfine30
this happens regularly with large releases and automated deploys that run in parallel.
We looked a bit into the code and saw that the releases endpoint
https://github.com/cloudfoundry/bosh/blob/9fd99560a102910d467437aea4f7eec6f8624e5d/src/bosh-director/lib/bosh/director/api/controllers/releases_controller.rb#L35-L39 does not respect the field update_completed:
https://github.com/cloudfoundry/bosh/blob/bfc03787a81da98c6fce9086935bf342b142bff8/src/bosh-director/lib/bosh/director/jobs/update_release.rb#L167
We could filter releases out which are update_completed==false
Thanks,
@beyhan @BeckerMax

If many deployments are being done in parallel with common releases, I would recommend manually uploading the releases before starting the deployments.
Filtering on update_completed would shift the problem - the second deploy would think the release isn't being uploaded, and could timeout on the release lock.

The workflow is as follow:

A new release version gets uploaded automatically before starting any deployments.
Deployments start in parallel and ask the releases endpoint about available releases.
The releases endpoint states too early, that there is a new release version available before the last upload steps are executed and the upload task is finished.
In parallel started deployments assume that the new release version exists and start a deploy, which fails with job is not found in the template table

The releases endpoint should return a release, only when it is ready for consumption. The current behaviour of the releases endpoint breaks automations, which is not typical for BOSH. Our proposal with the update_comleted looked reasonable for us, but we can also discuss other options.

Can you prevent 1 and 2 happening in parallel? I'm also wondering why the release lock wouldn't be preventing this.

One could obviously implement a different lock logic in the automation on top of bosh to prevent the occurrence of this bug. However this is just a workaround and not really a solution for the problem.
I don't see how this would increase the releases-lock problems, because the duration of the release lock is not changed at all. In this case it just increases the probability for a different deployment to start the release upload while the files are copied at the very end.
A second release upload may currently also be triggered during the whole upload process. And if it is triggered, when the first upload is at the very end, it is unlikely (nearly impossible) that the first upload still holds the lock, when the second upload reaches the process_release method .

Can you expand on what you're seeing regarding "there is a new release version available before the last upload steps are executed" and "start the release upload while the files are copied"? Looking at https://github.com/cloudfoundry/bosh/blob/master/src/bosh-director/lib/bosh/director/jobs/update_release.rb#L54 it looks like (aside from initial upload and validation) updating a release is protected by a lock, which the deployments should be blocking on https://github.com/cloudfoundry/bosh/blob/master/src/bosh-director/lib/bosh/director/deployment_plan/assembler.rb#L120

The basic relevant workflow in the cli is as I understand it

check whether the release is available it the /releases route
if it is not available, upload it
deploy at bosh

So with "there is a new release version available" we mean, that the /releases endpoint returns the release and the bosh cli assumes that it is available and hence does not trigger a second upload.
However 3. fails, because of job is not found in the template table. My assumption is that the reason is, that not all files are copied to the correct location. If I understand you correct it should fail with an Could not require lock for release error?

Depending on how long the release takes to process, I would expect the current behaviour to either:

uploading release finishes, releases the lock, second deployment acquires the release lock, deployment succeeds
or
second deployment to timeout while the release is processing and fail with Could not acquire lock for release

If that's not the case, we need to look closer at the lock handling, which I believe is supposed to prevent the failure you're seeing.

That was not the case at least when I executed the script the last time. The script written above failed with the error job is not found in the template table and I was able to see that the failure of the deploy job was approx. one minute before the success of the upload-release job.
Retrying the deploy afterwards did succeed (it is not a problem in the manifest or the release).
How long bosh tries to aquire a lock?

Release lock timeout was bumped from 10 seconds to 5 minutes in 270.8 https://github.com/cloudfoundry/bosh/commit/9fd99560a102910d467437aea4f7eec6f8624e5d#diff-46e631a61c0c829a9d6e84e3869a0946
In the test script I'm assuming the first deploy is meant to be run in the background?

yes

I'm not able to reproduce with a padded zookeeper. In my run, the new version of the release did show up in the /releases response when the create release job started creating packages:
release upload pending
 (00:00:04)
Task 59 | 16:21:08 | Verifying manifest: Verifying manifest (00:00:00)
Task 59 | 16:21:08 | Resolving package dependencies: Resolving package dependencies (00:00:00)
Task 59 | 16:21:08 | Creating new packages: golang-1.10-linux/48c842421b6f05acf88dc6ec17f7574dade28a86
release uploaded
 (00:00:02)

which occurs while the "create release" job is holding the release lock.
Once the release is finished, the first deployment task starts:
Task 59 | 16:21:21 | Release has been created: zookeeper/0.0.13+dev.13 (00:00:00)
Task 60 | 16:21:23 | Preparing deployment: Preparing deployment (00:00:02)

And when the second deployment acquires the release lock it sees the release is ready:
Task 61 | 16:21:54 | Extracting release: Extracting release (00:00:05)
Task 61 | 16:21:59 | Verifying manifest: Verifying manifest (00:00:00)
Task 61 | 16:21:59 | Resolving package dependencies: Resolving package dependencies (00:00:00)
Task 61 | 16:21:59 | Processing 6 existing packages: Processing 6 existing packages (00:00:00)
Task 61 | 16:21:59 | Processing 3 existing jobs: Processing 3 existing jobs (00:00:00)
Task 61 | 16:21:59 | Release has been created: zookeeper/0.0.13+dev.13 (00:00:00)

Can you provide your output for the test script? Github search is letting me down looking for where job is not found in the template table would be raised.


docs(cors) fix origin value

Two pages have the same origin if the protocol, port (if one is specified), and host are the same for both pages.
ref: https://tools.ietf.org/html/rfc6454#section-4

Correct, thank you!


Error Failed to initialize (SE Content Update of 10/14/2024)

2024-10-15 16:55:54.089 - Thread:   1 ->  [PluginLoader] [Error] Failed to initialize WesternGamer/ProperGPSMarkerScaling|GPS Marker Scaling because of an error: HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static System.Boolean ClientPlugin.Patches.MyHudMarkerRenderBase_AddTexturedQuad_String::Prefix(System.Single& halfWidth, System.Single& halfHeight)
   at HarmonyLib.PatchClassProcessor.PatchWithAttributes(MethodBase& lastOriginal, Boolean unpatch)
   at HarmonyLib.PatchClassProcessor.Patch()
   --- End of inner exception stack trace ---
   at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
   at HarmonyLib.PatchClassProcessor.Patch()
   at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
   at ClientPlugin.Plugin.Init(Object gameInstance)
   at avaness.PluginLoader.PluginInstance.Init(Object gameInstance)

Fixed in commit ca888baaae769a469ed6298e15667e7c7a215391


RHEL 6 guests are not supported

we should add a check for that and block it
While RHEL6 is still technically supported overall for a while yet, it's not supported to run a RHEL6 VM on RHEL 9, which is the base OS for OCP-V 4.13.

yeah, we have an issue about this in Jira already


Parse Characters and objects and load them

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change

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

How to Test
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist
Please delete options that are not relevant.

[ ] I have tested this code
[ ] I have updated the documentation

Pull Request Test Coverage Report for Build 5483

1 of 35 (2.86%)  changed or added relevant lines in 6 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 28.533%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/features/game/parser/ActionParser.ts
0
1
0.0%

src/features/game/parser/LocationParser.ts
0
3
0.0%

src/features/game/parser/DialogueParser.ts
0
5
0.0%

src/features/game/parser/CharacterParser.ts
0
7
0.0%

src/features/game/parser/ObjectsParser.ts
0
18
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/features/game/parser/DialogueParser.ts
2
10.0%

Totals

Change from base Build 5482:
-0.1%

Covered Lines:
1883

Relevant Lines:
6048

💛  - Coveralls


Add threads to thread pool

Hi All,
I am thinking a feature which can dynamically add threads to thread pool.
We can call it thpool_add_thread(int num);
How do you think about this proposal?
Thanks!
hdl

Hi there.
What would the benefits of that be? Namely at the moment one initializes the threadpool depending on the thread support from the hardware - which is not supposed to change. I can't think of a reason that one might need to change it at runtime. Please feel free to correct me.

@Pithikos
For example, actually is impossible to increase the number of threads. In my case, I need to assign one thread for each client in order as they arrived to my server.

@0x0soir I see your point. I am unsure though if this is the best way to solve it.
Having a thread for each client is fine for small projects but on production it is very inefficient due to the overhead that comes with it:

By default each thread takes 8MB in stack memory (ulimit -s). So 1000 threads will need 8GB in RAM.
Context switching.

So depending on your situation, for a small size of clients it should be totally fine to initialize the threadpool from the beginning to a specific number. A more ideal solution is to not have a thread-per-client setup at all due to the overhead mentioned above. As an example Nginx doesn't use multi-threading inherently but still it is popular for its speed.
Having said all that, we can still get the best of the two worlds. It makes sense to initialize the threadpool to something supported by your hardware and is optimized to your application needs (well beyond 100 threads in most cases). Then you can have connection handlers as work for the threadpool. The connection handlers are never dying and using select or similar to switch between connections.


Some characters not shown in Windows 7

I think you have the same or a similar issue like https://github.com/atom/autocomplete-emojis/issues/4 here.

Hi rugk,
I have no influence on this.  This depends on the electron build (see http://electron.atom.io).
Regards, Kiwi


alignment error in mobile view

their is padding error in mobile view for the search page "back to search results".
screenshot:

Additional context
I would like to take this issue

It is possible that this has been addressed in https://github.com/creativecommons/cccatalog-frontend/pull/628 but we will only see that after the pull request is merged. The screenshots are missing "back to search results" for the "After" version.
Assigning to @akmadian for now. Once #628 is merged, if this is still an issue, then it is fine to proceed with left alignment of the "back to search results" link.

AFAIK, this hasn't been changed in 628. Although I would like to know more about what you mean by "padding error". Do you mean that it should be left more to be aligned with the left edge of the image?
I'll add requires ticket work until you respond with more details, and I'll remove not ready for work since this is not changed in 628 :)

yes! i think in the mobile view it should be more towards left align with the photo.
@akmadian

Sounds good, and I agree! I'm going to re-add not ready for work and blocked because there are two relatively large PRs that make lots of styling changes open right now (see #628 and #661).
Once those two are merged, we can come back to this if it's still an issue.

Thanks for reporting this @coderbabu10, this is still an issue so you may go ahead and work on it!

Changing alignment with respect to this image does makes sense actually, because images were opening different and taking different frames for different orientations like for vertical images,the given alignment will be fine, but for horizontal images there might be an issue which @coderbabu10  has addressed,
But after the new design got merged, this issue is fixed by great extent and it can be closed now @brenoferreira @kgodey


chore(actions): add changelog only on new releases and pr title validation

PR title and all Commit messages semantic validation:

tool: https://github.com/Ezard/semantic-prs#configuration-options
configuration:# Validate the PR title and all commit messages
titleAndCommits: true

Codecov Report
Base: 90.44% // Head: 90.44% // No change to project coverage :thumbsup:

Coverage data is based on head (bff3a14) compared to base (47d3aeb).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1168   +/-   ##
========================================
  Coverage    90.44%   90.44%
========================================
  Files          181      181
  Lines         5516     5516
========================================
  Hits          4989     4989
  Misses         527      527

Flag
Coverage Δ

py3.8-ubuntu-latest-pandas
90.44% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Batched JAX linear solves bugged for large batches

Hello,
I opened a similar issue on the main JAX (https://github.com/google/jax/issues/19431) but I thought it may get more attention here.
The batched JAX linear solves seem to be bugged for large batches on GPU, even if it can still comfortably fit in GPU memory.
In short, if you try to solve a bunch of linear system, then the JAX LU/Cholesky solver will sometime return NaN's/other problems but not throw an error or warning. The SVD-based solve seems to work better, though it also fails if you get close enough to filling the full GPU memory. The QR-based solve is too slow for me to test at large batch size, strangely. The lineax solves has the same behavior, although it does throw an error upon seeing NaNs.
Below is a test and output, where solving Ax = b where A is the identity and b is all ones returns NaNs. I am curious if someone can reproduce this behavior and has any ideas on what to do.
Thank you for making this nice library!
Best,
Marc
import jax
import lineax as lx

import jax.numpy as jnp
from jax import random
device = jax.local_devices()[0]
print('on device:', device)

m = 10

batched_solve_lu = jax.vmap( lambda matrix, vector: lx.linear_solve(lx.MatrixLinearOperator(matrix), vector, solver=lx.LU()).value)
batched_solve_SVD = jax.vmap( lambda matrix, vector: lx.linear_solve(lx.MatrixLinearOperator(matrix), vector, solver=lx.SVD()).value)

solve_fns = [jax.scipy.linalg.solve, batched_solve_SVD, batched_solve_lu]

for solve_fn in solve_fns:
    for n in [ int(1e6), int(1e7)]:
        A = jnp.repeat(jnp.identity(m)[None], n, axis = 0)

        x = jnp.ones([n,m])
        b = jax.lax.batch_matmul(A,x[...,None])[...,0]

        x_solved = solve_fn(A,b)
        print(f"Average error with n ={n}, {jnp.mean(jnp.linalg.norm(x - x_solved, axis=-1))} ")
        print("Memory info ", device.memory_stats())

Output:
on device: cuda:0
Average error with n =1000000, 0.0
Memory info  {'bytes_in_use': 520001024, 'bytes_limit':<PHONE_NUMBER>2, 'bytes_reserved': 0, 'largest_alloc_size': 804000512, 'largest_free_block_bytes': 0, 'num_allocs': 29, 'peak_bytes_in_use':<PHONE_NUMBER>, 'peak_bytes_reserved': 0, 'peak_pool_bytes':<PHONE_NUMBER>2, 'pool_bytes':<PHONE_NUMBER>2}
Average error with n =10000000, nan
Memory info  {'bytes_in_use':<PHONE_NUMBER>, 'bytes_limit':<PHONE_NUMBER>2, 'bytes_reserved': 0, 'largest_alloc_size':<PHONE_NUMBER>, 'largest_free_block_bytes': 0, 'num_allocs': 58, 'peak_bytes_in_use':<PHONE_NUMBER>0, 'peak_bytes_reserved': 0, 'peak_pool_bytes':<PHONE_NUMBER>2, 'pool_bytes':<PHONE_NUMBER>2}
Average error with n =1000000, 0.0
Memory info  {'bytes_in_use': 520000000, 'bytes_limit':<PHONE_NUMBER>2, 'bytes_reserved': 0, 'largest_alloc_size':<PHONE_NUMBER>, 'largest_free_block_bytes': 0, 'num_allocs': 98, 'peak_bytes_in_use':<PHONE_NUMBER>0, 'peak_bytes_reserved': 0, 'peak_pool_bytes':<PHONE_NUMBER>2, 'pool_bytes':<PHONE_NUMBER>2}
Average error with n =10000000, 0.0
Memory info  {'bytes_in_use':<PHONE_NUMBER>, 'bytes_limit':<PHONE_NUMBER>2, 'bytes_reserved': 0, 'largest_alloc_size':<PHONE_NUMBER>, 'largest_free_block_bytes': 0, 'num_allocs': 136, 'peak_bytes_in_use':<PHONE_NUMBER>4, 'peak_bytes_reserved': 0, 'peak_pool_bytes':<PHONE_NUMBER>2, 'pool_bytes':<PHONE_NUMBER>2}
Average error with n =1000000, 0.0
Memory info  {'bytes_in_use': 560002560, 'bytes_limit':<PHONE_NUMBER>2, 'bytes_reserved': 0, 'largest_alloc_size':<PHONE_NUMBER>, 'largest_free_block_bytes': 0, 'num_allocs': 174, 'peak_bytes_in_use':<PHONE_NUMBER>4, 'peak_bytes_reserved': 0, 'peak_pool_bytes':<PHONE_NUMBER>2, 'pool_bytes':<PHONE_NUMBER>2}
2024-01-24 15:17:43.130711: W external/xla/xla/service/gpu/runtime/support.cc:58] Intercepted XLA runtime error:
INTERNAL: CpuCallback error: EqxRuntimeError: The linear solver returned non-finite (NaN or inf) output. This usually means that the
operator was not well-posed, and that the solver does not support this.

If you are trying solve a linear least-squares problem then you should pass
`solver=AutoLinearSolver(well_posed=False)`. By default `lineax.linear_solve`
assumes that the operator is square and nonsingular.

If you *were* expecting this solver to work with this operator, then it may be because:

(a) the operator is singular, and your code has a bug; or

(b) the operator was nearly singular (i.e. it had a high condition number:
    `jnp.linalg.cond(operator.as_matrix())` is large), and the solver suffered from
    numerical instability issues; or

(c) the operator is declared to exhibit a certain property (e.g. positive definiteness)
    that is does not actually satisfy.

At:
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_errors.py(70): raises
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/callback.py(258): _flat_callback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/callback.py(52): pure_callback_impl
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/callback.py(188): _callback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/interpreters/mlir.py(2267): _wrapped_callback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/interpreters/pxla.py(1152): __call__
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/profiler.py(314): wrapper
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1151): _pjit_call_impl_python
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1195): call_impl_cache_miss
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1211): _pjit_call_impl
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(869): process_primitive
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(389): bind_with_trace
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(2657): bind
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1427): _pjit_batcher
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/interpreters/batching.py(433): process_primitive
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(389): bind_with_trace
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(2657): bind
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(166): _python_pjit_helper
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(255): cache_miss
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/traceback_util.py(177): reraise_with_filtered_traceback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_jit.py(200): _call
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_module.py(935): __call__
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_jit.py(206): __call__
  /tmp/ipykernel_3270959/20536111.py(9): <lambda>
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/linear_util.py(190): call_wrapped
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/api.py(1260): vmap_f
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/traceback_util.py(177): reraise_with_filtered_traceback
  /tmp/ipykernel_3270959/20536111.py(22): <module>
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3526): run_code
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3466): run_ast_nodes
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3284): run_cell_async
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/async_helpers.py(129): _pseudo_sync_runner
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3079): _run_cell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3024): run_cell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/zmqshell.py(546): run_cell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/ipkernel.py(422): do_execute
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(740): execute_request
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(412): dispatch_shell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(505): process_one
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(516): dispatch_queue
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/asyncio/events.py(80): _run
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/asyncio/base_events.py(1905): _run_once
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/asyncio/base_events.py(601): run_forever
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/tornado/platform/asyncio.py(195): start
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelapp.py(736): start
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/traitlets/config/application.py(1053): launch_instance
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel_launcher.py(17): <module>
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/runpy.py(87): _run_code
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/runpy.py(197): _run_module_as_main

2024-01-24 15:17:43.130798: E external/xla/xla/pjrt/pjrt_stream_executor_client.cc:2711] Execution of replica 0 failed: INTERNAL: Failed to execute XLA Runtime executable: run time error: custom call 'xla.gpu.custom_call' failed: CpuCallback error: EqxRuntimeError: The linear solver returned non-finite (NaN or inf) output. This usually means that the
operator was not well-posed, and that the solver does not support this.

If you are trying solve a linear least-squares problem then you should pass
`solver=AutoLinearSolver(well_posed=False)`. By default `lineax.linear_solve`
assumes that the operator is square and nonsingular.

If you *were* expecting this solver to work with this operator, then it may be because:

(a) the operator is singular, and your code has a bug; or

(b) the operator was nearly singular (i.e. it had a high condition number:
    `jnp.linalg.cond(operator.as_matrix())` is large), and the solver suffered from
    numerical instability issues; or

(c) the operator is declared to exhibit a certain property (e.g. positive definiteness)
    that is does not actually satisfy.

At:
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_errors.py(70): raises
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/callback.py(258): _flat_callback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/callback.py(52): pure_callback_impl
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/callback.py(188): _callback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/interpreters/mlir.py(2267): _wrapped_callback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/interpreters/pxla.py(1152): __call__
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/profiler.py(314): wrapper
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1151): _pjit_call_impl_python
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1195): call_impl_cache_miss
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1211): _pjit_call_impl
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(869): process_primitive
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(389): bind_with_trace
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(2657): bind
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(1427): _pjit_batcher
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/interpreters/batching.py(433): process_primitive
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(389): bind_with_trace
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/core.py(2657): bind
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(166): _python_pjit_helper
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/pjit.py(255): cache_miss
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/traceback_util.py(177): reraise_with_filtered_traceback
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_jit.py(200): _call
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_module.py(935): __call__
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/equinox/_jit.py(206): __call__
  /tmp/ipykernel_3270959/20536111.py(9): <lambda>
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/linear_util.py(190): call_wrapped
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/api.py(1260): vmap_f
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/traceback_util.py(177): reraise_with_filtered_traceback
  /tmp/ipykernel_3270959/20536111.py(22): <module>
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3526): run_code
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3466): run_ast_nodes
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3284): run_cell_async
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/async_helpers.py(129): _pseudo_sync_runner
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3079): _run_cell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/IPython/core/interactiveshell.py(3024): run_cell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/zmqshell.py(546): run_cell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/ipkernel.py(422): do_execute
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(740): execute_request
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(412): dispatch_shell
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(505): process_one
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelbase.py(516): dispatch_queue
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/asyncio/events.py(80): _run
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/asyncio/base_events.py(1905): _run_once
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/asyncio/base_events.py(601): run_forever
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/tornado/platform/asyncio.py(195): start
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel/kernelapp.py(736): start
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/traitlets/config/application.py(1053): launch_instance
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/site-packages/ipykernel_launcher.py(17): <module>
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/runpy.py(87): _run_code
  /home/mg6942/.conda/envs/recovar2/lib/python3.9/runpy.py(197): _run_module_as_main
; current tracing scope: custom-call.101; current profiling annotation: XlaModule:#hlo_module=jit_linear_solve,program_id=40#.
---------------------------------------------------------------------------
XlaRuntimeError                           Traceback (most recent call last)
Cell In[1], line 22
     19 x = jnp.ones([n,m])
     20 b = jax.lax.batch_matmul(A,x[...,None])[...,0]
---> 22 x_solved = solve_fn(A,b)
     23 print(f"Average error with n ={n}, {jnp.mean(jnp.linalg.norm(x - x_solved, axis=-1))} ")
     24 print("Memory info ", device.memory_stats())

    [... skipping hidden 3 frame]

Cell In[1], line 9, in <lambda>(matrix, vector)
      5 print('on device:', device)
      7 m = 10
----> 9 batched_solve_lu = jax.vmap( lambda matrix, vector: lx.linear_solve(lx.MatrixLinearOperator(matrix), vector, solver=lx.LU()).value)
     10 batched_solve_SVD = jax.vmap( lambda matrix, vector: lx.linear_solve(lx.MatrixLinearOperator(matrix), vector, solver=lx.SVD()).value)
     12 solve_fns = [jax.scipy.linalg.solve, batched_solve_SVD, batched_solve_lu]

    [... skipping hidden 14 frame]

File ~/.conda/envs/recovar2/lib/python3.9/site-packages/jax/_src/interpreters/pxla.py:1152, in ExecuteReplicated.__call__(self, *args)
   1150   self._handle_token_bufs(result_token_bufs, sharded_runtime_token)
   1151 else:
-> 1152   results = self.xla_executable.execute_sharded(input_bufs)
   1153 if dispatch.needs_check_special():
   1154   out_arrays = results.disassemble_into_single_device_arrays()

XlaRuntimeError: The linear solver returned non-finite (NaN or inf) output. This usually means that the
operator was not well-posed, and that the solver does not support this.

If you are trying solve a linear least-squares problem then you should pass
`solver=AutoLinearSolver(well_posed=False)`. By default `lineax.linear_solve`
assumes that the operator is square and nonsingular.

If you *were* expecting this solver to work with this operator, then it may be because:

(a) the operator is singular, and your code has a bug; or

(b) the operator was nearly singular (i.e. it had a high condition number:
    `jnp.linalg.cond(operator.as_matrix())` is large), and the solver suffered from
    numerical instability issues; or

(c) the operator is declared to exhibit a certain property (e.g. positive definiteness)
    that is does not actually satisfy.
-------
This error occurred during the runtime of your JAX program. Setting the environment
variable `EQX_ON_ERROR=breakpoint` is usually the most useful way to debug such errors.
(This can be navigated using most of the usual commands for the Python debugger:
`u` and `d` to move through stack frames, the name of a variable to print its value,
etc.) See also `[https://docs.kidger.site/equinox/api/errors/#equinox.error_if`](https://docs.kidger.site/equinox/api/errors/#equinox.error_if%60) for more
information.

Hmm. So JAX and Lineax both basically do the same thing for the LU/QR/Cholesky solvers, which is to use the JAX (and thus probably CUDA) implementation of those decompositions.
The fact that the QR solve is slow is expected I think -- IIRC there's no CUDA implementation of a batched QR decomposition, so vmap is handled by computing the decomposition for each batch element sequentially.
I suspect the issue is probably somewhere in the underlying CUDA (cuSolver?) implementations. I think resolving this will probably need someone to go digging through things at that level, I'm afraid.

Hi Patrick,
Thank for your answer!
I can't say I really understand how JAX/torch/cupy interact with CUDA code, but what is surprising to me is that this seems to be a bug only in JAX. Both torch/cupy seem to work, even though I would assume they use the same backend.
E.g.:
  import numpy as np
  import torch
  n = int(1e7); m = 10
  A = torch.tensor(np.repeat(np.identity(m)[None], n, axis = 0))
  L = torch.linalg.cholesky(A)
  print(torch.linalg.norm(A - L))

Outputs:
  tensor(0., dtype=torch.float64)

And the same thing for cupy, but JAX returns NaNs.

Oh interesting! Hmm, in that case I'm less certain of the reason. Maybe check that it's not a version issue? PyTorch and JAX tend to use different versions of the underlying NVIDIA libraries.

Thanks for the suggestion! I tried a few different versions of CUDA without changes, but updating jax seems to fix the problem, or at least it passes the few tests I have tried.

Curious! Well, I'm glad it's fixed. :)
Possibly an issue with a particular version of jaxlib then, if updating the version fixed things.


hidden files causing exception

I am editing a test file, and running wct at the same time. I'm using vim and it places a temporary file in the same directory as a dot file (.filename.swp). Is there a way to get wct to ignore hidden files? I'm wondering why it doesn't by default. Here's the error :
Uncaught Error: Unknown resource type: test/elements/.my-element.test.html.swp

Any suggestions?

This keeps tripping me up. Is there some way to make it ignore temporary files? ...or perhaps this could be considered a bug.

It's even worse than I thought. Here is the output :
$ grunt _wct-tests
Running "loadNpmTasks:web-component-tester" (loadNpmTasks) task

Running "wct-test:local" (wct-test) task
Starting Selenium server for local browsers
Selenium server running on port 40922
Web server running on port 47335 and serving from .
chrome 43                Beginning tests via http://localhost:47335/generated-index.html?cli_browser_id=1
chrome 43                Tests passed
firefox 38               Beginning tests via http://localhost:47335/generated-index.html?cli_browser_id=0
firefox 38               Tests passed
Test run ended with great success

firefox 38 (0/0/0)                      chrome 43 (0/0/0)

Done, without errors.

Lots of positive messages highlighted in green, and yet none of the tests were actually run. This only happens when I have gvim open on one of the tests, which I often do when I'm writing them. If I close vim, it runs them all and they pass :
$ grunt _wct-tests
Running "loadNpmTasks:web-component-tester" (loadNpmTasks) task

Running "wct-test:local" (wct-test) task
Starting Selenium server for local browsers
Selenium server running on port 46575
Web server running on port 37069 and serving from .
chrome 43                Beginning tests via http://localhost:37069/generated-index.html?cli_browser_id=1
firefox 38               Beginning tests via http://localhost:37069/generated-index.html?cli_browser_id=0
chrome 43                Tests passed
firefox 38               Tests passed
Test run ended with great success

firefox 38 (15/0/0)                     chrome 43 (15/0/0)

Done, without errors.

It's very difficult to spot that the 0/0/0 which should be 15/0/0. Almost all other messages are completely misleading.
Definitely a bug, imo.

This tripped me up again, and I'd forgotten that it had tripped me up before - fortunately I found this issue again.
I wonder if anything can be done. For example, perhaps WCT could have a config that forced '0/0/0' to be  a failure rather than a pass?


Running TREX when samples has been divided into several FASTQ files

I was going through how to run TREX when a single sample was separated into several files. Although it seems to identify every bam file in a folder and put the reads together (#27), there is a single file of cell ids that can be used for this. Although it might be unlikely, it could happen that an allowed cell id for one dataset, should not be allowed in another dataset. I believe that two paired lists of paths and allowed cell id files could be provided to avoid this problem. Is there some other workaround? Am I missing something?

I haven’t used the command with multiple samples so far, so I had to test this a bit.
To clarify (mostly to myself): One doesn’t specify multiple BAM files directly, but multiple 10x output folders like this:
trex run10x folder1 folder2

For each sample, TREX then uses the BAM file in .../outs/possorted_genome_bam.bam and the file with the list of allowed cell IDs in .../outs/barcodes.tsv(.gz).
So this list of allowed cell IDs is already sample-specific. However, I guess this is not what you meant. Are you referring to the --filter-cellids option? Then I believe it is correct that there’s no way to specify this on a per-sample basis.

Yes, I meant the --filter-cellids option. But now that you mention this, it's probably easier to add/update the .../outs/barcodes.tsv file with the allowed cell id file, and not provide the --filter-cellids parameter. I can't imagine why this would not work. Do you foresee any differences or problems? Also, I don't understand why there are two different ways of filtering cell ids.

For the time being, I am running it the "unclean" way.
I will leave the issue open as it should probably be dealt with.


cookbook says it updates setuptools, but it doesn't

I am experiencing a strange corner case where the python cookbook's python_pip[virtualenv] fails because setuptools is at a really old version (0.6c11). python_pip[setuptools] runs before it, and says it will update setuptools, but it doesn't actually; I have to run 'pip install --upgrade setuptools' for it to work.
[2014-05-06 14:32:35,746][INFO] INFO: Processing execute[install-pip] action run (python::pip line 42)
[2014-05-06 14:32:35,746][INFO] INFO: Processing python_pip[setuptools] action upgrade (python::pip line 50)
[2014-05-06 14:32:36,443][INFO] INFO: Upgrading python_pip[setuptools] version from uninstalled to latest
[2014-05-06 14:32:42,556][INFO] INFO: Processing python_pip[virtualenv] action upgrade (python::virtualenv line 23)
[2014-05-06 14:32:42,860][INFO] INFO: Upgrading python_pip[virtualenv] version from 1.10.1 to latest
[2014-05-06 14:32:43,838][INFO] ================================================================================
[2014-05-06 14:32:43,838][INFO] Error executing action `upgrade` on resource 'python_pip[virtualenv]'
[2014-05-06 14:32:43,839][INFO] ================================================================================
[2014-05-06 14:32:43,839][INFO] Mixlib::ShellOut::ShellCommandFailed
[2014-05-06 14:32:43,839][INFO] ------------------------------------
[2014-05-06 14:32:43,839][INFO] Expected process to exit with [0], but received '1'
[2014-05-06 14:32:43,839][INFO] ---- Begin output of pip install  --upgrade virtualenv ----
[2014-05-06 14:32:43,839][INFO] STDOUT: Downloading/unpacking virtualenv from https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.5.tar.gz#md5=f61636143193499e7700ec9b70756ff6
[2014-05-06 14:32:43,839][INFO]   Running setup.py egg_info for package virtualenv
[2014-05-06 14:32:43,839][INFO]     /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'entry_points'
[2014-05-06 14:32:43,839][INFO]       warnings.warn(msg)
[2014-05-06 14:32:43,839][INFO]     /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
[2014-05-06 14:32:43,839][INFO]       warnings.warn(msg)
[2014-05-06 14:32:43,839][INFO]     /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_suite'
[2014-05-06 14:32:43,840][INFO]       warnings.warn(msg)
[2014-05-06 14:32:43,840][INFO]     /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'tests_require'
[2014-05-06 14:32:43,840][INFO]       warnings.warn(msg)
[2014-05-06 14:32:43,840][INFO]     usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
[2014-05-06 14:32:43,840][INFO]        or: -c --help [cmd1 cmd2 ...]
[2014-05-06 14:32:43,840][INFO]        or: -c --help-commands
[2014-05-06 14:32:43,840][INFO]        or: -c cmd --help
[2014-05-06 14:32:43,840][INFO]     error: invalid command 'egg_info'
[2014-05-06 14:32:43,840][INFO]     Complete output from command python setup.py egg_info:
[2014-05-06 14:32:43,840][INFO]     /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'entry_points'
[2014-05-06 14:32:43,840][INFO]   warnings.warn(msg)
[2014-05-06 14:32:43,841][INFO] /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
[2014-05-06 14:32:43,841][INFO]   warnings.warn(msg)
[2014-05-06 14:32:43,841][INFO] /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_suite'
[2014-05-06 14:32:43,841][INFO]   warnings.warn(msg)
[2014-05-06 14:32:43,841][INFO] /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'tests_require'
[2014-05-06 14:32:43,841][INFO]   warnings.warn(msg)
[2014-05-06 14:32:43,841][INFO] usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
[2014-05-06 14:32:43,842][INFO]    or: -c --help [cmd1 cmd2 ...]
[2014-05-06 14:32:43,842][INFO]    or: -c --help-commands
[2014-05-06 14:32:43,842][INFO]    or: -c cmd --help
[2014-05-06 14:32:43,842][INFO] error: invalid command 'egg_info'
[2014-05-06 14:32:43,842][INFO] ----------------------------------------
[2014-05-06 14:32:43,842][INFO] Cleaning up...
[2014-05-06 14:32:43,842][INFO] Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/virtualenv
[2014-05-06 14:32:43,842][INFO] Storing complete log in /home/ubuntu/.pip/pip.log
[2014-05-06 14:32:43,842][INFO] STDERR:
[2014-05-06 14:32:43,842][INFO] ---- End output of pip install  --upgrade virtualenv ----
[2014-05-06 14:32:43,843][INFO] Ran pip install  --upgrade virtualenv returned 1

Closing this out as get-pip.py no longer touches setuptools on the system.


Need to preserve old  zip files after deployment

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
I want to preserve the old zip files after a new deployment using Azure CLI Config-Zip command, as I want 2-4 different zip files to be present under site/wwwroot/webapps.
What's happening is that after deploying 2nd zip file, I cannot see the first zip file under webapps folder.
Any help would be appreciated

route to service team

This is not specific to CLI - since CLI doesn't control what zipfiles are stored on the Kudu site,, please open issue on Kudu project.


UI: Save the tab and re-activate it after submitting the form.

Description
Fixes https://github.com/apache/cloudstack/issues/4961

Types of changes

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

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

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

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

@blueorangutan ui

@utchoang 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: http://qa.cloudstack.cloud:8080/client/pr/4962 (SL-JID-108)

@blueorangutan ui

@davidjumani 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: http://qa.cloudstack.cloud:8080/client/pr/4962 (SL-JID-110)

@utchoang Can you raise this against 4.15 ?
Thanks

@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: http://qa.cloudstack.cloud:8080/client/pr/4962 (SL-JID-111)

LGTM - thx guys.


Issues on the ui-avatars.com server

$ curl "https://ui-avatars.com/api/?name=Ell&color=fff&background=9b9b9b&size=500" --output file.png
$ cat file.png

Fatal error:  Uncaught Intervention\Image\Exception\NotWritableException: Can't write image data to path (/home/forge/na.ui-avatars.com/api/../cache/0e13116310d9f1ba0dd5bb6c09e4b3d2.png) in /home/forge/na.ui-avatars.com/vendor/intervention/image/src/Intervention/Image/Image.php:150
Stack trace:
#0 /home/forge/na.ui-avatars.com/api/index.php(89): Intervention\Image\Image->save('/home/forge/na....', 100)
#1 {main}
  thrown in /home/forge/na.ui-avatars.com/vendor/intervention/image/src/Intervention/Image/Image.php on line 150

Yes! thanks, this is also the issue for #44


Created AudioPlayer class, refactored MusicPlayerController

I added the AudioPlayer class and offloaded a lot of the ViewController's functionality onto that class.

I refactored the MusicPlayerController to do the UI layout in Interface Builder, rather than code. I also configured AudioPlayer.swift to post notifications that MusicPlayerController.swift uses to update the image on the playButton. It'll show a "play" button when paused and a "pause button" when playing.

Added an Animator class to deal w/ button animations.
Implemented NSNotification posting in AudioPlayer class.
Implemented handler for NSNotifications on ViewController to keep UI in sync with the AudioPlayer class.


Improve JSON.parse performance

Using the update/append functionality of Dictionaries instead of
implementing a custom merge operator +, we see significant speed
increases for large data sets. Given a ~85K json file, it took ~265ms to
parse without this optimization and ~75ms with this optimization.

:+1:

Actually, we should remove our implementation of + for Dictionaries if we aren't using it anymore. Then :+1:


Upgrade to Phoenix 1.6.0-rc.0

Overview
This pr updates does 2 things:

updates the version of Phoenix from 1.5.9 to 1.6.0-rc.0 and makes the corresponding file changes to support it
removes ecto-related dependencies and boilerplate since we are not using it for this project

This pr is ~very much a WIP - the remaining items~ ready to go!:

[x] make sure this branch can deploy to Heroku smoothly
[x] update live templates to use the new heex hotness 🔥
[x] remove remaining webpack/js related configuratoin
[x] fix dialyzer error
[x] fix console error message casued by Alpine.start()
[x] fix topbar dependency integration

References
Of course I could not have done this without Chris & Jose's guidance ❤ in these two guides:

https://gist.github.com/chrismccord/2ab350f154235ad4a4d0f4de6decba7b
https://github.com/josevalim/phx_esbuild_demo/pull/3

@kinson are we ready to convert this into a PR?

@kinson are we ready to convert this into a PR?

This pr is ready, I am not sure if this is possible, but do you mind redeploying it on Heroku so we can take a look before merging and do some manual testing there?
Two other notes about this pr:

I am not sure if we want to merge a pre released version of Phoenix, though I haven't heard of any significant regressions or bugs
In a separate pr I will convert the remaining templates to heex - I can do it here instead but it would balloon the size of this pr siginificantly and eex/leex templates are still supported in 1.6

@kinson sounds good! I will let you know when I deploy this (may be a little bit).

Since Phoenix 1.6.0 has been officially released, I will upgrade to it before this pr gets merged 🎊


sudo crouton -u won't update, broken packages.

$ sudo edit-chroot -all

name: thistlehoney
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/thistlehoney...
crouton: version 1-20200116214215~master:9017d640
release: xenial
architecture: amd64
xmethod: xorg
targets: unity,xorg,xiwi
host: version 12739.111.0 (Official Build) stable-channel coral
kernel: Linux localhost 4.4.205-17074-gdc1f94d55924 #1 SMP PREEMPT Mon Mar 30 23:23:18 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux
freon: yes

Please describe your issue:
When I tried to update my chroot with sudo crouton -un thistlehoney like I do every so often, it spit out the weirdest error. Here are the last 25 lines of the log:
   750K .......... .......... .......... .......... .....      3.90M=0.2s

2020-04-04 05:02:49 (3.90 MB/s) - '/tmp/crouton-cras.oMHHWA/adhd.tar.gz' saved [814701]

Reading package lists... Done
Building dependency tree
Reading state information... Done
alsa-utils is already the newest version (1.1.0-0ubuntu5).
libasound2:i386 is already the newest version (1.1.0-0ubuntu1).
libspeexdsp1:i386 is already the newest version (1.2~rc1.2-1ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version (4:5.3.1-1ubuntu1).
pkg-config is already the newest version (0.29.1-0ubuntu1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gcc-multilib : Depends: gcc-5-multilib (>= 5.3.1-3~) but it is not going to be installed
 libc6-dev:i386 : Depends: libc6:i386 (= 2.23-0ubuntu3) but 2.23-0ubuntu11 is to be installed
E: Unable to correct problems, you have held broken packages.
Failed to complete chroot setup.
Not unmounting /mnt/stateful_partition/crouton/chroots/thistlehoney as another instance is using it.

I tried a little bit to fix the problem by installing the packages manually within the chroot with apt and aptitude, but the problem persisted. I don't know what's wrong. If anyone wants a list of my installed packages, here it is.
If known, describe the steps to reproduce the issue:
¯_(ツ)_/¯

@kingliamb,
I just updated my xenial chroot with unity -

from: version 1-20190902190258~master:9a594a66
to ...:     version 1-20200116214215~master:9017d640  (newest & same as yours)

I had no warnings or errors.
I have the following installed:
chroot name: xen.unity (2.0G)
crouton: version 1-20200116214215~master:9017d640
release: xenial
architecture: amd64
xmethod: xiwi
targets: xiwi,xorg,cli-extra,keyboard,unity,chrome-beta
host: version 13015.0.0 (Official Build) dev-channel lulu
kernel: Linux localhost 4.14.174-15082-ge77ca2dbd70c #1 SMP PREEMPT Tue Mar 31 12:31:52 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux
freon: yes

I found these similar packages with the following versions installed on my chroot:

gcc-multilib/xenial,now 4:5.3.1-1ubuntu1 amd64 [installed]
libc6-dev-i386/xenial-updates,now 2.23-0ubuntu11 amd64 [installed,automatic]

Not sure why my versions are different from yours.
I like to install and use 'aptitude' instead of 'apt' or 'apt-get' for situations like this. It has better dependency resolution I think. You could install it and run: sudo aptitude -f install and see what it suggests.
Hope this helps,
-DennisLfromGA

Alright I used aptitude to fix attempt to fix the problem, and it just caused errors like this for a bunch of packages. After a few rounds of "fixing" with aptitude, I had hundreds of package errors. I just deleted and recreated my chroot. I don't know what caused this problem, but nobody else thus far has had this error so I'm optimistic that by closing this it's not going to cause a problem.