UBUNTU VM - Could not open connection to the host, on port 3389: Connect failed

xrdp version
09.17
Detailed xrdp version, build options
xrdp 0.9.17
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-ipv6
      --enable-jpeg
      --enable-fuse
      --enable-rfxcodec
      --enable-opus
      --enable-painter
      --enable-vsock
      --build=x86_64-linux-gnu
      --prefix=/usr
      --includedir=${prefix}/include
      --mandir=${prefix}/share/man
      --infodir=${prefix}/share/info
      --sysconfdir=/etc
      --localstatedir=/var
      --disable-silent-rules
      --libdir=${prefix}/lib/x86_64-linux-gnu
      --libexecdir=${prefix}/lib/x86_64-linux-gnu
      --disable-maintainer-mode
      --disable-dependency-tracking
      --with-socketdir=/run/xrdp/sockdir
      build_alias=x86_64-linux-gnu
      CFLAGS=-g -O2 -ffile-prefix-map=/build/xrdp-asBei3/xrdp-0.9.17=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security
      LDFLAGS=-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -Wl,--as-needed
      CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 -Wno-error=deprecated-declarations
      PKG_CONFIG_PATH=/build/xrdp-asBei3/xrdp-0.9.17/pkgconfig

  Compiled with OpenSSL 3.0.2 15 Mar 2022

Operating system & version
Ubuntu 22.04
Installation method
dnf / apt / zypper / pkg / etc
Which backend do you use?
default
What desktop environment do you use?
xfce4
Environment xrdp running on
VM
What's your client?
MobaXterm and win RDP
Area(s) with issue?
Network
Steps to reproduce
After setting up a fresh new Ubuntu VM in hyper-V, installed xrdp, I cant connect using mobaxterm or win rdp client, connection is right away disconnected. When I telnet on the VM itself to port 3389 it responds but not from any other machines. I disabled firewall it did not help. Renabled firewall with the following rules
sudo ufw allow from <IP_ADDRESS>/24 to any port 3389
sudo ufw allow 3389

it did not help.
I checked the 3 log files

~/.xsession-errors
/var/log/xrdp.log
/var/log/xrdp-sesman.log

nothing is indicated
What might be missing? Thanks for your help.
✔ Expected Behavior
RDP ubuntu VM as other machines
❌ Actual Behavior
Not being able to RDP to ubuntu machine using xrdp
Anything else?
Here is the log for xrdp.log

