Typescript hinting breaks on "Find all references"

From @pocesar on May 5, 2016 9:42

VSCode Version: 1.1.0-insider
OS Version: Windows 10 x64

Having a sizeable Typescript project (at least 50 .ts files)
Pick "Find all references", a "No results found" window appear
Hinting (Ctrl+Space, Ctrl+Shift+Space, hovering over methods and variables) stops working everywhere
The only way to restore functionality is restarting vscode

Copied from original issue: Microsoft/vscode#6128

Looks like the tsserver fails to process the requests. The file opened can't be mapped to any project. @pocesar can you think of anything special about the file in which this happens. Could you share your tsconfig.json file?

@pocesar can you please add the following setting to the workspace settings:
	"typescript.tsserver.trace": "messages"

Open the Output Window (Ctrl+Shift+U) and switch to the TypeScript channel. Can you provide us with the output of the window. Helps us understand why the tsserver stops responding.

From @pocesar on May 9, 2016 11:15
@bpasero it's a private repo, sorry
@dbaeumer here it is:
Sending request: open (0). Response expected: no. Current queue length: 0
Sending request: geterr (1). Response expected: no. Current queue length: 0
Event received: syntaxDiag (0).
Event received: semanticDiag (0).
Sending request: quickinfo (2). Response expected: yes. Current queue length: 0
Response received: quickinfo (2). Request took 101 ms. Success: true
Sending request: occurrences (3). Response expected: yes. Current queue length: 0
Response received: occurrences (3). Request took 58 ms. Success: true
# Hovering the function, before "Find all"
Sending request: quickinfo (4). Response expected: yes. Current queue length: 0
Response received: quickinfo (4). Request took 16 ms. Success: true
# Right click + Find all References
Sending request: references (5). Response expected: yes. Current queue length: 0
Response received: references (5). Request took 13 ms. Success: false . Message: Error processing request. No Project.
# Hovering over the same function = stopped working
Sending request: quickinfo (6). Response expected: yes. Current queue length: 0
Response received: quickinfo (6). Request took 0 ms. Success: false . Message: Error processing request. No Project.

Btw, I'm using Typescript 1.9.0-dev.20160509

From @bpasero on May 5, 2016 10:47
@pocesar please provide us access to this typescript repository.

@pocesar thanks for the additional information. I will move this to the TS team since they own the tsserver which power VSCode's TS smartness. I am not sure if planner.ts in this setup is considered part of the project defined by the tsconfig.json.

 I didn't make the connection to "Find all references" at first, but it seems to be consistent. I'm unsure how to exactly reproduce it though.

@use-strict do you have a project that reproduces this behavior that you can share?

this does not seem to be actionable without a repro project. please reopen if you have a consistent repro.

I made a project to reproduce this issue: https://github.com/ikarienator/TS-Issue-8544. quickinfo works on master branch but reports "No Project" on failure branch. The two branch has only one line of diffrence.
VCS: Version 1.2.1 (1.2.1)
fe7f407b95b7f78405846188259504b34ef72761


Update some UG screenshots

Since we changed the feedback display to include the robot cartoon, most screenshots for features will need to be changed. But this is to be done on a later date


Rendering of math blocks in generated notebooks doesn't display tech

Example: https://github.com/JuliaDiffEq/DiffEqTutorials.jl/blob/master/notebook/introduction/ode_introduction.ipynb . Jupyter seems to treat that as a markdown block.

This is due to Jupyter using different markdown variant than Weave. In this case the easiest fix is to use $$ for math blocks instead of   ````math .
You could also use pandoc2* formats instead of md2* if you need a closer match between weave output and notebooks.

So the fix is on my end to change to using pandoc2* commands? I can go ahead with that, but wanted to double check before editing all of the jmds.

Can't you can use $$ in both md2html and notebook output? i.e does the below work?
$$\frac{dx}{dt} &= \sigma (y - x)\\
\frac{dy}{dt} &= x (\rho - z) -y\\
\frac{dz}{dt} &= xy - \beta z$$

I personally prefer to use md2* formats so I don't need to use pandoc (you may encounter some new bugs), but if you need features from pandoc that julia markdown doesn't have then it's best to switch the format.

