memory leak using ProcessPoolExecutor if jitted function creates array

First of all I want to thank you for such a user-friendly packaged that was able to speed-up my function from 2.5 s to 5 ms with a simple @njit line.
However, I have discovered a significant memory leak if I create a numpy array inside of the jitted function. Below you can see two pretty identical functions. But if I run the code with the getClusters function the used RAM increases all the time.

If you use voidgetClusters the RAM consumption is much less and also reduces after some time (call of GC?). I do not really understand why is the cluster_map in case of the original getClusters function not being deallocated since it is a local variable. Can you check it please?
from numba import njit
import asyncio
import multiprocessing as mp
import time
import numpy as np
from concurrent.futures import ProcessPoolExecutor
from multiprocessing import shared_memory as sm
from multiprocessing.managers import SharedMemoryManager

@njit("i1[:,:](f8[:,:], f8)")
def getClusters(frame, cut_off_adu):
    clusterSize = 3
    cluster_map = np.zeros((400, 400), dtype=np.int8)
    for iy in range(400):
        for ix in range(400):
            max_value = tl = tr = bl = br = tot = 0
            # 0 - no photon, 1- photon,  2 - photon_max
            ee = 0
            for ir in range(-clusterSize // 2, clusterSize // 2 + 1):
                for ic in range(-clusterSize // 2, clusterSize // 2 + 1):
                    if (
                        (iy + ir) >= 0
                        and (iy + ir) < frame.shape[0]
                        and (ix + ic) >= 0
                        and (ix + ic) < frame.shape[1]
                    ):
                        v = frame[iy + ir, ix + ic]
                        # consider non-negative values only
                        v = max(v, 0)
                        if v > max_value:
                            max_value = v
                # in real case there is much more maths here
                if max_value > cut_off_adu:
                    ee = 1

                if ee == 1 and frame[iy, ix] == max_value:
                    ee == 2
                    cluster_map[iy, ix] = 1
    return cluster_map

@njit("void(f8[:,:], f8[:,:], f8)")
def voidgetClusters(frame, cluster_map, cut_off_adu):
    clusterSize = 3
    cluster_map = np.zeros((400, 400), dtype=np.int8)
    for iy in range(400):
        for ix in range(400):
            max_value = tl = tr = bl = br = tot = 0
            # 0 - no photon, 1- photon,  2 - photon_max
            ee = 0
            for ir in range(-clusterSize // 2, clusterSize // 2 + 1):
                for ic in range(-clusterSize // 2, clusterSize // 2 + 1):
                    if (
                        (iy + ir) >= 0
                        and (iy + ir) < frame.shape[0]
                        and (ix + ic) >= 0
                        and (ix + ic) < frame.shape[1]
                    ):
                        v = frame[iy + ir, ix + ic]
                        # consider non-negative values only
                        v = max(v, 0)
                        if v > max_value:
                            max_value = v
                if max_value > cut_off_adu:
                    ee = 1
                # in real case there is much more maths here
                if ee == 1 and frame[iy, ix] == max_value:
                    ee == 2
                    cluster_map[iy, ix] = 1

# how it will be used in real case with the lock and appending to the shared memory array
def array_creation(input, lock, shared_memory):
    result_array = np.ndarray(
        (400, 400),
        dtype=float,
        buffer=shared_memory.buf,
    )
    result = getClusters(input, 70)
    lock.acquire()
    result_array += result
    del result
    lock.release()

def no_array_creation(input, lock, shared_memory):
    result = np.empty((400, 400), dtype=np.int8)
    voidgetClusters(input, result, 70)
    lock.acquire()
    result_array = np.ndarray(
        (400, 400),
        dtype=float,
        buffer=shared_memory.buf,
    )
    result_array += result
    del result
    lock.release()

if __name__ == "__main__":
    manager = mp.Manager()
    lock = manager.Lock()
    smm = SharedMemoryManager()
    smm.start()
    img_bytes = np.zeros((400, 400), dtype=float).nbytes
    shared_result = smm.SharedMemory(size=img_bytes)
    ppe = ProcessPoolExecutor(4)
    for i in range(5000):
        input = np.random.randint(0, 100, size=(400, 400)).astype(float)
        # either
        future = ppe.submit(array_creation, input, lock, shared_result)
        # or
        # future = ppe.submit(no_array_creation, input, lock, shared_result)
        future = asyncio.wrap_future(future)
        print(i)
    # to prevent smm and manager from shutdown before the processes have completed their tasks
    time.sleep(60)
    smm.shutdown()
    manager.shutdown()

P. S. sorry for the paint madskills

How are you measuring memory usage?

How are you measuring memory usage?

 I guess there are special profiler tooIs. Should I use free or any other tool instead?

The issue was exactly the futures wrap call was causing the problem. Thanks :)

The issue was exactly the futures wrap which was causing the problem. Thanks :)

I got rid of the futures wrap whilst experimenting with the code because I thought it needlessly complicated things, so I was a bit confused - haha! :-)


bash: -p: command not found

On debian buster
No issue during setup with atoz documentation
When conneting to web interface  I've got a "bash: -p: command not found" after entering password.
Error Message is :
myuser@localhost's password:
bash: -p: command not found
Connection to localhost closed
No issue with same user with ssh connection with putty

I confirm same issue than https://github.com/butlerx/wetty/issues/320
It works correctly with version 2.0.2
Replace
yarn global add wetty --prefix ~/
by
yarn global add<EMAIL_ADDRESS>--prefix ~/

The issue does not occur when running as root since it uses login instead of ssh.
I did run wetty as root and forced the use of ssh and observed the same error.

I have the same issue, also 2.02 does not work for me because I have 2FA turned on for SSH and I am not prompted for the 2FA code, 2.0.3 correctly prompts me for this over SSH but I get the command not found.
I can run either version as root however and it works as expected.

I ran wetty standalone from the shell and used strace to record the process related system calls.
This is from 2.02:
3255  execve("/usr/bin/ssh", ["ssh"<EMAIL_ADDRESS>"-t", "-p", "22", "-o", "PreferredAuthentications=passwor"..., "-o", "UserKnownHostsFile=/home/marc/.s"..., "-o", "StrictHostKeyChecking=yes"], 0x7ffe4bcca950 /* 28 vars */) = 0
This is from 2.03:
2291  execve("/usr/bin/ssh", ["ssh"<EMAIL_ADDRESS>"-t", "", "", "-p", "22", "-o", "PreferredAuthentications=passwor"..., "-o", "UserKnownHostsFile=/home/marc/.s"..., "-o", "StrictHostKeyChecking=yes"], 0x7ffca93a3530 /* 28 vars */) = 0
I then just ran each ssh invocation from a shell to confirm what I was seeing in the strace output.  The issue is the two empty strings after the "-t" argument to ssh.  When those two empty strings are present I get the same error message that is reported in the bug: bash: -p: command not found

I don't know JavaScript but I believe I found the issue and have a workaround so 2.03 can be used.
The issue appears to be the addition of the --user-config option where one can specify an optional ssh config file.
It appears that when one does not specify --user-config ssh_config_file that is when we observe the two empty strings when ssh is invoked.
I invoked wetty from the shell to test this and added --ssh-config /etc/ssh/ssh_config and I was able to successfully login.
I made the same changes to my wetty.service file since I am using systemd to start wetty and everything appears to be working fine.
@butlerx hope this helps you with fixing the issue.

Yeah the previous version does fix this issue. Will this bug be fixed in the next release?

can users verify if the issue persists in version 2.1
duplicate of #308

Well it looks like the issue is solved for me in 2.1.1. Thanks !

great to hear


Login with --token broken

Version 5.5.0
Logging in using the --token option appears to work, but subsequent commands fail with session token expired error.
If I use just "resin login" and choose token from the menu, everything works correctly.
This error makes it really hard to properly script some tasks.

resin login --token $TOKEN

______          _         _
| ___ \        (_)       (_)
| |_/ /___  ___ _ _ __    _  ___
|    // _ \/ __| | '_ \  | |/ _ \
| |\ \  __/\__ \ | | | |_| | (_) |
\_| \_\___||___/_|_| |_(_)_|\___/

Logging in to resin.io
Successfully logged in as: gh_brianadams

Now what?

Run the following command to get a device started with Resin.io

  $ resin quickstart

Find out about more super powers by running:

  $ resin help

If you need help, or just want to say hi, don't hesitate in reaching out at:

  GitHub: https://github.com/resin-io/resin-cli/issues/new
  Gitter: https://gitter.im/resin-io/chat

resin devices

Looks like your session token is expired.

Please try logging in again with:

	$ resin login

If you need help, don't hesitate in contacting us at:

  GitHub: https://github.com/resin-io/resin-cli/issues/new
  Gitter: https://gitter.im/resin-io/chat

resin login

______          _         _
| ___ \        (_)       (_)
| |_/ /___  ___ _ _ __    _  ___
|    // _ \/ __| | '_ \  | |/ _ \
| |\ \  __/\__ \ | | | |_| | (_) |
\_| \_\___||___/_|_| |_(_)_|\___/

Logging in to resin.io
? How would you like to login? Authentication token
? Token (from the preferences page) $TOKEN
Successfully logged in as: gh_brianadams

Now what?

Run the following command to get a device started with Resin.io

  $ resin quickstart

Find out about more super powers by running:

  $ resin help

If you need help, or just want to say hi, don't hesitate in reaching out at:

  GitHub: https://github.com/resin-io/resin-cli/issues/new
  Gitter: https://gitter.im/resin-io/chat

resin devices

ID     UUID    NAME                    DEVICE TYPE      APPLICATION NAME   STATUS      IS ONLINE SUPERVISOR VERSION OS VERSION

Hi, have you used a new token from the dashboard to log in? Those tokens have 1 week lifetime, so if you are trying to use an older token (I guess) something like this might happen?
Just tested resin login --token "..." followed by a resin devices on the latest 5.7.0 version, and token login works just fine.

Thanks. Did not know about the expiration on the dashboard tokens.  Is there another suggested means for creating tokens that can be used on build servers (don't expire).

@BrianAdams this question came up in the forums this week too, there's now open issue for it on this repo, you can subscribe to that: https://github.com/resin-io/resin-cli/issues/465


chore(main): release 1.0.0

An automated release has been created for you.
1.0.0 (2024-02-07)
Features

Allow retrieving variables from state (#5) (f1d3c0a)
Apache 2.0 (8e97b97)
Collapse Runtime into Luau (#7) (df2a0d4)
Iterate on APIs (#6) (470db44)
More test coverage (#8) (ced718b)
Rename to Lunar (#10) (16c2e81)
Simple runtime and execution (#1) (1051f5e)
Telemetry & clone support (#12) (78e254e)

Bug Fixes

Setup release please manifest (#6) (40328fe)

Miscellaneous

Add CI (#2) (613d833)
Add Credo and Dialyzer (406613c)
Add excoveralls (3e40b70)
Add package details to mix.exs file (#7) (ca24f39)
Add release please (#3) (377d571)
Add release-please config (#4) (9f5a819)
Docs (931b24d)
Introduce PR template and checklist (#3) (04b7df2)
README release please changes (#9) (1f65d08)
Remove capture_log tag (d8a9f6f)
Setup common config (d4abfb1)
Sync files with stordco/common-config-elixir (#1) (13cd484)
Sync files with stordco/common-config-elixir (#4) (f133880)
Update mix package license value (#8) (584d98b)
Update wrapped function name (597e56b)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/stordco/lunar/releases/tag/v1.0.0 :sunflower:


Empty State for Test Tab

This PR adds an Empty State for the Test Tab:

BEFORE
AFTER

And also creates an example test suite upon first launch.  Note that you can easily test this by using the new stats.launches helper added in https://github.com/Kong/insomnia/pull/4350.  Set it to 1 and do a soft refresh (Shift+F5)
Closes INS-1291

@develohpanda 313ad0c2e73a292098d0fb02efa6e2a4c14f02f7 fixes the overflow issue.  it's been tricky to do without diverging too far from the other Pane usages, but thankfully this solution seems to work in all the situations:

Although this PR didn't do 90% of initFirstLaunch, I agree that it's time to have tests for it, and I'd like me/us to be accountable to that.  So, I created INS-1368, which will be a follow-up to all this.


Component not updating when controlled

I'm using RRuleGenerator as a full controlled component within a Redux Field:
const RecurrenceInput = ({ input: { value, onChange }}) => (

    <RRuleGenerator value={value} onChange={onChange} />

VALUE: {value}

);

Using React 16.5.1, the component initially renders correctly but then never rerenders, so clicking the interface updates the displayed value but doesn't actually update the interface.
Stepping through the code, when you change something in the interface, componentWillReceiveProps gets called with the updated value and it calls setState to store the new rrule. Then shouldComponentUpdate is called with the updated value, but it ends up comparing the new value to the ALREADY UPDATED this.state.rrule, which at that point is the same, so the function returns false and then component is never re-rendered.
As a quick workaround, I'm just removing shouldComponentUpdate entirely and marking the component as a PureComponent, but not sure if that's a valid fix...

Hello @dlerman2!
This check (inside shouldComponentUpdate()) was made only to prevent double rendering when being fed with the same RRule (which the component has already generated), but at the same time it must have stopped from updating the component just after generating the new RRule (inside handleChange() - first update). The second update should be forbidden here (inside willReceiveNextProps()), but the component had no possibility to update it in the first place.
I'm curious how it has worked until now (with comparing only nextProps to current state, when the state also could change). This faulty check was my mistake, because I've forgotten about first update's conditions. Anyway, one additional rerender is less harmful than not reacting to changes. ;)
I created #32, will merge and release it any day now.
Cheers!

Awesome, thanks @Fafruch!


Added Face Reconstruction using Graph Convolution Networks

Fixes: #164
Proposed Changes
This model seeks to reconstruct the 3D facial shape with high fidelity texture from a single image, without the need to capture a large-scale face texture database.
Additional Info
I personally had worked on this model few months ago and i was impressed by how much this model has helped me in 3D face Alignment and Facial Landmark Detection.

Commendable work @infiniteoverflow

Thanks a lot @akshitagupta15june


CIT resewn can't pickup the model textures

It shows as purple and black textures.

Exactly the same problem

There's not nearly enough information to work with here. Provide the pack, provide your logs, show which item is not working as intended.
At a glance this seems to just be that the textures arent in the atlas which is required in vanilla minecraft now and packs that have textures in weird places need to let the game know. The packs just need to be updated.


Upgrade to Develocity extension 1.21

👍🏻 soooo, we can upgrade the compiler plugin on Search after this ? 🙈

👍🏻 soooo, we can upgrade the compiler plugin on Search after this ? 🙈

Absolutely 👍


Terminal got stucked

Describe the bug
while try to do ng generate component product-alerts the terminal gets stucked.
Link to the blitz that caused the error
https://stackblitz.com/edit/sgyubm-de8dkd?file=src%2Fapp%2Fproduct-list%2Fproduct-list.component.html,src%2Fapp%2Fproduct-list%2Fproduct-list.component.ts
Steps to reproduce
1.go to https://stackblitz.com/edit/sgyubm-de8dkd?file=src%2Fapp%2Fproduct-list%2Fproduct-list.component.html,src%2Fapp%2Fproduct-list%2Fproduct-list.component.ts
2. In terminal try to do ng generate component product-alerts it will give no response
Expected behavior
Should create a component named  product-alerts.component.ts
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots

Platform
Browser name  = Chrome
Full version  = <IP_ADDRESS>
Major version = 124
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 91248880,
  "usedJSHeapSize": 85068560,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = 7dbe22a9

Additional context
No response

@Richie2900 Did you try to kill the process first with Ctrl+C? Or to open a second terminal to run ng generate (with the + symbol on the upper right corner of the terminal panel)?


Add html,css and javascript books

~ added a few books to the open source repo

@all-contributors please can you add @sammy-code98 for code


Request for Proxy Configuration Support in Network Requests

I hope this issue finds you well.
I would like to request the ability to configure proxy settings for network requests within the library.
I noticed that in https://github.com/CNDRD/siegeapi/blob/e09ded8ddf1754c4937c64fd19982c5c1836ace6/siegeapi/auth.py#L247-L282, it seems possible to pass in proxy parameters. However, in methods like
https://github.com/CNDRD/siegeapi/blob/e09ded8ddf1754c4937c64fd19982c5c1836ace6/siegeapi/auth.py#L76-L110, it appears that this option might not be available.
If there is an existing method to pass proxy parameters that I may have overlooked, I would greatly appreciate any guidance on how to achieve this. I’m raising this issue to seek clarification and potentially suggest an enhancement if needed.
Thank you for your time and assistance!

🤷
shit was never written to be able to handle anything like this
ill have a look at what can be done, but idk

aight v6.3.4 is released which adds Auth.extra_get_kwargs
dictionary that get applied to session kwargs before every get request
this should handle anything and everything one would need to do with the kwargs
not adding any update methods or anything cuz if you need to use a proxy or otherwise meddle with the requests you should know what youre doing :)


Fix test cases after bot PR for updating python requirements

Is a longer term fix to update https://github.com/openedx/repo-tools/blob/master/Makefile#L39 to also upgrade the py312 files?

@feanil I believe you are right but I was not sure about updating https://github.com/openedx/repo-tools/blob/master/Makefile#L39, there were some package version conflicts in extra-py312 file and i discussed with BOM team which created these files, they mentioned me to update the files locally with python 3.12 environment.
What if we merge this for now and let me update the make file separately?

@feanil PR is ready to merge.


chore(Image): Update image prop type to ImageSourcePropType

follow-through this https://github.com/react-native-community/react-native-svg/pull/652
Since i don't have access to old repo, i re-fork this repo.
In RN 0.54 if we create prod build or set JS-DEV = false in dev settings the app will throw error because can't find Image.propTypes.source.

can we merge this?

ping.

I would prefer not importing from internals, only from the main exports, but guess we can merge this for now.


Dagger 2.11 & Retrofit

Does this project follows the latest dagger 2 guidelines?
And is there any chance that you will include Retrofit API calls with proper separate network dagger module as shown here

We can think on this.

I appreciate the update of Dagger 2.11 with Android Injector demo. Retrofit2  is also another greate networking library.

#32


Allow Raspberry Pi users to avoid any sudo

sudo no more on raspberry pi

I need to use pip to install Adafruit_Python_DHT lib, but I also need to use it as no root on raspberry pi. If you are ok with this, can you update it on pip?

Not running as root would be great. If this is an acceptable change lets get this merged and available for pip install please!

Also running into this issue! Would be great to get a fix soon. Cheers!

Wow thanks so much for contributing this change and apologies it took a little while to be reviewed.  Tried it out and yeah it works great to access without sudo.  I think by now everyone should be running Jessie with the newer sudo-less gpiomem location so I'll merge it in.  Thanks again!


ZRange is terribly slow on high score

This code is slower and slower as you increase the ZRange max value.
I've tried on different storage with the same results.
package main

import (
	"log"

	"github.com/siddontang/ledisdb/config"
	"github.com/siddontang/ledisdb/ledis"
)

func main() {
	// loading ledis config
	c, err := config.NewConfigWithFile("ledis.conf")
	if err != nil {
		log.Fatal(err)
	}
	// opening ledis
	lc, err := ledis.Open(c)
	if err != nil {
		log.Fatal(err)
	}
	defer lc.Close()

	// selecting database
	db, err := lc.Select(0)
	if err != nil {
		log.Fatal(err)
	}

	db.ZAdd([]byte("adxs"), ledis.ScorePair{1, []byte("toto")})

	_, err = db.ZRange([]byte("adxs"), 0, 999999999)
	if err != nil {
		log.Fatal(err)
	}
}

Thanks @akhenakh , how about your data size in a size? only one?
Could you show me your benchmark test case?
zset uses an iterator which seeks to the first score 0 first, then one by one to the laster 99999999, if your size is big, this may be slow, especially for reverse range.

Run this code on your computer, empty db ! :)

No need for a bench this one ZRange takes 25.97s on a core i5

Thanks @akhenakh , I find the problem, here is the code for zrange:
nv := 64
if count > 0 {
	nv = count
}

v := make([]ScorePair, 0, nv)

here count is 99999999, so make costs a very long time. Later I will use a default maximum count if possible.

Thank you!

I have fixed it, you can update the code and try again. :-）

Awesome, thank you


Update to MySQL version from 5.6 to 5.8

Current version 5.6 throws error related entry point file. 5.6 is compatible anymore to run the latest version, k8s.

This error comes when using mysql:5.6
exec /usr/local/bin/docker-entrypoint.sh: exec format error


连接mysql报错

Description
dbeaver连接mysql报错Unknown system variable 'query_cache_size'  mysql版本8.4.3
DBeaver Version
24.3.0
Operating System
No response
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Hello @sunzhiqi123,
We don't query that particular system variable anywhere in DBeaver. Please check your connection configuration and ensure you don't have anything set as bootstrap queries.

Hello @sunzhiqi123,
We don't query that particular system variable anywhere in DBeaver. Please check your connection configuration and ensure you have nothing set as bootstrap queries.

hello ， I connection to mysql 8.2.0 is fine, but the connection to 8.4.0 is an error. Unknown system variable 'query_cache_size'


Pseudo class "not"

Guess it's a bug (using sass):
&:not(disabled) {   cursor: pointer; }

Hi @sahara18 , do you used after sass processing?
Example:
.pipe(postcss([
            /* postcss plugins before parsing sass */
            sass()
            /* postcss plugins after parsing sass (like postcss-selector-prefixer) */
]))


Building a Responsive and Collapsible Sidebar with Ant Design Library and React

Building a Responsive and Collapsible Sidebar with Ant Design Library and React
Introduction:
The three-column web page design is the most widely used web design architecture by modern developers as it provides an efficient way of content presentation. Designing the perfect responsive sidebar, a decade ago was a difficult task that required element manipulation with CSS, but these days modern design libraries such as Ant design library has reduced the complexity of building the perfect sidebar.
Key Takeaways:
At the completion of this article it is expected that the reader will understand and be able to perform the following
Getting Started with Ant Design Library.
Fundamentals of Ant Design Library.
Elements and Components of Ant Design Library.
Building a responsive sidebar with icons and links using Ant Design Library and React.
Error handling in Ant Design.
References:
https://ant.design/docs/react/introduce

@Tioumoh
Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Closed #3423 via #3676


Input Data colmap.json generate

Excuse me, I would like to know the formula of parameter R、C、T.
As far as I know, they can be calculated by colmap output sparse model cameras.txt and images.txt file?
The JSON object for the camera only needs to load the file camera.txt.
The definition of quaternions according to the Hamilton convention, So the JSON object for the images need to use QX、QY、QZ、QW to calculate R. The formula is below:
R=\begin{bmatrix}
1-2(QY^2+QZ^2) & 2(QXQY−QWQZ) & 2(QXQZ+QWQY)\\\
2(QXQY+QWQZ) & 1-2(QX^2+QZ^2) & 2(QYQZ−QWQX) \\\
2(QXQZ-QWQY) & 2(QYQZ + QWQX) & 1-2(QX^2 + QY^2)
\end{bmatrix}

T=\begin{bmatrix}
TX \\\
TY \\\
TZ
\end{bmatrix}

C=-R^{t}*T

$R^{t}$ is $R$ is the inverse/transpose of the 3x3 rotation matrix composed from the quaternion
from the official doc: https://colmap.github.io/format.html
Is the above formula correct?
Thank you very much, sorry to bother you😖

I used the qvec2rotmat formula located here for my conversions, which does look similar to what you've sent.
I also had to run some conversions to convert into PyTorch3D format, I've included some rough code on how I computed R and T below. This is not part of the main FOUND code, so has not been tidied, but may be helpful to you.
colmap_P = np.eye(4)
colmap_P[:3, :3] = qvec2rotmat(image.qvec)
colmap_P[:3, -1] = image.tvec

# Calculate new centres
original_cam_centres = -(qvec2rotmat(image.qvec).T @ image.tvec[:, None])[..., 0]
P = Transf @ colmap_P
new_C = apply_transform(Transf, original_cam_centres[None, :])[0]

# Calculate new rotations
Transf_R = Transf[:3, :3] / np.linalg.det(Transf[:3, :3]) ** (1/3)  # rotational component of overall transform
R = (Transf_R @ qvec2rotmat(image.qvec).T).T

# flip camera orientation from COLMAP to PyTorch3D
R = transf_c2p @ R
T = (- R @ new_C[:, None])[..., 0]  # Calculate new T

I used the qvec2rotmat formula located here for my conversions, which does look similar to what you've sent.
I also had to run some conversions to convert into PyTorch3D format, I've included some rough code on how I computed R and T below. This is not part of the main FOUND code, so has not been tidied, but may be helpful to you.
colmap_P = np.eye(4)
colmap_P[:3, :3] = qvec2rotmat(image.qvec)
colmap_P[:3, -1] = image.tvec

# Calculate new centres
original_cam_centres = -(qvec2rotmat(image.qvec).T @ image.tvec[:, None])[..., 0]
P = Transf @ colmap_P
new_C = apply_transform(Transf, original_cam_centres[None, :])[0]

# Calculate new rotations
Transf_R = Transf[:3, :3] / np.linalg.det(Transf[:3, :3]) ** (1/3)  # rotational component of overall transform
R = (Transf_R @ qvec2rotmat(image.qvec).T).T

# flip camera orientation from COLMAP to PyTorch3D
R = transf_c2p @ R
T = (- R @ new_C[:, None])[..., 0]  # Calculate new T

Hi, Ollie! Could you please share what the 'Transf' matrix is and the body of the 'apply_transform' function(not a 3d graphics expert, sorry if it is something trivial)?

Ah yes! As I mentioned, this is not code released as part of the main project, so is a bit scrappy...
Transf was the transform I used to map COLMAP into the space of my ground truth world-space models, for evaluation. If you do not care about comparing to ground truth, you do not need this transform.
apply_transform is pretty much just matrix multiplication. This is the exact function (again, a little messy...)
def apply_transform(T, pts):
	return ((T @ np.pad(pts, ((0, 0), (0, 1)), constant_values=1).T).T)[..., :3]

Just tried using the code you've shared, still can't get FOUND to work on Foot3D's multiview dataset with a custom colmap.json file - normal and total loss is 'nan', silhouette loss doesn't change at all. Could you please provide any hints on what I may be doing wrong?
Here is the code I use for generating the colmap.json file:
import numpy as np
import json

def qvec2rotmat(qvec):
  return np.array(
    [
      [
        1 - 2 * qvec[2] ** 2 - 2 * qvec[3] ** 2,
        2 * qvec[1] * qvec[2] - 2 * qvec[0] * qvec[3],
        2 * qvec[3] * qvec[1] + 2 * qvec[0] * qvec[2],
      ],
      [
        2 * qvec[1] * qvec[2] + 2 * qvec[0] * qvec[3],
        1 - 2 * qvec[1] ** 2 - 2 * qvec[3] ** 2,
        2 * qvec[2] * qvec[3] - 2 * qvec[0] * qvec[1],
      ],
      [
        2 * qvec[3] * qvec[1] - 2 * qvec[0] * qvec[2],
        2 * qvec[2] * qvec[3] + 2 * qvec[0] * qvec[1],
        1 - 2 * qvec[1] ** 2 - 2 * qvec[2] ** 2,
      ],
    ]
  )

def apply_transform(T, points):
  return ((T @ np.pad(points, ((0, 0), (0, 1)), constant_values=1).T).T)[..., :3]

Transf = np.identity(4)
transf_c2p = np.array([[-1., 0., 0.], [0., -1., 0.], [0., 0., 1.]]) # right-down-front to left-up-front

camera = maps[0].cameras[1]
json_obj = {
  'camera': {
    'cx': camera.params[1],
    'cy': camera.params[2],
    'f': camera.params[0]
  },
  'images': []
}

for id, img in maps[0].images.items():
  pth = img.name

  qvec = img.cam_from_world.rotation.quat
  tvec = img.cam_from_world.translation

  colmap_P = np.eye(4)
  colmap_P[:3, :3] = qvec2rotmat(qvec)
  colmap_P[:3, -1] = tvec

  # Calculate new centres
  original_cam_centres = -(qvec2rotmat(qvec).T @ tvec[:, None])[..., 0]
  P = Transf @ colmap_P
  new_C = apply_transform(Transf, original_cam_centres[None, :])[0]

  # Calculate new rotations
  Transf_R = Transf[:3, :3] / np.linalg.det(Transf[:3, :3]) ** (1/3)  # rotational component of overall transform
  R = (Transf_R @ qvec2rotmat(qvec).T).T

  # flip camera orientation from COLMAP to PyTorch3D
  R = transf_c2p @ R
  T = (- R @ new_C[:, None])[..., 0]  # Calculate new T

  json_obj['images'].append({
    'image_id': id,
    'pth': pth,
    'R': R.tolist(),
    'T': T.tolist(),
  })

And COLMAP reconstruction code(pycolmap is used instead of COLMAP's cli):
pycolmap.extract_features(colmap_db, colmap_source)
pycolmap.match_exhaustive(colmap_db)
maps = pycolmap.incremental_mapping(colmap_db, colmap_source, colmap_results)

Hi,
I would check through the coordinate format of your colmap.json, and see how it compares with the one I have provided - hopefully that can point at the difference.
Also double check that the qvec and tvec from pycolmap are exactly the same as that provided by COLMAP - I haven't used pycolmap so can't say for certain.
Also see if the visualizations from FOUND in the fitting script provide any clarity (if the mesh doesn't show at all, even on frame zero, it suggests that the cameras are pointing in the completely wrong directions).

Also, have you checked that the pycolmap reconstruction itself was successful? It might be worth visualising that in the COLMAP GUI - it could be that your reconstruction settings are wrong and you're not getting accurate cameras in the first place.

Thanks for the previous reply! Have been testing different colmap options, nothing seem to change. Checked the reconstruction in GUI, cameras are distributed correctly. Could you please send the whole script you’ve used, maybe it could help. Thanks in advance!

@OllieBoyne Any help?

Hi,
See attached for the full script - not formatted or tidied at all. Hope it helps!
colmap_to_np.zip
Most of the functionality here is aligning it with a ground truth scan for proper evaluation, so I don't think you should need to worry about all of those steps.

Hi,
See attached for the full script - not formatted or tidied at all. Hope it helps!
colmap_to_np.zip
Most of the functionality here is aligning it with a ground truth scan for proper evaluation, so I don't think you should need to worry about all of those steps.

Hi @OllieBoyne , code from zip file is quite useful to convert colmap json file, but still hard to fit model.
I found that we need transformed camera center for detecting FIND mesh model during training.
I tried to extract Transf matrix from your code, could you please share mesh_management py file?

Hi @deploy-soon, @R3pzz,
I have just committed scripts that can properly convert a COLMAP sparse fit to the necessary format for FOUND.
Note that, because COLMAP does not have accurate world scale, there may be a bad initialization for the FOUND process. This is likely why you saw the NAN errors @R3pzz, as the initialization was too bad to correct.
I was able to fix this behaviour on my end by adding some more registration steps,  setting the stages (via the .yaml file) as follows:
250 epochs, lr=1.0, ['reg'], ['kp_nll']
250 epochs, lr=0.1, ['reg'], ['kp_nll']
250 epochs, lr=0.01, ['reg'], ['kp_nll']
100 epochs, lr=0.001, ['deform', 'reg'], ['kp_nll', 'norm_nll']
I'll close this issue as I believe this addresses everything - if you hit any more issues, please open a separate issue.
Hope this helps!


feat: Added attach_public_policy as conditional switch

Description
Add a bool which controls the creation of resource "aws_s3_bucket_public_access_block"
Motivation and Context
We have an environment where S3 buckets are being created under a role without PutBucketPolicy.
Breaking Changes
No, by default the behavior will remain the same.
How Has This Been Tested?
Tested against a role without PutBucketPolicy.

Thanks, @Promaethius !
v1.8.0 has been just released.

That's a heck of a turnaround time! Thank you!


Struts 2.3.x: Tiles plugin upgrade

Fixes WW-4568
This PR upgrades the Tiles Plugin and adjusts its API to be compatible with Tiles 2.2.2 - this allows introduce support for OGNL, EL, Wildcards and so on.

For struts 2.3 I still got an old app with tiles2 which does some custom stuff and which has issues with these changes.

tiles-servlet-wildcard depends on spring-web. That causes spring to be pulled in to all apps that use struts-tiles-pluign. Due to this I would prefer wildcard support could be optional
in TilesContainerFactory.createContainerFactory() it is necessary for me to register tilesContainer in servletContext. Can be done like this, would you mind adding this to StrutsTilesContainerFactory?

@Override
protected BasicTilesContainer instantiateContainer(TilesApplicationContext applicationContext) {
	CachingTilesContainer tilesContainer = new CachingTilesContainer();
	ServletContext servletContext = (ServletContext) applicationContext.getContext();
	ServletUtil.setContainer(servletContext, tilesContainer);
	return tilesContainer;
}

in StrutsTilesContainerFactory.getSourceURLs() these two resource patterns are used: /WEB-INF/**/tiles*.xml and classpath*:META-INF/**/tiles*.xml. The 2nd one causes an exception in WebSphere with IBM JDK. Would be nice if we could make this configurable. The exception is Caused by: java.net.MalformedURLException: SRVE0238E: Resource paths should have a leading slash

Currently I have created my own TilesListener, TilesInitializer and TilesContainerFactory. With the above changes I could avoid that and just stick to StrutsTilesListener.
Two minor things I noticed in showcase app:

It logs this message: WARN (freemarker.jsp:75) - Custom EL functions won't be loaded because no ObjectWarpper was specified . So it may be that tiles-el along with tiles-freemarker are not working?
css layout seems to be broken in firefox (surely not related to this PR, looks good in chrome and ie11, is fixed in master branch)

@cnenning thanks for a really good feedback. I implemented a dedicated ApplicationContext to support wildcard matching without depending on Spring - by default all tiles*.xml will be loaded.
After cleaning up dependencies I didn't notice the issue with EL, could you check that on your side?
Thanks!

The new version looks awesome!
Just a small addon to constructor of StrutsWildcardServletTilesApplicationContext, that re-enables loading of tiles*.xml from classpath and works in IBM stuff, too:
        Enumeration<URL> cpResources = getClass().getClassLoader().getResources("/");
        while (cpResources.hasMoreElements()) {
            URL cpResource = cpResources.nextElement();
            urls.add(cpResource);
        }

Regarding the other issues:

css looks alright again in FF, seems like it was a FF bug
About EL stuff: I'm pretty helpless and pretty confused. That log message is created in freemarker.ext.jsp.TaglibFactory. It looks for a BeansWrapper which struts creates in FreemarkerManager.createObjectWrapper(). When tiles-layout is created with a JSP, and just tiles-attributes are done with FTLs everything seems OK. But when tiles-layout is done with FTL that message is logged and EL support seems broken.

I still cannot reproduce the issue with missing support for EL, here is my example I have been using to test this PR
https://github.com/lukaszlenart/struts2-tiles-demo

https://github.com/lukaszlenart/struts2-tiles-demo

I created a PR for that demo app which demonstrates the issue.
See https://github.com/lukaszlenart/struts2-tiles-demo/pull/2

This is what I get (I have been using Jetty)

This is what I get (I have been using Jetty)

Hmm, the freemarker template is not executed but it's code is shown. This is another issue. No idea why that happens.

I would say we merge this and may fix the "EL not working in freemarker-insert with freemarker-template" issue in master.

Let's do it, at least I will have less problem with debugging :D


convdersation -> conversation

Docs Build status updates of commit a25c675:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/create-apps-for-teams-meetings.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Thanks @tony-xia!  🙂


[bug] Different net label values for machines with 1Gbps uplinks

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Two machines have a 1Gbps uplink. One is auto-labelled with net: 1Gbps. The other one is auto-labelled with net: 1000Mbps. Filtering for machines with 1Gbps networking now produces incorrect results. See the screenshots attached.

By the way, there is similar behaviour for the cpu label. One is reporting as intel, while the other is reporting as intel(r) corporation. Both machines are bare metal with genuine Intel CPUs:

smpboot: CPU0: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz (family: 0x6, model: 0x2a, stepping: 0x7)
smpboot: CPU0: Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz (family: 0x6, model: 0x3c, stepping: 0x3)

Expected Behavior
Both machines should be auto-labelled as either 1Gbps or 1000Mbps. My preference would be 1Gbps.
Steps To Reproduce

Boot two different machines with 1Gbps networking running Talos OS (from Omni).
There is a good chance that one will label itself with 1Gbps, while the other one will report as 1000Mbps

What browsers are you seeing the problem on?
No response
Anything else?

I guess network speed is a bug in hardware SMBIOS info, one has 1000Mbps, another 1024Gbps.
But anyways we should fix it.

Both machines report 1000Mbps:

I talk about SMBIOS info, dmidecode on Linux.

Is there a way to check that with Talos?
Maybe omnictl machine-logs <MACHINE-ID> is not the right command.

we will fix it on Omni side, it should be visible in omnictl get machinestatus -o yaml output

Got it, thanks!
BTW, omnictl get resourcedefinition is super useful.

The fix will be released with Omni v0.7.0+

net now works as expected. Same for cpu. Thank you!


feature request: support "!include", "secrets.yaml "and environmental vars "{go2rtc_####}" in go2rtc.yaml

Great project and easy to use!
I'd be wonderful if go2rtc.yaml can support use of:

!include to modularize the config like Home Assistant

a. https://www.home-assistant.io/docs/configuration/splitting_configuration/

secrets.yaml file like Home Assistant

a. https://www.home-assistant.io/docs/configuration/secrets/

env vars like Frigate does with {FRIGATE_RTSP_PASSWORD}

a. https://docs.frigate.video/configuration/index#full-configuration-reference

I don't think the go2rtc config has to be so complicated to support feature 1 or feature 2.
But, supporting the environment makes sense.


b2c-support update Description of dateTime

update Description of dateTime that it follows ISO 8601 Convention during runtime and is converted to it gets converted to UNIX epoch time to match other datetime claims specified in the JWT standard, similar to the "nbf" and "exp" dateTime claims

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

#label:"aq-pr-triaged"

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

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


Is it possible to limit la-x/y-axis text labels for large sets of data?

Sorry, me again! :sweat_smile:
Taking this 365 day example with 365 points of data for the line, x axis labels and y axis labels, is there a way of setting a x/y label limits so the chart is still readable?
Overly simple example
5 labels maximum
<la-y-axis :limit="5" prop="labelData"></la-y-axis>
Bottom and top values can be equal to the :bound or lowest/highest value in prop.
The final 3 labels are divided equally in the remainder of the Y axis.
So if :bound[30, 300] then the y axis text would appear as...
300 -
232.5 -
165 -
97.5 -
30 -
on a side note I have checked the API at https://laue.js.org/api/#yaxis and I wonder if <la-y-axis tickSize="10" prop="labelData"></la-y-axis> is what I am looking for, but neither that nor <la-y-axis :tickSize="10" prop="labelData"></la-y-axis> seems to alter the axis at all (neither does fontSize).
Either I am missing something again due to using a basic implementation or the docs might need a little more love to help beginners use laue fully.

Released v0.1.1
https://laue.js.org/examples/#large-data


Prevent destroying ReactNativeActivity or ReactNativeTabActivity

Prevent destroying ReactNativeActivity or ReactNativeTabActivity on runtime changes (http://developer.android.com/guide/topics/resources/runtime-changes.html)
I noticed that the example included in this repo crashes on screen rotation because Android destroys and re-creates the ReactNativeTabActivity. Android remembers the TabViews which were created before the rotation and adds them back itself - resulting in duplicate TabViews, forcing the app to crash because the maximum allowed items for a menu (java.lang.IllegalArgumentException: Maximum number of items supported by BottomNavigationView is 5.) is exceeded.
I am not sure if you really want to merge these changes in and if there are dangerous implications. At least this is considered "default" by react-native: https://github.com/facebook/react-native/blob/master/local-cli/templates/HelloWorld/android/app/src/main/AndroidManifest.xml#L22

@gpeal what are your thoughts on this? Is there a more "correct" way of doing this?

@lelandrichardson Fwiw, we added "orientation|screenSize" to the Airbnb app.
I think that's correct to add here. You don't want the keybaord ones though.


Please invite me to the GitHub Community Organization

Name
Jonathan
Discord Username (if applicable)
Jonathan ikpen#0123
Additional Context
No response

Welcome to ChryzHub @jonathan-ikpen


It doesn't work, when I open a new working directory

Nvim doesn't work when I open a new working directory. Only after I disable Nvim extension, then reload the working directory, and enable it in can it work properly
Like below, when I open a working directory, in normal mode, it doesn't work
How do I solve this problem?

I find it conflicts with the 'Indent To Bracket' extension


Fixed missing quote , which is breaking script

please merge this pr, right now script is breaking

+1
I tested it and it fixes the issue. Thanks @shankyty

+1
Yep... this is needed.


[WIP] Second handshake V1

With this method: the first handshake is done over a mailbox conn F(password) and then immediately after (in the same "handshake process") the second handshake is done over mailbox conn F(localStatic, remoteStatic). Any reconnection will then immediately use the second handshake over F(localStatic, remoteStatic) mailbox conn.
This is a WIP as i still need to clean the commits up a bit. But this works 👍

Closing. Is replaced by #35 . Only the github closed-pr void will know that this took way too many hours of my life 🥲


Is acorn-dynamic-import still needed?

Hi,
i am working on reducing my dependencies :)
this package still has a sub dependency on acorn < 7.1.1
in this issue of acorn-dynamic-import it states that the acorn supports dynamic imports itself.
Would it be possible to replace this dependency with the acorn internal stuff?
best regards

I heard it from you. The PR #80 will fix it. Thank you!

Wow that was fast.
thanks a lot 🎉

closed by https://github.com/kei-ito/esifycss/commit/62a689240702a3ecab90fa4b185138915a8ae11c

v1.4.18 was published to npm.

I found<EMAIL_ADDRESS>crushes if a code has dynamic import statements.

I've published v1.4.19 that fixes the bug and marked v1.4.18 as deprecated.


system.object.gettype example describes type(long) as 32-bit integer

Object.GetType Method (at https://docs.microsoft.com/en-us/dotnet/api/system.object.gettype?view=net-5.0) discusses using the GetType method to determine the type of a particular object. Within the example, the test to check whether the value is a long claims that the value is a 32-bit rather than a 64-bit integer. See highlights in attachment.
Desktop (please complete the following information):

OS: Windows 10 Home
Browser: Chrome Version 88.0.4324.190 (Official Build) (64-bit)

This issue was moved to dotnet/dotnet-api-docs#5414


Unable to bind pfx certificate when cert that was added via windows_certificate

Cookbook version
5.1.2
Chef-client version
14.5
Platform Details
Windows Server 2012 R2
Scenario:
Sorry bare with me I am new to certificates in general, and pretty green on chef. This is my understanding of the issue through reading and googling.
I am working on upgrading out chef cookbooks. We are moving from windows 4.1.0 and I wanted to go to the latest version 5.1.2. After upgrading the cookbook I ran into this
Installing a pfx certificate with windows_certificate is resulting an a certificate with no private key. What I mean by this is when I view the certificate in the certificate manager there is no 'key' icon on the certificate here is an example of a certificate with the key icon.

Steps to Reproduce:
add a certificate to the certificate manager like so
windows_certificate pfx_path_local do
    pfx_password "<password>"
    store_name "MY"
    action :create
end

and then try to bind it to a hostname with windows_certificate_binding
        windows_certificate_binding "Add cert binding for #{key}" do
            action :create
            address key
            cert_name value['cert_thumbprint']
            store_name "MY"
            name_kind :hash
        end

Expected Result:
Running the above resources the certificate gets bound to the hostname/port.
Actual Result:
Binding the to the hostname fails here is the failure.
[2018-10-09T09:33:59-07:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: windows_certificate_binding[Add cert binding for test.local] (chef-web::configure-pools-and-sites line 151) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of C:\Windows\system32\netsh.exe http add sslcert hostnameport=test.local:443 certhash=my_hash appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=MY ----
STDOUT: SSL Certificate add failed, Error: 1312

A specified logon session does not exist. It may already have been terminated.
STDERR:
---- End output of C:\Windows\system32\netsh.exe http add sslcert hostnameport=test.local:443 certhash=my_hash appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=MY ----
Ran C:\Windows\system32\netsh.exe http add sslcert hostnameport=test.local:443 certhash=my_hash appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=MY returned 1
>>>>>> ------Exception-------

I verified on the client machine that the version of win32-certstore is (0.1.8) by running
PS C:\Users\Administrator> C:\opscode\chef\embedded\bin\gem.bat list win32-certstore
Additional steps I have done
using the certificate manager I have verified that if I manually add this pfx and click through the gui prompt (all default options except making the certificate store location 'Local Machine') that the certificate in the cert manager shows the "key" icon that is missing when I install via the windows resource.
Did some additional testing and found that the version of the windows cookbook that caused this behavior was windows 4.3.0 (when windows_certificate was rewritten to use win32_certificate gem). The previous version 4.2.5 did not have this behavior.

I am also experiencing the same issue with a nearly identical setup.

This will be resolved in the new release I'm about to push and is also fixed in Chef 14.11


refactor: Validate records with fastjsonschema

Add dependency of fastjsonshema and refactor of Sink and Sink._validate_and_parse utilize fastjsonschema.
Closes #2045

:books: Documentation preview :books:: https://meltano-sdk--2066.org.readthedocs.build/en/2066/

I have run into a date-time and time problem.  If a date-time or time does not end in with a time zone like +00:00 or Z it is seen as not valid.
>>>
>>>
>>> import fastjsonschema
>>>
>>> validator = fastjsonschema.compile({
... "type": "object",
... "properties": {
... "id": {"type": "integer"},
... "datetime_col": {"type": "string", "format": "date-time"},
... "date_col": {"type": "string", "format": "date"},
... "time_col": {"type": "string", "format": "time"},
... },
... "required": ["id"],
... })
>>>
>>>
>>> validator({"id": 1, "datetime_col": "2023-01-03T08:10:00.000000+00:00", "date_col": "2023-01-03", "time_col": "08:10:00.000000+00:00"})
{'id': 1, 'datetime_col': '2023-01-03T08:10:00.000000+00:00', 'date_col': '2023-01-03', 'time_col': '08:10:00.000000+00:00'}
>>>
>>>
>>> validator({"id": 2, "datetime_col": "2023-01-03T08:10:00.000000Z", "date_col": "2023-01-03", "time_col": "08:10:00.000000Z"})
{'id': 2, 'datetime_col': '2023-01-03T08:10:00.000000Z', 'date_col': '2023-01-03', 'time_col': '08:10:00.000000Z'}
>>>
>>>
>>> validator({"id": 3, "datetime_col": "2023-01-03T08:10:00.000000", "date_col": "2023-01-03", "time_col": "08:10:00.000000"})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 24, in validate
fastjsonschema.exceptions.JsonSchemaValueException: data.datetime_col must be date-time
>>>

CC: @edgarrmondragon

Going back to the JSONSchema documentation I found that date-time, date, and time values should conform to RFC 3339, section 5.6. Reading through the specification I found a that RFC 3339, section 4.3 states how to deal with unknown local offset. In these instances, you represent the offset with -00:00. I have found that fastjsonschema finds date-time and time with the -00:00 offset as valid.

I see. This makes me a bit worried that this may be a breaking change. Targets may be currently doing some false negatives and letting values like 2023-01-03T00:10:00.0000 go through.

I see. This makes me a bit worried that this may be a breaking change. Targets may be currently doing some false negatives and letting values like 2023-01-03T00:10:00.0000 go through.

@edgarrmondragon , I do have a test table (StackOverflow postlinks table) in which that very scenario is happening.  Dates with no time zone pass validation using jsonschema but are failing validation with fastjsonschema.
I did some testing yesterday and even if we could append -00:00 to date-time or time strings so they pass fastjsonschema validation, once the string is processed by .fromisoformat a datetime or time with the UTC time zone is generated instead of a datetime or time no time zone.  That solution will not work.
This morning I found that you can pass a custom format to replace a built-in format. I tested a regex string for iso datetime with an optional time zone which resolved the before mention issue with my test table. I also tested a simple lamda function that passed date-time when value == value.  There seems to be no performance impact by doing this.  There is also a flag to disable format checking use_formats=False.

@edgarrmondragon I took a go at incorporating the changes you wrote in PR1471 into this PR.  When you get a chance, please take a look and let me know what you think.

@edgarrmondragon Did you mean to remove the get_validator_formats that allows developers to set custom formats?
def get_validator_formats(self) -> dict:
        """Get formats for JSON schema validator.
        Override this method to add custom string format checkers to the JSON schema
        validator.
        This is useful when, for example, the target requires a specific format for a
        date or datetime field.
        Example:
            .. validate = fastjsonschema.compile(definition, formats={
                    'foo': r'foo|bar',
                    'bar': lambda value: value in ('foo', 'bar'),
                })
        Returns:
            A dictionary containing regex strings and callables
                https://horejsek.github.io/python-fastjsonschema/
        """
        return {}

@BuzzCutNorman I moved a few things around (e.g. exceptions) and added a few @override decorators to make mypy tell us when we change a method name in a parent class. CodeCov is unwilling to cooperate so I'll retry it later.
This feels really close. Thanks for your time, patience and openness!

@BuzzCutNorman I've given this a try on MeltanoLabs/target-postgres and it predictably fails on this test:
def test_record_missing_required_property(postgres_target):
    with pytest.raises(jsonschema.exceptions.ValidationError):
        file_name = "record_missing_required_property.singer"
        singer_file_to_target(file_name, postgres_target)

Even changing the exception type to be singer_sdk.exceptions.InvalidRecord does not work because we stopped raising the exception.
So, what do you think about continue raising an exception, in particular InvalidRecord? That will still require a change on target-postgres, but it's the least surprising in my opinion because the sync will continue to fail at the same stage instead of further down the line when a missing key property is detected.
We still leave the door open to developers to disable schema validation with the Sink class-level attribute.

So, what do you think about we continue raising an exception, in particular InvalidRecord? That will still require a change on the target-postgres test, but it's the least surprising in my opinion because the sync will continue to fail at the same stage instead of further down the line when a missing key property is detected.
We still leave the door open to developers to disable schema validation with the Sink class-level attribute.

Hmm.  I like flags (maybe to much).  What do you think about something like this
stop_on_invalid_record: bool = True
"""Enable/Disable the Target from stopping when JSONSchmea field validation error raised."""

        if self._validator is not None:
            # TODO: Check the performance impact of this try/except block. It runs
            # on every record, so it's probably bad and should be moved up the stack.
            try:
                self._validator.validate(record)
            except InvalidRecord as e:
                if stop_on_invaild_record
                    raise InvalidRecord(e)
                else
                    self.logger.exception("Record validation failed %s", e)

Hmm. I like flags (maybe to much). What do you think about something like this
stop_on_invalid_record: bool = True
"""Enable/Disable the Target from stopping when JSONSchmea field validation error raised."""

        if self._validator is not None:
            # TODO: Check the performance impact of this try/except block. It runs
            # on every record, so it's probably bad and should be moved up the stack.
            try:
                self._validator.validate(record)
            except InvalidRecord as e:
                if stop_on_invaild_record
                    raise InvalidRecord(e)
                else
                    self.logger.exception("Record validation failed %s", e)

I like this idea because if you want field validation turned on and you want to see how a full load goes this is an easy way to let the developer do that while still getting the validation feedback. Plus it could be migrated easily to a config option by the developer to allow users of the target to control this behavior as well. 🤷

@BuzzCutNorman  Yeah, I like that idea too 👍

@edgarrmondragon I added the flag stop_on_field_validation_exception and defaulted it to True.  When you get a chance please give it a try with against the MeltanoLabs target-postgres tests.

@edgarrmondragon I was wondering if you wanted me to break out the abstraction of the JSON Schema library into its own PR?

Switching the codspeed workflow to run in Python 3.12 lets us see a flamegraph diff!!!

https://codspeed.io/meltano/sdk/branches/BuzzCutNorman:2045-validate-records-with-fastjsonschema

@edgarrmondragon should we keep this PR or close it?

Superseded by https://github.com/meltano/sdk/pull/2231


Swap to Debian slim baseimage

Resolves #402

Closing this PR as it seems no PR on this repo is getting looked at anyway. Will continue maintaining my own fork for features I need.

Sorry about that earlier comment. I basically realized I started running ahead updating the mod updater because factorio_version does not always work, you need the /full and parse out the base constraints.
Literally after I get actual comments on the PR going finally, which I completely forgot about at that time.
Anyway, if there is interest in either the swap to a slim baseimage, or a mod updater that checks full constraints or both, I am happy to open seperate PRs again. Just let me know.


install: Add explicit finalizer RBAC permissions

all commits could be squashed into 1

@aanm I was mostly thinking that cherry-picking could be easier this way, as not all changes will apply to 1.8, but first commit should apply cleanly - wdyt?

all commits could be squashed into 1

@aanm I was mostly thinking that cherry-picking could be easier this way, as not all changes will apply to 1.8, but first commit should apply cleanly - wdyt?

@errordeveloper won't we have to backport all commits to 1.8? also, we will regenerate the manifests after backporting the commits so the conflicts would be easy to fix.

@aanm we would need to backport all commits indeed, I don't think it changes anything - will squash now.

test-me-please

test-missed-k8s

@aanm this looks like it's good to go?


GitHub Actions are performed twice on the PR

see https://github.com/jbossas/eap-datasources-galleon-pack/pull/11, we have:

@github-actions EAP datasources and drivers Galleon feature-pack - CI / ubuntu-latest-jdk11 (pull_request)
@github-actions EAP datasources and drivers Galleon feature-pack - CI / ubuntu-latest-jdk11 (push)

I think we need to update the workflow file to only trigger it on:
  push:
    branches:
      - main

I am wandering if we really need it on push to the main branch? On pull-request should be enough.

Running on main is fine. It ensures that what we deliver is properly tested and we have a CI status for the commit corresponding to any release.
it seems the issue was fixed in the latest checked PR https://github.com/jbossas/eap-datasources-galleon-pack/pull/16 (maybe it was a one-off when the project became public)...
Let's close this issue then.


REST resource naming rules

We need to establish REST Resource naming rules. For that we will use this.
It is necessary to change the current application so that it matches these rules.

 (0) PR Issue: Renaming REST resources

 (0) PR Issue: Renaming REST resources


Fix flaky TestConfigureNetworkCreatesNewNetworkWhenNoNetworkExists

I just experienced a new flaky test in this run: TestMainTestSuite/TestConfigureNetworkCreatesNewNetworkWhenNoNetworkExists. The failing test should be verified and the underlying bug should be fixed.

The cause is one Goroutine that exists when the test starts but not after the test ends. The Goroutine is:
1 @ 0x447c27 0x474266
#	0x447c26	runtime.goexit1+0x46	/opt/hostedtoolcache/go/1.21.1/x64/src/runtime/proc.go:3850

Checking the source, we see that this is the line just before a Goroutine stops.
Therefore, we might assume that we are dealing with a race condition between closing all Goroutines of previous tests and starting a new test.
It might be enough to introduce a short timeout before starting another test, but as this is just about tests I would not introduce complicated production code to verify/wait for goroutines being closed..


Class 'org.springframework.cloud.gateway.route.builder.RouteDslKt' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler

Describe the bug
When upgrading dependency org.springframework.cloud:spring-cloud-dependencies from 2023.0.0 to 2023.0.1 the project does not compile anymore.
Class 'org.springframework.cloud.gateway.route.builder.RouteDslKt' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler
Sample
Working sample with spring-cloud-dependencies 2023.0.0
https://github.com/sandra-markerud/spring-cloud-gateway-upgrade/tree/spring-boot-3.x-upgrade
Broken sample with spring-cloud-dependencies 2023.0.1
https://github.com/sandra-markerud/spring-cloud-gateway-upgrade/tree/feature/spring-cloud-dependencies_2023.0.1

Indeed, it looks like it is compiled with 2.0.0-Beta5, but gateway isn't managing the version of the maven kotlin plugin.

Same issue occurred.
Use JDK 21, Spring Boot 3.2.4, Kotlin 1.9.23
Spring Cloude Depencencies 2023.0.0 works,
But 2023.0.1 occur at RouteDslKt

Fixed in 2023.0.2-SNAPSHOT

Hello, is there a workaround?

Any information, when 2023.0.2 will be released?

https://github.com/spring-cloud/spring-cloud-release/milestones


Revert "Remove dev keys from blank project"

Reverts nearprotocol/near-shell#27

this is reverted to help fix CI failure
https://gitlab.com/nearprotocol/nearcore/-/jobs/197877216
https://github.com/nearprotocol/nearcore/pull/871


Add pre-commit hook

Referencing issue #108.
I decided for a pre-commit over a pre-push, as I think it's better to see your errors while performing your commits instead of a bunch of problems when pushing.
The pre-commit hook will run the lint and the test tasks. If any of them fail the commit will not be accepted. You can disable the hook for the current commit by using --no-verify on your commit, e.g. git commit -m 'Commit message' --no-verify. This should only be used for commits that break any test but is fixed with a later commit in the same push (if that makes sense :) ).
Be sure to run npm install to get the pre-commit package.

Thanks @simeg, I couldn't merge it today, next week I'll have a look at it.


Support for typechecking in usage of fqsl

A few things of interest:

addition of py.typed. This tells mypy that the package is aware of types and those should be respected
addition of MANIFEST.in and include_package_files in setup.cfg -- this is so that the py.typed actually gets used in build (but in a way that the .build-venv is not included)
move of the ./fsql to ./src/fsql -- this will make it easier once we create some sub-module inside fsql (we would have to include it by hand in setup.cfg otherwise). This triggered small updates in setup.cfg and isort.cfg

huh this one got forgotten it seems... @ampx-mg do you want to have a look and possibly approve?


Add 5devs extension

Description
This is an extension that generates fake Brazilian (shoutout Pedro and Bruno! :D) data for testing purposes.

Screencast
https://github.com/user-attachments/assets/2d7021da-bf99-4191-9cb0-1ef78424d7f5

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi Milena!
My bad, I truly forgot hahahah! I even follow you on X.
I will make the changes tonight!
I just have a few questions:

So, your extension is not really generating, but getting data from a pre-built database that you submit with the extension. I think that should be clear to the user.

It depends, I have a few databases (e.g. Inscrições Estaduais, CEP, Names), but some of the data is generated from algorithms like CNPJs and CPFs. Maybe a better approach would be to say something like "Get fake and static data for your tests". What do you think?

The data on the extension, is it really fake? Some CEPs have comments with addresses, which concerns me.

The CEPs database has real CEP numbers from famous places. This is because there's a lot of apps that fill all the other address fields with correct values after looking up the CEP in some external service like https://viacep.com.br. Would this be all right if the description was what I suggested earlier?

Do you have any license for the data you are submitting here?

Not at all. Excluding the ones that are generated from algorithms, most of it was generated by AI and some were collected from other data generator websites.
Thanks for your fast response :)

My concern with fake that that is not really fake is legal. It would be nice to have a description of where the data comes from and that you have authorization to use them if they are real (or not generated).
Also, I was wondering: why the name of the extension is 5devs and not something more descriptive?

Hey @mil3na, do you need anything else from my side?
Thanks :)

Sorry for the delay, I will be taking another look tomorrow!

One more thing: Even though the data is in Portuguese, I'd recommend leaving the commands and actions in English. Do you mind changing that?
In the future, data presentation can be better as well, but it is good enough for a first version.

Just translated everything to English now!
Please let me know if I forgot something.

We have some linting erros preventing me to merge :)

Fixed :)

Thanks for the patience @mil3na :)
Happy to have an extension published in one of my favorite apps of all time!


Bug Report: error compiling!!! wtf!

Please check for duplicates or similar issues, as well performing simple troubleshooting steps (such as clearing cookies, clearing AppData, trying another browser) before submitting an issue.
If you are playing a downloaded version of the game, what operating system are you using?
Windows (x86), Windows (x86_64), Linux, or macOS? Specify below.
windows 64 bit
What version of the game are you using? Look in the bottom left corner of the main menu.
latest commit
Have you identified any steps to reproduce the bug? If so, please describe them below. Use images if possible.
i just cant comopike!
Please describe your issue. Provide extensive detail and images if possible.
when i try to compile it gives me this error:
source/PlayState.hx:300: characters 12-24 : Type not found : VideoHandler
source/Character.hx:14: lines 14-770 : ... Defined in this class
source/Note.hx:273: characters 18-28 : Class<PlayState> has no field scrollType

it's an issue with your version of hxcodec, please make sure youre using the haxelib from the hxCodec git instead of the haxelib version as it has not been updated for a long time now.

i still get the same thing

never mind


Fix Redis::CannotConnectError in travis ci

:+1:

Coverage remained the same at 80.651% when pulling 7706f177ee8c6f505f07a29aac7a1b8a241d23e6 on fix/redis into d3f019cff8742a86fc375cbda2d8889060327d53 on master.


Issue 523 fix

Overview/Summary

Fixes issue 523 by allowing the disk size to be set to Null for automatically setting to size of provided image.

As part of this Pull Request I have

[ ] Read the Contribution Guide and ensured this PR is compliant with the guide
[ ] Ensured the resource API versions in .bicep file/s I am adding/editing are using the latest API version possible
[ ] Checked for duplicate Pull Requests
[ ] Associated it with relevant GitHub Issues
[ ] (AVD LZA Team Only) Associated it with relevant ADO Items
[ ] Ensured my code/branch is up-to-date with the latest changes in the main branch
[ ] Performed testing and provided evidence.
[ ] Updated relevant and associated documentation (e.g. Contribution Guide, Module READMEs, Docs etc.)

@moisesjgomez thanks for your contribution.


[Feature Request] say something

Background
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Proposal
Describe the solution you'd like, better to provide some pseudo code.
Additional context
Add any other context or screenshots about the feature request here.

https://github.com/ant-design/ant-design-web3/issues/1040#issue-2407160694


Manager API - Save stock to file

Done when a file exists containing all of the data for all items in stock

4/3
3hrs: Completed the tests and implementation for loading stock to a file


CHANGELOG notes for v3.1.0 changed after the release

The section in the CHANGELOG for the v3.1.0 release was modified after the release, giving an unclear picture of the current state of the repo and what has been released. See the CHANGELOG at v3.1.0 and now

As I see in the history, this was caused by the commit Updated CHANGELOG and required i3s module in the PR #123

Indeed, it seems some changes went into 3.1.0 and that should be avoided. These new changes are not contained in 3.1.0 and therefore they should not be listed in it.
I'd propose that the changelog for 3.1.0 be changed back to what it was on release, and a new proposed version is added to the changelog with the changes.

@tmiotto , exactly.
Could be like that? What do you think?
Unreleased Changes
Proposed Version: v3.1.0
v3.1.0

Maybe we could add:
Proposed Version: v3.2.0
to the CHANGELOG

@tmiotto , sorry, I saw your last comment after it was already merged. I guess someone can add the proposed version in one of the open/future PRs


Include events in kubectl.wait() and kubectl.rollout() errors

Most errors are timeouts, and kubectl error is not helpful. Try to include relevant events in the errors to help debugging the issue.
Changes:

change kubectl.wait() and kubectl.rollout() signature so we know what is the resource waited for
add kubectl.events() wrapper
support optional events in commands.Error
try to add events to kubecl.wait() and kubectl.rollout() errors

Example of error with events:
drenv.commands.Error: Command failed:
   command: ('kubectl', 'wait', '--context', 'dr1', 'deploy/nginx', '--for=condition=Available',
             '--namespace=ns1', '--timeout=120s')
   exitcode: 1
   error:
      error: timed out waiting for the condition on deployments/nginx
   events:
      LAST SEEN              TYPE      REASON    OBJECT                       MESSAGE
      36m (x27 over 151m)    Warning   Failed    Pod/nginx-7f456874f4-kqljw   Failed to pull
      image "nginx": rpc error: code = Unknown desc = failed to pull and unpack image
          "docker.io/library/nginx:latest": ...: 429 Too Many Requests - Server message:
          toomanyrequests: You have reached your pull rate limit. You may increase the limit by
          authenticating and upgrading: https://www.docker.com/increase-rate-limit
      26m (x29 over 151m)    Normal    Pulling   Pod/nginx-7f456874f4-kqljw   Pulling image "nginx"
      85s (x648 over 151m)   Normal    BackOff   Pod/nginx-7f456874f4-kqljw   Back-off pulling image "nginx"

Change in current version:

rebase on main
fix conflicts in modified code
use new signature in new code added recently in test/addons/example/start

make test pass, but not tested start/delete env yet.

Changes in this version:

Update kubctl.wait() calls in ramenctl
Update kubectl.rollout() calls in ramenctl

Need rebase again to since hubless branch was merged.

We can do this much simpler in a gather hook, gathering all events from the cluster instead of only for specific addon.


[WFLY-13728] replace \ with / to ensure ZipEntry is created correctly…

https://issues.redhat.com/browse/WFLY-13728

@bmaxwell Any update?

@bstansberry it should be fixed now


Bug fix load failed on stream load tvf into agg state

Proposed changes
fix load failed on stream load tvf into agg state
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall


ilmbase: FTCBFS: uses the host arch compiler for build tools

ilmbase fails to cross build from source, because it uses the host
architecture compiler to build two build tools. The attached patch fixes
that by switching the compiler to CXX_FOR_BUILD, which needs updating
configure.ac and thus running autoreconf. Please consider applying it.
Original ref: https://bugs.debian.org/841439

$ cat ilmbase.patch
From: Helmut Grohne <>
Subject: compile build tools with the build architecture compiler

Index: ilmbase-2.2.0/configure.ac
===================================================================
--- ilmbase-2.2.0.orig/configure.ac
+++ ilmbase-2.2.0/configure.ac
@@ -28,6 +28,7 @@
 AC_PROG_LN_S
 AC_PROG_LIBTOOL
 AC_PROG_MAKE_SET
+AX_PROG_CXX_FOR_BUILD

 dnl
 dnl PKGCONFIG preparations
Index: ilmbase-2.2.0/Half/Makefile.am
===================================================================
--- ilmbase-2.2.0.orig/Half/Makefile.am
+++ ilmbase-2.2.0/Half/Makefile.am
@@ -17,9 +17,11 @@

 CLEANFILES = eLut eLut.h toFloat toFloat.h

-eLut_SOURCES = eLut.cpp
+eLut$(EXEEXT): eLut.cpp
+	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@

-toFloat_SOURCES = toFloat.cpp
+toFloat$(EXEEXT): toFloat.cpp
+	$(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@

 eLut.h:	eLut
 	./eLut > eLut.h

no comment ?

Bump, encountered the same issue.

I think I understand that the problem is that when trying to build the generated source files, the program that generates the source files itself needs to link against parts of IlmBase?
In that case, the generating programs need to be host architecture so they can run on the host architecture. So wouldn't the fix be that when targeting another architecture, say mips, you must build the helper programs on host, including any IlmBase dependencies on host, then build IlmBase on the target architecture?

We use this in NixOS too https://github.com/NixOS/nixpkgs/commit/694b4d29e1d0e4c86d497da437a3eed90910a7db it would be nice if it was upstreamed.

The only change this patch needs is to use EXEEXT_FOR_BUILD rather than EXEEXT_FOR_BUILD.

This would also need a cmake variant.


Fixes bug with arrays in arrays

Fixes #56

@simranjeet2589 Not quite done yet but I could use another pair of eyes on this one! It's quite a big refactor as I've started cleaning up the code brought in from object-mapper.
Haven't quite decided if this is a breaking change or not either.

@simranjeet2589 Happier with this now. Still got a few more tests to write but am pretty confident the code will cover those scenarios.
This will be a breaking change (so we'll publish v3) as the return value of the exposedgetValue() method has changed to return values in a consistent manner. The main mapper functionality will continue to work as before so no breaking changes there.

I take it back. I think this has to be breaking. Any mapping that uses a transform with array of arrays will get different structures passed to the transform.

This turned into quite a mission. Right. Here's where we are going with this:

Arrays of arrays can now be processed applying some sensible default rules when transforming a larger nested structure into a small nested structure
When deal with 3 or more levels of nesting, it is not possible for map-factory to determine what to do as there are multiple correct outputs depending on your use case. The default will be to flatten the deepest nested array.
A new flattenInverted modifier will change that behaviour to flatten from the top most element of the nested array structure.
This can be supplied as on option to createMapper() or on an individual mapping using the new with()method (i.e. map("[].two[]").with(options).to("[]")
Flattening will be applied before the transform stage by default
Flattening can also be turned off as an option via createMapper({flatten: false}) or on an individual mapping using the new with()method (i.e. map("[].two[]").with({flatten: false}).to("[]")
Because the value provided to a transform will not match the previous behaviour this is a breaking change.
If you are using the getValue() method the output for arrays will be quite different too which is also a breaking change.

I'm just about finished (I hope) and hopefully can ship this in the next week.

Published to npm as 3.0.0.


Prerendered home page overwrites app-shell, causing flash of home page on non-prerendered routes

Command
build
Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
This is a follow-up to https://github.com/angular/angular-cli/issues/28344
I have an Angular 18 site in which I implemented app-shell. In my angular.json I have "prerender": true and "ssr": false and when I run ng build, I can see the shell contents in the main index.html as expected.
However, if I add a route for the homepage such as { path: '', loadComponent: () => import('src/app/dashboard/dashboard.component').then(x => x.DashboardComponent) }, then I see the prerendered content of dashboard instead of shell in the index.html. I believe this is why the dashboard content flashes for a moment when navigating to deep links for non-prerendered routes.
The workaround is to have your homepage route be something like /home instead of / and then include { path: '', pathMatch: 'full', redirectTo: 'home' } in your routes, however, this redirect costs me ~300ms according to Chrome Lighthouse and I would like the canonical url of my root page to actually be my root page.
How can I prerender the site including the homepage which has a route of /, but still have the shell display while loading deep links to non-prerendered routes?
Minimal Reproduction

Create a new app by following the app-shell pattern.
Modify angular.json to have "prerender": true and "ssr": false.
Add one route without parameters (which will prerender) and one route with parameters (which will not prerender)
Run ng build.
Notice app-shell is in the index.html.
Run http-server on the dist folder.
Notice that reloading on the prerendered route flashes the prerendered content of that route as expected.
Notice that reloading on the non-prerendered route flashes the app-shell as expected.
Add a component for the home page such as ng g c dashboard.
Add a route for the home page using { path: '', loadComponent: () => import('src/app/dashboard/dashboard.component').then(x => x.DashboardComponent) }.
Run ng build again.
Notice app-shell has been replaced by dashboard content.
Run http-server on the dist folder.
Notice that reloading on the non-prerendered route now flashes the dashboard content instead of the app-shell.

Exception or Error
No response
Your Environment
Angular CLI: 18.2.3
Node: 22.3.0
Package Manager: yarn 1.22.17
OS: win32 x64
Angular: 18.0.4
... animations, cdk, cdk-experimental, common, compiler, core
... elements, forms, material, platform-browser
... platform-browser-dynamic, platform-server, router
Package                         Version
@angular-devkit/architect       0.1802.1
@angular-devkit/build-angular   18.2.1
@angular-devkit/core            18.2.3
@angular-devkit/schematics      18.2.3
@angular/cli                    18.2.3
@angular/compiler-cli           18.2.3
@angular/ssr                    18.2.0
@schematics/angular             18.2.3
rxjs                            7.8.1
typescript                      5.4.5
zone.js                         0.14.10
Anything else relevant?
No response

This is functioning as expected. Since the root page is pre-rendered, the app shell is generated in the index.csr.html file. You'll need to configure your web server to serve this file as the default.
Alternatively, you might also consider pre-rendering the routes with parameters and/or enabling SSR.

@alan-agius4 there is no index.csr.html in my dist folder when prerender: true and ssr: false. Also, where is this documented?

@alan-agius4 can you please reopen this? The index.csr.html only generates if ssr: true. Based on what you said, it seems that it should also generate if prerender: true and ssr: false.

@alan-agius4 thanks for reopening. I temporarily set ssr: true to get index.csr.html to generate and using works great, but maybe you could clarify something for me. In https://github.com/angular/angular-cli/issues/28344 I was told to implement app-shell and in this issue I was told to use index.csr.html. With my routes set as described above, the contents of app-shell is nowhere to be found. Shouldn't the app-shell contents be added to index.csr.html? Otherwise, what is the purpose of app-shell?

@aeslinger, you're right that the contents of app-shell should be included in index.csr.html. I remember there was a bug that prevented index.csr.html from updating properly. I believe the fix for this issue was applied only in the main branch, which is currently set up for the v19 pre-release.


Cannot install on Ruby 3.0

$ gem install ferret
Building native extensions. This could take a while...
ERROR:  Error installing ferret:
        ERROR: Failed to build gem native extension.

followed by many errors related to BZLIB:
current directory: /usr/share/rvm/gems/ruby-3.0.0/gems/ferret-<IP_ADDRESS>/ext
/usr/share/rvm/rubies/ruby-3.0.0/bin/ruby -I /usr/share/rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0 -r ./siteconf20201231-19724-cqie8u.rb extconf.rb
creating Makefile

current directory: /usr/share/rvm/gems/ruby-3.0.0/gems/ferret-<IP_ADDRESS>/ext
make "DESTDIR=" clean

current directory: /usr/share/rvm/gems/ruby-3.0.0/gems/ferret-<IP_ADDRESS>/ext
make "DESTDIR="
compiling BZLIB_blocksort.c
compiling BZLIB_bzlib.c
BZLIB_bzlib.c: In function ‘BZ2_bz__AssertH__fail’:
BZLIB_bzlib.c:41:6: warning: function might be candidate for attribute ‘noreturn’ [-Wsuggest-attribute=noreturn]
 void BZ2_bz__AssertH__fail ( int errcode )
      ^~~~~~~~~~~~~~~~~~~~~
BZLIB_bzlib.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
compiling BZLIB_compress.c
BZLIB_compress.c: In function ‘BZ2_compressBlock’:
BZLIB_compress.c:391:54: warning: ‘cost[5]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
                for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
                                                      ^~
BZLIB_compress.c:256:11: note: ‘cost[5]’ was declared here
    UInt16 cost[BZ_N_GROUPS];
           ^~~~
BZLIB_compress.c:401:21: warning: ‘cost[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
             if (cost[t] < bc) { bc = cost[t]; bt = t; };
                 ~~~~^~~
BZLIB_compress.c:256:11: note: ‘cost[3]’ was declared here
    UInt16 cost[BZ_N_GROUPS];
           ^~~~
BZLIB_compress.c:401:21: warning: ‘cost[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
             if (cost[t] < bc) { bc = cost[t]; bt = t; };
                 ~~~~^~~
BZLIB_compress.c:256:11: note: ‘cost[2]’ was declared here
    UInt16 cost[BZ_N_GROUPS];
           ^~~~
BZLIB_compress.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
compiling BZLIB_crctable.c
compiling BZLIB_decompress.c
compiling BZLIB_huffman.c
compiling BZLIB_randtable.c
compiling STEMMER_api.c
compiling STEMMER_libstemmer.c
compiling STEMMER_stem_ISO_8859_1_danish.c
compiling STEMMER_stem_ISO_8859_1_dutch.c
compiling STEMMER_stem_ISO_8859_1_english.c
compiling STEMMER_stem_ISO_8859_1_finnish.c
compiling STEMMER_stem_ISO_8859_1_french.c
compiling STEMMER_stem_ISO_8859_1_german.c
compiling STEMMER_stem_ISO_8859_1_hungarian.c
compiling STEMMER_stem_ISO_8859_1_italian.c
compiling STEMMER_stem_ISO_8859_1_norwegian.c
compiling STEMMER_stem_ISO_8859_1_porter.c
compiling STEMMER_stem_ISO_8859_1_portuguese.c
compiling STEMMER_stem_ISO_8859_1_spanish.c
compiling STEMMER_stem_ISO_8859_1_swedish.c
compiling STEMMER_stem_ISO_8859_2_romanian.c
compiling STEMMER_stem_KOI8_R_russian.c
compiling STEMMER_stem_UTF_8_danish.c
compiling STEMMER_stem_UTF_8_dutch.c
compiling STEMMER_stem_UTF_8_english.c
compiling STEMMER_stem_UTF_8_finnish.c
compiling STEMMER_stem_UTF_8_french.c
compiling STEMMER_stem_UTF_8_german.c
compiling STEMMER_stem_UTF_8_hungarian.c
compiling STEMMER_stem_UTF_8_italian.c
compiling STEMMER_stem_UTF_8_norwegian.c
compiling STEMMER_stem_UTF_8_porter.c
compiling STEMMER_stem_UTF_8_portuguese.c
compiling STEMMER_stem_UTF_8_romanian.c
compiling STEMMER_stem_UTF_8_russian.c
compiling STEMMER_stem_UTF_8_spanish.c
compiling STEMMER_stem_UTF_8_swedish.c
compiling STEMMER_stem_UTF_8_turkish.c
compiling STEMMER_utilities.c
compiling analysis.c
compiling array.c
compiling bitvector.c
In file included from bitvector.c:1:0:
bitvector.h: In function ‘frt_bv_scan_next_from’:
bitvector.h:280:16: warning: left shift of negative value [-Wshift-negative-value]
     word &= ~0 << (bit & 31);
                ^~
bitvector.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
compiling compound_io.c
In file included from index.h:16:0,
                 from compound_io.c:1:
bitvector.h: In function ‘frt_bv_scan_next_from’:
bitvector.h:280:16: warning: left shift of negative value [-Wshift-negative-value]
     word &= ~0 << (bit & 31);
                ^~
In file included from compound_io.c:1:0:
index.h: At top level:
index.h:595:25: error: width of ‘is_compressed’ exceeds its type
     bool                is_compressed : 2; /* set to 2 after all data is loaded */
                         ^~~~~~~~~~~~~
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
Makefile:244: recipe for target 'compound_io.o' failed
make: *** [compound_io.o] Error 1

make failed, exit code 2

There is a possible patch by the NetBSD community:
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/textproc/ruby-ferret/patches/

Ping.
This is really a problem when migrating to newer versions of Ruby, 3.1 included.

Since this is a year old issue, and last commit was three years ago - I believe it is safe to say this gem is abandoned.


Update The README

This should be done to show off all the new features we have!

And update the website.

I shall do that once it comes time to create the trailer. I feel like Alpha 8.0 will be the last alpha. Then the issue after that, will be all about marketing and things. Probably will name it end alpha


Watch ads automatically

A way to watch ads automatically from watch& earn that can restart the watching process if no ads are showing and collect box when 5 ads are done watching

Was indeed thinking about that ! Some of those boxes are worth gold in the long term :). Awesome idea


Add Minimum Supported Version

Each cargo crate must specify a minimum supported version so that developers can abide by it

Hey @king-11 We don't need new issues created on this repo right now because there are several other issues that needs to be attended to.
We appreciate your contributions so far and we'd like you to take from existing issues on this repo.

😅 okay sure


Partial download - drive API

Are we missing Partial download support in Google / Service / Drive.php?
Partial download documentation : https://developers.google.com/drive/web/manage-downloads#partial_download

Looking for this feature myself. I tried to set the Range header but if I do so I don't get any response at all.
$request = new Google_Http_Request($downloadUrl, 'GET', array('Range' => 'bytes=0-100'), null);

I have tried  Partial download by setting Range in header. It's not working. Please advise. Thanks


Feature request: ability to see what triggered a build

It would be nice to be able to see what method was used to trigger a previous build (for example, was it triggered manually, by a particular user, or by a timer?).

Consolidating this into https://github.com/concourse/concourse/issues/233 - feel free to comment or +1 that one.


[gtest] Build error on x64-windows

Copy issue body from C:/Users/Пользователь/.clion-vcpkg/vcpkg_1/installed/vcpkg/issue_body.md
Package<EMAIL_ADDRESS>Host Environment

Host: x64-windows
Compiler: MSVC 19.38.33133.0
vcpkg-tool version: 2024-04-23-d6945642ee5c3076addd1a42c331bbf4cfc97457
vcpkg-scripts version: 326d8b43e 2024-05-03 (13 hours ago)

To Reproduce
vcpkg install gtest
Failure logs
-- Downloading https://github.com/google/googletest/archive/v1.14.0.tar.gz -> google-googletest-v1.14.0.tar.gz...

CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:32 (message):

      Failed to download file with error: no such file or directory
      If you are using a proxy, please check your proxy setting. Possible causes are:

      1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable
         to `https://address:port`. This is not correct, because `https://` prefix
         claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr
         , etc..) is an HTTP proxy. Try setting `http://address:port` to both
         HTTP_PROXY and HTTPS_PROXY instead.

      2. If you are using Windows, vcpkg will automatically use your Windows IE Proxy Settings
         set by your proxy software. See https://github.com/microsoft/vcpkg-tool/pull/77
         The value set by your proxy might be wrong, or have same `https://` prefix issue.

      3. Your proxy's remote server is out of service.

      If you've tried directly download the link, and believe this is not a temporary
      download server failure, please submit an issue at https://github.com/Microsoft/vcpkg/issues
      to report this upstream download server failure.

Call Stack (most recent call first):
  scripts/cmake/vcpkg_download_distfile.cmake:270 (z_vcpkg_download_distfile_show_proxy_and_fail)
  scripts/cmake/vcpkg_from_github.cmake:106 (vcpkg_download_distfile)
  ports/gtest/portfile.cmake:5 (vcpkg_from_github)
  scripts/ports.cmake:175 (include)

how can i fix that? Windows 11, CLion

Please try vcpkg in ascii path.


fix(resolvers): fix generating schema for alias object

Status

READY
Description
A few sentences describing the overall goals of the pull request's commits.
resolveRef expect as input one of the following options:
{ '$ref': '#/components/schemas/Error' }

{ type: 'array', items: { '$ref': '#/components/schemas/Pet' } }

{
  type: 'object',
  required: [ 'id', 'name' ],
  properties: {
    '@id': { type: 'string', format: 'iri-reference' },
    id: { type: 'integer', format: 'int64' },
    name: { type: 'string' },
    tag: { type: 'string' },
    email: { type: 'string', format: 'email' },
    callingCode: { type: 'string', enum: [Array] },
    country: { type: 'string', enum: [Array] }
  }
}

But it's possible for a schema to reference another schema (alias)
{
  name: 'fileType',
  in: 'path',
  description: 'the file type of verifications Identity.',
  required: true,
  schema: { '$ref': '#/components/schemas/EIdentityFileType' }
}

in that case the resolver will crash since he doesn't manage to find the $ref.

Thanks 🎉


Self-contained executable fails for MAPI model generation

Brief bug description
For self-contained use, the publishing is configured for single-file deployment, via PublishSingleFile=true. Invoking the generator from said executable fails with a familiar Object reference not set to an instance of object error if you pass --managementapi true --apikey <apikey>.
The error is not present when used as a .NET cli tool or if the self-contained app is not published into single file. Possibly introduced by changes in .NET 6.0 as it sounds similar to https://github.com/CarterCommunity/Carter/issues/291, though I'm not familiar with carter or if it's used in any of the generator's dependencies.
Repro steps

Download the self-contained app from the repo or generate one using the PS script.
Run the generator from the executable with --projectid <projid> --managementapi true --apikey <apikey> params
See error

Expected behavior
MAPI models are generated.
Test environment

Platform/OS: .NET 6.0, Win10
Latest version

I've found that, there is an issue in the management-sdk-net, which causes generators to fail.
To fix this issue, we need to fix the issue and then bump the  management-sdk-net nuget.


Save/Load on App,Workflow and Processor

All 3 different entities should have a Save/Load function
Idea, make a Savable interface with
Save()
Load([]byte)
So that its possible to easily change Saving mechanisms in the future,
And lets settle with basic GOB / JSON for starters,
However, do this change after we have a Proper ProcessorMap that functions so we actually can load properly based on a config

Since everything is done that is needed, working on this will be started.
But ill go for YAML, GOB may be fast and allow ous to store even unexported types
but inreadable and cannot be configured by files manually

It shouldnt really matter tho, even if processor has some strange settings they should be in the property map if its done correctly, and then the initialize function would solve that for us

Processors can be Save / Loaded correctly right now Using YAML
Workflows can be save / loaded using YAML --- Note that Metrics are skipped, and should be skipped ?
Application ----- Works aswell.
Ill consider this closed for now, Only YAML works. but its the coolest so,..


BSRNN code is release

Good news !!! Band-Split RNN code is release : https://github.com/yoongi43/music_source_separation
Hope that model will be include in UVR !!!
Thank's for all !!!

Would love to see this added, as it's currently top of the MUSDB18 benchmarks for vocals:

https://paperswithcode.com/sota/music-source-separation-on-musdb18

SDR (vocals): 10.47

https://paperswithcode.com/sota/music-source-separation-on-musdb18-hq

SDR (vocals): 10.47

See also:

https://github.com/amanteur/BandSplitRNN-Pytorch

Unofficial PyTorch implementation of Music Source Separation with Band-split RNN

https://github.com/crlandsc/music-demixing-with-band-split-rnn

An unofficial PyTorch implementation of Music Source Separation with Band-split RNN for MDX-23 ("Label Noise" Track)


renderscript: go from deprecation to removal

(http://b/206676167 is the internal bug for the overall "remove renderscript", http://b/255624710 the more specific "remove *.rscript files from the tree".)
renderscript's been deprecated for a while, but there was no real motivation (and some downside) to actually remove it until now. with risc-v, we either have to (a) backport risc-v support to a decade-old fork of llvm, (b) forward port renderscript to current llvm, or (c) finally remove renderscript. despite the unfortunate disruption to legacy code, option (c) is the least difficult of these choices.
i've removed all the renderscript from frameworks/av/ already (after proving it was unused), and obviously all the renderscript tools and the CTS tests of renderscript itself are easy to delete, but we'll need to manage the Studio side of things (they ship some of the tools).
the main issues are these camera tests, all of which will need to be rewritten:
https://cs.android.com/search?q=f:\.rscript$ -f:cts%2Ftests%2Ftests%2Frenderscript -f:cts%2Ftests%2Ftests%2Frscpp -f:rsblas -f:frameworks%2Fcompile -f:frameworks%2Frs -f:development%2Fsamples&sq=package:^android-internal$

right now there's one Camera PTS test that still needs rewriting, but all the other uses of renderscript have been removed.
i've just uploaded https://android-review.googlesource.com/c/platform/cts/+/2644595 which will mean that -- while the renderscript tests will continue to be built for riscv64 cts -- they won't be run. which i think is "good enough" for now. we'll keep fighting the renderscript removal fight, but this should be enough to unblock riscv64 for now?

heading in a different direction now: https://android-review.googlesource.com/c/platform/frameworks/base/+/2743418 disallows renderscript scripts (not intrinsics) for apps whose target api level is >= V.