[20240802-13:16:06] [INFO ] starting xrdp with pid 913
[20240802-13:16:06] [INFO ] address [<IP_ADDRESS>] port [3389] mode 1
[20240802-13:16:06] [INFO ] listening to port 3389 on <IP_ADDRESS>
[20240802-13:16:07] [INFO ] xrdp_listen_pp done
[20240802-14:11:44] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 45444
[20240802-14:11:44] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20240802-14:11:44] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20240802-14:13:21] [ERROR] libxrdp_force_read: Can't read PDU
[20240802-14:13:21] [ERROR] [ITU-T X.224] Connection Sequence: CR-TPDU (Connection Request) failed
[20240802-14:13:21] [ERROR] xrdp_sec_incoming: xrdp_iso_incoming failed
[20240802-14:13:21] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed
[20240802-14:13:21] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed
[20240802-14:13:22] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[20240802-14:13:22] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
[20240802-14:13:53] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 43502
[20240802-14:13:53] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20240802-14:13:53] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20240802-14:16:13] [ERROR] libxrdp_force_read: Can't read PDU
[20240802-14:16:13] [ERROR] [ITU-T X.224] Connection Sequence: CR-TPDU (Connection Request) failed
[20240802-14:16:13] [ERROR] xrdp_sec_incoming: xrdp_iso_incoming failed
[20240802-14:16:13] [ERROR] xrdp_rdp_incoming: xrdp_sec_incoming failed
[20240802-14:16:13] [ERROR] xrdp_process_main_loop: libxrdp_process_incoming failed
[20240802-14:16:13] [ERROR] xrdp_iso_send: trans_write_copy_s failed
[20240802-14:16:13] [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
[20240802-14:33:16] [INFO ] Received termination signal, stopping the server accept new connections thread
[20240802-14:33:28] [INFO ] address [<IP_ADDRESS>] port [3389] mode 1
[20240802-14:33:28] [INFO ] listening to port 3389 on <IP_ADDRESS>
[20240802-14:33:28] [INFO ] xrdp_listen_pp done
[20240802-14:33:30] [INFO ] starting xrdp with pid 3242
[20240802-14:33:30] [INFO ] address [<IP_ADDRESS>] port [3389] mode 1
[20240802-14:33:30] [INFO ] listening to port 3389 on <IP_ADDRESS>
[20240802-14:33:30] [INFO ] xrdp_listen_pp done

Here is the log xrdp-sesman.log

[20240801-18:34:45] [INFO ] starting xrdp-sesman with pid 31086
[20240801-19:20:56] [INFO ] shutting down sesman 1
[20240801-19:21:25] [INFO ] starting xrdp-sesman with pid 710
[20240801-22:25:19] [INFO ] shutting down sesman 1
[20240801-22:25:53] [INFO ] starting xrdp-sesman with pid 806
[20240802-12:51:26] [INFO ] shutting down sesman 1
[20240802-12:51:26] [INFO ] starting xrdp-sesman with pid 5217
[20240802-13:15:28] [INFO ] shutting down sesman 1
[20240802-13:16:02] [INFO ] starting xrdp-sesman with pid 877
[20240802-14:33:16] [INFO ] shutting down sesman 1
[20240802-14:33:28] [INFO ] starting xrdp-sesman with pid 3232

and lastlu xorg.conf

Section "ServerLayout"
Identifier "X11 Server"
Screen "Screen (xrdpdev)"
InputDevice "xrdpMouse" "CorePointer"
InputDevice "xrdpKeyboard" "CoreKeyboard"
EndSection
Section "ServerFlags"
# This line prevents "ServerLayout" sections in xorg.conf.d files
# overriding the "X11 Server" layout (xrdp #1784)
Option "DefaultServerLayout" "X11 Server"
Option "DontVTSwitch" "on"
Option "AutoAddDevices" "off"
EndSection
Section "Module"
Load "dbe"
Load "ddc"
Load "extmod"
Load "glx"
Load "int10"
Load "record"
Load "vbe"
Load "glamoregl"
Load "xorgxrdp"
Load "fb"
EndSection
Section "InputDevice"
Identifier "xrdpKeyboard"
Driver "xrdpkeyb"
EndSection
Section "InputDevice"
Identifier "xrdpMouse"
Driver "xrdpmouse"
EndSection
Section "Monitor"
Identifier "Monitor"
Option "DPMS"
HorizSync 30-80
VertRefresh 60-75
ModeLine "1920x1080"<PHONE_NUMBER> 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
ModeLine "1280x720" 74.25 1280 1720 1760 1980 720 725 730 750 +HSync +VSync
Modeline "1368x768" 72.25 1368 1416 1448 1528 768 771 781 790 +hsync -vsync
Modeline "1600x900" 119.00 1600 1696 1864 2128 900 901 904 932 -hsync +vsync
EndSection
Section "Device"
Identifier "Video Card (xrdpdev)"
Driver "xrdpdev"
Option "DRMDevice" "/dev/dri/renderD128"
Option "DRI3" "1"
EndSection
Section "Screen"
Identifier "Screen (xrdpdev)"
Device "Video Card (xrdpdev)"
Monitor "Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "640x480" "800x600" "1024x768" "1280x720" "1280x1024" "1600x900" "1920x1080"
EndSubSection
EndSection

This looks a bit like a networking problem.
What does this mean exactly?

but not from any other machines.

Hi matt, yes, it was an issue with the networking of the VM. I reinstalled ubuntu 24, then ran apt install xrdp and xordxrdp, and hop everything went through right away and I was able to RDP.
Thanks for your response

Great - glad you got it working.


Support npm in addition to Yarn

We need to be able to support both Yarn and npm, and choose between them dynamically. This applies to both commands we run at the root project level, along with commands we run at the test project level.
We will probably want to discuss how to design and implement this, because I can imagine that—if designed incorrectly—the code that executes these commands could become pretty complex.
My thinking is, at any level (root project or test project), we check to see if either a yarn.lock file or a package-lock.json exists. The first indicates we should be using Yarn, the second indicates we should be using npm. If neither file is present, then we should prefer Yarn over npm, if both are installed globally. If just one is installed globally, use that one.
Edge cases where we need to throw/print an explanatory error:

yarn.lock file present, but Yarn isn't installed globally
package-lock.json file present, but npm isn't installed globally
Neither lock file is present and neither tool is installed globally

To assist with testing this behavior, we should add a test project at /test-projects called npm-project. It would be nearly identical to the javascript-project, but instead of having a yarn.lock file, it should have a package-lock.json file.

Thinking about the design a little, whenever we want to run Yarn or npm, we'll have:

The base tool name (yarn or npm)
Flags that apply to every command (--mutex for Yarn, possibly an equivalent for npm)
A command, which differs based on the tool (add versus install)
Flags that go with that command, which can differ based on the tool (--dev versus --save-dev)


no-cb-test rule

Prevent the use of test.cb(). Some projects/companies might want to prevent the use of callback tests in favor of only async functions or returning promises.

Should it be no-cb-test or no-cb-tests?

I would go for the singular form no-cb-test. It looks like (most) eslint rules are singular as well.

@SamVerschueren :+1:


BLM variance decomposition - overestimated worker effects for low values of real alpha

Hi there,
I am currently trying to use the BLM estimator and have noticed that I get non-zero values for worker effects where I expect none. I then went back to the BLM example and used this to simulate a range of values for both, alpha and psi. The below code simulates datasets and conducts a variance decomposition. I then plot the results by contrasting the estimated psi and alpha values with the real ones.

import numpy as np
import bipartitepandas as bpd
import pytwoway as tw
from pytwoway import constraints as cons
from matplotlib import pyplot as plt

nl = 3 # Number of worker types
nk = 3 # Number of firm types
blm_params = tw.blm_params({
    'nl': nl, 'nk': nk,
    'a1_mu': 0, 'a1_sig': 1.5, 'a2_mu': 0, 'a2_sig': 1.5,
    's1_low': 0.5, 's1_high': 1.5, 's2_low': 0.5, 's2_high': 1.5, 'verbose': 0
})
cluster_params = bpd.cluster_params({
    'measures': bpd.measures.CDFs(),
    'grouping': bpd.grouping.KMeans(n_clusters=nk),
    'is_sorted': True,
    'copy': False
})
clean_params = bpd.clean_params({
    'drop_returns': 'returners',
    'copy': False
})

real_values_a = []
real_values_psi = []
real_values_cov = []
estimated_a = []
estimated_psi = []
estimated_cov = []
monotonic_mover = []
monotonic_stayer = []

values = np.arange(0,3,0.05)

for a in values:
    for p in values:
        sim_params = bpd.sim_params({
            'nl': nl, 'nk': nk,
            'alpha_sig': a, 'psi_sig': p, 'w_sig': 0.6,
            'c_sort': 0, 'c_netw': 0, 'c_sig': 1
        })

        sim_data = bpd.SimBipartite(sim_params).simulate()

        # Convert into BipartitePandas DataFrame
        sim_data = bpd.BipartiteDataFrame(sim_data)
        # Clean and collapse
        sim_data = sim_data.clean(clean_params).collapse(is_sorted=True, copy=False)
        # Cluster
        sim_data = sim_data.cluster(cluster_params)
        # Convert to event study format
        sim_data = sim_data.to_eventstudy(is_sorted=True, copy=False)

        sim_data_observed = sim_data.loc[:, ['i', 'j1', 'j2', 'y1', 'y2', 't11', 't12', 't21', 't22', 'g1', 'g2', 'w1', 'w2', 'm']]
        sim_data_unobserved = sim_data.loc[:, ['alpha1', 'alpha2', 'k1', 'k2', 'l1', 'l2', 'psi1', 'psi2']]

        movers = sim_data_observed.get_worker_m(is_sorted=True)
        jdata = sim_data_observed.loc[movers, :]
        sdata = sim_data_observed.loc[~movers, :]

        # Initialize BLM estimator
        blm_fit = tw.BLMEstimator(blm_params)
        # Fit BLM estimator
        blm_fit.fit(jdata=jdata, sdata=sdata, n_init=40, n_best=5, ncore=16)
        # Store best model
        blm_model = blm_fit.model

        liks1 = blm_model.liks1

        print('Log-likelihoods monotonic (movers):', np.min(np.diff(liks1)) >= 0)
        monotonic_mover = monotonic_mover + [np.min(np.diff(liks1)) >= 0]
        liks0 = blm_model.liks0
        print('Log-likelihoods monotonic (stayers):', np.min(np.diff(liks0)) >= 0)
        monotonic_stayer = monotonic_stayer + [np.min(np.diff(liks0)) >= 0]

        # Initialize BLM variance decomposition estimator
        blm_fit = tw.BLMVarianceDecomposition(blm_params)
        # Fit BLM estimator
        blm_fit.fit(
            jdata=jdata, sdata=sdata,
            blm_model=blm_model,
            n_samples=20,
            Q_var=[
                        tw.Q.VarAlpha(),
                        tw.Q.VarPsi(),
                        tw.Q.VarPsiPlusAlpha()
                    ],
            ncore=16
        )

        for k, v in blm_fit.res.items():
            print(f'{k!r}: {v.mean()}')

        real_values_a = real_values_a + [np.var(sim_data_unobserved['alpha1'])]
        real_values_psi = real_values_psi + [np.var(sim_data_unobserved['psi1'])]
        real_values_cov = real_values_cov + [np.cov(sim_data_unobserved['psi1'], sim_data_unobserved['alpha1'], ddof=0)[0, 1]]
        estimated_a = estimated_a + [np.mean(blm_fit.res['var(alpha)'])]
        estimated_psi = estimated_psi + [np.mean(blm_fit.res['var(psi)'])]
        estimated_cov = estimated_cov + [np.mean(blm_fit.res['cov(psi, alpha)'])]

points = plt.scatter(real_values_psi, estimated_psi, c=real_values_a)
cbar = plt.colorbar(points)
cbar.set_label("real alpha")
plt.xlabel("Real")
plt.ylabel("Estimated")
plt.title("Psi")
plt.plot([0, np.max([np.max(real_values_psi), np.max(estimated_psi)])], [0, np.max([np.max(real_values_psi), np.max(estimated_psi)])])
plt.savefig("./Figures/Jan24/BLM_psi_plot.png")
plt.show()

points = plt.scatter(real_values_a, estimated_a, c=real_values_psi)
cbar = plt.colorbar(points)
cbar.set_label("real psi")
plt.xlabel("Real")
plt.ylabel("Estimated")
plt.title("Alpha")
plt.plot([0, np.max([np.max(real_values_a), np.max(estimated_a)])], [0, np.max([np.max(real_values_a), np.max(estimated_a)])])
plt.savefig("./Figures/Jan24/BLM_alpha_plot.png")
plt.show()

points = plt.scatter(real_values_cov, estimated_cov)
plt.xlabel("Real")
plt.ylabel("Estimated")
plt.title("Cov(psi, alpha)")
plt.plot([np.min([np.min(real_values_cov), np.min(estimated_cov)]), np.max([np.max(real_values_cov), np.max(estimated_cov)])], [np.min([np.min(real_values_cov), np.min(estimated_cov)]), np.max([np.max(real_values_cov), np.max(estimated_cov)])])
plt.savefig("./Figures/Jan24/BLM_cov_plot.png")
plt.show()

import pandas as pd

data = pd.DataFrame(
     {'real_a': real_values_a,
     'estimated_a': estimated_a,
     'real_psi': real_values_psi
    })

selected = data.loc[data['real_a']<=0.5]

points = plt.scatter(selected['real_a'], selected['estimated_a'], c=selected['real_psi'])
cbar = plt.colorbar(points)
cbar.set_label("real psi")
plt.xlabel("Real")
plt.ylabel("Estimated")
plt.title("Alpha")
plt.plot([0, np.max([np.max(selected['real_a']), np.max(selected['estimated_a'])])], [0, np.max([np.max(selected['real_a']), np.max(selected['estimated_a'])])])
plt.savefig("./Figures/Jan24/BLM_alpha_zoom_plot.png")
plt.show()

print("Monotonic movers: " + str(monotonic_mover.count(True)))
print("Non-monotonic movers: " + str(monotonic_mover.count(False)))

print("Monotonic stayers: " + str(monotonic_stayer.count(True)))
print("Non-monotonic stayers: " + str(monotonic_stayer.count(False)))

While the firm effects appear to be recovered well, many low alpha values are frequently overestimated.
Psi looks good overall:

Alpha is also doing well for higher values:

But when zooming in on lower values:

Lower psi values look fine:

I suspect that I am missing some parameter I should change for the variance decomposition to work as expected. Could you maybe hint me which one might control this behaviour?
I also found that several log-likelihoods for movers (around 1/3) are not monotonic and none are monotonic for stayers. Do you maybe have any hints on why this might be the case?
Thank you!
Best,
Martin

Hi Martin,
Thanks for spending so much time with PyTwoWay!
I don't have time right now to look into this deeply, but I think one potential issue is your BLM parameters. a1_sig and a2_sig are pretty high if the true variation is actually near 0. These are going to make the guesses for the group-level means relatively spread out, even though your simulation will make them very close.
Unfortunately the BLM estimator is not guaranteed to converge to the global optimum, so you have to be very careful about how you choose your initial guesses. Can you please let me know what happens if you lower those values?
Also, regarding the log likelihoods, it's fine if they're not completely monotonic as long as the overall trend is increasing. There is a correction to the likelihoods in the code that can make it so it's not monotonic, but the non-monotonicity should be quite small compared to the overall increase over time.
Best,
Adam

Hi Adam,
Thanks a lot for this quick response!
I have tried lower values of a1_sig and a2_sig but the behaviour seems similar. Below are the results for both set to 0.05. The results appear to be very similar to having them set to 1.5.
Alpha:

Zooming in on lower values for alpha:

Psi seems fine:

Some alpha values are really well recovered while others are not. Is there anything that might explain this behaviour?
Regarding monotonicity, a graphical inspection of the iterations indicates that the overall trend holds, so this seems to be fine.
Thanks again!
Best,
Martin

Hi Adam,
Thanks so much for looking into this.  I tried with the simulation parameters and now even the low alphas get estimated correctly:

Unfortunately this imprecise estimation of alphas is also the case for the real data I work with - do you have any ideas how this can be improved?
Thank you!
Best wishes,
Martin

Hi Martin,
This is surprising, the estimator seems to be biased in this case. Maybe a bias correction can be derived, I'll reach out to Professor Lamadon.
I know this is mostly just cheating and isn't a proper solution, but what happens if you simulate with nl=3 but estimate with nl=2?
Maybe part of the issue is that because the noise has higher variance than the alphas, the clusters are moving further apart to better fit the noise. Then if you reduce the number of worker types, it could force the clusters to be closer to each other.
But this probably just mechanically reduces the estimated var(alpha), so it doesn't actually address the problem.
Best,
Adam

Hi Adam,
Thanks for this! Yes, I think you are right. On the other end, this leads to an underestimation of var(alpha) when the true variance is not close to 0 (and an overestimation if slightly above). See results below:
Alpha:

And zoomed in on lower values:

Thanks again for following up on this so promptly, much appreciated.
Best,
Martin

Just adding in case this is useful: if I increase the noise further (let's say 1.6), this is the result (using the same nl for simulation and estimation):

Hello and thank you for looking into this! The fact that without noise, it seems to work is comforting. Am I correct that you are using the non-linear BLM estimator? It also seems that you are simulating a model without csort or network effect. I wonder if that means that the identifying assumptions for the paper are not satisfied. It might work still because of the parametric form (normal in simulated data and normal in the model) but it could generate issues.  I am not exactly sure what the mobility here is, but I worry it is close to random (all workers moving the say across firms).
Another thing that could be good here, is to use the true clusters in estimation and see if that resolve the issue.
Note that It is possible for the estimator to have a bit of bias in finite sample since it is based on MLE.

Ok, we might need to look at this last case, even-though the noise at 1.6 might be pretty severe.
About the assumptions, note that they are sufficient conditions for identification for interactions. It is clearly a bit demanding. I guess my question would be whether interaction is something that you want to allow for in your analysis or if you are willing to assume that wages are log linear. If you are ok with log-linear then you can impose this in estimation or even use one of the other estimators.
Another point here is that getting the variance of alpha actually requires making some assumption on the serial correlation of the error over time. For movers, the static version of our model would assume independence and then would assume that it is the same for movers and stayers. It is strong, but with these assumptions it should still work here. A fixed-effect model would likely overstate the variance of alpha, in particularly among the stayers since empirically the serial correlation within spell is quite large.
In my experience the variance of worker effect is very large in employer-employee matched data. It could be different in other applications.
I am going to run some simulation using your code and I will get back to you on what I think is happening! I will be doing this in the debugging branch at
https://github.com/tlamadon/pytwoway/tree/debugging
Thank you for your interest!


[ng2-admin] How to override the $default color in _ng2.scss

theme.config.ts can only override few of the elements like
axis text color
chart graphic color
However, It cannot override the default text color in normal text or the data table text.
Specially, primary, info, success, warning, danger is also not working when I modify in theme.config.ts.
Is there anyway to override the above element??
I am making the dynamic theme changing and It works in some element and some don't.
Any ideas?

On the theme.scss file with this variables:
https://akveo.github.io/nebular/#/docs/themes/cosmic


Best Quality Availabe 720p

Even if the stream is at 1080p the best quality avaialbe by the script is max 720p60.
Can someone help with this ?
self.quality = "best"
==============================
[cli][info] Available streams: audio_only, 160p (worst), 360p, 480p, 720p60 (best)
[cli][info] Opening stream: 720p60 (hls)
[plugins.twitch][info] Will skip ad segments

According to the CLI output coming from Streamlink, the stream is only 720p60 and not 1080p.
Maybe update Streamlink or try with another stream.
For me it always downloads the best/highest option with best.

### Quick update on this issue.
When the stream starts the script start the downlad at the best quality 720p but if I kill the script and re lanch it, it will identify as best quality 1080p. I think that at the beginning of the livescream the "signal" is not the most stable so 720p is the closest quality standard, as soon the stram is more stable, 1080p will pop up! Any idea how to improve this ?
What about is I move the checking period from 15s to 5 min, so I will lose the first 5 min but I will chatch the stram at the most stable stage ?


Pass inline styles through PostCSS

Is your feature request related to a problem?
Inline styles don't get pre-processed by postcss
Describe the solution you'd like
It would be nice if there was a way to have PostCSS pre-process inline styles.
Describe alternatives you've considered
Using css modules works fine.
Additional context
No response

I dont think we can support this, it goes a against qwik design principles to inject this built-in into Qwik, inlined styles are just a string, qwik has no way to know it's a style.
We want to rely on Vite community of plugin to inject this kind of functionality, it needs to be done file based. However I can see someone could implement a custom plugin that tries to understand qwik code to inject this. But surely not a priority from the core team


POST request with numpy arrays instead of local files

Hello,
I would like to use the face recognition service with numpy arrays instead of local files
Describe the solution you'd like
I would like to make a POST request to the face recognition service with a numpy array insted of athe local address of the file
Describe alternatives you've considered
Is there a way to convert them in such a way that the REST API wiil accept them?
Thanks

Thanks for the quick response, this is what i've done:
`
from PIL import Image
import io
img = cv2.imread(....)
img = Image.fromarray(img, 'RGB')
img_byte_arr = io.BytesIO()
headers = {'x-api-key': '701a07af-6ca8-4950-943f-4305adff200c', 'Content-Type': 'application/json'}
data = {"file" : img_byte_arr}
response = requests.post("http://<IP_ADDRESS>:8000/api/v1/recognition/recognize?face_plugins=landmarks, gender, age", headers=headers, data = data)
`
But i keep getting a 400 error

Thanks for the quick response, i didn't notice there was a python sdk, i will try it immediately

Sadly i don't think i can use the python sdk because it requires a newer version of the sdk that i can't install because i'm on a jetson TX2.
By the way, when using bytes, how should i structure the rest of the query? For example, what content type i should use? "multipart/form-data" or "application/json"?
Also i found this

Sadly i don't think i can use the python sdk because it requires a newer version of the sdk that i can't install because i'm on a jetson TX2.
By the way, when using bytes, how should i structure the rest of the query? For example, what content type i should use? "multipart/form-data" or "application/json"?
Also i found this


Update basic-types.md

Fixes a typo.
What changed? Why?
It was meant to say "to" instead of the number two
Notes to reviewers
N/A
How has it been tested?
Grammar

@RenierC Thank U for getting in here and fixing this! Hope to see more contributions from U :)

@RenierC Thank U for getting in here and fixing this! Hope to see more contributions from U :)

