host-metering is not respecting proxy

Hello,
I have reported the issue to Red Hat under case - https://access.redhat.com/support/cases/#/case/03846507
I thought I would report in the repo too in case anyone else has noticed.
We are looking to deploy host-metering for RHEL 7 ELS.
We have found despite having the proxy defined in env vars the host-metering service does not appear to respect them:
[root@host ~]# echo $HTTP_PROXY; echo $HTTPS_PROXY
http://proxy.example.com:3128
http://proxy.example.com:3128

We we getting the following response:
Jun 19 14:57:42  host.example.com host-metering[29041]: Notification [10 sample(s)]: recoverable notify error: Post "https://cert.console.redhat.com/api/rhel-telemetry/v1/receive": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

However if I update the /usr/lib/systemd/system/host-metering.service file as follows and add in the proxy to the service environment definition:
[Unit]
Description=Host metering service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
Environment=LC_ALL=C.UTF-8
Environment="HTTP_PROXY=http://proxy.example.com:3128"
Environment="HTTPS_PROXY=http://proxy.example.com:3128"
ExecStart=/usr/bin/host-metering daemon
ExecReload=/usr/bin/kill -HUP $MAINPID

Restart=always

[Install]
WantedBy=multi-user.target

Once added and reloaded/restarted with systemctl daemon-reload and then systemctl restart host-metering the service will start to report correctly:
Jun 19 15:31:36 host.example.com host-metering[28076]: Collecting metrics...

Jun 19 15:31:36 host.example.com host-metering[28076]: Sending 1 sample(s)...
Jun 19 15:31:36 host.example.com host-metering[28076]: WriteRequest: timeseries:<labels:<name:"__name__" value:"system_cpu_logical_count" > labels:<name:"_id" value:"REDACTED" > labels:<name:"billing_marketplace" value:"a...name:"billing_marke
Jun 19 15:31:37 host.example.com host-metering[28076]: Notification successful - sent 1 sample(s)
Jun 19 15:31:37 host.example.com host-metering[28076]: Server fully started

My main concern about this approach is if the rpm is updated the service file may be updated and the service should be using the proxy already defined.

Thanks very much for raising this issue here too. We'll investigate and see what may be causing the problem!

Hi @bmccafferty ,
a systemd service should not be able to see the HTTP_PROXY env that is active within your user environment by default.
In that sense, the error you are encountering is expected behavior.
The prometheus client, which is using the HTTP_PROXY env, simply doesn't see it.
If you would run the service in daemon mode from its binary it would pick up on the env without any issue.
Adding the HTTP/S_PROXY variables to the service file would be one way to do it.
To avoid running into issues on package update, I would recommend to copy the lines you've added to the [Service] section into their own overwrite file.
To do so, just create a .conf file within /etc/systemd/system/host-metering.service.d/ (folder needs to be created first) and add your modifications. This way you won't lose any of your custom changes on update.
Does this sufficiently solve the issue?
@ConorC117 I would recommend to add a line about this into the docs section on environment variables.

Hey @bmccafferty thanks for reporting your issue,
a systemd service should not be able to see the HTTP_PROXY env that is active within your user environment by default.
In that sense, the error you are encountering is expected behavior.
The prometheus client, which is using the HTTP_PROXY env, simply doesn't see it.
If you would run the service in daemon mode from its binary it would pick up on the env without any issue.
Adding the HTTP/S_PROXY variables to the service file would be one way to do it.
To avoid running into issues on package update, I would recommend to copy the lines you've added to the [Service] section into their own overwrite file.
To do so, just create a .conf file within /etc/systemd/system/host-metering.service.d/ (folder needs to be created first) and add your modifications. This way you won't lose any of your custom changes on update.
Does this sufficiently solve the issue?
@ConorC117 I would recommend to add a line about this into the docs section on environment variables.

Perfect
Thanks. The man page implied having these set would have worked but adding the drop in service file works perfectly and is now life at my company. Thanks for your help. It would be good to see a KBase and a man update for this however this solves my issue. Thanks


Benchmark scattering mask data vs transmitting pickled mask factories

Pickled mask factories can be very slow, depending on their complexity #232.
We should compare scattering mask data with sending factories for typical examples as soon as we have the cluster running and a performance benchmarking suite #198.

I would like to contribute to this issue.

I would like to contribute to this issue.

Sure! I guess a first step would be to understand the ApplyMasksUDF, understand the different types of masks, and understand the difference between sending the mask data with the task vs. sending a factory function. A good practical application to look at is the radial fourier analysis - this possibly generates large stacks of masks, which can be configured to be sparse or dense.
From that, you can think about a good benchmark setup and see how the two options compare.


Vagrantfile breaking in 1.6.4 but fine in 1.6.3

I upgraded to Vagrant 1.6.4 yesterday and a functioning Vagrantfile from 1.6.3 now breaks.
Here is the console output raised when I run vagrant up --provider=aws. The errors at top about access keys and vm.box are new (those are present), as is the error at bottom about the communicator:
~/projects/terra(vagrant-setup) $ vagrant up --provider=aws
Bringing machine 'default' up with 'aws' provider...
==> default: HandleBoxUrl middleware is deprecated. Use HandleBox instead.
==> default: This is a bug with the provider. Please contact the creator
==> default: of the provider you use to fix this.
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* A box must be specified.

AWS Provider:
* An access key ID must be specified via "access_key_id"
* A secret access key is required via "secret_access_key"
* vagrant_aws.config.ami_required

~/projects/terra(vagrant-setup) $ vagrant up --provider=aws
Bringing machine 'default' up with 'aws' provider...
==> default: HandleBoxUrl middleware is deprecated. Use HandleBox instead.
==> default: This is a bug with the provider. Please contact the creator
==> default: of the provider you use to fix this.
==> default: Warning! The AWS provider doesn't support any of the Vagrant
==> default: high-level network configurations (`config.vm.network`). They
==> default: will be silently ignored.
==> default: Launching an instance with the following settings...
==> default:  -- Type: t2.small
==> default:  -- AMI: ami-e13f79d1
==> default:  -- Region: us-west-2
==> default:  -- Keypair: REDACTED
==> default:  -- Security Groups: ["REDACTED"]
==> default:  -- Block Device Mapping: []
==> default:  -- Terminate On Shutdown: false
==> default:  -- Monitoring: false
==> default:  -- EBS optimized: false
==> default:  -- Assigning a public IP address in a VPC: false
==> default: Waiting for instance to become "ready"...
==> default: Waiting for SSH to become available...
==> default: Machine is booted and ready for use!
==> default: Terminating the instance...
/Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/plugins/communicators/ssh/communicator.rb:573:in `shell_execute': undefined local variable or method `stdout' for #<VagrantPlugins::CommunicatorSSH::Communicator:0x000001039d11e8> (NameError)
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/plugins/communicators/ssh/communicator.rb:188:in `block in execute'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/plugins/communicators/ssh/communicator.rb:280:in `connect'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/plugins/communicators/ssh/communicator.rb:182:in `execute'
	from /Users/andrew/.vagrant.d/gems/gems/vagrant-aws-0.5.0/lib/vagrant-aws/action/sync_folders.rb:32:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/builtin/provision.rb:80:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/builder.rb:116:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/runner.rb:66:in `block in run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/util/busy.rb:19:in `busy'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/runner.rb:66:in `run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/builtin/call.rb:53:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/andrew/.vagrant.d/gems/gems/vagrant-aws-0.5.0/lib/vagrant-aws/action/connect_aws.rb:42:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/builtin/handle_box_url.rb:9:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/builder.rb:116:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/runner.rb:66:in `block in run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/util/busy.rb:19:in `busy'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/action/runner.rb:66:in `run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/machine.rb:196:in `action_raw'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/machine.rb:173:in `block in action'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/environment.rb:474:in `lock'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/machine.rb:161:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/machine.rb:161:in `action'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.4/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
~/projects/terra(vagrant-setup) $

And here is the formerly functioning Vagrantfile (slightly redacted):
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'yaml'

settings = YAML.load_file 'vagrant.yml'

Vagrant.configure("2") do |config|
  config.vm.box = "dummy"
  config.ssh.pty = true # so vagrant can run sudo commands over SSH (something like that, not sure)

  config.vm.provider :aws do |aws, override|
    aws.access_key_id = settings['aws']['access_key_id']
    aws.secret_access_key = settings['aws']['secret_access_key']

    aws.region = "us-west-2"
    aws.ami = "ami-e13f79d1" # private AMI with project stack already installed
    aws.security_groups = ['REDACTED']
    aws.instance_type = "t2.small"

    aws.tags = {
      'Name' => 'rhel2',
    }

    override.ssh.username = "ec2-user" # ec2-user since this is RHEL, not ubuntu

    aws.keypair_name = "REDACTED"
    override.ssh.private_key_path = settings['aws']['private_key_path']
  end
end

Same issue with aws and openstack providers:
$ vagrant up --provider=openstack --provider=aws
There are errors in the configuration of this machine. Please fix
the following errors and try again:
AWS Provider:

vagrant_aws.config.ami_required

I just ran into this issue today as well with Vagrant 1.7.2 and vagrant-aws (0.6.0) in a multi-vm setup with one VirtualBox and one AWS VM

Still running into this all the time; constantly having to downgrade to 1.6.3. We continuously deliver boxes and this is forcing anyone trying to use them to downgrade.

I am running into this right now. I can't seem to use 1.7.4 on ubuntu 14.04 because it won't evaluate the aws provider at all, but earlier versions (which do see the aws provider) won't evaluate the environment variables in a multi-machine config.

Multi Machine fails to use the aws_profile and insists on explicit keys:
Vagrant 1.8.1
AWS Provider:
* An access key ID must be specified via "access_key_id"
* A secret access key is required via "secret_access_key"


Error debugging Plotly code in Spyder 5.4.1

F10 debugging throws NoneType Errors in latest Spyder 5.4.1:
Python 3.10.9 64-bit | Qt 5.15.2 | PyQt5 5.15.7 | Windows 10 | Anaconda
Spyder Run works fine.
Cut n Paste this code into Spyder Console works fine.
Debug with F10 get the nonetype error below.
Please suggest workaround or fix.
import pandas as pd
import plotly.express as px
import plotly.io as pio
pio.renderers.default='svg'  # this line required for plots to show in Spyder Plots panel