There seems to be a problem with Weave writer adding \begin{align} to math blocks (see: https://github.com/mpastell/Weave.jl/issues/142) . Probably that wasn't the best design choice as it makes the documents incompatible with Jupyter now...
I think it might be to remove that feature, but it will break documents that rely on that...

For the notebooks to render correctly, they need to be like:
$$
\begin{align}
\frac{dx}{dt} &= \sigma (y - x)\\
\frac{dy}{dt} &= x (\rho - z) -y\\
\frac{dz}{dt} &= xy - \beta z
\end{align}
$$

Note the newline before the $$. This isn't compatible with the other formats, since we cannot write align in there since it will double up, but also because of the newline handling on the $$ breaks the other formats IIRC. I think you should just leave it up to the user to handle the align command.

I'll remove the align from output for now. I also think I should be able to extend the Julia markdown parser to handle $$ with newlines, but it may take some time.
FYI: math rendering without the newlines before and after $$ works in Jupyterlab.

I just remembered why align is added by default: it seemed like the best option to output math that works in both Mathjax and Latex.
@ChrisRackauckas do you have a good suggestion how to ouput math in Latex instead of using aligned? by default (=after removing current weave output formatting) this markdown:
\begin{align}
\frac{dx}{dt} &= \sigma (y - x)\\
\frac{dy}{dt} &= x (\rho - z) -y\\
\frac{dz}{dt} &= xy - \beta z
\end{align}

becomes the following in tex:
$$\begin{align}
\frac{dx}{dt} &= \sigma (y - x)\\
\frac{dy}{dt} &= x (\rho - z) -y\\
\frac{dz}{dt} &= xy - \beta z
\end{align}$$

Which then gives the following error when running xelatex:
! Package amsmath Error: Erroneous nesting of equation structures;
(amsmath)                trying to recover with `aligned'.

I'm having a hard time coming up with a good fix that would work well.

I'm not sure, I think it needs to not output the $$ when it sees aligns.

This is probably the best option, to check for align, equation etc.

I ended up extending the markdown parser so that this now also works with Weave:
$$
\begin{align}
\frac{dx}{dt} &= \sigma (y - x)\\
\frac{dy}{dt} &= x (\rho - z) -y\\
\frac{dz}{dt} &= xy - \beta z
\end{align}
$$


make --img-path parameter accept folder as a path

I added a feature so that --img-path can accept folder as path. So, if it is folder, it will loop through all files and interpret them one by one.
This is default functionality in YOLO.

Thank you for your pull request.
It's done!


fix file rolling when tailing is set to true

addresses issue #1194

Please get this fix in and publish soon.
I am losing a lot of logs in my service because of this bug

Please publish this fix soon. Without it the tailable feature cannot be used.

+1, please publish as soon as possible!

Thanks for your work on this! I merged this in and it will go into the next release, which is hopefully published very soon. In the meantime, if someone could comment in #1194 whether file rolling is working out with Tailable true,  that would be great (test using master).  Thanks again!


Use port forwarding instead of API server proxying

Multiple users have reported problems with kubectl cost
when running in a more security conscious environment that
implements network security policies of various kinds. These
policies often prevent the K8s API server from communicating
with the Kubecost service.
This commit introduces new behavior that will cause requests,
by default, to go through a temporarily forwarded port on
localhost that goes to a Kubecost pod. This entirely circumvents
the issue of API server proxying, but is more complex.
The old behavior is now under the flag --use-proxy.
Tested locally against a GKE cluster.

This wouldn't change the default (install) experience would it? It definitely seems valuable but wouldn't want to create friction for most of our users who don't have network policies enabled.

This won't cause any install friction. I think we should avoid --use-proxy=true as default because I'm pretty confident that this new behavior will work for more users than the old method. kubectl port-forward pretty much always works and this is essentially the same thing.


Toggle read and remote cell editing

I created a button to toggle between two states: Read and Edit mode.
I have a component that passes a boolean prop called `read`` to a child component.
With the prop, I tried something similar to this...
this.props.read?
  <BootstrapTable
      bordered={true}
      hover
      striped
      keyField='id'
      data={data}
      columns={columns}
      pagination={paginationFactory(options)}
   />
:
 <BootstrapTable
     remote={{ cellEdit: true}}
     bordered={true}
     hover
     striped
     keyField='id'
     data={data}
     columns={columns}
     onTableChange={this.props.onTableChange}
     pagination={paginationFactory(options)}
     cellEdit={cellEditFactory({ mode: 'click', blurToSave: true })}
  />

For some reason, when I change the read value its not working.
I know its changing. If I simply replace the BootstrapTable component with div's tags. It works.

I resolve this by adding a key prop for both bootstrap table. I guess react didn't know to re-render.


add Everforest flavours

I like and use Everforest Soft Themes in Vim and also made them for my terminal. I am glad to share my versions according official Everforest Color Palette and Highlighting Semantics.

Thank you!!


Extra trailing whitespace and executable bits missing

From: https://github.com/InsightSoftwareConsortium/ITK/pull/3275/checks?check_run_id=5517330884
Errors:

commit https://github.com/InsightSoftwareConsortium/ITK/commit/bc1217fe2838c37c3217aed44ab189aa210df3c7 adds arch/s390/self-hosted-builder/fs/usr/bin/actions-runner without executable permissions, but the file looks executable.

commit https://github.com/InsightSoftwareConsortium/ITK/commit/bc1217fe2838c37c3217aed44ab189aa210df3c7 adds arch/s390/self-hosted-builder/fs/usr/bin/entrypoint without executable permissions, but the file looks executable.

commit https://github.com/InsightSoftwareConsortium/ITK/commit/bc1217fe2838c37c3217aed44ab189aa210df3c7 adds bad whitespace:

arch/arm/adler32_neon.c:3: trailing whitespace.
+ * Authors:
arch/arm/adler32_neon.c:26: trailing whitespace.
+        16, 15, 14, 13, 12, 11, 10, 9,
arch/arm/adler32_neon.c:62: trailing whitespace.
+        adacc = vpadalq_u16(adacc, hsum_fold.val[0]);
arch/arm/adler32_neon.c:64: trailing whitespace.
+        adacc = vpadalq_u16(adacc, hsum_fold.val[1]);
arch/arm/adler32_neon.c:65: trailing whitespace.
+
arch/arm/adler32_neon.c:72: trailing whitespace.
+        s2_0 = vaddw_u8(s2_0, vget_low_u8(d0_d3.val[0]));
arch/arm/adler32_neon.c:76: trailing whitespace.
+        s2_4 = vaddw_u8(s2_4, vget_low_u8(d0_d3.val[2]));
arch/arm/slide_hash_neon.c:35: trailing whitespace.
+        p0 = vld1q_u16_x4(table);
arch/arm/slide_hash_neon.c:36: trailing whitespace.
+        p1 = vld1q_u16_x4(table+32);
arch/x86/adler32_avx2.c:95: trailing whitespace.
+
arch/x86/adler32_avx2.c:103: trailing whitespace.
+        imul   %rdi,%rsi // do a signed multiplication with magic constant and vector element
arch/x86/adler32_avx2.c:105: trailing whitespace.
+        imul   $0xfff1,%esi,%esi // do a signed multiplication with value truncated to 32 bits with 0xfff1
arch/x86/adler32_avx2.c:113: trailing whitespace.
+                back down to 32 bit precision later (there is in AVX512)
arch/x86/adler32_avx2.c:116: trailing whitespace.
+        We can, however, and do a relatively cheap sequence for horizontal sums.
arch/x86/adler32_avx2.c:123: trailing whitespace.
+
arch/x86/adler32_avx512.c:20: trailing whitespace.
+     * a better chance of keeping this resident in a register through entire
arch/x86/adler32_avx512.c:29: trailing whitespace.
+
arch/x86/adler32_avx512.c:44: trailing whitespace.
+#ifdef X86_SSE41_ADLER32
arch/x86/adler32_avx512.c:45: trailing whitespace.
+    if (len < 32)
arch/x86/adler32_avx512_vnni.c:22: trailing whitespace.
+     * a better chance of keeping this resident in a register through entire
arch/x86/adler32_avx512_vnni.c:31: trailing whitespace.
+
arch/x86/adler32_avx512_vnni.c:46: trailing whitespace.
+#ifdef X86_SSE41_ADLER32
arch/x86/adler32_avx512_vnni.c:47: trailing whitespace.
+    if (len < 32)
arch/x86/adler32_sse41.c:90: trailing whitespace.
+        max_iters -= align_offset;
arch/x86/crc32_fold_pclmulqdq.c:404: trailing whitespace.
+     * bytes of input is needed for the aligning load that occurs.  If there's an initial CRC, to
arch/x86/crc32_fold_pclmulqdq.c:475: trailing whitespace.
+        src += 48;
arch/x86/crc32_fold_pclmulqdq.c:593: trailing whitespace.
+    if (len < 64)
cmake/detect-intrinsics.cmake:164: trailing whitespace.
+    # Check whether compiler supports loading 4 neon vecs into a register range
commit https://github.com/InsightSoftwareConsortium/ITK/commit/65f01f52f5079951ba908cc855125ba682626296 adds Modules/ThirdParty/ZLIB/src/itkzlib-ng/arch/s390/self-hosted-builder/fs/usr/bin/actions-runner without executable permissions, but the file looks executable.

commit https://github.com/InsightSoftwareConsortium/ITK/commit/65f01f52f5079951ba908cc855125ba682626296 adds Modules/ThirdParty/ZLIB/src/itkzlib-ng/arch/s390/self-hosted-builder/fs/usr/bin/actions-runner without executable permissions, but the file looks executable.

commit https://github.com/InsightSoftwareConsortium/ITK/commit/65f01f52f5079951ba908cc855125ba682626296 adds Modules/ThirdParty/ZLIB/src/itkzlib-ng/arch/s390/self-hosted-builder/fs/usr/bin/entrypoint without executable permissions, but the file looks executable.

commit https://github.com/InsightSoftwareConsortium/ITK/commit/65f01f52f5079951ba908cc855125ba682626296 adds Modules/ThirdParty/ZLIB/src/itkzlib-ng/arch/s390/self-hosted-builder/fs/usr/bin/entrypoint without executable permissions, but the file looks executable.

Is there a possibility of you adding kwrobot-v1 / ghostflow-check-master git action to this repository?

@bradking Can you help Nathan add ghostflow checks to this repository?
@nmoinvaz ITK also has a pre-commit hook for this. This part seems interesting for zlib-ng.

Can you add it as a separate workflow .YAML file? Similar to the static analysis one we have..
I don't think we need the precommit hook as everything goes through PRs.

I now think that ghostflow is not a GitHub action. @mathstuf or @bradking should know how to set it up.

I think that source code is here: https://gitlab.kitware.com/utils/ghostflow-director.

@mathstuf and I have occasionally discussed how to make ghostflow's checks available to GitHub Actions, but it's not yet supported.
The ITK repository's checks are configured on our own ghostflow-director deployment.  That infrastructure is maintained for ITK, but since ITK uses zlib-ng as a dependency, I think it would be reasonable to configure the deployment to cover this repository too.  I'll look into it when I get a chance.

I think there are probably some other GitHub Workflow actions in the marketplace we can use instead.

Trailing whitespace detection is now added to the CI.


Remove unnecessary dependency

The nightly backend for ed25519 is selected by "ed25519-dalek/nightly"; the
extra "curve25519-dalek" dependency of signatory doesn't affect it and isn't
needed.

Thanks!


Bug - Navigation issues

This is another pesky bug that will also be fixed in Version 1.6.1
The cause was because of the navigation drop down - for whatever reason the button didn't work appropriately as a drop down. So it has been changed as per the change log. Refer to the change log for details.

This is on hold and pending until the next release is out.

I think it is fixed. Extensive testing using old vs new shows that new has less lags, and works more efficently.


adding proaut-packages also to melodic

It looks like you might have accidentally added those packages to the same branch as the radar ones in: https://github.com/ros/rosdistro/pull/23348 I think I already see that content having landed.

thank you for the hint - I think your are right - sorry for the double request ...


using different models

Hello,
Thanks for such a nice work that have been done .
I would like to ask about using such code and config at which the teacher model will be different that student model.
for example; teacher model could be faster RCNN( resent 101 ) and student model will be Faster RCNN (resnet 50)
is that possible ? what shall i do for config the system like that? I could not understand where shall i change the teacher and where shall i change the student in the model. any help?
what about using it in some different way, like yolo v3 as teacher and faster RCNN  as student? do you think that could be worked ? did you try it before?
looking forward to your answer. thanks.

I am trying to train a yolov3 model on my custom dataset in a form of soft-teacher.
unfortunately , i got such an error. .
TypeError: grad_clip={'max_norm': 35, 'norm_type': 2} in child config cannot inherit from base because grad_clip is a dict in the child config but is of type <class 'NoneType'> in base config. You may set delete=True to ignore the base config
i did not understand what i should do to solve it ,and run effectively the training


Add possibility to select ANY devices for test execution based on specific mask.

Most important to select ANY with Android version >= 5.1.1 or >=6.0
To configure it on suite level and probably in jenkins.

In 4.8 pipeline and infra we plan to provide fully independent approach to provide capabilities without any extra knowledge about infra/pipelines etc

@maksimsarychau each job will have "capabilities" text field which can be used to declare any W3C caps.
Also there is a way to override it's default value from testng suite xml file

@vdelendik or @maksimsarychau could you please provide details for verification this ticket?


Flexiv Hardware Undefined symbol

Hello everyone,
I am trying to connect to the Flexiv controller via the rizon.launch.py launch file. However, launching with the command ros2 launch flexiv_bringup rizon.launch.py robot_ip:=<IP_ADDRESS> local_ip:=<IP_ADDRESS> robot_controller:=rizon_arm_controller start_rviz:=false I get the following error from ros2_control_node-1:
[ros2_control_node-1] /opt/ros/foxy/lib/controller_manager/ros2_control_node: symbol lookup error: /ros-flexiv_ws/install/flexiv_hardware/lib/libflexiv_hardware.so: undefined symbol: _ZN6flexiv5RobotC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
[ERROR] [ros2_control_node-1]: process has died [pid 2567, exit code 127, cmd '/opt/ros/foxy/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_lwng52a_ --params-file /ros-flexiv_ws/install/flexiv_bringup/share/flexiv_bringup/config/rizon_controllers.yaml'].

I am running the package inside a docker container based on the ros:foxy image on a Jetson AGX Orin dev kit. The container has been started with the --network host setting and I am mounting my workspace as a bind volume.
Here is the Dockerfile for reproduction
FROM ros:foxy

RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y \
    python3-rosdep2 \
    ros-$ROS_DISTRO-ros2-control \
    ros-$ROS_DISTRO-control-toolbox \
    ros-$ROS_DISTRO-moveit \
    ros-$ROS_DISTRO-ros2-controllers \
    ros-$ROS_DISTRO-test-msgs \
    ros-$ROS_DISTRO-rmw-cyclonedds-cpp

ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

RUN mkdir -p /ros-flexiv_ws/src

WORKDIR /ros-flexiv_ws

COPY ros_entrypoint.sh /ros_entrypoint.sh

CMD ["sleep", "infinity"]

The referenced ros_entrypoint.sh script is a custom entrypoint that installs dependencies at start time
#!/bin/bash
set -e

# setup ros2 environment
echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
source /opt/ros/${ROS_DISTRO}/setup.bash

sudo apt-get update
rosdep update

# install workspace dependencies
rosdep install --from-path src -y --ignore-src

$@

My workspace only contains the flexiv_ros2 repository in the src folder.
Here is the full log from the console :
[INFO] [launch]: All log files can be found below /root/.ros/log/2023-06-16-16-18-30-507546-[machine name]-2563
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ros2_control_node-1]: process started with pid [2567]
[INFO] [robot_state_publisher-2]: process started with pid [2569]
[INFO] [spawner.py-3]: process started with pid [2571]
[INFO] [ros2 run controller_manager spawner.py joint_state_broadcaster-4]: process started with pid [2573]
[INFO] [ros2 run controller_manager spawner.py force_torque_sensor_broadcaster-5]: process started with pid [2575]
[INFO] [ros2 run controller_manager spawner.py external_wrench_in_base_broadcaster-6]: process started with pid [2578]
[INFO] [ros2 run controller_manager spawner.py external_wrench_in_tcp_broadcaster-7]: process started with pid [2581]
[INFO] [ros2 run controller_manager spawner.py tcp_pose_state_broadcaster-8]: process started with pid [2583]
[ros2_control_node-1]<PHONE_NUMBER>.144371 [0] ros2_contr: using network interface wlan0 (udp/<IP_ADDRESS>) selected arbitrarily from: wlan0, docker0, eth1
[robot_state_publisher-2]<PHONE_NUMBER>.152398 [0] robot_stat: using network interface wlan0 (udp/<IP_ADDRESS>) selected arbitrarily from: wlan0, docker0, eth1
[ros2_control_node-1] [INFO] [1686932311.163628471] [FlexivHardwareInterface]: Connecting to robot at "<IP_ADDRESS>" from "<IP_ADDRESS>" ...
[ros2_control_node-1] /opt/ros/foxy/lib/controller_manager/ros2_control_node: symbol lookup error: /ros-flexiv_ws/install/flexiv_hardware/lib/libflexiv_hardware.so: undefined symbol: _ZN6flexiv5RobotC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
[ERROR] [ros2_control_node-1]: process has died [pid 2567, exit code 127, cmd '/opt/ros/foxy/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_lwng52a_ --params-file /ros-flexiv_ws/install/flexiv_bringup/share/flexiv_bringup/config/rizon_controllers.yaml'].