Happy to add my grain of salt! ;) and I will if I see anything more!


SignalR Subscriber client(.NET Core/Angular 4) connected but not received message after few minutes

From @meerajoy4 on Friday, 28 December 2018 05:54:15

I have done a signalR application using asp .net core and angular 4.
using aspnet core signalR version 1.1.0 and @aspnet/signalr 1.1.0 in client side.
using the Redis backplane (redis_version 1.1.0)
We are not using groups though just sending messages by connection id.
after 5 minutes idle js clients stop receiving messages(client already connected but unable to received data).
need to connect again for recieving message from sever.

Any idea?
Copied from original issue: SignalR/SignalR#4283

@nikunj231991 There are known limitations with WebSockets and Azure App Service. I recommend using Azure SignalR Service instead for your app.

@muratg I'm wondering what are the limitations of using Web Sockets and Azure App Services? Other than connection limitations, I'm curious of the other limitations you might be suggesting here?
We are having similar issues of connections disconnections and packet loss in between an .net core 2.2 API and a VuaJs 2 SPA. Using a Redis backplane. We played around with Azure SignalR service and found it quite slow. Maybe just some links to some articles explaining what you're suggesting would be fine.
Thanks

Hi !
I faced the same problem here ! After deploying to App Service, sometimes the connection stopped from the server side after a few minutes, sometimes it takes an hour or more ...
I found this issues :

https://github.com/aspnet/SignalR/issues/2150
https://github.com/aspnet/SignalR/issues/1179

Any ideas ?


Create npm package for Leaflet.Ellipse

And maybe publish to npm for dependency/version management
Thoughts?

This is a great idea.. anyone want to sign up to help out?

I may be able to take a look

I can look into this
On Thu, Mar 16, 2017 at 8:48 PM, jdfergason<EMAIL_ADDRESS>wrote:

This is a great idea.. anyone want to sign up to help out?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jdfergason/Leaflet.Ellipse/issues/3#issuecomment-287235783,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAp45Vde-S7PB6qVKuShKeMbw-o98FMsks5rmdhggaJpZM4Jt_-e
.


Ensure multiple waypoints are visible on smaller screens

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/26595
PROPOSAL: N/A
Tests
1.Open app on small screen (height = +- 400px )
2.Go to a workspace chat
3.Click the "+" button next to the text composer
4.Click "Request money"
5.Click "Distance"
6.Should show 2 stops
7.Click Add stope
8.Should be an animation of the transition of the list elements to the end

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for the expected offline behavior in the Offline steps section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[ ] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/68128028/56d0ba69-042f-49ed-9335-778607619f26
https://github.com/Expensify/App/assets/68128028/3ec07ca1-d5d7-493e-aef2-a41e598f66a7

Mobile Web - Chrome
https://github.com/Expensify/App/assets/68128028/7f49ab98-22b8-4b0b-95a7-3e475ad07f3a

Mobile Web - Safari
https://github.com/Expensify/App/assets/68128028/3e027fa0-5262-45b1-83d2-f6b6d070fbdc

Desktop
https://github.com/Expensify/App/assets/68128028/2913ac4a-2f47-46a7-9e9d-cd8e87ee263b

iOS

Android

@ZhenjaHorbach Can you make sure to remove the unverified commits?

@ZhenjaHorbach Can you please force push just with verified commits?

You also need to sign the CLA as a first time contributor, simple comment the sentence its asking you to post

I hereby sign the CLA

I hereby sign the CLA

@ZhenjaHorbach this sensence:

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

@ZhenjaHorbach Amazing, can you please update the tests to be a nubered list? than also fill out the chekclist and include videos from all the platfroms
@fedirjh Could you start your review here in parallel, please? thanks!

@ZhenjaHorbach can you post the sentence without anything else in there

@ZhenjaHorbach Lint is failing as well

@ZhenjaHorbach  can you fix the commutes please? If you prefer to make s new pr lets do it

@ZhenjaHorbach can you fix the commutes please? If you prefer to make s new pr lets do it

I'm just thinking about it
But yes, since the first commit was made from a different email
I can't think of a smooth option
So I will probably create a new PR

@ZhenjaHorbach can you fix the commutes please? If you prefer to make s new pr lets do it
https://github.com/Expensify/App/pull/26610
@mountiny can we make a reviewer @fedirjh ?
To not bother others?

Closing in favour of https://github.com/Expensify/App/pull/26610


[SUPPORT] multi writer insert overwrite different partition conflict resolve stragegy throw StringIndexOutOfBoundsException

Describe the problem you faced
I have 5 writer job insert overwrite different partition（without partition or bucket overlap). Finally, one writer job failed with execption：