df = pd.DataFrame([
    dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28'),
    dict(Task="Job B", Start='2009-03-05', Finish='2009-04-15'),
    dict(Task="Job C", Start='2009-02-20', Finish='2009-05-30')
])

fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task")
fig.update_yaxes(autorange="reversed") # otherwise tasks are listed from the bottom up
fig.show()

And the error text:
Traceback (most recent call last):
File ~.conda\envs\python3_10\lib\site-packages\spyder_kernels\customize\spyderpdb.py:889 in run
super(SpyderPdb, self).run(cmd, globals, locals)
File ~.conda\envs\python3_10\lib\bdb.py:597 in run
exec(cmd, globals, locals)
File e:\onedrive\onedrive - siemens healthineers_projects\atlas (atellica refresh)\scheduling\untitled0.py:30
fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task")
File ~.conda\envs\python3_10\lib\site-packages\plotly\express_chart_types.py:423 in timeline
return make_figure(
File ~.conda\envs\python3_10\lib\site-packages\plotly\express_core.py:1988 in make_figure
apply_default_cascade(args)
File ~.conda\envs\python3_10\lib\site-packages\plotly\express_core.py:931 in apply_default_cascade
x[1] for x in args["template"].layout.colorscale.sequential
AttributeError: 'NoneType' object has no attribute 'layout'

Hey @Medwar19, thanks for reporting. At which exact point during the debugging the error occurs?

Set a breakpoint on px.timeline and the line below, then Cnt+F5, Cnt+F10, Cnt+F12 for the NoneType error.
updating to Spyder 5.41 created the error in existing code.
downgrading to Spyder 5.2.2 (that came with current Anaconda release) works fine.

Thanks @Medwar19 for the additional instructions. I can confirm the bug with our latest version.
Could you update to Spyder 5.3.3 and try again? That would help us to narrow down the version that introduced this bug.

Updated to Spyder 5.3.3 - Works fine.

Great! Thanks for the confirmation.

@impact27, could you take a look at this problem? I can confirm @Medwar19's findings: if you put a breakpoint in
fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task")

and then click Run current line or run !next, Spyder throws the error above in Spyder 5.4+ but works fine in 5.3.3 or less.

I can reproduce in ipython so this is not a spyder specific bug. basically args is locals() if a frame because plotly uses locals() ipython uses frame.f_locals which resets the locals.
Maybe we should stop using the iPython debugger and base our debugger on Pdb?

Maybe we should stop using the iPython debugger and base our debugger on Pdb?
The IPython debugger is a bit too liberal with the use of frame.f_locals

Well, I'd prefer to share our debugger work with the IPython team because it'd benefit both Spyder and IPython users. In addition, this seems a regression in IPython because it was working fine with IPython 7 (used by Spyder 5.3.3).
But if you think it'd be better for us to have our own subclass of Pdb, so that we can avoid this kind of regressions in the future and better control the evolution of on our debugger, then please go ahead and do it.

The problem here is that solving this issue would require a complete rewrite of pdb. The current approach of the ipython debugger is:
For every executed line, pdb calls stop_here:
https://github.com/ipython/ipython/blob/3339fad91de3e3da1f02b0b209afef20f021ca33/IPython/core/debugger.py#L840
The IPython debugger calls self._is_in_decorator_internal_and_should_skip which does that:
cframe = frame
while getattr(cframe, "f_back", None):
    cframe = cframe.f_back
    if self._get_frame_locals(cframe).get(DEBUGGERSKIP):
        return True

This is a loop on every single frame of the stack. It check for the existence of __debuggerskip__ in the locals.
There are two issues with this approach:
1 - It calls frame.f_locals on every single frame (except for the current frame) which will reset any dict the user got with locals() and then modified, which causes the current issue.
2 - This is a lot of computation to do on every single frame! This causes https://github.com/spyder-ide/spyder/issues/20571
I am not sure what the solution here is. Solving the first issue would require dropping a lot of feature the IPython team has been working on during the last year. The second issue could be mitigated by optimising the code I think.

I opened https://github.com/ipython/ipython/issues/13972

Ok, thanks for the thorough analysis @impact27! The situation looks not really promising for us to keep using the IPython debugger.
Let's wait for a week or so to see what we hear from them. If they don't reply back, I think we should switch to use our own subclass of Pdb, as you suggested.

I got prompted to install 5.4.3
Any update on this issue included in the new release?
Thanks

Hi, i was searching through the issue and just filed a new bug report here. This seems like it might be related.
https://github.com/spyder-ide/spyder/issues/20949

ok yes i have 5.4.3 and i see a similar error,so no fix for this yet.

A couple of additional comments on this problem:

It's an issue with IPython 8, so a workaround for now is to downgrade to IPython 7.34.
@impact27, I think we can solve it on our side by making debuggerskip = False in the self._predicates dict of IPython's Pdb class. That way _is_in_decorator_internal_and_should_skip won't try to access locals on every frame.


Python Modify Setup is opened when starting VS Code

Issue Type: Bug
When starting VSCode, Python extention loading starts. Shortly afterwards, Python Modify/Repair/Unintall pops up. This is uncalled for. Please disable it.
VS Code version: Code 1.43.2 (0ba0ca52957102ca3527cf479571617f0de6ed50, 2020-03-24T07:38:38.248Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz (4 x 2400)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
3.91GB (0.46GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

python
ms-
2020.3.71659

python
tht
0.2.3

@kabelbaum, thanks for letting us know about this.  What happens when you run the same Python executable manually?  You can see the exact path in your workspace settings.json, as well as in the Python output panel.

settings.json doesnt contain the Python Path, but empty brackets:

"[python]": {},

Running the Python executable opens the Python Conlose, but doesn't trigger the setup window.

@pypelyne, please provide the contents of your workspace settings.json.  Also, what is the Python executable you are using?

There's a lot of different settings.json Files. Which one do you mean? How do I acess it?
I'm using the Python executable of Python 3.7.7 in %Appdata%/Roaming/...

In your workspace root directory look for the .vscode directory.  In there you will find your workspace settings.json.  You can also access it by typing <ctrl>-, in VS Code, clikcing on "Workspace", and then clicking on the "Open Settings (JSON)" icon in the top-right corner.

Ctrl - revealed:
{
    "terminal.integrated.rendererType": "dom",
    "editor.insertSpaces": false,
    "[python]": {" %Appdata%\\Local\\Programs\\Python\\Python37\\python.exe":},
    "launch": {
    }
}

In .vscode of the working directory, there is:
{ 	"python.pythonPath": " %Appdata%\\Local\\Programs\\Python\\Python37\\python.exe" }

@pypelyne, what happens when you run  " %Appdata%\\Local\\Programs\\Python\\Python37\\python.exe" manually?  Also, please provide the content of your "Python" output panel.  Thanks!

Running Python.exe manually opens the default Python Console. Do you need a screenshot?
Python Output Panel content is attached
output_panel.txt

@pypelyne, thanks for that info.  I don't see anything out of the ordinary in those logs.  In your original message you said "Python Modify/Repair/Unintall pops up".  Was that a notification box in the bottom right corner of VS Code?  Is so, it should indicate the source of the message.  If it came from the Python extension then it will say so.  Please indicate what is said.
Also, in your original message it says you have 2 "python" extensions installed.  This may be a source of problems.  Do you have the problem if you disable the other extension ("python | tht | 0.2.3")?

DIsabling the other extention didn't make any difference.
The notification box is the same that pops up when you try to uninstall python. It does not appear inside visual studio, but it is a sperate window.

Hi, I have the same problem, with a blank VS Code. Do you know where it comes from?

Solved it!!!

The issue is solved.


Controller thread storage

I'm using drogon as a RESTful API for big ML model. I have controller class that loads the model and serves request that works great. For that I'm using .setThreadNum(1).
Now I got multi-gpu server and wanted to utilize it to server several requests simultaneously but have problem with that.
The main problem is with model and data loading. I need several separate instances of model loaded but from what I've read drogon only creates one instance of given controller. I don't want to use any mutexes as this will spoil all points of multithreading.
I was also trying to make the model global in source file and use local_thread but I'm keep getting segmentation fault with that.
Do you maybe have some design patterns for that?

@PawelFaron I think the IOThreadStorage<> template is what you need to use. With it, you could create separate model instances for every IO thread and get the right one if you want.

That is exactly what I was looking for. Thanks @an-tao


Error: Current working directory is not a Cordova-based project. While adding platform

Error: Current working directory is not a Cordova-based project. While adding platform

@simerjit-fwrk Run mkdir www inside your project root

@simerjit-fwrk let me know if this resolved your issue :)

when i create platform then this message occure
No platforms added to this project. Please use cordova platform add <platform>.

'ionic-app-scripts' is not recognized as an internal or external command,
operable program or batch file.
this error occur when I run this command "ionic build android --prod"

@Muzaffar08 npm install @ionic/app-scripts@latest --save-dev


Wrong Altair version for static package

First of all, Thanks for this great job.
Describe the bug
After upgrading graphql-spring-boot version from 7.0.0 to 7.1.0 I noticed in altair-spring-boot-autoconfigure maven dependencies that altair was not updated. The version remains in 2.1.7 version instead of 2.4.6.
Expected behavior
Have the 2.4.6 altair static package for graphql-spring-boot 7.1.0 version.

Hello @Larkhis,
thank you for the update. But the index.html seems to be not right.
It should look like this:
`<!doctype html>

Altair

<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="styles.css">

Hello @coderDem
Yes you was right.
Branche updated and tested.


[WIP] icinga2: init at 2.7.0

Motivation for this change
working on adding icinga client and server to nixos.
Things done

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

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

It builds successfully now, and the service runs, but running icinga2 node wizard it tries writing to ${pkgs.icinga2}/etc. This can be set using CMAKE_INSTALL_SYSCONFDIR but the install scripts do more than just create directories for that path. If anyone has any suggestions on what can be done to make this work, I'm all ears.

Latest changes create a new variable for config directory separate from the one used that mkdir is ran using. It's a hack, but service runs, icinga2 node wizard works, and icinga2 service continued to run after restart. Next steps here are to enable database backend and create a web2 package that can be launched with a php-fpm service.


Fix #101 - support for mailto links

Hi!
Added support for mailto links from #101. Three weak points though:

only basic mailto support. With extended support, i ran into url escaping issues. At that point, it would be best to add separate route for that, with its own query params to not mix with conversation query params. And that would be quite big addition in app (With extended support, i mean /inbox?mailtoUrl=mailto:name1@rapidtables.com%3Fcc%3Dname2<EMAIL_ADDRESS>mailtoUrl is scattered in multiple places, since it has to be retained through login. Also, it would be best if the name is some constant.
No tests added and no tests ran, because your stack is heavily dependant on unix based systems, and i have windows. As for yet, i have no quick solution for running tests on my pc.

Hope it helps!
Arcanis

Any news about this PR after few months? Are you interested or should i close it?

Any news about this PR after few months? Are you interested or should i close it?

Hey 👋  sorry for the delay :/
We've talked about it and that's a good idea but it would be better if we were able to only load the composer instead of the whole app. ex: Something similar to an encrypted email sent to a non protonmail account.
As it's done today it would be difficult to do, we need to load the whole app :/ We added this feature inside the pipe, it should come later.

Ok, no problem, only tried to fix issue #101

We added this feature inside the pipe, it should come later.
Are you still working on this?

Yes, but it's not high priority.
We need to make changes inside the webapp before, because having to load the full webclient is a bit too much.

I don't know about the technical details, but would it be possible to simply save the mailto link locally one the users machine, and parse it to the webapp once the user is logged in?
I think ProtonMail is great for everyone who cares about FOSS, but a lot of FOSS development is done with mail and the mailto protocol helps to easily reply to messages. For example take the Debian BTS: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923851
You can reply with one click to messages thanks to the mailto links. On firefox it is pretty simple to write extensions which add mailto support for websites. I already created one for ProtonMail: https://github.com/stephanlachnit/mailto_protonmail (which obviously doesn't work yet)


isnanf not available in Mac OSX

libvol2bird uses isnanf to check for NAN values on floats. I substituted this with the general isnan() function on OSX, but need to check whether this works also on Linux

replaced isnanf by isnan throughout the code


WIP: refactor schedule page to be an NgModule

I started doing the refactoring work. I already did most of the schedule page. We might be able to extract some more components but I think this already is a nice improvement. I wasn't able to leverage ChangeDetectionStrategy.OnPush because the data isn't immutable. Might be a nice addition in the future.
Please provide feedback of any kind. Namings (variables, functions, components, ...), code, ...
P.S. I don't like how Ionic handles styling. You don't have to specify the stylesheet in your component. It looks like it just takes all the SCSS files and compiles them into one big main file without view encapsulation. Might be possible though, have to look into it.

they indeed just take all scss and bundle it ..
you have to bound it based on selector of the component .. sigh

you have to bound it based on selector of the component .. sigh

Which is weird. It's not how Angular 2 works imo. I'm going to check this and maybe create an issue in the Ionic repository. It should be possible though. Ionic is nothing special, I don't see a reason why it wouldn't be technically possible.

Fixed.

Code looks nice and clean. Great work @SamVerschueren 👍


Need migration guide for upgrading beta.11 to beta.12

Bug, feature request, or proposal:
Please provide breaking changes log when migrating from beta.11 to beta.12
What is the expected behavior?
NO renaming of existing classes/components
What is the current behavior?
Everything is broken because of prefix change md* -> mat*
What are the steps to reproduce?
Create app with version beta.11 or lower - then upgrade to beta.12

Read the release notes and use the prefix upgrader

Please check the changelog. A heads up has been given that the md- prefix would be deprecated.
In beta.11 release notes:

In earlier betas, we've had a compatibility mode that allowed people to use either "md" or "mat" as the selector for Angular Material components. This was created so that these components could live side-by-side with AngularJS Material without CSS from the two libraries colliding.
For beta.11, we've made the decision to deprecate the "md" prefix completely and use "mat" moving forward. This affects all class names, properties, inputs, outputs, and selectors (CSS classes were changed back in February). The "md" prefixes will be removed in the next beta release.
You can automatically update your projects with the angular-material-prefix-updater tool. Check out the tool's page for instructions on how to run.

Thanks for pointing


Bot endpoint restriction for bot to work in Microsoft Teams

Type of issue
Missing information
Feedback
Hi Team,
If the bot source code is published to Azure app service, we can see following setting in App service -> Settings-> Configuration -> Minimum Inbound TLS Version
If we set Minimum Inbound TLS Version as 1.3, then respective bot endpoint is not working with teams. We see following error: The request was aborted: Could not create SSL/TLS secure channel
SMBA code currently only supports TLS1.0, 1.1 and 1.2, not TLS 1.3
So, please add note to indicate the same.
Page URL
https://learn.microsoft.com/en-us/microsoftteams/platform/bots/bot-concepts?tabs=csharp%2Cdotnet
Content source URL
https://github.com/MicrosoftDocs/msteams-docs/blob/main/msteams-platform/bots/bot-concepts.md
Author
@surbhigupta
Document Id
31f8aeb9-c444-606c-5130-0b941caa1222

Hello @surbhigupta12  ,
Could you please help us to update the document?


Fix pre-commit-hook settings and add a flake check for them

closes https://github.com/tweag/topiary/issues/405
This PR:

fixes the bug described in #405
adds a flake check to avoid future similar breakages.

As an evidence that this works, I will push twice, once without the fix and once with it. The CI should complain about the first commit, and be happy with the second.

My nix-fu was also too weak for this. The deepSeq + hello trick comes from @thufschmitt. Maybe the line
pre-commit-hook = builtins.deepSeq self.lib.${system}.pre-commit-hook pkgs.hello;

deserves some more comments? I'd happily add that.

WDYT of 210eb17?

Looks good to me ; you can merge at your convenience


Move widget inspector into it's own window

This takes the widget tools from the DevToolsPanel and puts it into it's own window. It also provides the edit capabilities of the WidgetEditPanel.
This also adds mappings for most of the listeners that scripts can put on widgets. All of the names are taken from the (dis)assembler's Opcode.java.

I have rebased this without listeners, because I don't need them right now and they are easy to add in the future if needed.


Could someone post a screenshot of traits.Modes device on google home android?

I cannnot make it work, And I want to see what it looks like on the Google home app page. Is it a dropdown or something?
Thanks

There's no touch controls for the Modes trait.


Added swift package manager support

@hirokimu Hi there, I have added the support for swift package manager. Could you please review the PR, when you get chance. Thanks


docs(OSX): 403 Error on localhost:5000

Problem Statement
Running make test after following instructions from README.md can result in the following errors:
make test
...
docker tag flowmium-debug localhost:5000/flowmium-debug:latest
docker push localhost:5000/flowmium-debug:latest
The push refers to repository [localhost:5000/flowmium-debug]
Get "http://localhost:5000/v2/": dial tcp [::1]:5000: connect: connection refused
make: *** [test] Error 1

Recommended Solution
Change the default port of 5000 or disable Airplay Receiver. Follow instructions references in resources for more details.
Resources

localhost:5000 unavailable in macOS v12 (Monterey)

I have changes the port to 5180, you can now run tests on macOS 👍


Support Symfony V6

Symfony's v6 LTS was released in November 2023 and we would like to upgrade our Symfony 5 projects to Symfony 6.
The deployer dependency currently blocks the update, because it requires some symfony packages in v5. Dependencies from composer.json:
"symfony/console": "^5.4.9",
"symfony/process": "^5",
"symfony/yaml": "^5"

If the symfony packages would be supported in v6 it would enable projects to move to symfony v6 and still using the deployer package.

It will not be blocked as Deployer dependencies are bundled: https://packagist.org/packages/deployer/deployer

Thanks, my bad. Was working with an older version of Deployer and it was a conflict there. Fixed in the newer versions.


Deployment Key Support

A rather important issue for organisations I work with, is that there's no deployment key support.
Deployment Keys are SSH keys added to a repository to give a server read-only access to the repository. This is to prevent someone from git push'ing on one of the servers, and it also protects us in case we were hacked so that the hacker couldn't push out malicious changes to our repositories.
I think this feature is pretty important and would like to see it in Gogs soon.

:+1: a must have

Very much needed! ++++++

+1

+1

:+1:

+1

+1

+1

+1

+1

+1

Hi all, this feature has been implemented in develop branch code, you can also test on https://try.gogs.io ! :beer:

wow! cool, thanks!


Fix test failure on J9: do not mock jre class

[No JIRA Issue]

Fix test failure on J9: do not mock jre class

It has been a Very long time since I have used my commit powers here.  This J9 test failure seemed like a nice way to try and get back into it a little.  I didn't test this with J9 but converting the mock on the jre class seemed like an easy way to fix this.  This now uses a real instance of the Map.  I will try and merge this in a day if there are no objections.

Thank you @madrob for the review.  I cleaned a few things up, then pushed the commits via cherry-pick to "main" and "branch_9x".

You left main branch failing precommit
Execution failed for task ':solr:core:spotlessJavaCheck'.
> The following files had format violations:
      src/test/org/apache/solr/core/BlobRepositoryMockingTest.java

@jdyer1 I strongly recommend against pushing commits to main from your machine.  If it were up to me, it'd be made to be impossible to help avoid mistakes.  Nowadays we use GitHub which runs some code quality/style checks that would have been in a failing state.  They would show on this PR screen here but are now absent because the state transitioned to closed.  Once you resolved those things, they would show in green and then you could merge via a Squash-Merge button.  It'd also ask for a commit message, which you should then edit.  Only the branch_9x backport would you do from your machine, but then only after waiting for a passing build on main.

I fixed the formatting, but the test changes in this commit still fails errorprone tests
$ gradle solr:core:check -x test -Pvalidation.errorprone=true
> Task :solr:core:compileTestJava
/Users/janhoy/git/solr/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java:117: warning: [DirectInvocationOnMock] Methods should not be directly invoked on the mock `mapMock`. Should this be part of a verify(..) call?
    assertTrue(mapMock.get("foo!") instanceof BlobRepository.BlobContent);
                          ^
    (see https://errorprone.info/bugpattern/DirectInvocationOnMock)
/Users/janhoy/git/solr/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java:150: warning: [DirectInvocationOnMock] Methods should not be directly invoked on the mock `mapMock`. Should this be part of a verify(..) call?
    mapMock.put("foo!", new BlobRepository.BlobContent<BlobRepository>("foo!", blobData));
[...]

Perhaps you can revert and then fix in a new PR?

pushed fix into main and branch_9x


Possible enhancements to French?

Have you considered adding for French text processing?

Yes, I'd like to support French (among other languages). I'm currently working on adding a multilingual sentence boundary detector, which should be ready relatively soon.
I'd say, eventually, everything but the summarize package (which is pretty English-specific) should be multilingual to some degree.

Unfortunately, I don't think this will be happening anytime soon.


permissions: Add curation moderators to RDM record policy

depends on: public release of invenio-curations
Allow RDM record curators to preview records, if a draft exists.
As all permissions are set in the policy, only the can_preview has to be set. Other permissions use the can_view or can_read which in turn use can_preview, so curator access trickles down.

this should be hold back until invenio-curations has landed in our configuration


Skunkworks Project: atlas quickstart command

Proposed changes
mongocli atlas quickstart allows the user to quickly deploy a cluster and connect into it.
This command will have the following functionalities:

no required flags: the user has optional flags to personalise the cluster

adds client's public IP to access list

creates an atlas dbuser

deploys a cluster: if no optional flags are used, the command deploys a cluster on AWS with the following properties:

ClusterType:` ReplicaSet
MongoDBMajorVersion: 4.2
DiskSizeGB: 10GB
Name: GetStarted
Tier: M10
Members: 3
Region: US_EAST_1

Waits for the cluster to be deployed

Prints the following message once it has finished:

Now you can connect to your Atlas cluster with:
mongo -u quickstartUser -p Password1! mongodb+srv://getstarted.ajlj3.mongodb-dev.net

Checklist

[x] I have signed the MongoDB CLA
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added any necessary documentation (if appropriate)
[x] I have run make fmt and formatted my code

Further comments

Any chance we can check whether mongosh is installed and if it is, suggest to use that to connect?

@andreaangiolillo any update on this? it would be really nice to finish this and get it ready for review

Hope to have some time in the next 2 weeks or during my help rota week to complete this and the cluster delete command.

I know that this is counter to Gustavo's suggestion - but I really liked the idea of this taking no required flags. The use case I was imagining was something like a sticker or card we could hand out at .Live which says
brew install mongocli ; mongocli atlas quickstart
and that that would result in a running database. I think it's a really compelling use-case.
The only hard blocker is API keys - I'd prefer to take whoami as the username, generate a password and select an IP allowlist by figuring out what Atlas sees from my current network.
==
Second thought is about the educational value of this quickstart command.
It'd be really cool if as it took each action, it printed the command that you "would have had to run" to do the same -- something like
$ mongocli atlas quickstart

Running: mongocli atlas cluster create ...
Running: mongocli atlas cluster whitelist ...
...


"ls" takes a very long time when using NFS on JuiceFS

What happened:
Test ls performace on NFS. It takes about 10 minutes for 20000 files.
What you expected to happen:
Less than 1 second for 20000 files.
How to reproduce it (as minimally and precisely as possible):
JuiceFS and NFS server
juicefs format \
    --storage s3 \
    --bucket http://serverIp/bucketName \
    --access-key ak \
    --secret-key sk \
    "mysql://user:password@(<IP_ADDRESS>:3306)/jfs" \
    myjfs

juicefs mount -d "mysql://user:password@(<IP_ADDRESS>:3306)/jfs" /mnt/jfs

yum -y install nfs-utils rpcbind

vi /etc/exports
/mnt/jfs *(rw,insecure,async,no_subtree_check,no_root_squash,fsid=0)

service rpcbind start
service nfs start

NFS client
mount -t nfs -o nfsvers=3 -o sync serverIp:/mnt/jfs /mnt/nfs

Add 20000 4KB files into /mnt/nfs
seq 20000|xargs -i dd if=/dev/zero of=/mnt/nfs/testfile_{}.cache bs=4k count=1

Test ls performance and it takes about 10 minutes.
time ls /mnt/nfs
real 10m36.130s
user 0m0.105s
sys  0m0.378s

Anything else we need to know?
I use juicefs stats /mnt/jfs and notice that cpu usage becomes really high for a long time.
BTW, I test only use JuiceFS or NFS, both performance are good.
# 20000 4KB files
time ls /mnt/jfs
real 0m0.335s
user 0m0.054s
sys  0m0.031s

Environment:

JuiceFS version (use juicefs --version) or Hadoop Java SDK version: juicefs version 1.0.0+2022-08-08.cf0c269
OS (e.g cat /etc/os-release): CentOS 7
Kernel (e.g. uname -a): 5.4.210-1.el7.elrepo.x86_64
Object storage (cloud provider and region, or self maintained): self maintained
Metadata engine info (version, cloud provider managed or self maintained): self maintained, MySQL 5.7.33

Thanks for your help!

When you call ls directly on JuiceFS, the entries are retrieved only once. But when you do that on NFS client, things become complicated. The NFS client will issue a lot of readdir rpc calls sequentially, each of which has limited buffer for about 100 entries. For every rpc request, JuiceFS (NFSD) runs an opendir -> readdir -> readir -> ... -> closedir procedure, retrieving all entries even though it returns only a small subset. The entry cache is dropped after directory closed, so JuiceFS has to run the procedure again for the next request. As a result, JuiceFS is readding all the entries over and over again, consuming a lot of CPU as you observed.
One possible fix is to keep entry cache for a while even after directory is closed, but we won't do that for now as it may cause other issues.
Some access logs are as followings:
2022.08.24 11:23:42.201737 [uid:0,gid:0,pid:26290] opendir (2): OK [fh:2242] <0.000003>
2022.08.24 11:23:42.207992 [uid:0,gid:0,pid:0] releasedir (2): OK <0.000001>
2022.08.24 11:23:42.626464 [uid:0,gid:0,pid:26290] readdir (2,4096,612): OK (19390) <0.424694>
2022.08.24 11:23:42.626579 [uid:0,gid:0,pid:26290] readdir (2,4096,635): OK (19367) <0.000002>
2022.08.24 11:23:42.626641 [uid:0,gid:0,pid:26290] readdir (2,4096,658): OK (19344) <0.000001>
2022.08.24 11:23:42.626704 [uid:0,gid:0,pid:26290] readdir (2,4096,681): OK (19321) <0.000000>
2022.08.24 11:23:42.626756 [uid:0,gid:0,pid:26290] readdir (2,4096,704): OK (19298) <0.000000>
2022.08.24 11:23:42.626806 [uid:0,gid:0,pid:26290] readdir (2,4096,727): OK (19275) <0.000001>
2022.08.24 11:23:42.626856 [uid:0,gid:0,pid:26290] readdir (2,4096,750): OK (19252) <0.000000>
2022.08.24 11:23:42.626910 [uid:0,gid:0,pid:26290] readdir (2,4096,773): OK (19229) <0.000000>
2022.08.24 11:23:42.626958 [uid:0,gid:0,pid:26290] readdir (2,4096,796): OK (19206) <0.000000>
2022.08.24 11:23:42.627203 [uid:0,gid:0,pid:26290] getattr (2): OK (2,[drwxr-xr-x:0040755,2,0,0,1661332257,1661333040,1661333040,4096]) <0.0001
2022.08.24 11:23:42.627548 [uid:0,gid:0,pid:26290] opendir (2): OK [fh:2243] <0.000002>
2022.08.24 11:23:42.635990 [uid:0,gid:0,pid:0] releasedir (2): OK <0.000001>
2022.08.24 11:23:43.051167 [uid:0,gid:0,pid:26290] readdir (2,4096,714): OK (19288) <0.423584>
2022.08.24 11:23:43.051295 [uid:0,gid:0,pid:26290] readdir (2,4096,737): OK (19265) <0.000002>
2022.08.24 11:23:43.051372 [uid:0,gid:0,pid:26290] readdir (2,4096,760): OK (19242) <0.000001>
2022.08.24 11:23:43.051427 [uid:0,gid:0,pid:26290] readdir (2,4096,783): OK (19219) <0.000001>
2022.08.24 11:23:43.051482 [uid:0,gid:0,pid:26290] readdir (2,4096,806): OK (19196) <0.000001>
2022.08.24 11:23:43.051533 [uid:0,gid:0,pid:26290] readdir (2,4096,829): OK (19173) <0.000000>
2022.08.24 11:23:43.051582 [uid:0,gid:0,pid:26290] readdir (2,4096,852): OK (19150) <0.000000>
2022.08.24 11:23:43.051634 [uid:0,gid:0,pid:26290] readdir (2,4096,875): OK (19127) <0.000000>
2022.08.24 11:23:43.051684 [uid:0,gid:0,pid:26290] readdir (2,4096,898): OK (19104) <0.000000>

When you call ls directly on JuiceFS, the entries are retrieved only once. But when you do that on NFS client, things become complicated. The NFS client will issue a lot of readdir rpc calls sequentially, each of which has limited buffer for about 100 entries. For every rpc request, JuiceFS (NFSD) runs an opendir -> readdir -> readir -> ... -> closedir procedure, retrieving all entries even though it returns only a small subset. The entry cache is dropped after directory closed, so JuiceFS has to run the procedure again for the next request. As a result, JuiceFS is readding all the entries over and over again, consuming a lot of CPU as you observed. One possible fix is to keep entry cache for a while even after directory is closed, but we won't do that for now as it may cause other issues.
Some access logs are as followings:
2022.08.24 11:23:42.201737 [uid:0,gid:0,pid:26290] opendir (2): OK [fh:2242] <0.000003>
2022.08.24 11:23:42.207992 [uid:0,gid:0,pid:0] releasedir (2): OK <0.000001>
2022.08.24 11:23:42.626464 [uid:0,gid:0,pid:26290] readdir (2,4096,612): OK (19390) <0.424694>
2022.08.24 11:23:42.626579 [uid:0,gid:0,pid:26290] readdir (2,4096,635): OK (19367) <0.000002>
2022.08.24 11:23:42.626641 [uid:0,gid:0,pid:26290] readdir (2,4096,658): OK (19344) <0.000001>
2022.08.24 11:23:42.626704 [uid:0,gid:0,pid:26290] readdir (2,4096,681): OK (19321) <0.000000>
2022.08.24 11:23:42.626756 [uid:0,gid:0,pid:26290] readdir (2,4096,704): OK (19298) <0.000000>
2022.08.24 11:23:42.626806 [uid:0,gid:0,pid:26290] readdir (2,4096,727): OK (19275) <0.000001>
2022.08.24 11:23:42.626856 [uid:0,gid:0,pid:26290] readdir (2,4096,750): OK (19252) <0.000000>
2022.08.24 11:23:42.626910 [uid:0,gid:0,pid:26290] readdir (2,4096,773): OK (19229) <0.000000>
2022.08.24 11:23:42.626958 [uid:0,gid:0,pid:26290] readdir (2,4096,796): OK (19206) <0.000000>
2022.08.24 11:23:42.627203 [uid:0,gid:0,pid:26290] getattr (2): OK (2,[drwxr-xr-x:0040755,2,0,0,1661332257,1661333040,1661333040,4096]) <0.0001
2022.08.24 11:23:42.627548 [uid:0,gid:0,pid:26290] opendir (2): OK [fh:2243] <0.000002>
2022.08.24 11:23:42.635990 [uid:0,gid:0,pid:0] releasedir (2): OK <0.000001>
2022.08.24 11:23:43.051167 [uid:0,gid:0,pid:26290] readdir (2,4096,714): OK (19288) <0.423584>
2022.08.24 11:23:43.051295 [uid:0,gid:0,pid:26290] readdir (2,4096,737): OK (19265) <0.000002>
2022.08.24 11:23:43.051372 [uid:0,gid:0,pid:26290] readdir (2,4096,760): OK (19242) <0.000001>
2022.08.24 11:23:43.051427 [uid:0,gid:0,pid:26290] readdir (2,4096,783): OK (19219) <0.000001>
2022.08.24 11:23:43.051482 [uid:0,gid:0,pid:26290] readdir (2,4096,806): OK (19196) <0.000001>
2022.08.24 11:23:43.051533 [uid:0,gid:0,pid:26290] readdir (2,4096,829): OK (19173) <0.000000>
2022.08.24 11:23:43.051582 [uid:0,gid:0,pid:26290] readdir (2,4096,852): OK (19150) <0.000000>
2022.08.24 11:23:43.051634 [uid:0,gid:0,pid:26290] readdir (2,4096,875): OK (19127) <0.000000>
2022.08.24 11:23:43.051684 [uid:0,gid:0,pid:26290] readdir (2,4096,898): OK (19104) <0.000000>

Thank you, I understand. It seems too hard to fix it. Maybe the best solution is not using NFS on JuiceFS :joy:


Add "lossless" smart number formatter

We often want to shorten the display of very large numbers by using units such as millions (or sometimes billions/thousands). At the same time, it can be problematic to show "rounded" or otherwise inexact values in certain circumstances.
Proposing a "lossless" number formatter that would evaluate an input and output a (potentially) shortened form based on the scale of the number but avoid losing any actual precision.  E.g.
12,000,000 -> 12m
12,320,000 -> 12.32m
12,320,500 -> 12,320,500 or 12.3205m
12,320,418 -> 12,320,418

For the second-to-last one, we could consider a max/min precision (or "decimal places") config that could provide some control over that choice.
Needless to say, smaller numbers should also work:
8 -> 8 (or 8.00 depending on how we handled zero pad)
1.234252 -> 1.234252

Finally, should think about how we could best handle thousands as a unit and how to decide when we would go to thousands if enabled.
19,000 -> 19k
19,410 -> 19.41k

Note this would very likely be a good (and complete) replacement for our quantity formatter - indeed, that's the use-case that is driving this ticket.

@amcclain Would you take a look at the PR for this? I'm not sure precisely what behavior you're looking for.

I like the idea of a fmtNumberCompact function that exposes controls over the desired shorthand units, the desired precision, and whether or not any rounding should be allowed.
I am finding it surprisingly difficult to hold that in my head, however.
Here is what I am thinking if we do not allow rounding - i.e. if we stick to this ticket's core idea of creating a "lossless" formatter:

Take a new allowedUnits parameter - can be a string with any combination of the letters kmb for thousands/millions/billions.

I think using a simple string will be more convenient than an array. If the letter is included in the string, that unit is enabled.
Would default to mb to enable millions and billions only. (Displaying numbers in thousands is a requirement we've had, but is generally a bit weird IMO.)

Keying off of the existing precision parameter, formatter should choose the largest allowed unit it can use to render the number within the given precision (i.e using up to "{precision} decimal places") without any rounding (i.e. while still exactly representing the number).

Precision could default to 2 here.

It will always fallback to rendering the number in whole units (i.e. no shorthand) if required to avoid rounding.

Where it starts to get more difficult is if we do want to allow for some rounding (i.e. another new param allowRounding). Maybe I am somehow over-complicating things or am stuck in my head about it. I keep going in circles somehow so TBH I am just going to throw this comment over the wall for review and then we can come back to it.  (I've spent too long this AM trying to work out a clearer spec and need to move on, but I also don't want to just abandon the thought above.)

* Keying off of the existing `precision` parameter, formatter should choose the largest allowed unit it can use to render the number within the given precision (i.e using up to "{precision} decimal places") without any rounding (i.e. while still exactly representing the number).

I have implemented this.

Closing as not immediately actionable.


React: Guess the number: Scope for code improvements and comments

Platform: React
Challenge: Guess the number
Path: https://github.com/sadanandpai/frontend-mini-challenges/tree/main/react/src/machine-coding/guess-number
Description:
The coding standards and quality of the code can be improved.

Variable names
Code quality (functions can be refactored)
Comments

Hi, @sadanandpai  can you assign this issue to me? I want to work on this issue.


Obexd not starting with --symlink breaks bluetooth file transfer

Hello,
I'm using startingpoint as a base for my own image, however this error might be applicable to ublue itself too; however I've only recreated it with my own image.
The problem is that obexd can't handle symlinks without additional arguments. In startingpoint, $HOME is set to /home/$USER which is then symlinked to /var/home/$USER. As described, and experienced by myself just now, in https://discussion.fedoraproject.org/t/cannot-receive-file-over-bluetooth/1813/5 this breaks obexd which then creates the termporary file for the transfer in $HOME/.cache/obexd/ but then throws an error (e.g. Oct 27 13:00:15 computername obexd[3022]: open(/home/marinmo/.cache/obexd/RTJCD2): Operation not permitted (1)).
Solution as described above is either to set $HOME to /var/home/$USER or create an override as such;
[Service]
ExecStart=
ExecStart=/usr/libexec/bluetooth/obexd --symlinks

(if on an existing installation, systemctl --user daemon-reload && systemctl --user restart obex is also needed)
Thanks for your consideration!

This template, startingpoint, does not change the $HOME variable. Based on your link this issue exists/has existed on non-ublue systems too. I am unable to verify the existence of this error, because I don't have bluetooth, but I am pretty sure it has nothing to do with startingpoint. A such, I'm moving this to ublue-os/main where I'm hoping I'll get someone else to take hold of this issue. If this is a commonly occurring issue that can be solved with a configuration change, I'm sure the main images would appreciate the fix too.


Update triage duty

@sheenaqotj

Need to re-run tests because of the pre-existing GRPC_CLOSURE_SCHED errors


fixed bug for previewing gif files

motivation
when -i is used with -p, the manim script ignores the gif file and opens .mp4 with the same name
this pr fixes the bug
test
video

oops, -i is redundant now ... see 61bb49


Error: merdiem is null when editing a page w/ a null timestamp

Start with a record that has a null timestamptz column, e.g.
https://synapse-staging.isrd.isi.edu/chaise/recordedit/#1/Zebrafish:Behavior/ID=BhvZfDsy20160616A1@sort(ID::desc::)
If I try to edit the null Room Date column, the AM button does not work when trying to enter a new date, and submission fails too.
If I click the Now button first to reinitialize the field, I can then edit the value and submit succeeds.
This is repeatable on Firefox and Chrome

@karlcz The change is live on synapse-dev now; could you review it when you have a chance? This record has a null timestamp column.
You can test it by attempting to enter a date and time, toggling the AM/PM button, and then submitting.
For a timestamp column that isn't required (nullok is true), if a user enters either a date or time (but not both), should the user see an error or warning? Right now the app just submits an incomplete timestamp as null, which might be confusing to users who didn't know/forgot to fully fill in a timestamp.

I would think that the form-validation logic would flag an incomplete
field as an error and give an error message, similar to how we would
flag any other errors such as missing required fields or invalid
numbers.

In addition to the need for validation and error signalling, I see one problem with this version.
Clicking into the date or time field changes it from gray (disabled) text to black (enabled) text even though the control is still acting like it is unset.  I.e. I got it to a state showing:
2017-12-31  12:00:00

but it silently treated that as incomplete/null because the 12:00:00 was not digits I typed but the result of entering and leaving the time field.

Timestamp input validation and gray vs. black text issues have been resolved in PR #934, closing this issue now.


PurgeCSS

What problem does this feature solve?
Saves time setting up purgecss on new project.
What does the proposed changes look like?
Should have an option to add purgecss

This feature request is available on Nuxt community (#c55)

The thing is that it dont play well with some frameworks. For example with vuetify

It got easier with https://github.com/Developmint/nuxt-purgecss
But it's hard to "integrate it by default" due to the reason @aldarund explained

How about having this additional option only if it works in the UI framework chosen?

Created #430 to start addressing this issue.


[Help wanted] How to use router.resetConfig() with localize-router?

I'm trying to dynamically choose which module is shown in root path (not a repro but what I'm trying to implement: https://plnkr.co/edit/Euj4kjDOMQxLJkS8U1P2 ) but I'm running into some issues with integrating localize-router.
I'm guessing the problem is because I'm resetting the config after localize-router has initialized and translated the routes.
localize-router 0.6.2, angular 2.4.0

LocalizeRouter works by hijacking and modifying app routes before the application loads.
Your approach unfortunately would not work with LocalizeRouter.
I would suggest to mark pointer to root route you want to change and change it without resetting the routes.
export function initializeRouteConfig(routes:Routes[], router:Router, loc:Location){
  router.config.forEach(route => {
    if (route.data && route.data.root) {
      route.loadChildren = 'app/b#ModuleB';
    }
  });
  return () => Promise.resolve()
}

@NgModule({
  imports: [
    BrowserModule
    RouterModule.forRoot([
      { path: '', loadChildren: 'app/a#ModuleA', data: { root: true } }
    ]),
  ],
  declarations: [ App ],
  bootstrap: [ App ],
  providers: [{provide: APP_BOOTSTRAP_LISTENER, useFactory:initializeRouteConfig, deps:[ROUTES, Router, Location], multi: true}
 ]
})

You can find modified plunkr here.
Not sure how complex your actual scenario is, though.

Thanks, I got it working with LocalizeRouter with your example (with some changes in the forEach since the right configs are one level lower when using LocalizeRouter).
If I did have a more complex scenario, eg. dynamic routes coming form a headless CMS, how could that be solved?


add optional node/edge producers to sigma.neo4j.cypher. backcompatible.

Please merge... this small extension is back compatible, while provides possibility to customize created nodes and edges via custom transformers for neo4j data. I think anyone who uses this plugin would need possibility to customize colors, labels, sizes etc.
Thanks

@sim51, what do you think?

Sorry Guys, I have mixed some webpack changes into this branch since PR. Therefore I withdrawing. @sim51 does not reply, so I don't think you 're going to merge it anyways, but ready to reinstantiate original change ed1a930.

Sorry for lag guys, I missed this PR ...
To be honest, I don't see the difference between your producer and the callback function.
I usually use this code snippet :
sigma.neo4j.cypher(
  { url: 'http://localhost:7474', user: 'neo4j', password: 'secret' },
  'MATCH (n) OPTIONAL MATCH (n)-[r]->(m) RETURN n,r,m LIMIT 500',
  { container: 'graph-container' } ,
  function(s) {
    s.graph.nodes().forEach( function(node) {
        if(node.neo4j_labels == "Movie") {
            node.color = '#25f17f';
            node.label = node.neo4j_data['title'];
        }
        else {
            node.color = '#f70017';
            node.label = node.neo4j_data['name'];
        }
    });
    s.refresh();
    s.startForceAtlas2();
 }
);

Hi Sim, the difference is performance, e.g. in the callback it requires extra loop over nodes/edges, especially for large graphs. Thanks, Maxim


Integrate a Prettier GitHook using our .eslintrc

Feature
Why is this feature being added?
Integrating Prettier into a GitHook will force all code to be linted and stylistically identical. See discussion here.
What should your feature do?

Add Prettier w/ our .eslintrc as a Git Hook so everybody's work is linted and made uniform
Add prettier ignore file comment in src/scenes/home/home.js (I don't want Prettier diddling our routes)

Helpful Info
https://medium.com/@brindelle/format-your-javascript-with-prettier-before-committing-177079ec356a

@kylemh  I'm keen to work on this

All yours!

Assigned myself as a placeholder for @zacck

Linking this here for reference:
https://prettier.io/docs/en/usage.html#pre-commit-hook

@kylemh  you can assign me now, Will begin working on it tomorrow will push a Work In Progress branch

@zacck one of the limitations of GitHub is that we can only assign tasks to organization members. Me assigning myself to this issue was BASICALLY me assigning you to the issue :laughing:
Good luck!

Before implementing a GitHook, the code needs to be cleaned to ensure it passes the linter. At the moment, it fails when npm run lint is run.

@AryanJ-NYC  will be working on this soon thanks will check this out

@zacck I added the precommit hook in #625.


Using default ROS repos

Seems okay, but why twice?
The download_repos file is run from mirte_install.sh, just like install_ROS.sh.

At the moment I would like to have all script be able to run independently. This is why both scripts need the ROS repo installed. We might consider doing this in another way later.


Need ability to merge one existing tab into another as a split pane

Description of the new feature/enhancement
The ability to split a window in an existing tab is really cool, but I am finding more often than not I have a tab that I've already created and I want to merge it into another existing tab as a split pane.
For instance, I have one tab where I'm executing a long-running command that I want to keep an eye on, and I have another tab where I'm doing something interactive. I have no options to merge the two tabs together so I have a split between the two. I have to split an existing one and start over (and if the tab I want to merge isn't a default environment, too bad!).

After doing some more careful searching this looks like it may be a dupe of #4587.

It sure is! Thanks for finding that. /dup #4587


traffic shaping doesn't work with genie + calico

I want to achieve traffic control with strategies

traffic control applies only on connections established initiatively by the container
no traffic control between internal ips
outside users call rpc, which goes through load-balancer (internal-ip), are consider internal traffic, therefore applies no traffic control

A solution comes to my mind is, with the help of genie, I can create two interface for my pods, the one pod use to visit public network is managed by calico and will respect kubernetes.io/egress-bandwidth, the other one i will use for internal communication (flannel) which will ignore egress-bandwidth. (appreciate helps to improve my solution)
Sadly, I found out with genie installed,  kubernetes.io/egress-bandwidth doesn't work any more.
I tested using iperf3. With genie removed, it works again.

@ianhe8x  can multus support bandwidth


Viewing a user's 10 around me ranking as an administrator in the dashboard errors if the administrator has opted out of ranking

When viewing a user's profile from within the Project Administrator view of the dashboard, if the project administrator has opted out of ranking, selecting a user's 10 around me will result in an error.

cannot reproduce this


dyndns no longer an option

DynDNS is no longer a service listed in UDM PRO

It looks like they've rebranded to just "dyn", so I presume that's what Ubiquiti has renamed it to. Am going to get this setup this weekend so will confirm if that works. Agree that it'd be good for the install guide to get updated though!

Guess it depends what your goal is - I just got a email from Google domains that Squarespace won't support  DDNS when they migrate, and I already have other domains on Cloudflare, so don't want to introduce an extra failure point if possible!

It looks like they've rebranded to just "dyn", so I presume that's what Ubiquiti has renamed it to. Am going to get this setup this weekend so will confirm if that works. Agree that it'd be good for the install guide to get updated though!

Yes, I can confirm that "dyn" is what "dyndns" was renamed to. I just tested a new entry using dyn and it worked fine.

I have a protocol option on the EdgeRouter, and here I can pick between dyndns1 and dyndns2. Which one is the correct one?
There is also Web, here I picked dyndns.

closed via @bsdkurt's answer

Love that you answered my question @willswire :laughing:
The answer is, use dyndns2.


Common sidebar error component

Added the common sidebar error page. Will work on custom summarization and add the part below the submit ID after SA-135: Summarization of user-selected textTO DO.
The operations on clicking Submit ID will be implemented on completion of SA-129: Create layers in lambda for storing reusable codeIN PROGRESS

sorry, i just noticed one thing about the input component:

instead of padding-left in the &::placeholder, there should be padding: 8px; and box-sizing: border-box; in .sidebar-error-input-text

after that, i think we can merge this


🐛 [Bug]: ERROR:failed to render: render: template index does not exist

Bug Description

I can access Admin UI,but when I setted up,I cant access Cart UI
How to Reproduce
I build it with docker
error log
2023/11/22 10:31:54 | stdout | {"level":"error","latency":"332.804µs","status":500,"method":"GET","url":"/","error":"failed to render: render: template index does not exist","time":"2023-11-22T02:31:54Z","message":"Server error"}
Expected Behavior
Cant access Cart UI
litecart Version
v0.1.5
Code Snippet (optional)
No response
Checklist:

[X] I agree to follow litecart's Code of Conduct.
[X] I have checked for existing issues that describe my problem prior to opening this one.
[X] I understand that improperly formatted bug reports may be closed without explanation.

Have you updated or is this the first installation?

Have you updated or is this the first installation?

This is my first installation

Have you updated or is this the first installation?

I reinstall litecart(v0.1.6),the UI is work.but Spectrocoin pay method still not  work.
`

date | stream | content
-- | -- | --
2023/11/23 10:52:50 | stdout | {"level":"warn","latency":"987.676µs","status":400,"method":"POST","url":"/cart/payment","time":"2023-11-23T02:52:50Z","message":"Client error"}
2023/11/23 10:52:41 | stdout | {"level":"info","latency":"568.16µs","status":200,"method":"GET","url":"/api/_/settings/spectrocoin","time":"2023-11-23T02:52:41Z","message":"Success"}

`

Did you do everything according to the instructions?
All fields with settings are required to be filled out!

Yes,I have setted up it

May be only Stripe and Spectrocoin payment method all setted,the Payment system can work?

May be only Stripe and Spectrocoin payment method all setted,the Payment system can work?

This doesn't depend on it. You apparently have an internal error. I tried to deploy a new project, created a new merchant in Spectrocoin and everything worked for me. I'll think about how to catch your error.

May be only Stripe and Spectrocoin payment method all setted,the Payment system can work?

This doesn't depend on it. You apparently have an internal error. I tried to deploy a new project, created a new merchant in Spectrocoin and everything worked for me. I'll think about how to catch your error.

Is it possible that the reason behind my utilization of Docker to deploy LiteCart on Synology's DiskStation and accessing the website via Cloudflare Tunnel?

May be only Stripe and Spectrocoin payment method all setted,the Payment system can work?

This doesn't depend on it. You apparently have an internal error. I tried to deploy a new project, created a new merchant in Spectrocoin and everything worked for me. I'll think about how to catch your error.

I deploy litecart on linux(manjaro),and created a new merchant in Spectrocoin,the same error

{"level":"info","latency":"218.09µs","status":200,"method":"GET","url":"/api/cart/payment","time":"2023-11-29T21:43:37+08:00","message":"Success"}
{"level":"warn","latency":"1.521689ms","status":400,"method":"POST","url":"/cart/payment","time":"2023-11-29T21:43:38+08:00","message":"Client error"}
{"level":"info","latency":"346.462µs","status":200,"method":"GET","url":"/api/_/settings/spectrocoin","time":"2023-11-29T21:49:53+08:00","message":"Success"}
{"level":"warn","latency":"1.552585ms","status":400,"method":"POST","url":"/cart/payment","time":"2023-11-29T21:57:00+08:00","message":"Client error"}

Spectrocoin usually returns an error if it doesn't like the parameters, I'll try to add error output to the browser console. Maybe this will help.
I recently released a new version, maybe it will help.

Spectrocoin usually returns an error if it doesn't like the parameters, I'll try to add error output to the browser console. Maybe this will help. I recently released a new version, maybe it will help.

I set the test products price up to $2 instead of $1,its work!

Spectrocoin usually returns an error if it doesn't like the parameters, I'll try to add error output to the browser console. Maybe this will help. I recently released a new version, maybe it will help.

I set the test products price up to $2 instead of $1,its work!(v1.0.7)

Strange. I tried to add a product costing 1 dollar and pay with crypto - everything works for me.


Investigate if it makes sense to include the middleware to compress all responses

Check also if Nginx is already doing it or not.
Check if it can provoke issues.
Maybe it can be configured at the Nginx level instead?

https://schneems.com/2017/11/08/80-smaller-rails-footprint-with-rack-deflate/

The actors involved in each stack could vary, so a only Nginx level solution is not ideal.
We are going to add support at middleware level to compress always and notify the users to be aware of this behaviour (so they can move it to app servers, or remember to disable the compression there).
As a note, a request compresses twice won't work in browsers.


[kernel] implementation of checkCompatibleNSLaw  in OSNSP

The function checkCompatibleNSLaw has not been added to AVI, Relay, MLCP and others. Is it on worth doing it for all (and once and for all)?

@xhub  Thanks for your review. I completed to PR in my last commit following your recommendation

Do not hesitate to check that I didn't forget some compatible nonsmooth laws.

I think that GeneralMechanical is missing, but this may be done in the other PR?
There is not "virtual" or "override" keyword added to checkCompatibleNSLaw in the child classes. My C++ is too rusty to remember if it does really matter. I don't think we expect to have child class of those. That my usual nitpicking :)

I think that GeneralMechanical is missing, but this may be done in the other PR?

Yes, I added the method that do nothing

There is not "virtual" or "override" keyword added to checkCompatibleNSLaw in the child classes. My C++ is too rusty to remember if it does really matter. I don't think we expect to have child class of those. That my usual nitpicking :)

For the moment, there is no second-level child classes, to I think it is sufficient. no ?

There is not "virtual" or "override" keyword added to checkCompatibleNSLaw in the child classes. My C++ is too rusty to remember if it does really matter. I don't think we expect to have child class of those. That my usual nitpicking :)

For the moment, there is no second-level child classes, to I think it is sufficient. no ?

Yes, I was nitpicking as usual :)


Added "gridded" to the CF software page

This is particularly useful now that we are including UGRID in CF :-)

Hi Chris @ChrisBarker-NOAA - This appears to be a duplicate of PR #120. (Which I allowed to languish. Sorry!)
There's a bit more info/links in the text of PR #120. Do you want to grab any of that or close one of the PRs in favor of the other?

Hmm -- as I was writing this today, I did have a feeling of deja-vu
As to which version -- I think #120 is a bit better, but this one is more in line with the level of detail in the other entries on this page -- so I'll let you make the editorial choice :-) -- either is fine with me.
-Thanks!

Closing this in favor of PR #120.


jRuby with server instead of embedded mode

currently jruby implies embedded. Do you have any idea what's the best way to clean that up?
  s.add_dependency('neo4j-community', '~> 2.0') if RUBY_PLATFORM =~ /java/
Additional information which could be helpful if relevant to your issue:
Code example (inline, gist, or repo)
Runtime information:
Neo4j database version:
neo4j gem version:
neo4j-core gem version:

Thanks for opening this issue.  This is definitely something I've wanted fixed for a while, though I haven't looked at the code for a while either.  Removing the dependency is definitely a first step, though I think the documentation would then need to have a section on using Neo4j in embedded mode in jRuby with at least one part explaining including the neo4j-community or neo4j-enterprise gems (though it looks like those gems haven't even been updated for Neo4j 3.0.  Uggghh...)


how can we customize column headers?

Column headers some times need to spell out, "fixedVersion" changes to "Fixedversion", we have a need to show custom column names example: "Fixed Version". Is it possible to support it?

Hi @surkat919, I'm looking for the same, did you find a way to do that?

me too? did you use viewchild? and also aligment did you used it?


Fix inaccurate comment on MySQLSchema.tables method

As far as I can tell this comment is inaccurate.
The method appears to be filtering the tables, even though the comment claims it will include those tables excluded by the filter.

Nice typo, thanks @mtagle


resizing error in the screen with changed resolution

When I use my screen with a %125 resolution, resizing not working properly. The video area slides to the right of the page after reaching the maximum size.
But it only happens when I use the left or one of the left corners to resize the video area. If I use the right sides it works properly.

I just realised that it is not right repository to create that issue, sory about that. I will move it to relevant repo.


Underscore _ splits the text event boundaries - Questions

Thanks for the library. It looks to be very useful.
Attempting to use cmark for processing "emoji" :smile: entries in text, I found that the Event::Text(content) was bounded by the "_" underscore.
For example, the markdown
# heading
Some text and :white_check_mark: here.

will generate 3 text Events.
Event::Text 1 - "Some text and :white"
Event::Text 2 - "_check"
Event::Text 3 - "_mark: here."

The event splitting on the _, is this expected ? I can see (presume) that it is caused by this line for &c in b"\x00\t\n\r_\\&*[!`<" {
The _ in the regex causes the splitting.
Because the events split up the emoji entry text, processing these becomes quite cumbersome.
Questions

Could this be configurable ?

I found the non-pub exposed OPTION_FIRST_PASS that could help, but it seems more internal. (it alters the regex)

Is there a commonmark "reason" that _ causes a text boundary ? (it must be _emphasis_)
👍 for #117 - Add support for backtracking will enable processing on these event boundaries immensely easier.

I just ran into this while working on marker. I'd prefer if I didn't have to call get_offset() in order to read the location of the parser (I have to dump out the location of errors). If the iterator was a tuple of Event and position, I could just make the iterator Peekable and use a little logic to consume multiple, adjacent Text events.

The underscore splitting the text is by design, and essentially for performance reasons - there's no guarantee that text blocks are contiguous, and there are other cases where it really can't be avoided. Also, note that the cmark reference parser will generate multiple text nodes in its AST, for similar reasons.
Probably the best idea I have is an iterator to iterator transform that coalesces text regions, either combining &str regions when they're contiguous in memory, or allocating (so using Cow) when not. This is something I would consider as an optional add-on. I'd also consider an option to turn it on, which would probably be more ergonomic.
An iterator of (event, position) tuples also sounds like a useful thing, probably better than calling get_offset. Maybe file a separate feature request issue, so it doesn't get lost in the shuffle of this one?

We already combine some text nodes when their ends meet exactly, but it's not guaranteed. I think we could look into this as a performance improvement.

For this reason I implemented an Iterator wrapper, which concatenates consecutive text eventsin my application: https://github.com/oberien/heradoc/blob/master/src/frontend/concat.rs
It uses the str_concat crate, which I wrote for this reason as well https://crates.io/crates/str_concat

I experimented with this a little bit, but since pulldown_cmark is pull based, it's generally not possible to merge subsequent text nodes during event generation since it won't be clear what the final type of the next event will be until it is pulled.
Indeed, it seems the best strategy is to wrap an offset iterator in a peekable and then merge sequences of adjacent text events, much like @oberien has done.
Not sure if this should be part of the crate or not. It can obviously be implemented using the public API, so it's not necessary, but if there's wide enough use for it, it may make sense including it. It could possibly speed up our own HTML generation.

Closing this as we cannot do better internally than a wrapper approach.

So the solution is to avoid cases of _multiple_underscores_?


Backpressure between collector and agent

Requirement - what kind of business use case are you trying to solve?
We experience frequent span "drops" in our internal deployment. That drops are caused by automatic resharding inside our database. During resharding, some partitions become unavailable for write for a couple of minutes. While partitions are unavailable, collectors keep accepting spans from the clients and eventually drop them.
In our deployment, we got 10000 nodes and 100 collectors. Nodes got more than enough memory to buffer spans for a couple of hours. Collectors drop spans even after a slight hiccup.
Another use-case for backpressure is traffic bursts. We use jaeger to trace big distributed queries, spanning 1000-s оf nodes and 100000-s of RPC requests. Such queries generate very uneven bursts on the collector and cause span drops.
Problem - what in Jaeger blocks you from solving the requirement?
Right now, collector always accepts incoming spans. Even if collector queue is full.
Proposal - what do you suggest to solve the problem or improve the existing situation?
Would be nice to have some backpressure in collector protocol. I don't have a specific proposal right now.
One possibility is switching to GRPC streaming, but that seems like a huge change.
Another option is to add queue_is_almost_full flag to collector reply + custom backoff logic to the client. That would require less changes, but would be harder to configure.
What do you think?

My understanding was that Jaeger will start dropping spans if the collector queue is full. I am not sure if we want to implement backpressure and let agent or clients know. There is no caching in the agent/SDK and they do not control the traffic either.
as @albertteoh mentioned the supported architecture to deal with traffic spikes is to put kafka in front of the storage.


Team test debug

Description
Corrected the team id to 20 in many different test to correlate with logged in user id 16.  It was previously team id 1, which user 16 is not a member.
Type of change
Please delete options that are not relevant.

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

Change Status

[x] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[x] Test A local test env
[ ] Test B

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

 Fix backend Team router tests that are failing


Support pipeline include option in unocss nuxt module

Clear and concise description of the problem
Currently the unocss nuxt module support adding pipeline exclude settings although it doesn't allow us to modify the include settings to add more directories to vite build. So adding the include option does nothing.
Suggested solution
Add logic to attach the include options similar to how its implemented with exclude option https://github.com/unocss/unocss/blob/main/packages/nuxt/src/options.ts#L33
Alternative
No response
Additional context
Could be similar to #3232 but looks related to webpack and node_modules instead. Currently, the // @unocss-include comment method is working fine and could be considered a workaround, although its not practical with multiple files and nested folders and relying on path instead is more useful.
Validations

[X] Read the Contributing Guidelines.
[X] Read the README.md of using the package.
[X] Already used the Interactive Docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I can't reproduce this issue anymore which means that it was on my end and not actually a bug. Setting the options from the nuxt side seems to be more efficient. Using the uno config require manually restarting the dev script for settings to take effect. Although the nuxt.config.ts is instant and straightforward since nuxt will auto restart it self.


Add requirements.txt to /server

There is no requirements.txt in the server directory.

All requirements are now in the root requirements.txt. The server directory will be going away soon 😄


Compatibility with micro:bit v2

Hi @pelikhan,
As you might have seen from microsoft/pxt-microbit#3506 this extension is currently not compiling against the latest version of Micro:bit CODAL. This means it will not work with micro:bit V2.
Software for micro:bit V2 boards is built using CODAL rather than the DAL, and no longer includes the mbed layer. We’ve implemented the most frequently used mbed classes to support easy porting of existing extensions, but there may still be corner cases with this compatibility layer.
As your extension is currently not building, it will be disabled for micro:bit V2. People attempting to use your extension with a micro:bit V2 board will get error 929. This extension will only be re-enabled on micro:bit V2 once it is fixed.
There are details on how to ensure extensions work on both version of the micro:bit here (lancaster-university/codal-microbit-v2#31).
Looking at your extension source I believe that your extension falls under this category:

Use of the mbed Bluetooth APIs

Hello @pelikhan - does Microsoft need to do work on this ticket for the extension to work with V2?

Hello @pelikhan - does Microsoft need to do work on this ticket for the extension to work with V2?


PLT-586 - Creation of an immutable FxMatrix class

This PR contains a new immutable FX Matrix for
currency conversions. Whilst the data structure
is more or less the same as the original FxMatrix
in v2, there is no mutability. Instead a mutable
builder is provided.
The other main differences to the original class
are:

the ability to add a rate with no currencies in
common with the matrix with the expectation that
other additions will allow it to be added
the ability to handle a collection of rates
the ability to collect a stream of rates directly
into a new FxMatrix

The builder has been implemented such that its
underlying matrix is not resized for every currency
addition, but only periodically (it doubles in size
when needed). This hopefully balances between too much
resizing and too much memory but interested in other
views.
Test coverage is at 100%.

FxMatrix put on hold for the time being. Branch will be renamed shelved/PLT-586-FxMatrix


Maintainers Wanted

Glenn here. I built hapi-swagger over seven years ago and maintained it in the early days. For the past three years, @robmcguinness has supported the project with PR reviews, updates, commits and releases.
We are both coming to a point where we do not have the time to keep track of the issues and actively maintain the plug-in. It's still a popular Hapi plug-in with 284,000 downloads a month and roughly 17% of Hapi projects using it.
We're looking for people to help out and maintain the project. Any help would be appreciated. Comment on this issue if you're interested in helping. Thanks.

I'm interested in contributing to the codebase.

I'd like to help out also.

Same here. I'm interested in doing a bit to help if I can.

Same here. Count me in to put some cycles on improvements.
Don't want to jump ahead, but seems like a good early step would be to do some triage and prioritize items that are critical (security fixes, bugs) vs others.

Any update on this? I'm can make some time to have a virtual meeting if anyone would like.

@patlehmann1 waiting on @glennjones since I am not admin and only maintainer.

@patlehmann1  Thanks for the offer to help out with hapi-swagger and your patience with the lack of response. Sorry for the radio silence.
If I am honest I am a little uncertain about how you successfully onboard other people into helping maintain the project like this. It is not something I have done before.
The idea of a virtual meeting sounds great. Maybe we could all chat about what help people feel they could contribute, and how the project could be structured to make that work for them. What is needed from me as the original owner to make it happen.
If people (@robmcguinness and everyone who has offered in this thread)  think a virtual meeting good way please let me know and we can sort out date/time to do a zoom/teams discussion.
Glenn

That sounds great.

Let's do it.

hapi-swagger maintenance chat - For anyone you wants to contribute.
OK rather than try and arrange this meeting date/time through github issues I have created a calendar poll on doodle. If you can select any of the times that work for you. I have gone evening Europe time hopefully to help with people in America.  I am travelling over the next week and a half hence the dates.
Please click on the link below and vote for times that work for you:
https://doodle.com/meeting/participate/id/bYEm0P2b/vote

OK I have booked in a meeting for - Wednesday, 18 May⋅17:00 UK Time.  The zoom link is below. If anyone else wants to join meeting please feel free. We are going to have a  chat about the maintenance of hapi-swagger. The meeting is for anyone you wants to contribute, however much or little.
Topic: hapi-swagger
Time: May 18, 2022 05:00 PM London
Join Zoom Meeting
https://us02web.zoom.us/j/89185259999?pwd=VFlUbzNYbS9mcVEzaXgrcllLYStldz09
Meeting ID: 891 8525 9999
Passcode: tu04e9
If you want to come and cannot make this data let me know and I can quickly open the poll again

I'd like to help out also.

@ahalf-yuan your more than welcome to come along to the zoom meeting today 17:00 UK time.  Connection details are in thread above. If you cannot make don't worry I will document the outcomes. This will hopefully cover how we hope to make it easier for people to contribute going forward.

Sorry I missed the meeting. Hopefully it was productive. Please let me know next steps.

That's OK @robmcguinness sorry you could not make it, but we had a good meeting
What was agreed in the meeting today

Move the project to a Github organisation to make use of the different levels of access rights, Triage, Write, Maintain etc (Glenn)
Start all the new maintainers on triage rights, add more rights as they are needed (Glenn)
Create a Slack channel for hapi-swagger maintainers to quickly discuss how to deal with issues and updates (Glenn)
Go through the backlog of issues and pull requests labelling them so we can see what types of issues we have (Everyone)
Start picking off the easier issues to learn codebase with input from Robert and Glenn about architect where possible (Everyone)

Future

Add webhooks to push github project events into slack
Consider feature development/ roadmap

Same here. Sorry, I was unable to attend. Looks like a good list of action
items to me.
On Wed, May 18, 2022 at 1:17 PM Glenn Jones @.***>
wrote:

That's OK @robmcguinness https://github.com/robmcguinness sorry you
could not make it, but we had a good meeting
What was agreed in the meeting today

Move the project to a Github organisation to make use of the
different levels of access rights, Triage, Write, Maintain etc (Glenn)
Start all the new maintainers on triage rights, add more rights as
they are needed (Glenn)
Create a Slack channel for hapi-swagger maintainers to quickly
discuss how to deal with issues and updates (Glenn)
Go through the backlog of issues and pull requests labelling them so
we can see what types of issues we have (Everyone)
Start picking off the easier issues to learn codebase with input
from Robert and Glenn about architect where possible (Everyone)

Future

Add webhooks to push github project events into slack
Consider feature development/ roadmap

—
Reply to this email directly, view it on GitHub
https://github.com/glennjones/hapi-swagger/issues/718#issuecomment-1130411655,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABXYKXN3VPQESILBWGEZ53VKU655ANCNFSM457BVODQ
.
You are receiving this because you commented.Message ID:
@.***>

I use this this library, and it's one of the reasons why I love hapi, if maintainers are still needed, please count me in.


Infinite loop when trying to login to disabled service

Testing with latest changes in master for 5.1.0-SNAPSHOT.  I disabled a service using the Management Webapp.  When I try logging into that service, the flow execution went into an infinite loop until a stack overflow occurred and 500 stacktrace was presented to the browser.  I am not exactly sure why this issue suddenly appeared, but I think I found the cause and fix.
The loop starts when RegisteredServiceThemeBasedViewResolver.java is called to resolve casServiceErrorView.  At line 65 in that class a call is made to         RegisteredServiceAccessStrategyUtils.ensureServiceAccessIsAllowed(service, registeredService);  This method throws an UnauthorizedException which is not handled and is RuntimeException so it just trickles up without returning a view.  The response to this is to throw another exception that should be displayed in casServiceErrorView and the loop is off and running.
removing the call to utils class and changing it to
 if (registeredService != null && registeredService.getAccessStrategy().isServiceAccessAllowed()                     && org.apache.commons.lang3.StringUtils.isNotBlank(registeredService.getTheme())) {
This code is the same that is used in ServiceThemeResolver.java
This then allows the default view to return and the message to be displayed to the user.

This should be resolved now.

I believe I am seeing this in 5.0.1 as well: https://gist.github.com/petracvv/ccaf428ecd2d156cd339a7f2303c185f


Merging Existing GitHub Gist into NLPurify

:scroll: Description
This PR is an initialization PR to merge the existing code into the NLPurify module. This is a part of the total required changes (#1), and the following changes and fixes are listed below.
This PR brings the following change(s):

:star2: New Feature - text cleaning using nltk.stopwords, lemmatizations.
:star2: New Feature - a collection function to easily switch between different types of fuzzy text matching using fuzzywuzzy.
:hammer_and_wrench: Breaking Change - upon successful transition the existing GitHub gist will be deleted and will become unusable.

On successful merge, the PR Fixes #2 Fixes #4
:heavy_check_mark: Checks

[ ] Tests are added and passed for all relevant functions (if any).
[ ] My code follows the style guidelines as mentioned.
[ ] In case of new functionality, proper comments have been added to the code.
[ ] Changes do not generate any warnings for existing functions.
[ ] Add a new entry in documentation, if fixing a bug or added a new feature.

Some of my codes are dependent on the existing structure. This should be made available unless all codes are migrated to the latest changes. Check issue details #5 for more information.


fix run time setuptools

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Add thumb image and link to map tile demo in overview

Background
v7.0 release
Change List
For tile demo

Add thumb image in overview
Update render info

Coverage remained the same at 62.388% when pulling b6d626412eca932bc3f67f6064cccea6217195a3 on xx/tile-demo into ba772878104c9586ba527fd8981c4ec5b9c65bf3 on master.


how to execute it?

do i need a programm? i cant seem to find any .exe help would be appreciated thanks

launch the .jar file
you need java installed on your pc :
https://www.java.com/


(register problems) cannot install the update

Environment
Windows build number: [10.0.18363.752]
PowerToys version: 0.16.1-x64
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce

download the msifile and run it.
Expected behavior

add an update
Actual behavior

fail to add the update
Screenshots

@LittleSaltFish
is this still happening with 0.18.1? https://github.com/microsoft/PowerToys/releases

No bugs now!
Salute to the develop team.Thank you!


Package on pypi is "simplegmail"?

Your package seems to be this one. Thus, pip3 install simple-gmail does not actually works, at least for me :)

I've made the correction. Thanks!


GE PMT: purchase method send cents

Critical Changes
Changes

elevate expects the amounts on the purchase method to be send in cents, so we convert dollars to cents

Issues Closed
Community Ideas Delivered
New Metadata
Deleted Metadata

**lurch: attach W-041030

Tracking W-041030