[ERROR] [ros2 run controller_manager spawner.py external_wrench_in_base_broadcaster-6]: process has died [pid 2578, exit code -15, cmd 'ros2 run controller_manager spawner.py external_wrench_in_base_broadcaster'].
[INFO] [ros2 run controller_manager spawner.py joint_state_broadcaster-4]: sending signal 'SIGTERM' to process[ros2 run controller_manager spawner.py joint_state_broadcaster-4]
[ERROR] [ros2 run controller_manager spawner.py force_torque_sensor_broadcaster-5]: process has died [pid 2575, exit code -15, cmd 'ros2 run controller_manager spawner.py force_torque_sensor_broadcaster'].
[ERROR] [ros2 run controller_manager spawner.py joint_state_broadcaster-4]: process has died [pid 2573, exit code -15, cmd 'ros2 run controller_manager spawner.py joint_state_broadcaster'].

I am using console log because the log file created by ROS dows not include the undefined symbol error
Thank you for any help you can give me.

I used c++filt to demangle  _ZN6flexiv5RobotC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
This returns
flexiv::Robot::Robot(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)

Follow-up, I tested the same sequence on an x86-64 computer and there was no error, so this seems to be a problem with arm64

Hi @Maxime-Syc,
the error is due to the RDK static library being set wrongly for Linux arm64. I have created a PR to fix this issue.


License

The project need a license.

Thanks for letting me know  :smiley:
The code/XML for the collection is under the MIT license. If you're just using the collection as a user (i.e. not modifying or distributing the code/xml), then attribution and including the license text isn't necessary.
Push to add the license incoming....

Cool! Thanks!


svg diagrams corrupting

anonymous-org-chart.svg.txt

Visio / svg is very, very fussy about the document formatting.  It treats:
    <tspan class="st17">&<v:newlineChar/></tspan>
    <tspan x="6.73" dy="1.2em" class="st17"> </tspan>
    <tspan class="st17">Head of Corporate Services</tspan>

differently to
  <tspan class="st17">&<v:newlineChar/></tspan><tspan x="6.73" dy="1.2em" class="st17"> </tspan><tspan class="st17">Head of Corporate Services</tspan></text>		</g>

due to the placement of the tspan declaration elements.  The first case causes the newline to be ignored..... ?!
Anyway - switching off document formatting when outputting the string representation resolves the issue.


.NET 8 support

Is there a pre-release version that supports .NET 8? Also regarding azure-iotedge for Ubuntu server?
Thanks!

@sitaalbeMarp is this still an open question? If so, please reopen this with more details. Thank you!

@bishal41 is this a question for Iot Edge?

@sitaalbeMarp is this still an open question? If so, please reopen this with more details. Thank you!

No, thank you!,
Kind regards.


Search feature for finding friends isnt always working

Issue: Sometimes the search feature isnt always working. In screen recording you can see I can bring up Windows User and Sheldons account but can't find Yijing. She also had issues when trying to search for an account with the name User
Screen recording:
https://user-images.githubusercontent.com/93608357/207407689-c79cac21-295e-440b-8420-9e8703c56ead.mov
https://user-images.githubusercontent.com/93608357/207407746-844af9a3-2da6-4122-bb6d-9659ab85fe23.mov

Not exactly a bug.
Just to give some clarification, the search feature by username will look up for those who been discovered already rather than automatically do it as it would do when utilizing the did key (since under current configuration used, it would check dht and dial out to the peer utilizing the did/public key). If the routing and discovery been successful and connection been have been establish the identity would have been provided to you (assuming things are up to date on both ends and no other routing issues)
Internally the other reasons for why it may not have been provided could be due to

networking issues on one or other side (or even in the network utilized for peer and content discovery)
Firewall or router blocking packets (unlikely since by default random ports are used on starting of the client, which is why one can use multiple clients on the same machine with the address, but still possible in some situations)
hole punching isnt successful (we utilize libp2p bootstrap as a relay, which can be used for hole punching but at times may be overloaded, which will be corrected in the future to use a relay found through dht that can be best used),
Its falling back to the relay due to unsuccessful hole punching which may have  (which again falls back to the former statement about soon being able to find a suitable relay through dht) though even in such cases of using a relay, the relay protocol upstream usually have lower data transport limits so not every single but of data may make it through).

The sync node that been a wip isnt used yet internally in a productive manner, which may aid in discovering users through the same (which would also be tied into who been discovered already) and offline stuff, but even then wont be solely depended to prevent a central point of failure to keep things truly decentralized.
If you are unable to find another user with their username, especially if you discovered already (eg they were searchable before but disappeared) or added them as a friend via did key, and they did not change their username (which you would have seen on the friends list), then it might be a bug, otherwise I dont consider the search portion to be a bug exactly and would probably close this issue out (can have it reopend if it was a bug from some of the things i mentioned)


[WIP][SPARK-32540][SQL] Eliminate filter clause test

What changes were proposed in this pull request?
Spark SQL supported filter clause in aggregate, for example:
select sum(distinct id) filter (where sex = 'man') from student;
But sometimes we can eliminate the filter clause in aggregate.
SELECT COUNT(DISTINCT 1) FILTER (WHERE true) FROM testData;
could be transformed to
SELECT COUNT(DISTINCT 1) FROM testData;
SELECT COUNT(DISTINCT 1) FILTER (WHERE false) FROM testData;
could be transformed to
SELECT 0 FROM testData;
Why are the changes needed?
Optimize the filter clause in aggregation
Does this PR introduce any user-facing change?
'No'.
How was this patch tested?
New test.

Test build #127167 has started for PR 29382 at commit 8e1d685.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31789/
Test PASSed.

Test build #127167 has finished for PR 29382 at commit 8e1d685.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127167/
Test FAILed.


Error just importing

I just import the module and it throw me this error:
error: TS2345 [ERROR]: Argument of type '{ type: "module"; deno: boolean; }' is not assignable to parameter of type 'WorkerOptions'.
  Object literal may only specify known properties, and 'deno' does not exist in type 'WorkerOptions'.
    { type: "module", deno: true },

Have you used the --allow-net and --unstable flags when running your application?

Thanks for respond!
Yeah, that was my error. I didn't want to use --unstable flag so I thought that was an issue of old deno versions. Let me delete my pull request.
Thanks again!

No problem. Yeah, it's something that you need to unfortunately do (still!) when using the crypto module in WebWorkers, which this module requires to run async. Glad it's all sorted 👍


Added support for South to introspect TimeZoneField

+1

+1

+1

Is this still relevant? If so, can the coding style please be cleaned up? See existing coding style.

Still relevant for sure.

+1

+1

+1


Support cusparseSpGEMM()