24/06/25 12:28:28 Driver ERROR SparkSQLDriver: Failed in [
insert overwrite table defaultdb.test_table partition(p_date, p_product)  xxx ]
java.lang.StringIndexOutOfBoundsException: begin 0, end 8, length 0
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
at java.base/java.lang.String.substring(String.java:1874)
at org.apache.hudi.index.bucket.BucketIdentifier.bucketIdStrFromFileId(BucketIdentifier.java:86)
at org.apache.hudi.index.bucket.BucketIdentifier.bucketIdFromFileId(BucketIdentifier.java:82)
at org.apache.hudi.client.transaction.BucketIndexConcurrentFileWritesConflictResolutionStrategy.lambda$hasConflict$1(BucketIndexConcurrentFileWritesConflictResolutionStrategy.java:51)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1621)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at org.apache.hudi.client.transaction.BucketIndexConcurrentFileWritesConflictResolutionStrategy.hasConflict(BucketIndexConcurrentFileWritesConflictResolutionStrategy.java:52)
at org.apache.hudi.client.utils.TransactionUtils.lambda$resolveWriteConflictIfAny$0(TransactionUtils.java:88)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
at org.apache.hudi.client.utils.TransactionUtils.resolveWriteConflictIfAny(TransactionUtils.java:85)
at org.apache.hudi.client.BaseHoodieClient.resolveWriteConflict(BaseHoodieClient.java:202)
at org.apache.hudi.client.BaseHoodieWriteClient.preCommit(BaseHoodieWriteClient.java:346)
at org.apache.hudi.client.BaseHoodieWriteClient.commitStats(BaseHoodieWriteClient.java:232)
at org.apache.hudi.client.SparkRDDWriteClient.commit(SparkRDDWriteClient.java:104)
at org.apache.hudi.HoodieSparkSqlWriter$.commitAndPerformPostOperations(HoodieSparkSqlWriter.scala:1137)
at org.apache.hudi.HoodieSparkSqlWriter$.writeInternal(HoodieSparkSqlWriter.scala:439)
at org.apache.hudi.HoodieSparkSqlWriter$.write(HoodieSparkSqlWriter.scala:133)
at org.apache.spark.sql.hudi.command.InsertIntoHoodieTableCommand$.run(InsertIntoHoodieTableCommand.scala:131)
at org.apache.spark.sql.hudi.command.InsertIntoHoodieTableCommand.run(InsertIntoHoodieTableCommand.scala:68)
at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:71)
at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:69)
at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:80)
at org.apache.spark.sql.execution.adaptive.QueryStage.executeCollect(QueryStage.scala:283)
at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:194)
at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:194)
at org.apache.spark.sql.Dataset$$anonfun$53.apply(Dataset.scala:3364)
at org.apache.spark.sql.execution.SQLExecution$$anonfun$withNewExecutionId$1.apply(SQLExecution.scala:80)
at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:127)
at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:75)
at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3363)
at org.apache.spark.sql.Dataset.(Dataset.scala:194)
at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:79)
at org.apache.spark.sql.SparkSession$$anonfun$8.apply(SparkSession.scala:652)
at org.apache.spark.sql.SparkSession$$anonfun$8.apply(SparkSession.scala:651)
at org.apache.spark.KwaiDriverMetricsCollector$.countTime(KwaiDriverMetricsCollector.scala:143)
at org.apache.spark.KwaiDriverMetricsCollector$.countSqlExecuteTime(KwaiDriverMetricsCollector.scala:104)
at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:651)
at org.apache.spark.sql.SQLContext.sql(SQLContext.scala:694)
at org.apache.spark.sql.hive.thriftserver.SparkSQLDriver.run(SparkSQLDriver.scala:117)
at org.apache.spark.sql.hive.SparkSQLCLIDriver2.processCmd(SparkSQLCLIDriver2.scala:501)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:336)
at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:474)
at org.apache.spark.sql.hive.SparkSQLCLIDriver2.processFile(SparkSQLCLIDriver2.scala:450)
at org.apache.spark.sql.hive.SparkSQLCLIDriver2$.main(SparkSQLCLIDriver2.scala:293)
at org.apache.spark.sql.hive.SparkSQLCLIDriver2.main(SparkSQLCLIDriver2.scala)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:882)`

Environment Description

Hudi version : 0.14.0
table type： mor
table index：simple bucket index
occ confict resolve stragegy： occ， job parameters are：
set hoodie.write.concurrency.mode=OPTIMISTIC_CONCURRENCY_CONTROL;
set hoodie.write.lock.provider=org.apache.hudi.client.transaction.lock.FileSystemBasedLockProvider;
set hoodie.write.lock.client.num_retries=1500;
set hoodie.write.lock.filesystem.expire=10;

I try catch Exception at  BucketIndexConcurrentFileWritesConflictResolutionStrategy.java hasConflict fucntion  by myself and print log of conflict operation. log content is blow.
24/06/25 12:28:28 Driver ERROR BucketIndexConcurrentFileWritesConflictResolutionStrategy: hasConflict got exception, between first operation = {actionType=**replacecommit**, instantTime=20240625120033401, actionState=**INFLIGHT**'}, second operation = {actionType=**replacecommit**, instantTime=20240625120040733, actionState=**INFLIGHT**'},java.lang.StringIndexOutOfBoundsException: begin 0, end 8, length 0
I found  confict operation is two replacecommit inflight instant. also I checked the metadata content of these two inflight replacecommit instant. FileId is empty string ,this caused substring throw StringIndexOutOfBoundsException.

Is this an known bug?
I think it's best not throw StringIndexOutOfBoundsException. Could we catch the exception and rethrow an easy understant execption?

Did you try 0.14.1, it might already be fixed in it.

Did you try 0.14.1, it might already be fixed in it.

I think 0.14.1 and master neither fix this problem.

upsert and insertoverwrite inflight instant content is generated by BaseSparkCommitActionExecutor.buildprofie, build profile can only get insert/update partition info, could not get fileid here.
TransactionUtils.resolveWriteConflictIfAny getCandidateInstants  is also get pending clustering by REPLACE_COMMIT_ACTION.
If  I am wrong, please correct me.

Also in my company, we have demand for multi job insertoverwrite or multi job udpate 、insertoverwrite different partition concurrently.
TransactionUtils.resolveWriteConflictIfAny getCandidateInstants function want to get pending clustering. Now get pending clustering instants by REPLACE_COMMIT_ACTION, actually here get both clustering and insertoverwrite instants.
So, I think we can continue filter by get  clusteringplan is present ， it will get only clustering instant。
can we rosolve  in this way？

TransactionUtils.resolveWriteConflictIfAny getCandidateInstants function want to get pending clustering. Now get pending clustering instants by REPLACE_COMMIT_ACTION, actually here get both clustering and insertoverwrite instants.
So, I think we can continue filter by get clusteringplan is present ， it will get only clustering instant。

Yeah, for your use case there is no need to resolve conflicts for insert_overwrite because it occurs in different partitions, but from Hudi side, we still need to take it into consideration because there is no prompt to tell Hudi that the ingestion and insert_overwrite happens in different partitions(only after a resolution of conflict we can find it out).
It looks like you have fond the culprit of the StringIndexOutOfBoundsException, would you mind to fire a fix for it?

TransactionUtils.resolveWriteConflictIfAny getCandidateInstants function want to get pending clustering. Now get pending clustering instants by REPLACE_COMMIT_ACTION, actually here get both clustering and insertoverwrite instants.
So, I think we can continue filter by get clusteringplan is present ， it will get only clustering instant。

Yeah, for your use case there is no need to resolve conflicts for insert_overwrite because it occurs in different partitions, but from Hudi side, we still need to take it into consideration because there is no prompt to tell Hudi that the ingestion and insert_overwrite happens in different partitions(only after a resolution of conflict we can find it out).
It looks like you have fond the culprit of the StringIndexOutOfBoundsException, would you mind to fire a fix for it?

Yes, I am very glad to fix it.
Allow me to further clarify （forgive my repetition ）, i also think it is need to resolve conflicts for  insert_overwrite.  when insert_overwrite instant is complete,  it will be checked.
Can I fix it like following picture？do you agree？

Based on the variable name compactionAndClusteringPendingTimeline, it looks like your fix is reasonable.

Based on the variable name compactionAndClusteringPendingTimeline, it looks like your fix is reasonable.

I have fix it in https://github.com/apache/hudi/pull/11691 , can you help me reivew？ Thanks a lot！

Closing as the fix is merged. Thanks everybody.


Add Gluster driver

@clintkitson commented on Wed Jun 08 2016
This issue is tracking the addition of the Gluster driver.

Is there any update on the addition of Gluster driver ?

@AmeerGN We don't have it in the roadmap at this point. We are actively reviewing drivers to be made CSI capable through https://github.com/thecodeteam/gocsi so will include your feedback here.

Just wondering if something happend on this and I am just not seeing it or if this issue is still at the same state. Being a Gluster User having stumbled onto RexRay just today, this does turn out to be my primary question. :)


1436790/1438462: Part 37: 20 files with MSDN link fixes.

Contributes to PR #2037 and applies to the following work items:

User Story 1436790: Content Update: update MSDN links for .NET content
Task 1438462: Update MSDN links for .NET content

@mairaw I've committed your suggestions.
I'd started adding the "./" to any Markdown files within the folder subtree because of a suggestion you made in part 34 (https://github.com/dotnet/docs/pull/10508#event-2150798958).

I use the . for the subfolders only.


Keep-out and keep-in constraints causing weird paths and path generation when used in combination

diagnostics: choreo-diagnostics-EqfN9ShL.zip
version: Choreo-2025-beta-1
I tried to see if using a few keep out circles would work all at once with each other, and I got some very weird results. Changing the scope of the constraints changes how the path reacts to it, and using a single, bigger keep-out-circle makes it work. Having some sensible scoping makes the path generate, but in a very abnormal way, unless you turn off the keep-in rectangle for the field, then it generates fine.

That's a known issue with keep-out constraints. The interior-point method Choreo uses doesn't properly manage the constraint duals. A solver rewrite is required to fix it: https://github.com/SleipnirGroup/Sleipnir/issues/483.


#85 Fix Kafka interceptor without Spring and add a consumer interceptor

:tada: This PR is included in version 4.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add a production-grade kubernetes deployment process.

Pain Point
I would like to test this tool to see if it will speed up slow bazel builds. I have a multi-tenant kubernetes cluster I can deploy a short-lived service on, provided I clean everything up when done evaluating this tool. Here are some requirements:
Requirements

A robust solution with clear resource limits. I need to know how much resources these services will use before deployment
It should be clearer what will be deployed. These shell scripts don't tell me what affect they will have on the cluster in high enough detail.

It should be secure and production-grade. The kubernetes example says "Don't use this example deployment in production. It's insecure."
It should be possible to deploy this in about 30 minutes of user-time, and clean up in 5 minutes.
Transparent: All kubectl commands should be manually run. Currently they are inside scripts, which hide the most critical parts of the workflow. I would strongly prefer a larger number of commands so that I can see each step and it's outcome.

Thanks for the feedback @Ely-S! We are going to address it right away.

The setup here is an example for local development using kind (Kubernetes-in-Docker) to give you a sense for how you could deploy it with Kubernetes. We should be more explicit in the docs about that.

There's obviously truth to this statement:

It should be clearer what will be deployed. These shell scripts don't tell me what affect they will have on the cluster in high enough detail.
We are documenting a path to fix that right away to enumerate exactly what we are doing, though the "cluster" in this example is really intended to run locally as a test. We should still add a clear delineation of what is happening at every step.

We can provide you with production-grade deployment instructions.

On transparency:

Transparent: All kubectl commands should be manually run. Currently they are inside scripts, which hide the most critical parts of the workflow. I would strongly prefer a larger number of commands so that I can see each step and it's outcome.

For sure!


change title on README

Left reviews and line comments
Created a file and made a commit
Opened a pull request

merged


Disable volume stable is broken.

Please explain more because I cannot see your YouTube UI.
For me, this is an option in video player menu for some videos like https://www.youtube.com/watch?v=TIWRbR69Cjc.
By using https://greasyfork.org/en/scripts/494252-youtube-disable-volume-stable, the option should be removed.
Please describe what do you mean "Disable volume stable is broken."
The option is not removed? Since recent?

Without using your script, the Stable Volume toggle is there but disabled, document.querySelector("video").volume reports 0.702263367991081 for the video https://www.youtube.com/watch?v=XaabCdyQ-mA
Using your script, the toggle is gone but document.querySelector("video").volume still reports an actual or "Normalized" volume of 0.702263367991081
But using https://gist.github.com/RobotoSkunk/212fab73afa6df48f9438b56e18ba073 it does bring the document.querySelector("video").volume to a 1 and combining your script removes the toggle too.

They are totally two different things!
Volume Normalization
YouTube's volume normalization is a standard feature since long time ago.
There is an old script - YouTube Volume Curve Designer (year 2020) for the volume changing.
Since the normalization is a standard feature so disabling it is not recommended. You will experience a volume setting different from other audiences.
(So I don't have any script to disable this feature. Your provided link is not doing the correct way so the sound might "crackle". The userscript "YouTube Volume Curve Designer" is doing the correct way and I believe the sound would not "crackle")
Volume Stable
This is a new feature since 2023 I guess. (A/B testing ended in 2024)
(Not available to old videos, as there was no AI to analyze the video)
YouTube uses AI to prevent the sudden volume change. This would affect watching music video a lot.
My script is to disable this feature.
This is a visible option in player's menu. As it is an enhancement feature, users are able to toggle it off without any script.
Userscript "YouTube Volume Assistant"
I have created a userscript previously to show the normalized volume when user is changing the volume. You can install it to see the actual volume.


Can Modal module support a global configuration like the Message module. I want to config the nzMaskClosable to be false globally, but there is no entry.

What problem does this feature solve?
I want to config the nzMaskClosable to be false globally, but there is no entry.
What does the proposed API look like?
It should like NZ_MESSAGE_CONFIG

Closed by #3033.


Icon resources

Hi,
I've just packaged the client for Arch Linux on the AUR (https://aur.archlinux.org/packages/fair-coin/) and I've been forced to do a quite ugly hack to get the icons to be installed correctly into the filesystem, namely I had to extract and convert them from the Windows ICO file using ImageMagick, which makes the latter a build dependency of the fair-coin package.
Could you provide the PNG icons (or even better a "universal" SVG icon) directly on the source tarball? This would allow me to strike out ImageMagick from the build dependencies. I hope this isn't a problematic change for your deployment scheme.
Thanks for your great work!

First off, thanks for your effort to create a binary package for Arch Linux!
At these locations you'll find icon files with various resolutions and in different formats:
src/qt/res/images
src/qt/res/icons

Sorry if I wasn't clear enough. I was specifically referring to the application icons that desktop environments look for under /usr/share/icons/ to show them, e.g. in the application menu (KDE, XFCE, etc.) or GNOME Shell's Overview or other places (shortcuts, etc.). There are two standard ways to do this, either by providing a vector image (SVG is supported for sure; I don't know about other formats) that must be installed under /usr/share/icons/scalable, such that the DE resizes it as needed, or by providing a PNG file that is installed under /usr/share/icons/hicolor/, where  stands for the resolution.
The best would be to provide these PNGs already at upstream. The same method that I'm using for extracting them to create the package can be used to extract them out of the Windows ICO file (ICO is a container file that usually consists of PNGs, as in your case) and include them into the main tree. Later today I'll try to fork this repository and make a pull request.


OpenAI path

Feature request
I appreciate the effort of extending the aicommit base repository. However, I do have a question.
If I need to not only replace the base URL, but also change the path as well. Like for example - https://hello.com/cats/v1/conversation.. Would it work if I would change OPENAI_URL to hello.com/cats/ ?
I hope I made myself clear.
Why?
Nothing here
Alternatives

Additional context
No response

@toropanov Thank you for your interest. I update OPENAI config and add OPENAI_PATH option. The fix will be available starting from version v1.7.5.
You can set OPENAI_URL as below.
aicommit2 config set OPENAI_URL="https://hello.com"
aicommit2 config set OPENAI_PATH="/cats/v1/conversation"

It will request to https://hello.com/cats/v1/conversation

@toropanov Thank you for your interest. I update OPENAI config and add OPENAI_PATH option. The fix will be available starting from version v1.7.5.
You can set OPENAI_URL as below.
aicommit2 config set OPENAI_URL="https://hello.com"
aicommit2 config set OPENAI_PATH="/cats/v1/conversation"

It will request to https://hello.com/cats/v1/conversation

@toropanov Thank you for your interest. I update OPENAI config and add OPENAI_PATH option. The fix will be available starting from version v1.7.5. You can set OPENAI_URL, OPENAI_PATH as below.
aicommit2 config set OPENAI_URL="https://hello.com"
aicommit2 config set OPENAI_PATH="/cats/v1/conversation"

It will request to https://hello.com/cats/v1/conversation

I tried the commands above but received error message, and I think by the current version 2.0.3, the correct commands are:
aicommit2 config set OPENAI.url="url"
aicommit2 config set OPENAI.path="path"

@Dakai That's right. Starting with version 2.0.0, the command has changed because it supports individual options for each model.
Thank you for sharing!


add checkpointStrategy parameter to event-hub

Signed-off-by: Christian Leinweber<EMAIL_ADDRESS>

I've add more details to the parameter list.
additionally i found out there are also 2 implementations for C#. I have tested both, and the behavior is like Python and Java. One Implementation based on the EventProcessorHost and a new one, which is called EventProcessorClient. The EventProcessorHost works with the default path(no checkpointStrategy specified), the EventProcessorClient with the blobMetadata strategy (which is great, i think). Microsoft called the EventProcessorHost implementation "legacy" (see: https://docs.microsoft.com/de-de/azure/event-hubs/event-hubs-dotnet-standard-get-started-send-legacy).

Thank you!


Add testnet mode to .desktop file

Easy way to start testnet version from linux DE

Sorry this PR is a mess.  A single-file change with 135 commits?  Can you re-submit please.

Hm, looks like somebody rewrote master branch after I created PR. Old master now in master-backup branch.
I've reapplied patch to the new master: https://github.com/fyookball/electrum/pull/603


FIRAuthKeychainServices causing thread warning when calling Auth.auth().signOut() method

Description
When calling:
try Auth.auth().signOut()
Xcode will issue the following thread warning "This method should not be called on the main thread as it may lead to UI unresponsiveness." in FIRAuthKeychainServices:

Reproducing the issue
I am doing the following in an ObservableObject class:
    func signOut() {
        do {
            try Auth.auth().signOut()
        } catch {
            Logger.error(error.localizedDescription)
        }
    }

Firebase SDK Version
9.6.0
Xcode Version
14.2
Installation Method
Swift Package Manager
Firebase Product(s)
Authentication
Targeted Platforms
macOS
Relevant Log Output
[Security] This method should not be called on the main thread as it may lead to UI unresponsiveness.

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

Thanks for reporting, @acwright. I wasn't able to get the same warning on Auth Quickstart. However, I found this related Apple discussion, and it seems like the issue is on WKWebView.

@rizafran There is no WKWebView  anywhere in my app. The app I'm building is a SwiftUI project for more info. Very vanilla project.
I believe this may be from the method being called in an ObservableObject subclass that is marked with @MainActor which is also very common to do in a SwiftUI app. If I understand this correctly it means the function called in my ObservableObject (see above) is being called on the main thread therefore your signOut() method is being called on the main thread and thus the offending SecItemDelete method is being incorrectly called on the main thread hence the Xcode warning.
Hopefully this adds some clarification :)

Is this still an issue in Firebase 11 and recent Xcode versions?


Consider to Cache avr and arm macos toolchains in CI

After possible success on #199 via #307, there are still some large toolchains being cloned in CI for MacOS builds. Consider (for improving stability of these) to Cache avr and arm macos toolchains in CI.

The caching in test only caches the repo clone. The tap result is not cached. Consider to try (later) to find a way to cache the tap mechanism.

For ARM, for instance, it would be simple enough to just get (via wget) the tarball
This has been carried out in this fashion.

good idea to fork the relevant repositiries and clone them from the fork(s)
Maybe do this, but do it entirely (even in the brew recipe) for AVR-gcc in the future.

Fixed by #311


[arch] Dart example configuration fail

I have aur/libdart 6.9.2-1 installed.

 cmake error

==> Making package: magnum-examples dev-1 (četvrtak, 28. svibnja 2020. 23:45:36 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
==> Extracting sources...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- Found Corrade: /usr/include  found components: Containers rc Utility
-- Found Magnum: /usr/include
-- Found Corrade: /usr/include  found components: Containers rc Main
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Magnum: /usr/include  found components: Trade GL MeshTools Primitives Shaders Sdl2Application
-- Found Corrade: /usr/include  found components: Containers rc Main
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Magnum: /usr/include  found components: Trade MeshTools Primitives SceneGraph Shaders GL DebugTools Sdl2Application
-- Found Corrade: /usr/include  found components: Containers rc Main
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Magnum: /usr/include  found components: GL Shaders Trade Sdl2Application
-- Found Corrade: /usr/include  found components: Containers rc Utility Interconnect
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Magnum: /usr/include  found components: TextureTools GL Text
-- Found Corrade: /usr/include  found components: Containers rc Main
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Magnum: /usr/include  found components: Trade GL Audio MeshTools Primitives SceneGraph Shaders Sdl2Application
-- Found Corrade: /usr/include  found components: Containers rc Main
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Magnum: /usr/include  found components: Trade GL MeshTools Primitives SceneGraph Sdl2Application Shaders
-- Found Corrade: /usr/include  found components: Containers rc Main
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Corrade: /usr/include  found components: Containers rc Utility
-- Found Magnum: /usr/include  found components: GL SceneGraph Shaders
-- Found MagnumIntegration: /usr/include  found components: Bullet
-- Found Corrade: /usr/include  found components: Containers rc Main
-- Found Corrade: /usr/include  found components: Containers rc Utility PluginManager
-- Found Magnum: /usr/include  found components: Trade GL MeshTools Primitives SceneGraph Sdl2Application
-- Found DART: /usr/include (Required is at least version "6.0.0") found components: dart missing components: io-urdf utils-urdf
CMake Error at src/dart/CMakeLists.txt:47 (message):
  DART version >= 6 and DART urdf library are required for this example!

-- Configuring incomplete, errors occurred!
See also "/home/marin/magnum-root/magnum-examples/build/CMakeFiles/CMakeOutput.log".
See also "/home/marin/magnum-root/magnum-examples/build/CMakeFiles/CMakeError.log".
==> ERROR: A failure occurred in build().
    Aborting...

It fails to find io-urdf / utils-urdf components. Not sure are those specific to dart library or standalone packages (couldn't find them on aur). I excluded this example from build for now...

Do you have urdfdom installed? That's what I have locally and it builds (tho I have to admit the dependency tree of DART is a huge mess, plus Eigen complicating things further by assuming aligned allocations and whatnot, causing the example to crash if it's the wrong phase of the moon or the stars don't align well...).

Closing due to lack of activity.


Failed to save 'filename.jade': A system error occurred

Failed to save 'filename.jade': A system error occurred (UNKNOWN: unknown error, open 'c:\Users\user_1\node_apps\DO\ng\views\filename.jade')
Unable to save files after performing search (Ctrl+Shift+F) and modifying contents
This is occurs very often. I stopped using vscode because this issue is really irritating

VSCode Version:1.22.1
OS Version: 1709 build 16299.309

Steps to Reproduce:

Search whole project (Ctrl+Shift+F)
Make bunch of changes while navigating search results

Does this issue occur when all extensions are disabled?: Yes

Does it happen randomly to different files, or just particular files?

it happens randomly to different files and also for multiple projects. I had to use different editor just to save the file by copying and pasting

@Yogeeshvh are you running as a different user than the files where created with, e.g. as admin?

@bpasero No, I was running as same user all the time(not Admin)

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/

I tried reproducing with insider builds but I couldn't, also stable build is working fine right now. I don't know what was the issue

OK closing until more steps can be provided.


Spring one

@asaikali , you can see other demo projects are using com.vmware as root of name space. Why do you need to change package name to com.example.  The whole project is under MIT. There is no license problem.


Improve data sent to synchronous validation

Looks like your passing values and props to the API validate callback: validate(values, props) .. It might be a good idea to include this so that would give access to global component variables and state.  Validation should be no more limiting than creating a component with manual validation.

Better yet, can you just bind the validation function to this?  That would be awesome, you don't need that awkward 3rd paramter.  If you did this already it just needs to be in the docs, that would not be obvious.

Interesting.... No, validate is not being bound to anything at the moment.

Now I have to validate against something in the state.  This time, no work around except to run my own form code..

Adding the component's this doesn't feel like a good idea to me, however I fail to see a better way to access the component's state 😕

More than two years have gone by without a comment here, so I'm closing!


How can i upload more file in one request?

i could not find the api document about how to upload more file in one request.
so it means i have to repeat post request to seaweedfs filer but it is terrible that i have to sovle the multi-thread situation which cause by the network congestion or I have to write the shell to upload files to the seaweedfs filer?

no such API.
reuse the http connection.

I am not sure if it is necessary to add it on in next version.
it's not friendly to while i have to upload files because i have to write shell or handle the network exceptioin.

There are "weed upload" and "weed filer.copy" if you just want to upload.


[Bug]

Describe the Bug

To Reproduce

Expected Behavior

Screenshots

Discord Version

Additional Context

Yeah, definitely can reproduce it, weird bug
You should fix this guys


Preprocess Error in Multilingual Translation

Not able to use pre-processing part of the multilingual translation example for de-en,fr-en,de-de,fr-fr as --lang-pairs
ERROR:

Namespace(alignfile=None, cpu=False, criterion='cross_entropy', dataset_impl='cached', destdir='Method_3/xx.xx.bpe16k/../data-bin/xx.xx.bpe16k', fp16=True, fp16_init_scale=128, fp16_scale_tolerance=0.0, fp16_scale_window=None, joined_dictionary=False, log_format=None, log_interval=1000, lr_scheduler='fixed', memory_efficient_fp16=False, min_loss_scale=0.0001, no_progress_bar=False, nwordssrc=-1, nwordstgt=-1, only_source=False, optimizer='nag', padding_factor=8, seed=1, source_lang='de', srcdict='Method_3/xx.xx.bpe16k/../data-bin/xx.xx.bpe16k/dict.de.txt', target_lang='de', task='translation', tbmf_wrapper=False, tensorboard_logdir='', testpref=None, tgtdict=None, threshold_loss_scale=None, thresholdsrc=0, thresholdtgt=0, trainpref='Method_3/xx.xx.bpe16k/train.bpe.de-de', user_dir=None, validpref='Method_3/xx.xx.bpe16k/valid.bpe.de-de', workers=10)
Traceback (most recent call last):
File "/usr/local/bin/fairseq-preprocess", line 11, in
load_entry_point('fairseq', 'console_scripts', 'fairseq-preprocess')()
File "/content/fairseq/fairseq_cli/preprocess.py", line 265, in cli_main
main(args)
File "/content/fairseq/fairseq_cli/preprocess.py", line 62, in main
raise FileExistsError(dict_path(args.target_lang))
FileExistsError: Method_3/xx.xx.bpe16k/../data-bin/xx.xx.bpe16k/dict.de.txt

This further leads to an error while training.

Traceback (most recent call last):
File "/usr/local/bin/fairseq-train", line 11, in
load_entry_point('fairseq', 'console_scripts', 'fairseq-train')()
File "/content/fairseq/fairseq_cli/train.py", line 302, in cli_main
main(args)
File "/content/fairseq/fairseq_cli/train.py", line 46, in main
task.load_dataset(valid_sub_split, combine=True, epoch=0)
File "/content/fairseq/fairseq/tasks/multilingual_translation.py", line 223, in load_dataset
for lang_pair in self.args.lang_pairs
File "/content/fairseq/fairseq/tasks/multilingual_translation.py", line 223, in
for lang_pair in self.args.lang_pairs
File "/content/fairseq/fairseq/tasks/multilingual_translation.py", line 211, in language_pair_dataset
max_target_positions=self.args.max_target_positions,
File "/content/fairseq/fairseq/tasks/translation.py", line 47, in load_langpair_dataset
raise FileNotFoundError('Dataset not found: {} ({})'.format(split, data_path))
FileNotFoundError: Dataset not found: valid (Method_3/data-bin/xx.xx.bpe16k/)

The reason is that there is already de dictionary file in the target dictionary, and our pre-processing script doesn't have the assumption that there would be multiple parallel data with the same language in the destination folder.
One quick workaround is to set the destination directory of each language pair to a new folder, and manually copy the .idx/.bin file and the dictionary files into the same data-bin folder.

The reason is that there is already de dictionary file in the target dictionary, and our pre-processing script doesn't have the assumption that there would be multiple parallel data with the same language in the destination folder.
One quick workaround is to set the destination directory of each language pair to a new folder, and manually copy the .idx/.bin file and the dictionary files into the same data-bin folder.

There will still be 2 de dictionary files, which one of them should I use?

We don't support the same language in source and target language use different dictionaries, so please use the same dictionary for both source and target in your 'de-de' pair. To do that, you can add --joined-dictionary in your preprocess command.
After that, the output dict will be exactly the same as the assigned one. So either one is fine.


Channel.Close returns something strange when server is gone

When server goes offline func (ch *Channel) Close() error returns something strange, that serializes to  %!s(<nil>) (I'm guessing that's pointer to nil).
I'm using RabbitMQ in docker container, and when I call docker-compose down the behavior described above occurs.
To catch this error I use the following code:
ch, err := c.conn.Channel()
if err != nil {
	// ..., this one is ok
}
defer func() {
	if derr := ch.Close(); derr != nil {
		c.log.Errorf("channel close error: %s", err) // here!
	}
}()

// spawn consumer
// publish message
// select from consumer channel
// ...

Channel.Close probably needs to do what Connection.Close already does: https://github.com/streadway/amqp/blob/master/connection.go#L309.

I guess so. Can't tell for sure now, I have very few knowledge on this package yet.

I tried to reproduce the problem, but not succeeded. In the given code derr is checked and err is logged !!


Smoother transitions for the selected cover

Hello!
I added some code to make the sliding animation smoother for the 5 different views, hope you'll like it!
I submitted this to RetroFlow too.

Very interesting I'll check this out!!!!

Feels kind of trippy with analog stick, especially in View 0 and 1. Made a version where it can be toggled on and off (for if I do further bugtesting on it to make it less trippy) which can be found here: https://pastebin.com/Yd4C4dWJ
Looks like you worked really hard on it though, and thank you for sending a pull request and your hard work... just I'm not sure HexFlow was meant for smooth scroll because of just how zoomed in the "centered" entry is especially in view 0/1.
It's really interesting to see it in HexFlow LUC though because this app has smooth scroll with the touchscreen (which was a huge pain to code lol) so you can really see it all move.
I do have a feeling "middle_zone = 1" could be better replaced with "middle_zone = space" because "space" is used to show how far apart exactly the items should be, but changing it to do that doesn't really have a big difference since space usually isn't significantly more than 1

I'm trying to make it less trippy on my RetroFlow pull request, when it's good I can open it here if you want!
Thanks for the "space" trick ! It's really better.

Analog scrolling code on this app is way more complicated because it supports Grid View (unreleased because it causes a tiny bit of lag) and SwitchView bottom menu access. I'll be sure to watch your progress on helping RetroFlow team because this seems like it could have a lot of potential!

Sorry it's taking so long, I got tangled in some other stuff. I guarantee it won't take as long to merge as the last pull request

I've added it for a few views (Zoom-In View, Left-Side View) but I feel I can fine tune it a little more before adding it to all the views, for example, to make the transitions around x 0.5/x -0.5 more smooth (like how it is how I've editted it for Zoom-In View and Left-Side View). Sorry if this is a little underwhelming considering how much work you've put into it, I have merged the pull request though so you can get the GitHub achievement


Creating Scheduled Toast Notifications

If the first toast notification that you attempt to create, is created using a Scheduled Toast, it doesn't work. It will only work after you have created a toast notification that displays immediately, CreateToastNotifier().show().
Either this is a bug, or it should be mentioned in the documentation because I wasted quite a bit of time trying to figure out why my app wouldn't launch a scheduled toast on other machines but it would on mine. That was because while building the app, I had created notifications that displayed immediately and therefor my app had been properly registered.
For example, this will not work when creating a scheduled toast notification on Windows 10.
public void ShowNotification()
        {
            string xml = $@"<toast scenario='reminder'>
                      <visual>
                        <binding template='ToastGeneric'>
                          <text>hello</text>
                        </binding>
                      </visual>
                    </toast>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);
            try
            {
                var toast = new ScheduledToastNotification(doc, DateTime.Now.AddSeconds(5));
                DesktopNotificationManagerCompat.CreateToastNotifier().AddToSchedule(toast);
            }
            catch(Exception ex)
            {
                MessageBox.Show("Toast Error..." + ex.Message);
            }

        }

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

ID: c8d21520-412a-6dde-9991-8e52e2791913
Version Independent ID: 92953a04-13e4-0b65-5331-8adb0fa85d2a
Content: Schedule a toast notification - UWP applications
Content Source: windows-apps-src/design/shell/tiles-and-notifications/scheduled-toast.md
Product: uwp
Technology: design
GitHub Login: @hickeys
Microsoft Alias: hickeys

Hello. We apologize for the delay in resolving this issue. As we transition to a new feedback system, we are closing all outstanding issues. Any issues that can be addressed will be tracked using a different internal tool, and we regret that we won't be able to provide further updates on this particular matter. We value your input and assure you that all feedback is reviewed. We recommend visiting the Microsoft Q&A site, where your issue may have already been discussed.


Hotplug volume is not working with customization Kubelet directory.

Hi, I'm trying to add hot-plug volume to VMI with customization Kubelet directory.
However, it was stuck in phase 'AttachedToNode' and with no target. (target: "")
I think  "hotplug-disk" go pkg is not working with custom Kubelet directory.
There is only hotplugdisk.NewHotplugDiskManager() in virt-handler that has default podBaseDir.

[pkg/virt-handler/hotplug-disk/hotplug_volume]
But in hotplug-disk package, there is NewHotplugDiskWithOptions() that could be setting with custom podBaseDir.

[pkg/hotplug-disk/hotplug-disk]
I've attached some capture describing my case.

[virt-handler logs]

[vmi volume status]

[vmi uid]

[hot-plug pod uid]

[virt-launcher pod uid]

[kubevirt kubelet-pods-dir options]

[virt-handler kubelet-pods-dir mounts]
What happened:
A clear and concise description of what the bug is.
What you expected to happen:
A clear and concise description of what you expected to happen.
How to reproduce it (as minimally and precisely as possible):
Steps to reproduce the behavior.
Additional context:
Add any other context about the problem here.
Environment:

KubeVirt version (use virtctl version): v0.52.0
Kubernetes version (use kubectl version): v1.23.5
VM or VMI specifications: N/A
Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release): N/A
Kernel (e.g. uname -a): N/A
Install tools: N/A
Others: N/A

Well I guess maybe we should change this 'kubeletPodDirs' const..


fix: allow correct data on settings general

#4295  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @wraeth-eth and the rest of your teammates on  Graphite


Added a default function to skip button and getListRef() function

I'm added a default function to skip button that scroll the flatlist to the end.
I'm also added a function that permits to manipulate the list directly.

I think these are good ideas. Could you include a documentation update to the getListRef-function?


Determine if there is a problem with disjointness axioms in gist 9.1.0

See discussion in PR #192.
@uscholdm Creating issue in response to your concerns.

Compared (via Protege) a merged 9.0.0 gist to a merged 9.1.0 gist, found that only differences were spelling corrections in annotations and definitions, plus some removed invalid properties. All class definitions, including disjointness, were identical.


Add a fancy banner to README

Thanks to Dima Kastner (@dimkr) for the idea
and http://www.figlet.org/ for the tool!

Just a README :+1:


Record container names on package install

We need to get a list of container names from a package for both up/down support and info support. It should also be easy to get the status of each container and start/stop it.

Fixed in #81


Switch over to azure-sdk-for-js

https://github.com/Azure/azure-sdk-for-js/blob/master/documentation/Migration.md

Hopefully this will get rid of the need for this workaround: https://github.com/microsoft/vscode-azuretools/pull/601


Bump sops/helm versions in Dockerfile

Looks like this has a few commits from other PRs?

@yuvipanda woops yepp! Fixed now!
Btw, the other PRs I have opened are not read for review because I'm very confused about what goes on with AWS and ECR authentication.


ImmageGalery shows blank page

After adding images and hitting "save" the plugin preferences shows a blank page. the caption "ImageGallery Lite" appears only.
Even there is no gallery visible on the former selected content site.

Hi freerider123,
after uploading images it is not necessary to press the save button, they are immediately available but a blank page should still not appear.
If you open the settings again, does a blank page also appear? If not, are the pictures visible and is the selected page saved under "Settings"?

reopening settings doesn't change anything.
the selected page was saved, before opening the first image.
only way to revert, is by deleting the image directory below bl-content/
in the upload area the images appear directly after selection of the files (the first time). but in the area below nothing appears (compared to the screenshot of the plugin, it should!?).
probably the problem is connected with the parameters  of php and the web server? - i'm testing on a local machine.

This sounds like a local web server configuration problem. Maybe there are some read/write access problem or the session can't read/write correctly? Can you test it on a (non local) webserver or webspace?
Do see anything in the php  or web server log files?
If you don't have access to the log files, you could temporarily display the errors in the frontend. For this you have to change the lines 9 to 21 in the file bl-kernel/boot/init.php as follows:
// Debug mode
// Change to FALSE, for prevent warning or errors on browser
define('DEBUG_MODE', TRUE);
define('DEBUG_TYPE', 'INFO'); // INFO, TRACE
//error_reporting(0); // Turn off all error reporting
if (DEBUG_MODE) {
	// Turn on all error reporting
	ini_set("display_errors", 1);
	ini_set('display_startup_errors',0);
	ini_set("html_errors", 1);
	ini_set('log_errors', 1);
	error_reporting(E_ALL | E_STRICT | E_NOTICE);
}

Important: Save the previous settings. This should never be activated in a productive environment.
After that, maybe you see error messages in the upload requests (Web Developer Tools in you browser --> network requests --> answer)

i changed my php installation to create logs - no php error in the log files.
i tested it on a webspace with a clean bludit installation. the blank page disappeared in the admin section but only the caption of the gallery is visible on the selected content page - no image.
i changed the php version to 8.0, 7,2 and 5.6.
in 5.6. everything got a white page after copying the gallery plugin to the bludit directory ( /plugin of course).
in 8.0 and 7.2 bludit works with the plugin but as mentioned above no images are displayed.
the developer tools in the webbrowser mentioned a failed get request of the thumbnail image. so i looked there abd yes the image exist but not the thumbnail, files in the large directory also not.
so why are the images not converted?

The plugin requires php 7.2 and above. So this test seems to be correct.
For resizing the images there is no special magic. It uses the built-in functionality of Bludit and this uses the php GD libary.
Two more question:

Can you upload images in an post using the default Bludit image upload?
What is the file size of the images you are trying to upload? If the images are to big, it could be, that the allowed php memory is to small. You can try to upload images with a smaller file size. In some case a 5 MB images are to big in other cases you can upload 20 MB images. It really depends on the web server configuration.

indeed the file size is the problem. i tried different files - 350kb is still to big. very small files are working.
perhaps you should mention this plugin/php limit in the readme.
thanks for your fast replies.

..but the memory limit is set to "16M" at the moment..there must be another limit.
do you have any ideas?
btw. it's the same with the bludit image upload.

indeed the file size is the problem. i tried different files - 350kb is still to big. very small files are working.

This is really an extremely small file size. In most environments I have seen it works quite well up to about 5 MB images but it really depends on the server configuration and available server resources.

..but the memory limit is set to "16M" at the moment..there must be another limit.
with a limit of 128M everything is working fine, at least with 2,5 MB images ;-)

The memory limit only describes how much working memory a PHP script may use. This is not to be compared one-to-one with the possible file size of images. There are more factors in the php and server configuration. Unfortunately, I am not the right person to answer questions about the optimal PHP and server configuration. :-) Sorry!

perhaps you should mention this plugin/php limit in the readme.

That's a good idea!


Improve image filters API

Given:
{{ $img := $original.Resize "400x300 q55" }}
{{ $img = $img | images.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}

There are currently some problems with the above:

The image gets encoded twice
There is no way to control the encoding (e.g. quality) for the second operation.
If you want the end result encode to different formats, you need to repeat the image processing for each target format (e.g. JPEG and WEBP)

I suggest that we

add a target options argument to images.Filter which can be a string (e.g. webp) or a map (which also allows setting quality settings)
Export the resize functions (Resize, Fill, Fit) as filters.

This way you can do:
{{ $img = $img | images.Filter (images.Resize 400 300)  (images.GaussianBlur 6) (images.Pixelate 8) (images.EncodeTo "webp")  }}

I'm tempted to also use the same images.Filter to return a slice if multiple images.EncodeTo arguments is passed, e.g.:
{{ $imgages := $img | images.Filter (images.Resize 400 300)  (images.GaussianBlur 6) (images.Pixelate 8) (images.EncodeTo "webp")  (images.EncodeTo "jpeg")  }}

But it's probably best to just add a new function, e.g.:
{{ $imgages := $img | images.FilterAll (images.Resize 400 300)  (images.GaussianBlur 6) (images.Pixelate 8) (images.EncodeTo "webp")  (images.EncodeTo "jpeg")  }}

Feedback welcome, @jmooring @moorereason @onedrawingperday and gang.

The image gets encoded twice

Yes. 've been using the image filters to colorise some thumbnails and I noticed the resized yet not colorised thumbnails under the resourceDir.

But it's probably best to just add a new function, e.g.:
{{ $imgages := $img | images.FilterAll (images.Resize 400 300)  (images.GaussianBlur 6) (images.Pixelate 8) (images.EncodeTo "webp")  (images.EncodeTo "jpeg")  }}

I agree that it is  better to add the new function images.FilterAll instead of adding arguments to the existing one.

Can Rotate be exported as well?
Can Rotate be exported as well?
I assume the operations are performed in the sequence I provide. So if I wanted to (for whatever reason) I could encode, then rotate, then resize?
x
This behaves kind of like pipes, but not quite. Just wondering if users would expect something like this instead?
{{ $img = $img | images.Resize 400 300 | images.Rotate 270 | images.EncodeTo "webp" }}

Can Rotate be exported as well?

Yes it can.

I assume the operations are performed in the sequence I provide.

Yes.

{{ $img = $img | images.Resize 400 300 | images.Rotate 270 | images.EncodeTo "webp" }}

Yes, that would be nice, and I will think long and hard about it. That said, the nice thing about thinking about the filters as lists is that you can reuse them, e.g.:
{{ $commonFilters := slice  (images.GaussianBlur 6) (images.Pixelate 8) }}
{{ $image := $img.Filter (images.Rotate 90) $commonFilters }}

Regarding the proposed images.EncodeTo please consider adding a setting for image quality.
For example
images.EncodeTo "q70 webp"
cc:

May I add some more infos as I was the creator of this topic IMAGES / WEBP just convert solely
I like this issue as it adresses the core problem, as the Image processing API peobably should be improved.
I think combining these all things into one function "image.process" would be clever. Then all (resize, filter, convert, quality, edit) functuions can be combined into one function which applies what needs to be done. Also the name resize is a little confusing because it does way more then resizing which can me misunderstood.
{{ $img := $original.Process "400x300 q55" }}
basically is:
{{ $img := $original.Resize "400x300" }}
&&
{{ $img := $original.Compress "400x300 q55" }} OR {{ $img := $original.Optimize "400x300 q55" }}
I think people (like myself) want more flexibility like:

just resizing
just changing quality
just converting
just applying filters

I for myself can think of using this image.processor in this way:
{{ $img := $original.Process "680x800 q100 webp" }}
OR
{{ $img := $original.Process "q100 webp" }}
The processor can automatically detect what should be done:

if dimensions/numbers are given like 680x or 680x800 = RESIZE
if quality or filesize is given like q100 or 70kb = COMPRESSION / OPTIMIZATION
if a known minetype is given like webp, jpeg, avif, png = CONVERT
filters etc etc etc

For the mentioned filters:
I like them they in my vision can be realised like this:
I want the same picture resized in quality 70 and in these three formats: webp, png, avif and some filter should be applied
{{ $imgTemp := $original.ImageTemplate "400x300 q70  GaussianBlur6 Pixelate8" }}
{{ $img := $imgTemp.Process "webp" }}
{{ $img := $imgTemp.Process "png" }}
{{ $img := $imgTemp.Process "avif" }}
The function ImageTemplate shall keep the resized and decoded original-Image in Cache and just encodes it on the final $imgTemp.Process call. Just then the filters and settings apply. The good thing about this: you also just have to decode the image once.
You also should be able to overwrite other settings from the ImageTemplate like:
{{ $imgTemp := $original.ImageTemplate "400x300 q70  GaussianBlur6 Pixelate8" }}
{{ $img := $imgTemp.Process "webp q100" }}
{{ $img := $imgTemp.Process "png  GaussianBlur0" }}
{{ $img := $imgTemp.Process "1200x avif Pixelate2" }}
Goal is it to have all needed informations at the end, when the .Process function is called and all functions intelligently applied that are needed, but also be able just to convert or just to apply a single function is needed.


allow ci to collect logs on failure

on failure, it will be nice to collect some debug logs that can help in debugging further. e.g. I am trying to debug this failure
I saw that we collect some info in workloads.sh, but that won't be collected if the script fails before that.

yeah, it helped me debug the issue in my other PR:
https://github.com/spinkube/containerd-shim-spin/actions/runs/8523555191


Fix verifyWithDelay interval precision

Currently OCMockObject checks if expectations fulfilled with increasing interval steps. This causes OCMock to wait more than given verification delay because current code does not check if next step interval is greater than remaining interval.
PR contains the fix and a test case for it. You can verify the problem via reverting the change and running the test case.

Hmm, accuracy check in the test case works on my local machine, but fails in travis. It seems like runUntilDate does not return at precise date, but I'm not sure. Suggestions on how to change the test case?


selectCountry not working

Hi
thaks for your code
$("#country").countrySelect("selectCountry", "US");
not working
give me error
type error : b is null

Did it give you a line number or anything to go with that? Were you using the regular version of the JS file, or the minified one?

hi sir
i am using min js but i changed it for line number
line number : 386
and i thank you again for your component , it is awesome thing
simple and useful

Can you try it and see if the problem still happens with the non-minified version of the JS?
Also, any additional information you could provide would be helpful. What country was selected at the time you made the call? Did you make the call directly from your own code, or was it triggered by a particular event?

yes i tested
i am using jquery in .net mvc but i tested by $("#txtCountry").countrySelect("selectCountry", "US"); too and i got error again
this is my code
var country = $(this).data("iso2");
var txtcountry = $("#txtCountry").countrySelect("selectCountry", country);
however i fixed my problem with this for now
var country = $(this).data("country");
var index = country.indexOf("(");
if (index >= 0)
country = country.substring(0, index);
var txtcountry = $("#txtCountry").countrySelect("setCountry", country);
however iso2 is better for communication between jquery and database because country name can be diff with your selector and my db

Can you try it with a lower-case country code? The country codes are all lower case in the data set. That might well fix your issue. If it does, I will make sure we handle both upper and lower case codes, but I want to confirm that we understand what caused the problem before I make any changes to the code.

thanks
it worked with lowercase
i didn't to attention to it
thank you very much

Alright, at least we know what the problem was. I will update the code to be able to handle mixed case country codes. I'll expect to get that updated tomorrow.

Version 1.0.9 now corrects this issue, and allows both upper and lower case country codes to be used when calling selectCountry().


bluefin fails to build per discord reporting

https://discord.com/channels/946071061567529010/1146201677209292891/1217698501560107019
"I'm a newbie in golang but my guess is that there's a type mismatch between line 94 in tx.go and 148-151"

This was an issue with the build environment and was resolved


Google changed the address to messages.google.com/web.

Hi,
It look like google changed the address and now it's causing an issue.

Sorry I just noticed #146 and #147. Please close the issue.

You should be able to close your own issue below the comment box.


Allow Challenger::tick to take async callback.

There are cases where we may want to do some async work in the Challenger::tick callback. Since Challenger::tick itself is async, it's trivial to make the callback async as well.
This allows users to do non-blocking work inside the callback.

Hi, any thoughts on this?


feat: add html validator

A working implementation of HTML 5 Validator. It scans the built files (pre-rendered) and generates a raw report
The report will be uploaded to the development S3 bucket inside /report/html. We will keep all the reports in a hierarchy inside /report.

[AUTOMATED] Latest version has been pushed to preview.
Preview deployed at https://preview-fbcd692.dev.nextjs-boilerplate.jam3.cloud.jam3.net

[AUTOMATED] Latest version has been pushed to preview.
Preview deployed at https://preview-7eaba50.dev.nextjs-boilerplate.jam3.cloud.jam3.net

Closing this since the PR has been open for more than 1 year
Let's re-open if this gains traction at some point
Thx


Feature: Add Xml library

Add xml library following the approved design.
fix #2970
Only minor change was inverting the parmaeters for @ns(namespace, prefix instead of @namespace(prefix, namespace) which makes it clearer with the other overload @ns(namespace: EnumMember)

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@typespec/xml

You can try these changes at https://cadlplayground.z22.web.core.windows.net/prs/3035/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/prs/3035/

@timotheeguerin do we have any plans for CDATA support or would that be intrinsic to the encoding and decoding to decide whether one belongs?  For example, Notification Hubs stores various things in CDATA sections such as template bodies and other information.  Or is that a follow on item to this?

@timotheeguerin do we have any plans for CDATA support or would that be intrinsic to the encoding and decoding to decide whether one belongs? For example, Notification Hubs stores various things in CDATA sections such as template bodies and other information. Or is that a follow on item to this?

Yeah this was left as a follow up, or as a serializer job. Current goal was to get parity with openapi for now. If you have some particular idea in mind on how specifying some data info would cover some use cases I would file a new issue with the example.


Add waiting if rpc fetch is unsuccessfull #2209

Description
This fix adds waiting timeout if rpc fetch is unsuccessfull. This prevents worker from failing when scheduler is under load or there are some connectivity issues between worker and scheduler.
Motivation and Context
I often get workers failing with RPCError("Received null response from remote scheduler %r" % self._url) at random points - see #2209.

Have you tested this? If so, how?

I built custom version of Luigi 2.6.2 with provided changes and used it when creating Docker image containing Worker code. Workers are working without issues. In the log there are error messages stating that attempt was unsuccessfull, but I never saw more than 1 unsuccessfull attempt.

Can this be tested somehow?

I'll try to figure out why tests are failed for some configurations and get back.