This is related to https://github.com/cupy/cupy/issues/6463
Currently, CuPy uses cusparse*csrgemm2() for sparse matrix multiplication, but this function is deprecated and does not reflect recent performance improvements (that is, it's slow). In the future, it is recommended to use cusparseSpGEMM() instead of cusparse*csrgemm2, so this PR adds changes to allow cusparseSpGEMM() to be used with CuPy.
The results of comparing the performance using the reproducer of https://github.com/cupy/cupy/issues/6463 are as follows. cusparse.csrgemm2 is the routine currently used in CuPy for the multiplication of sparse matrices. We have confirmed that cusparse.spgemm that is a routine added in this PR can reduce the computation time from 41.8 ms to 1.6 ms! I didn't expect such a bit difference in performance. The GPU used is V100.
import cupy
from sklearn.datasets import fetch_20newsgroups
from sklearn.preprocessing import OneHotEncoder
from sklearn.feature_extraction.text import TfidfVectorizer
from cupyx.profiler import benchmark

news = fetch_20newsgroups(subset='train')

x = OneHotEncoder().fit_transform(news.target.reshape(-1, 1)).T
y = TfidfVectorizer().fit_transform(news.data)

x_sparse = cupy.sparse.csr_matrix(x)
y_sparse = cupy.sparse.csr_matrix(y)

x_dense = x_sparse.todense()
y_dense = y_sparse.todense()

def prod(x, y):
    x @ y

n_repeat = 10
print(benchmark(prod, (x_sparse, y_sparse), n_repeat=n_repeat, name='sparse prod'))
print(benchmark(prod, (x_dense, y_dense), n_repeat=n_repeat, name='dense prod'))
print(benchmark(cupy.cusparse.csrgemm2, (x_sparse, y_sparse), n_repeat=n_repeat, name='cusparse.csrgemm2'))
print(benchmark(cupy.cusparse.spgemm, (x_sparse, y_sparse), n_repeat=n_repeat, name='cusparse.spgemm'))

$ python repro.py
sparse prod         :    CPU:14310.440 us   +/-10.796 (min:14289.388 / max:14325.467) us     GPU-0:41838.900 us   +/-12.475 (min:41819.138 / max:41859.074) us
dense prod          :    CPU:   33.101 us   +/- 2.026 (min:   31.489 / max:   38.430) us     GPU-0:30594.150 us   +/-26.241 (min:30516.224 / max:30612.480) us
cusparse.csrgemm2   :    CPU:14318.144 us   +/-20.031 (min:14292.917 / max:14364.306) us     GPU-0:41879.655 us   +/-75.351 (min:41812.992 / max:42096.642) us
cusparse.spgemm     :    CPU: 1629.834 us   +/- 5.476 (min: 1619.690 / max: 1637.150) us     GPU-0: 1635.840 us   +/- 5.688 (min: 1626.112 / max: 1643.520) us

/test full

/test full

/test jenkins


OXA Bootstrap - EdX Database (Mysql) Setup Failed

Hello,
I was trying a deployment but failed with the error "Execution of edX MySQL migrations failed"
Attached log gives details
bootstrap.log

I need your assistance.
Thank you.

Hello elia368
Can you attach the bootstrap.csx.log file?
and What is your Azure VM Size?
Thanks

@egonid
I am using the default Vm sizes,Standard_D1_v2,Standard_D2_v2,Standard_D2_v2,Standard_D2_v2
here is the bootstrap.csx.log file
bootstrap.csx.log
Thank You


Suggestions for oneof handling

I'm not sure exactly where to put this, but it seems relevant to this repo. I used the strum crate to help out here.
In the build script
        // Don't tag oneof enums
        .type_attribute(path, "#[serde(untagged)]")
        // Make enum variant name serializable as lowercase
        .type_attribute(path, "#[derive(::strum::Display)]")
        .type_attribute(path, r#"#[strum(serialize_all = "snake_case")]"#)
        // Use custom serializer and flatten
        .field_attribute(
            path,
            r#"#[serde(flatten, serialize_with = "serialize_oneof")]"#,
        )

Then in my main code:
use serde::{Serialize, Serializer, ser::SerializeMap};
use std::fmt::Display;

pub fn serialize_oneof<T, S>(value: &Option<T>, serializer: S) -> Result<S::Ok, S::Error>
where
    T: Display + serde::Serialize,
    S: Serializer,
{
    match value {
        Some(v) => {
            let mut s = serializer.serialize_map(Some(1))?;
            s.serialize_entry(&format!("{}", v), v)?;
            s.end()
        }
        None => serializer.serialize_none(),
    }
}

This is an interesting solution as well. I will add it to the README as an alternative.


Accessing a database's .json is slow for very large SQLite files

I have a SQLite DB that's pretty large, 23GB and something like 300 million rows. I expect that most queries I run on it will be slow, which is fine, but there are some things that Datasette does that makes working with the DB very slow. Specifically, when I access the .json metadata for a table (which I believe it comes from datasette/views/database.py, it takes 43 seconds for the request to come in:
$ time curl localhost:9999/out.json
{"database": "out", "size":<PHONE_NUMBER>6, "tables": [{"name": "PageviewsHour", "columns": ["file", "code", "page", "pageviews"], "primary_keys": [], "count": null, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": [{"other_table": "PageviewsHourFiles", "column": "file", "other_column": "file_id"}]}, "private": false}, {"name": "PageviewsHourFiles", "columns": ["file_id", "filename", "sha256", "size", "day", "hour"], "primary_keys": ["file_id"], "count": null, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [{"other_table": "PageviewsHour", "column": "file_id", "other_column": "file"}], "outgoing": []}, "private": false}, {"name": "sqlite_sequence", "columns": ["name", "seq"], "primary_keys": [], "count": 1, "hidden": false, "fts_table": null, "foreign_keys": {"incoming": [], "outgoing": []}, "private": false}], "hidden_count": 0, "views": [], "queries": [], "private": false, "allow_execute_sql": true, "query_ms": 43340.23213386536}
real	0m43.417s
user	0m0.006s
sys	0m0.016s

I suspect this is because a COUNT(*) is happening under the hood, which, when I run it through sqlite directly, does take around the same time:
$ time sqlite3 out.db < <(echo "select count(*) from PageviewsHour;")
362794272

real	0m44.523s
user	0m2.497s
sys	0m6.703s

I'm using the .json request in the Observable Datasette Client to 1) verify that a link passed in is a reachable Datasette instance, and 2) a quick way to look at metadata for a db. A few different solutions I can think of:

Have some other endpoint, like /-/datasette.json that the Observable Datasette client can fetch from to verify that the passed in URL is a valid Datasette (doesnt solve the slow problem, feel free to split this issue into 2)
Have a way to turn off table counts when accessing a database's .json view, like ?no_count=1 or something
Maybe have a timeout on the table_counts() function if it takes too long. which is odd, because it seems like it already does that (I think?), I can debug a little more if that's the case

More than happy to debug further, or send a PR if you like one of the proposals above!

This is a really useful bug report, thanks! I agree: more aggressive timeouts on table counts sounds like the right solution here.
I've learned that avoiding count(*) is crucial for handling these larger databases. Datasette has been getting better about that over time but there are still some edge-cases.

Somewhat related: https://github.com/simonw/datasette/issues/859
I fixed the issue with forking and disabling the counts for hidden tables.

Relevant new feature in sqlite-utils: the ability to use triggers to maintain fast counts. This optimization could help a lot here. https://github.com/simonw/sqlite-utils/issues/212

Relevant new feature in sqlite-utils: the ability to use triggers to maintain fast counts. This optimization could help a lot here. https://github.com/simonw/sqlite-utils/issues/212


Machine mac-41, mac-43 & mac-44 went dead from Health_doctor check monitoring website.

Machine mac-41, mac-43 & mac-44 went dead from Health_doctor check monitoring website.

All machine mac-41, mac-43 and mac-44 are back online. M2crypto v0.36.0 outdated, "salt-call state.apply" wants to upgrade M2crypto v0.38.0.


Open File Operation

Describe the feature
Implement the open file operation.

git fetch origin
git checkout 3-open-file-operation


Machine files support

Hi @budimanjojo !
I was trying to setup tailscale as a Talos extension and it needs machine/files support, was wondering if you could add that in pretty please?
machine:
  install:
    extensions:
      - image: ghcr.io/siderolabs/tailscale:1.44.0
  files:
    - content: |
        TS_AUTHKEY=<your auth key>
      permissions: 0o644
      path: /var/etc/tailscale/auth.env
      op: create

The env vars that you put in the file are per node, so yes I believe this needs to be per node.

@0dragosh I'll release it soon, you can now do it with:
nodes:
  extensions:
    - image: image: ghcr.io/siderolabs/tailscale:1.44.0
  machineFiles:
    - content: |
        TS_AUTHKEY=<your auth key>
      permissions: 0o644
      path: /var/etc/tailscale/auth.env
      op: create

v1.10.1 released with this addition, it should be v1.10.0 though but it's too late and I'm lazy to undo release :rofl:

Awesome, thank you so much!


Migrations from a blank DB fail due to leftover squashed migrations

When running python manage.py migrate with a blank database, we're presented with an error:
CommandError: Conflicting migrations detected (0019_outputurl_exp_comp_datetime, 0093_auto_20150326_1647 in taxbrain).
To fix them run `python manage.py makemigrations --merge`

If we then run python manage.py makemigrations --merge, we're presented with another error:
ValueError: Could not find common ancestor of {'0093_auto_20150326_1647', '0019_outputurl_exp_comp_datetime'}

Looking at a closed django ticket and the django migration docs, we see that:

Once you’ve squashed your migration, you should then commit it alongside the migrations it replaces and distribute this change to all running instances of your application, making sure that they run migrate to store the change in their database.

You must then transition the squashed migration to a normal migration by:

Deleting all the migration files it replaces.
Updating all migrations that depend on the deleted migrations to depend on the squashed migration instead.
Removing the replaces attribute in the Migration class of the squashed migration (this is how Django tells that it is a squashed migration).

It seems like when we squashed earlier migrations 1-93, we needed to actually remove the squashed files and the replaces attribute. I'm unsure why Django doesn't look at the replaces attribute to determine that '0093_auto_20150326_1647' is actually an ancestor of '0019_outputurl_exp_comp_datetime' and proceed from there. But removing those files and the replaces attribute does indeed fix this issue.

@zrisher my local instance of the application is now unable to do a migration. I added a field to a model over in the dynamic app and just ran a typical python manage.py makemigrations; python manage.py migrate. The error is below.
From reading the documentation you linked to in #212, it seems to me that the error is coming about due to this step:
 - Updating all migrations that depend on the deleted migrations to depend on the squashed migration instead.

I suspect that there could be migrations in dynamic that depend on deleted migrations in taxbrain. Do you think this is the likely cause of the problem?
Running migrations:
  Rendering model states... DONE
  Applying taxbrain.0001_squashed_0093_auto_20150326_1647...Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 25, in handle
    call_command("migrate", **options)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/__init__.py", line 120, in call_command
    return command.execute(*args, **defaults)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 221, in handle
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/migrations/executor.py", line 110, in migrate
    self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/migrations/executor.py", line 147, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/migrations/migration.py", line 115, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/migrations/operations/models.py", line 59, in database_forwards
    schema_editor.create_model(model)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 286, in create_model
    self.execute(sql, params or None)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 111, in execute
    cursor.execute(sql, params)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/utils.py", line 97, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/Users/talumbau/miniconda3/envs/heroku_aei/lib/python2.7/site-packages/django/db/backends/utils.py", line 62, in execute
    return self.cursor.execute(sql)
django.db.utils.ProgrammingError: relation "taxbrain_taxsaveinputs" already exists

Ah, I believe I have resolved it. The migration dependencies are correct, as far as I can tell. When I run python manage.py migrate dynamic to add my new field to the database, it turns out that there is a dependency on a taxbrain migration, 0015_auto_20160201_0257, which has a dependency chain that leads back to 0001_squashed... in taxbrain. It then hits this migration and attempts to actually run it because (I'm assuming) the migration has changed so it doesn't "count" anymore as being in the migration history (the change being the removal of the "replaces" attribute). So by executing:
python manage.py migrate dynamic --fake-initial

the "create model" commands in that migration are faked. It then proceeds to my new migration:
(heroku_aei)0054-tjalumbaugh:webapp talumbau$ python manage.py migrate dynamic --fake-initial
Operations to perform:
  Apply all migrations: dynamic
Running migrations:
  Rendering model states... DONE
  Applying taxbrain.0001_squashed_0093_auto_20150326_1647... FAKED
  Applying dynamic.0010_ogusaworkernodescounter... OK

and everything is fine. Adding the note here for other users who will almost certainly hit this.

@talumbau Another interesting experiment with Django migrations. : )
It makes sense to me that migrations from other apps like Dynamic can depend on migrations from taxcalc, and from the dependency lines I see everything adds up properly (like you said). After squashing the original 93 migrations, everything done since properly points back the new squashed one.
What didn't make sense is why when you run python manage.py migrate it thinks you haven't run  taxbrain.0001_squashed_0093_auto_20150326_1647 already.
Looking at the only table I could find that seems to track previously ran migrations, it seems Django stores only the id of the migration and its app:

This is exactly how Rails tracks previously run migrations. It also means that changing the content of a previously run migration file won't change Django's understanding of the fact that it has already been run.
HOWEVER, what if Django had never stored that particular migration in the history, because when reading through all the previously run migrations it encountered all its replaces? That explains the behaviour we're seeing. Perhaps that's what you were saying above but it took me a bit to make this leap.
So I guess the proper procedure for squashing migrations is actually:

Generate squashed migration
Deleting all the migration files it replaces.
Updating all migrations that depend on the deleted migrations to depend on the squashed migration instead.
Removing the replaces attribute in the Migration class of the squashed migration (this is how Django tells that it is a squashed migration).

Fortunately, if I'm right, living between step 3 and step 4 works for both people with fresh install and those with existing databases. So I submitted #218 I add the replaces line back. It works for me, we just need someone with an existing database who hasn't tried your solution above to confirm this works for them too.

no activity for this recently. closing for now.

Sounds ok to me, you may want to merge #218 later though if other users experience the issues you had.


question about "def  unsup_rcnn_reg_loss"

with torch.no_grad():
            _, _scores = self.teacher.roi_head.simple_test_bboxes(
                teacher_feat,
                teacher_img_metas,
                aligned_proposals,
                None,
                rescale=False,
            )
            bg_score = torch.cat([_score[:, -1] for _score in _scores])
            assigned_label, _, _, _ = bbox_targets
            neg_inds = assigned_label==self.student.roi_head.bbox_head.num_classes
            bbox_targets[1][neg_inds] = bg_score[neg_inds].detach()
        loss = self.student.roi_head.bbox_head.loss(
            bbox_results["cls_score"],
            bbox_results["bbox_pred"],
            rois,
            *bbox_targets,
            reduction_override="none",
        )

bbox_targets[0=]labels
bbox_targets[1] =label_weights
bbox_targets[2]= bbox_targets
bbox_targets[3]= bbox_weights
Q1. why only use bg_score from teacher_model? how about pos_inds?

Yes, you can refer to the ablation study in the paper.


Content Security Policy headers

We use the django-csp library to create CSP headers for us.
We permit a couple of Google URLs to provide script, style and fonts to us: these can be found on the front page (and probably every page)
The inscrutible sha-256 hash IWjjek... refers to the inline script in templates/base.py and appears to be the only inline script in the public-ui.
We've set it to report only for now; it should report CSP issues to rollbar as warnings. I recommend we run this in production for a while, and if there's no errors, turn on the actual protection a little later.

Changes in this PR:
Trello card / Rollbar error (etc)
Screenshots of UI changes:
Before
After

[ ] Requires env variable(s) to be updated

 Add Content-Security-Policy headers

Isn't quite right - there are issues with inline styles.

@dragon-dxw  I see in the ticket for this you said that it might not be worth doing this and just throw it away. Should we close this PR?


FEATURE REQUEST: Custom Functions

It would be useful to have custom functions, I am attempting to mod this, but the parse method isn't exactly built for dynamic customization, it uses exact pre-defined string lengths.
an example like
->addFunction('min', function($value, $arg) {
    return min($value, $arg)
});

While this is a basic example, it would be very useful to have functions passing in the value and a single argument.

Well, what you're suggesting is a good thing, Timothy, thanks. But, you know, the architecture of this library was designed 6 years ago, and, frankly, now I don’t have time for changing it (and for adding new features in general) due to work in the company. I'm always ready to consider pull requests, though.

Well, what you're suggesting is a good thing, Timothy, thanks. But, you know, the architecture of this library was designed 6 years ago, and, frankly, now I don’t have time for changing it (and for adding new features in general) due to work in the company. I'm always ready to consider pull requests, though.

Yeah, I totally understand. I just wanted to put this here in case anyone could figure out the best way to handle this.


Integration Tests

Pull Request Description
A stub for integration tests to be run locally; part of #8487
To run tests, you need to:

Build IDE package: ./run ide build
set ENSO_TEST_USER and ENSO_TEST_USER_PASSWORD to some working credentials (I used my personal account, but there will be also test user soon)
run corepack pnpm -r --filter enso exec playwright test

The tests are run with a separate projects directory set up in tmpdir, so any local workspace dir is not affected.
The only test so far just checks if it's possible to log in and create a new project.
Important Notes

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[ ] Unit tests have been written where possible.

I am at 96fa2ee35af363946dab719075fa7a20256f39e7 and I tried:
enso$ ./run ide build
enso$ corepack pnpm -r --filter enso exec playwright test
Running 1 test using 1 worker

  ✘  1 electronTest.ts:13:3 › Create new project (287ms)

  1) electronTest.ts:13:3 › Create new project ─────────────────────────────────────────────────────

    Error: Process failed to launch!

  1 failed
    electronTest.ts:13:3 › Create new project ──────────────────────────────────────────────────────
/enso/app/ide-desktop/client:
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Command failed with exit code 1: playwright test

I guess either the ./run command or the instructions need to be updated to make sure playwright is installed on my computer.

maybe you're missing pnpm i?

I guess either the ./run command or the instructions need to be updated to make sure playwright is installed on my computer.

No, playwright is installed by pnpm (in this case: as part of ./run ide build.
The issue is very strange, could you run it with DEBUG="pw:browser log:"?


Get rid of file mode restrictions

Currently smart_open is limiting file modes to ('r', 'rb', 'w', 'wb') here.
I don't think there is any reason for this -- remove the restriction and allow whatever mode is supported by the underlying storage (such as wb+).

This added strictness (from @asieira's 2015-11-05 commit c51f8dcb97f5e5cca70736a81a22f7d9308d7616) is causing problems in gensim's tests (see eg https://github.com/piskvorky/gensim/pull/570), which have used previously-tolerated mode wb+.  (Not sure the old code was doing the right thing with wb+ – there was no case to handle it with regards to S3, for example – but at least it passed it through without error.)


ITS-3295 Feature toggle for FMN field level encryption

@rambabu-posa  - Another way to achieve this is to keep your 'EncryptedPersonalDetailsValidationRepository' and switch out the modules that get loaded based on config.
Let me see if I can dig out an example of that also.

@ajchilts  amls-frontend implementation is different to our SMN/FMN implementation.

Alternative Example:
Config : https://github.com/hmrc/ctc-guarantee-balance-frontend/blob/main/conf/application.conf#L32C1-L33
In this case a V1 Module : https://github.com/hmrc/ctc-guarantee-balance-frontend/blob/main/app/config/V1Module.scala
and V2 Module: https://github.com/hmrc/ctc-guarantee-balance-frontend/blob/main/app/config/V2Module.scala


Fixed Deals

Merging despite failures; testing passes locally and fails here due to secrets failing to be pulled on private forks.
Thanks @wixihatchi for pointing out the issue. I fixed a few more issues in this PR, but kept the deals fix you implemented.


Is it working on windows?

Hi
I tried this package in Linux and everything works as expected. Good job
I am wondering if it works on windows
When trying to execute a command it says:
Error: spawn cmd.exe ENOENT

Windows support is not great at this point. It is something I hope to improve in the future, however it's not something I have time to work on at this time. If you're feeling up to it however, I'd be happy to review a pull request!

It mostly works for me. However, I can't get environment variables. If I type out, for example, echo %TIME%, it should output the current time:

The good news is I know what's causing this. The bad news is I won't have any time to work on it for a week or two. As a work around for now, you can use UNIX like variables. So for example, echo $time should work just fine.

As an update for everyone, Windows support is now much better. However this issue is going to remain open for the time being because the parsing is still not correct and will require more time than I have right now. As far as file redirection is concerned, that's an other issue entirely which I will certainly get to when I can. For now though, quantum-shell should be 90% usable on any Windows system!

Would it be possible to use git bash or another bash emulator on windows instead of cmd?
Thanks!


App manifest icons appear to be broken

The icon "favicon.png" referenced inside of manifest.json doesn't appear to exist, so the manifest icons appear broken:

While #1568 handles the OP, a related issue is apple-touch-icon.png in various sizes and also a precomposed flavor.
I only bring this up because I see many 404'd requests in my error logs for the various apple icons. My app is not mobile optimized, but they keep coming ;-)
As far as I can tell, the apple icons are not related to manifest.json or specifically to PWS's, though the purpose is the same.
Thoughts?
PS. I really like the way you hid the icon files away in App/images...

Hi @gihrig, good point 👍, thank you for raising that. While it is a similar issue, I believe it is different like you mentioned, so I have opened a new issue #1584 to get that done. Cheers


access to horizon

Info:

Docker version 18.09.2
System info ubuntu:
System info disto/version: ubuntu 18.04 (as sub-sytem in windows)

question:
how can i access the horizon after launching the container laravel-horizon??

Did you try domain.test/horizon in your browser? That should work just fine normally.


Repeated selectors disappears

Even if containing different rules, repeated selectors seem to disappear. It might not be good practice to use repeated selectors, but I don't think they should just disappear.

Unfortunately, the way it is implemented at the moment, that's unavoidable. This can only be resolved if we do this: #306 (tracking it there, and closing this issue)


localfs: temporarily patch fsspec's localfs

While waiting for https://github.com/fsspec/filesystem_spec/pull/1053 to be released.

Isn't extending info() only an option, unless I am missing something?

@skshetry Yeah, could just override it, but just copied the file over as a whole, since both a lot of copypasted code.

That would have been 40 lines compared to almost 400 lines here.


[18.09] Keybase updates

Motivation for this change
Thought it would be a good idea to backport as certain users were having problems, and it seems keybase has certain restrictions with which client versions can communicate with their servers.
cc @rvolosatovs
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I'm getting an error when I try to run keybase-gui:
 pure  λ  nix-shell -p nix-review --run 'nix-review pr 55429'
 impure  λ  keybase service &
[1] 5415
▶ INFO | net.Listen on unix:/run/user/2000/keybase/keybased.sock
 impure  λ  NIX_SKIP_KEYBASE_CHECKS=1 keybase-gui
Could not find kbfsfuse client in keybase status.
You might need to run: kbfsfuse
/nix/store/n00sfd4bvlc3q4gckxa8a4v5d7cfa91r-keybase-gui-3.0.0/bin/.keybase-gui-wrapped: line 23: /nix/store/n00sfd4bvlc3q4gckxa8a4v5d7cfa91r-keybase-gui-3.0.0/share/keybase/Keybase: No such file or directory
 impure  λ  ls -la /nix/store/n00sfd4bvlc3q4gckxa8a4v5d7cfa91r-keybase-gui-3.0.0/share/keybase/Keybase
.r-xr-xr-x 116M root 31 Dec  1969 /nix/store/n00sfd4bvlc3q4gckxa8a4v5d7cfa91r-keybase-gui-3.0.0/share/keybase/Keybase

Just got wind that our kbfs is out of date. See https://github.com/NixOS/nixpkgs/issues/50999#issuecomment-461852250

@kalbasit I can reproduce the issue you're having with the 18.09 version.
On master works fine.

@heronhaye we're having an interesting issue with the latest Keybase on release 18.09 (see my comment above). Do you know what could be causing this?

Possible solution for keybase-gui is that we could stop patching the electron blob and just use electron_4 in nixpkgs.

Ok, realized that it's obviously a problem with autoPatchelfHook and backporting all the changes to it fixes this and another backport pr that uses it.
Not sure if that could cause problems for stable, but I'd like to care for 18.09 as best I can until the next release.

@worldofpeace #55538 has been merged, you should probably rebase this PR so I can give it another try.

@kalbasit Incoming in a moment
I wasn't sure what would be the best state to have 18.09 in for keybase.
I guess having just kbfs outdated instead of everything would be better.
We should probably fix https://github.com/NixOS/nixpkgs/pull/55679 soon, but it's not a discussion for 18.09

@worldofpeace it looks good now, thanks!

You're welcome @kalbasit :sparkle:


Add CallNode field to NodeContext

When we listen for node events, there are some situations where we are interested in not just the node, but the surrounding context. For cases such as a DSL call has_many :users, we make a definition request for the :users symbol, but we also want to know the surrounding method (has_many in this case). This will allow features such as https://github.com/Shopify/ruby-lsp-rails/pull/397
The implementation is fairly simple: While iterating over the queue, if the parent is a CallNode, then we keep track of that. So at the end of the iteration, we have the innermost CallNode, which we can then pass to NodeContext.new.

@andyw8 could you add some description in the PR(s)? Neither PR describes what feature/problem we're trying to solve and it's not easy to review with this little information 🙂

I've expanded the PR description.

@st0012 good question. This doesn't handle integers, but if we imagine those are symbols or string instead, then I'd say NodeContext#call_node should be nil for each, i.e. we only care about the call_node if it's the immediate parent. I've pushed an update to handle that case.

Not a blocker, but what are the criteria for the types of node to have this field?

It's hard to say since we can't anticipate all the possible things an addon author might want to build. Currently I just have the Rails DSLs in mind. We can consider others case-by-case.

This doesn't handle integers, but if we imagine those are symbols or string instead
Not a blocker, but what are the criteria for the types of node to have this field?
so that we do match non-immediate parents.

In that case, I think it should be named closest_call_node instead?

I'm open to changing it to that. @vinistock ?


Allow redis connections to be mocked outside tests

Use a mocked instance of redis outside tests so it can be used it
on django projects tests.

Coverage decreased (-0.0%) when pulling d72e32cfc14cbd8eff72751b0c42eed6046e43ae on marcusmartins:mock_redis_outside_tests into 2a1ab5c7ace60e28907af38b2f1eead07c5f50a3 on kencochrane:master.

LGTM


fix

In MetRectangleIconBtn and MetRectangleTextBtn components

Fixed disabled state styles
Added exception for disable state

Good job bruh.


implemented consistency changes

fixes #9165

Can one of the admins verify this patch?

/azp run python - keyvault - ci

/azp run python - keyvault - ci


Added List of Student Campus Ambassador Programs

This list will help students to get the opportunity to learn outside the campus

Hi @0xquark,
Thanks for submitting to the Freeside Student Resources List.
Firstly, Could you confirm that you're submitting as part of Hacktoberfest? There doesn't seem to be any notes relating to this so I can assign the label if that's the case.
Secondly, You've submitted some very helpful resources. I think students at Hull (and perhaps staff too) will find the Ambassador programmes you have listed beneficial. Unfortunately, not all of the links work and I'll highlight those in the code. If you could correct that, perhaps by adding in other programmes, that would be great.
Finally, the contents link for the category isn't quite correct. Could I ask that you correct this as well, please?
If you can correct those things, I'm happy to accept the PR.
Many thanks,
CB

Thank you for reviewing my PR . I am submitting on behalf of Hactoberfest so please do assign me with that label. I will make necessary changes on your recommendations . :)

Hacktoberfest contribution past the deadline. Closing.

Hacktoberfest contribution past the deadline. Closing.

So what? By using the hacktoberfest-accepted tag it can still count. Besides, it's better to judge PRs based on their actual content and hacktoberfest second.

So what? By using the hacktoberfest-accepted tag it can still count. Besides, it's better to judge PRs based on their actual content and hacktoberfest second.

I asked 22 days ago if the contributor was still working on it. There was no response. You had previously said that I should wait longer for people to respond to requests for changes/comments etc. I did. There was still no response.
Whilst it is true that "_Pull requests that are still in review after Oct 31 and meet the criteria will count towards your completion goal." (source: Hacktoberfest rules), the PRs I closed have been inactive since Oct 4. That is over a month.
As can be seen from the above comments, there were also issues with the original submission quality; so whilst I agree that submissions should be judged on quality as well, this PR failed on that count as well.

On that basis, the PR was closed and I feel justified in my decision. You are of course, welcome to override my decision if others feel the same way as yourself.

Very true, @closebracket. Not saying your decision was unnjustified - far from it - rather that your explanation was unclear to me :-)

I will endeavour to give better reasoning in future my rainbow loving friend 👍🏻


Allow :ditto: along with more documentation?

Currently, due to code in top_level_visitor.cr:
if stripped_doc == ":ditto:" || stripped_doc = "ditto"
  node.doc = @last_doc
end

It is not possible to use :ditto: with additional documentation.
I have a use case where it would be excellent if it was possible to use "ditto" along with more documentation. Such as:
# Alias for<EMAIL_ADDRESS>#
# :ditto:

In this particular case, this would allow the method to clearly state it was an alias, as well as include the original documentation in-place for maximum convenience.

I don't think there is a reasonable use case for this. Documentation written for a specific method might work for another one, but only if its behaviour is exactly the same. If you need some kind of modification, it won't work and become a nuisance. I thinkyou're better off duplicating the method description to allow for modifications. In the described use case of an alias, it should simply reference the other method and don't duplicate the documentation.


[SPARK-10266][Documentation, ML] Fixed @Since annotation for ml.tunning

cc @mengxr @noel-smith
I worked on this issues based on https://github.com/apache/spark/pull/8729.
@ehsanmok  thank you for your contricution!

Merged build triggered.

Merged build started.

Test build #44541 has started for PR 9338 at commit edbb1c2.

Test build #44541 has finished for PR 9338 at commit edbb1c2.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class CrossValidator @Since(\"1.2.0\") (@Since(\"1.2.0\") override val uid: String)\n  * class TrainValidationSplit @Since(\"1.5.0\") (@Since(\"1.5.0\") override val uid: String)\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44541/
Test PASSed.

@noel-smith could you review it when you have time? Thanks!

@yu-iskw Could you please fix the conflicts?
@noel-smith Will you be able to review this?  If not, let me know, and I'll review it.
Thanks!

Hi @jkbradley - the version numbers look OK - but I've been unable to get the Scala API docs building in my environment (not just this branch - I get the same problems on master) - so I can't fully verify it.
If you can review it locally - that would probably be quicker in this case.

Sure. I'll resolve the conflicts by rebaseing master. Just a minute!

Test build #46646 has started for PR 9338 at commit 4b4b14c.

Test build #46646 has finished for PR 9338 at commit 4b4b14c.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  *  public final class SortedIterator extends UnsafeSorterIterator\n  * class CrossValidator @Since(\"1.2.0\") (@Since(\"1.2.0\") override val uid: String)\n  * class TrainValidationSplit @Since(\"1.5.0\") (@Since(\"1.5.0\") override val uid: String)\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/46646/
Test PASSed.

@jkbradley I have rebased master.
@noel-smith could you take a look when you have time?

I'll review this now.  @noel-smith I generally just look at the spark docs online to do this.

That should be it!

Ping

I'll fix them soon!

Test build #47069 has started for PR 9338 at commit 85be14f.

Test build #47069 has finished for PR 9338 at commit 85be14f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class CrossValidator @Since(\"1.2.0\") (@Since(\"1.4.0\") override val uid: String)\n  * class ParamGridBuilder @Since(\"1.2.0\") \n  * class TrainValidationSplit @Since(\"1.5.0\") (@Since(\"1.5.0\") override val uid: String)\n

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/47069/
Test PASSed.

Merged build finished. Test PASSed.

LGTM. Merged into master and branch-1.6. Thanks!

Thank you for merging it!


server error 500 No command specified

Is there a problem on my end, or is the service down right now?

@BarryLevinson Hi, this is a problem with the specific docker image - it did not specify how to run it when a container is created.


Enquiry about precompile and postcompile function options

grunt-markdown has preCompile and postCompile options for performing custom modifications to the file contents before/after the Markdown-to-HTML conversion.
Do you think it would make sense to integrate this feature into your plugin?

Nope, you can easily do that with something like https://github.com/geejs/gulp-tap


2140: Foreground push notifications

Short description
Letting push notifications appear in the foreground too.
Proposed changes

Installed Notifee which seems quite well-supported
Used that to show a notification in the foreground if one comes in while the app is open
Added a notification icon for Android (it needs to be black-and-white, and with a transparent background)

Side effects
Should be nothing
Notes for testing
I have not been able to receive notifications in emulated iOS, only on my real iPhone.
On Android, I have only been able to test on emulated Android, it would be cool if we could have at least one test on a real Android device.
And in both cases, the test CMS takes too long until the notification is in the news, so you see the error screen for a good second or two before the actual content appears. This seems to not happen in the real CMS though.
Resolved issues

Fixes: #2140

@f1sh1918 The test CMS takes too long until the notification is in the news, so you see the error screen for a good second or two before the actual content appears. This seems to not happen in the real CMS though.

@f1sh1918 The test CMS takes too long until the notification is in the news, so you see the error screen for a good second or two before the actual content appears. This seems to not happen in the real CMS though.

hm i don't think this is the issue i get also an error
The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.

Hm i really have no idea how to fix this. Pushed some time into it.
I mean if the cms needs some time to get the push notification in the api. Shouldn't it help to setTimeout around the notifee.displayNotification to just wait until we display it instead of timeout the onForegroundEvent
Nevertheless even more timeout doesn't help
I even checked the onReady function of the NavigationContainer and passed a prop to check if its ready which seem to be the case.
I also tried to set the ref but looks like i can not do it in combination with linking (deeplinking)

You're right, it's more than just the CMS taking some time. I'm currently trying to handle the tapping the same way as background notification is handled, by opening the redirect route but that screen somehow never opens. It's a weird issue. I'll keep trying 🤷

You're right, it's more than just the CMS taking some time. I'm currently trying to handle the tapping the same way as background notification is handled, by opening the redirect route but that screen somehow never opens. It's a weird issue. I'll keep trying 🤷

hm maybe the solution is good enough. Even i think this timeout is not very stable :/

Oh. All good, thank you! But it's frustrating to not know why it doesn't work with the Test CMS

I just tested removing the timeout fully and using the real CMS, and it did show the error message. So it looks like something like the timeout is still necessary 😞


Intellisense support

Hi @AgentCosmic, just wanted to know, is it possible to somehow have intellisense for the generated variables? Maybe there's a plugin for that for postCss that I don't know of. Just wanted to know how you solve this problem for yourself.
I'm using pcss modules in my React projects, and since I'm importing all the variables in index.css, I don't get any variable suggestions in my css modules files.
Thanks for advice!

Hi Olegkron, I don't use vscode so I'm not very sure. You might need to generate and save the resulting CSS to a file for Intellisense to pick up the variables.


The Synopsis line is empty (with $ opam list)

iter v1.2.1 - opam v2.1.0
No Synopsis line when running:
$ opam list

Using ...over 'iter' instead of ...over `iter` should solve the issue.

That's a opam bug in my book.

Sorry to re-open this issue, but look at this:
https://github.com/ocaml/opam/issues/4846
Une petite partie de ping-pong ? :ping_pong:

Shouldn't that be in opam-repo? The iter.opam file seems correct since it has a description field, right?

ah, is it a problem with opam-publish then? :roll_eyes:


Exporter returns only one metric

Describe the issue
I tried to run exporter both in docker and as package, but always was getting only one metric called "nginx_parse_errors_total 0" even when I used log with wrong format.
Command I used to run via docker:
docker run     --name nginx-exporter     -v /var/log/nginx:/mnt/nginxlogs     -p 4040:4040     quay.io/martinhelmich/prometheus-nginxlog-exporter     mnt/nginxlogs/event-service-access.log.1

Command I used to run via package:
prometheus-nginxlog-exporter /var/log/nginx/event-service-access.log.1

Example log file (remove section, if not applicable):
ip.ip.ip.ip - - [15/Oct/2020:01:04:53 +0000] "HEAD / HTTP/1.1" 404 0 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.85 Safari/537.36"
ip.ip.ip.ip - - [15/Oct/2020:03:28:40 +0000] "145.ll|'|'|SGFjS2VkX0Q0OTkwNjI3|'|'|WIN-JNAPIER0859|'|'|JNapier|'|'|19-02-01|'|'||'|'|Win 7 Professional SP1 x64|'|'|No|'|'|0.7d|'|'|..|'|'|AA==|'|'|112.inf|'|'|SGFjS2VkDQoxOTIuMTY4LjkyLjIyMjo1NTUyDQpEZXNrdG9wDQpjbGllbnRhLmV4ZQ0KRmFsc2UNCkZhbHNlDQpUcnVlDQpGYWxzZQ==12.act|'|'|AA==" 400 150 "-" "-"
ip.ip.ip.ip - - [15/Oct/2020:05:31:38 +0000] "GET / HTTP/1.1" 404 146 "-" "libwww-perl/6.49"
ip.ip.ip.ip - - [15/Oct/2020:10:25:30 +0000] "GET /bag2 HTTP/1.1" 400 650 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)"

Metrics output (remove section, if not applicable):
For docker:
# HELP nginx_parse_errors_total Total number of log file lines that could not be parsed
# TYPE nginx_parse_errors_total counter
nginx_parse_errors_total 0

For package:
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0
go_gc_duration_seconds{quantile="0.75"} 0
go_gc_duration_seconds{quantile="1"} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 15
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.13.10"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 1.6266e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 1.6266e+06
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 1.44358e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 240
# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started.
# TYPE go_memstats_gc_cpu_fraction gauge
go_memstats_gc_cpu_fraction 0
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 2.240512e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 1.6266e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 6.4282624e+07
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 2.301952e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 3518
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes gauge
go_memstats_heap_released_bytes 6.4282624e+07
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
go_memstats_heap_sys_bytes 6.6584576e+07
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
# TYPE go_memstats_last_gc_time_seconds gauge
go_memstats_last_gc_time_seconds 0
# HELP go_memstats_lookups_total Total number of pointer lookups.
# TYPE go_memstats_lookups_total counter
go_memstats_lookups_total 0
# HELP go_memstats_mallocs_total Total number of mallocs.
# TYPE go_memstats_mallocs_total counter
go_memstats_mallocs_total 3758
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
# TYPE go_memstats_mcache_inuse_bytes gauge
go_memstats_mcache_inuse_bytes 3472
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
# TYPE go_memstats_mcache_sys_bytes gauge
go_memstats_mcache_sys_bytes 16384
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
# TYPE go_memstats_mspan_inuse_bytes gauge
go_memstats_mspan_inuse_bytes 20400
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
# TYPE go_memstats_mspan_sys_bytes gauge
go_memstats_mspan_sys_bytes 32768
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
# TYPE go_memstats_next_gc_bytes gauge
go_memstats_next_gc_bytes 4.473924e+06
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
# TYPE go_memstats_other_sys_bytes gauge
go_memstats_other_sys_bytes 526844
# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
# TYPE go_memstats_stack_inuse_bytes gauge
go_memstats_stack_inuse_bytes 524288
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
# TYPE go_memstats_stack_sys_bytes gauge
go_memstats_stack_sys_bytes 524288
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 7.1368952e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 9
# HELP nginx_parse_errors_total Total number of log file lines that could not be parsed
# TYPE nginx_parse_errors_total counter
nginx_parse_errors_total 0
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 0.01
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1.048576e+06
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 11
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 8.933376e+06
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.60613961157e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 1.16211712e+08
# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.
# TYPE process_virtual_memory_max_bytes gauge
process_virtual_memory_max_bytes -1
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
# TYPE promhttp_metric_handler_requests_in_flight gauge
promhttp_metric_handler_requests_in_flight 1
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 1
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0

Exporter output (remove section, if not applicable):
For docker:
using configuration {Listen:{Port:4040 Address:<IP_ADDRESS> MetricsEndpoint:/metrics} Consul:{Enable:false Address: Datacenter: Scheme: Token: Service:{ID: Name: Address: Tags:[]}} Namespaces:[{Name:nginx NamespaceLabelName: NamespaceLabels:map[] MetricsOverride:<nil> NamespacePrefix: SourceFiles:[] SourceData:{Files:[mnt/nginxlogs/event-service-access.log.1] Syslog:<nil>} Format:$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" Labels:map[] RelabelConfigs:[] HistogramBuckets:[] PrintLog:false OrderedLabelNames:[] OrderedLabelValues:[]}] EnableExperimentalFeatures:false EnableExperimentalFeaturesOld:false}
starting listener for namespace nginx
running HTTP server on address <IP_ADDRESS>:4040, serving metrics at /metrics
2020/11/23 14:21:17 Seeked mnt/nginxlogs/event-service-access.log.1 - &{Offset:0 Whence:2}

For package:
using configuration {Listen:{Port:4040 Address:<IP_ADDRESS> MetricsEndpoint:/metrics} Consul:{Enable:false Address: Datacenter: Scheme: Token: Service:{ID: Name: Address: Tags:[]}} Namespaces:[{Name:nginx SourceFiles:[] SourceData:{Files:[/var/log/nginx/event-service-access.log.1] Syslog:<nil>} Format:$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" Labels:map[] RelabelConfigs:[] HistogramBuckets:[] OrderedLabelNames:[] OrderedLabelValues:[]}] EnableExperimentalFeatures:false EnableExperimentalFeaturesOld:false}
starting listener for namespace nginx
running HTTP server on address <IP_ADDRESS>:4040
2020/11/23 13:53:32 Seeked /var/log/nginx/event-service-access.log.1 - &{Offset:0 Whence:2}

Environment:

Exporter version: 1.6.0
OS (e.g. from /etc/os-release): ubuntu 20.04
Deployment method (e.g. Docker image, deb/rpm package, self-compiled, ...): docker, package
Others:

Ok, that was fun. Maybe I don't know something and it's right. But when you try to use old log file with exporter, it ignore old lines in this file. So, when you run exporter with some log file, exporter will see only lines which appear after exporter started. Sorry for my english, hope, that you understand ;)
Also log format given in the end of readme section will produce parse error if you will use exporter with default log format. To avoid this, you need to add to nginx's log_format variable $http_x_forwarded_for, so the log_format will be like this:
log_format upstream_time '$remote_addr - $remote_user [$time_local] '
                         '"$request" $status $body_bytes_sent '
                         '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" '
                        'rt=$request_time uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time"';


"InterfaceError: connection already closed" being raised when a test is run

Hello,
First off, congratulations on this awesome app. I am using Python 2.7, Django 1.9 and Postgresql 9.3.
Settings dict for django-q is as follows:
Q_CLUSTER = {
    'name': 'pulsecheck',
    'workers': 2,
    'recycle': 500,
    'compress': True,
    'save_limit': 250,
    'label': 'Task Management',
    'redis': {
        'host': '<IP_ADDRESS>',
        'port': 6379,
        'db': 0, }
}

This is what I have in tests.py:
Conf.SYNC = True

...

def test_stuff(self):
    ...
    async('some_stuff', var1, var2)
    ...
    assert ...

When tests are run, this is what I get:
Creating test database for alias 'default'...
16:53:03 [Q] INFO MainProcess ready for work at 30995
16:53:03 [Q] INFO MainProcess processing [stairway-iowa-solar-lactose]
16:53:03 [Q] INFO MainProcess stopped doing work
16:53:03 [Q] INFO MainProcess monitoring at 30995
16:53:03 [Q] ERROR connection already closed
16:53:03 [Q] ERROR Failed [stairway-iowa-solar-lactose] - connection already closed
16:53:03 [Q] INFO MainProcess stopped monitoring results
E
======================================================================
ERROR: test_activation_successful (core.tests.AuthTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/ozgurisil/dev/pulsecheck_env/src/pulsecheck/core/tests.py", line 358, in test_activation_successful
    user = User.objects.get(username='testuser')
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/models/manager.py", line 122, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/models/query.py", line 381, in get
    num = len(clone)
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/models/query.py", line 240, in __len__
    self._fetch_all()
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/models/query.py", line 1074, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/models/query.py", line 52, in __iter__
    results = compiler.execute_sql()
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 846, in execute_sql
    cursor = self.connection.cursor()
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 233, in cursor
    cursor = self.make_cursor(self._cursor())
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 206, in _cursor
    return self.create_cursor()
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/utils.py", line 95, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 206, in _cursor
    return self.create_cursor()
  File "/home/ozgurisil/dev/pulsecheck_env/local/lib/python2.7/site-packages/django/db/backends/postgresql/base.py", line 210, in create_cursor
    cursor = self.connection.cursor()
InterfaceError: connection already closed

----------------------------------------------------------------------
Ran 1 test in 1.382s

PS: The error still occurs if async(..., sync=True) format is used.

+1

Can confirm this on Django 1.9.7 / Python 3.5.1 / PostgreSQL.
./manage.py tests fail because of this with sync mode and without sync mode I can't get any async tasks to run at all... any guidelines available on doing automated testing ?

All the Travis CI tests are run with sqlite3. What I'll try to do this week is add postgres to it. That is probably a fairer representation of what most people with use anyway.
We added quite a lot of extra close statements in the code add some point to prevent connection sharing between the workers. The connection would then hop threads and this would cause a security error in Postgres. I guess something changed in Django 1.9 . Should not be too hard to track down once I have the test environment set up for it.

Turns out this is something both django https://code.djangoproject.com/ticket/15802 and Celery struggle with too https://github.com/celery/django-celery/issues/121
It might be outside my expertise, but I'll give it try.

I think I've come up with a solution. I'm now using TransactionTestCase class instead of TestCase. This keeps connection alive. Note thats I'm using Django Q and not Celery.

My tests passes with TransactionTestCase (or in my case pytest.mark.django_db(transaction=True)) with celery_worker fixture. Looks like connection  is not dropped anymore.

Seems this issue can be closed because the fix is known.
Also thanks for pointing this out! I also updated my tests to use TransactionTestCase.


Guice 4.0

Would be cool to upgrade to Guice 4.0 as it has just been released officially including proper Java 8 support.

Sure, are you using vert.x 2 or 3?

Currently we require still vert.x 2, but we are going to port our project to vert.x 3 once the final release is available. Thanks a lot in advance! :)

3.0.0-SNAPSHOT uses guice 4.0.  The feature branch can be seen here: https://github.com/englishtown/vertx-guice/tree/feature/guice-4

Are there plans to release version 3?

guice 4.0 was added in in commit 811d2421143f7da8a0aaa73057e0e28e89406c60
It was included with release 2.1.0
<dependency>
    <groupId>com.englishtown.vertx</groupId>
    <artifactId>vertx-guice</artifactId>
    <version>2.1.0</version>
</dependency>


DOCS-961: Fix the typo in CE TOC

https://tigera.atlassian.net/browse/DOCS-961?atlOrigin=eyJpIjoiNjcwOGI0N2ZhMDNiNDE0NThhZTFhY2IyZTBiOTg2YzQiLCJwIjoiaiJ9
To cherry-pick into the alt-main branch?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Girish Sankaran seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[Lists] scroll animation design exploration

Overview
Continuing the work of #4873 this work explores the detailed design aspects of introducing scroll animations into this element. We need to figure out what settings are used, when, and too what parts of this component if at all.
Here is a list of components and elements that could potentially be impacted by this work and should be considered at some level.

UL
OL
checkboxes
radio buttons
link list
table of contents
Footer nav items
Locale modal locale search items
Content group with pictograms
Content group horizontal

Acceptance

[ ] design exploration
[ ] design review
[ ] design approval
[ ] design specs updated

Resources

Scroll animation [box][codepen][research]
Scroll into view [box]

Covered by existing prototype James already done. https://cognitive-app.slack.com/archives/G01CFF8ETPU/p1625777081026300


Warning: Calling useRoute within middleware may lead to misleading results

Hi!
Im on nuxt 3.4.1 and @nuxtjs/i18n 8.0.0-beta.11
In a middleware, I want to redirect a user to the login page with the localized URL:
import { defineNuxtRouteMiddleware, navigateTo } from '#app'
import { useLocalePath } from '#i18n'

export default defineNuxtRouteMiddleware(async (to) => {

  // ...some logic...

  return navigateTo(localePath('identity-Login'))
})

Using the localePath function generates the following warning in the console:

Is there a way to do it "better" so this warning is not displayed?

I think you can use $localePath() via useNuxtApp the below:
const nuxt = useNuxtApp()
nuxt.$localePath()

$localePath is exported via nuxt instance.
Thanks!

I think you can use $localePath() via useNuxtApp the below:
const nuxt = useNuxtApp()
nuxt.$localePath()

$localePath is exported via nuxt instance.
Thanks!

Works! Thanks!


Feedback on OWNERS file

Knowing who owns a project or piece of code is often tribal knowledge, which makes it difficult to know who to ask for help, feedback, or review.
I would love feedback on this proposal for an OWNERS file, which is a human and machine readable format that specifies who is responsible for maintaining a project or specific files in a project, and may be used to notify maintainers of modifications or to enforce approval in reviews.
$ cat OWNERS
# Specify owners by email address.
<EMAIL_ADDRESS>
# …or GitHub username
@username

# …or GitHub team
@org/team

# …and even limit to specific paths
@org/js *.js
@org/legal LICENSE*

Not only does this communicate who is currently responsible for the project, it could also be used to suggest who to CCs on pull requests. Someone that wants to keep up with specific parts of the code on a very active project could add their name to the OWNERS file with a glob of the files they care about.
What do you think?
/cc https://github.com/bkeepers/dotenv/pull/198 for an example
/cc @josh @mikemcquaid @benbalter

seems this information is already present in repos for (some) ecosystems. In node, there is the author and contributors fields in package.json as well as the maintainers info on the npm registry: e.g. https://www.npmjs.com/package/lineman/access.
Ideas on how the info could be shared without being duplicated?

Love the idea. I share @jasonkarns' concern about duplication but I think it's reasonable to expect that the owners listed in OWNERS may differ from those in a gemspec.

Ideas on how the info could be shared without being duplicated?

As @laserlemon alludes to, I think the information in package.json/gemspec/etc may serve a slightly different purpose, such as attribution.  OWNERS is intended to reflect who currently maintains the project.

Great idea! This would be great to see some integration on GitHub (if a name or team was included in the OWNERS file). Example, you have the following OWNERS file:
@org/frontend *.js

When opening your pull request for changes to javascript files it could display a notice like "Perhaps you should include @org/frontend?".

Rather than creating a new standard, what about adopting/extending the Humans.txt format?

:metal:

Rather than creating a new standard, what about adopting/extending the Humans.txt format?

The OWNERS/MAINTAINERS file convention has been around for a long time. Here's Linux core's from 2005.
/cc @thoward as we were just talking about this.

I think one key difference is whether or not the file is meant to be machine readable, or human readable.
At Twitter, we use OWNERS files in subpaths to describe ownership of that subpath. It's primarily used in a machine-readable context, by internal tools such as review/CI process. I'm pretty sure this is a Google-ism that we inherited from folks we hired from there. We also use a GROUPS file when group ownership is relevant (though this is used pretty sparsely). Our files are very simplistic, containing only a single LDAP username (or group name) per line. We also support wildcard *, however there are no @ symbols in our usernames. A minor difference.
The Linux MAINTAINERS seems to be focused on human-readable, with lots of free-form prose without any sort of comment demarcation, though it looks parseable as well.
The humans.txt format seems to lean a bit more parseable, but still rather free-form, and thus more focused on human-readable use case vs machine readable.