Windows: Color of subpixel rendering changes when opening menu bar

Version: 1.35.1 (user setup)
Commit: c7d83e57cd18f18026a8162d042843bda1bcf21f
Date: 2019-06-12T14:30:02.622Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.18362
I also double checked that the problem is on the Insider's Build.
Steps to Reproduce:

Observe text on screen. It should have gray subpixel rendering.

Open menu bar.
Observe text on screen. It should have RGB subpixel rendering.

This issue occurs on all text (except the menu bar submenus). I noticed it, because the text rendering looks better, but only when the menu bar was open! I would prefer all of it to use RGB subpixel rendering, like my other applications.
Does this issue occur when all extensions are disabled?: Yes

Verified this is happening.

I'm seeing this revered now.
No menu open, RGB:

Menu open, gray:

The fix didn't work so I just reverted it, will look for a better after shipping

In version 1.36.1, I currently see the following:

Top-level menu items that haven't been clicked: Grey subpixel rendering

Top-level menu items after being clicked: RGB subpixel rendering

Submenu items: Grey subpixel rendering

Tab Headers: Grey subpixel rendering

Text content of open files: RGB subpixel rendering

/cc @deepak1556 we should test this with exploration builds

tested with latest exploration, not changed

@sbatten @alexr00 I encourage you to try to reproduce running from web and then report it to Chrome. I don't think it is Electron to blame.

I can't repro this with web and alternate menu.

@alexr00 thanks for trying this, I will go ahead and close this given this is possibly fixed by E6 update.

Before closing, did you also test all of these inconsistencies reported in this thread?
Top-level menu items that haven't been clicked: Grey subpixel rendering
Top-level menu items after being clicked: RGB subpixel rendering
Submenu items: Grey subpixel rendering
Tab Headers: Grey subpixel rendering
Text content of open files: RGB subpixel rendering
Side Bar (Extensions, Search, Explorer, etc.): Grey subpixel rendering
Terminal / PowerShell console content: RGB subpixel rendering
Terminal Headers (Problems, Output, Debug Console, Terminal): Grey subpixel rendering

@Eldaw how about you try our insiders build for a while and report the results back?  You can give our preview releases a try from: https://code.visualstudio.com/insiders/

Insiders:
RGB subpixel rendering occurs only for the terminal. Gray everywhere else. Thus, the precise problem of this particular issue is not testable.

@bpasero I already went to the effort of testing all the above scenarios previously. What you're saying is that rather than have somebody at Microsoft try out what I already did, you want to put the onus back on me and ask me to do even more testing on my side. All the while knowing that you'd already decided to simply close the issue anyway. I agree with others that have been saying the VS Code team doesn't seem to show the appropriate level of respect and gratitude for the time and effort spent by others reporting issues.

@Eldaw I think it is more the case that because the Insiders build has a newer version of Electron, a lot of new variables are at play. It's not as though they will go back and fix the stable version just for something minor like this, so it's only worthwhile to work based off the Insiders build. They probably have many issues which they need to complete, so when something is just working, they probably prioritize things currently broken.

RGB subpixel rendering occurs only for the terminal. Gray everywhere else. Thus, the precise problem of this particular issue is not testable.

I would not give up so early. If we can reproduce this in Chrome alone, then we can start reporting this upstream. This is possible now with:

git clone https://github.com/bpasero/vscode-runner.git
yarn
yarn web

It should open a VSCode UI in your browser (a lot less functional, but should do it for this purpose).
@Eldaw yes, the intent of my question was to try to reproduce this because insiders ships with a Chrome version of 76, while stable is on 69. That is 7 (!) Chrome versions ahead with thousands of people having worked on it. Often rendering issues like this one are resolved meanwhile if you take the amount of changes into account that went in.

In latest insiders, I can still reproduce the menu issue:
Top Menu closed
Bottom Menu open

Which probably means all/many of the other inconsistencies reported in this issue haven't changed either. The strategy that certain members of the VS Code team advocate, which basically boils down to "leave an issue for a few months, then close it with the reason that the overall codebase has changed a lot over that time so maybe it's not valid anymore" makes no sense. Using that strategy and ethos, nothing would ever get fixed.

@Eldaw Firstly, the fact that it was re-opened (by the person who closed it) after additional information indicates that closing it was a mistake. Second, nobody is advocating that strategy. A basic test was performed to ascertain whether the issue still exists, but it was not rigorous enough to be considered valid. All you have to do when you see a mistake is provide evidence that to the contrary, and that should be enough. Perhaps it would help if you provided methodology for dealing with issues which have many variables like this one. I can't imagine that a situation in which the developers test every potential issue rigorously leaves room for fixing actual problems.

@kroppt The issue that you logged was inappropriately closed by the developers and I was the first to question why it was closed. And now you're against me? Put simply, an invalid test was done (instead of a valid test of the things I'd highlighted and added to your issue) and that was good enough for the developer to consider that this issue should be closed. Yes, he has corrected that now, after his decision was questioned. What doesn't make any sense is why you want to argue with me now, when I'm trying to help keep your issue open until it is fixed.

@Eldaw

The issue that you logged was inappropriately closed by the developers and I was the first to question why it was closed. And now you're against me?

I do not argue against people, but rather against ideas, which you happened to write.

Put simply, an invalid test was done (instead of a valid test of the things I'd highlighted and added to your issue) and that was good enough for the developer to consider that this issue should be closed. Yes, he has corrected that now, after his decision was questioned.

I agree about the invalid test, as that's what I said above. I appreciate your efforts in documenting the problem.

What doesn't make any sense is why you want to argue with me now, when I'm trying to help keep your issue open until it is fixed.

I don't think it is helping as much as you think.
We're all here for the same reason. I think you should be more professional is my basic point. Part of that is typing clearly and precisely. I don't really see how some of what you said is relevant to the issue at hand.
So, I think we should stop talking about it on this issue, since the complaints have already been voiced.

Reported as: I wonder if this issue is reproducible when running VSCode in a browser or bare Electron. For that purpose, can you please:

install git if not installed already (https://git-scm.com/)
install node.js if not installed already (https://nodejs.org/en/download/)
install yarn if not installed already (https://yarnpkg.com/lang/en/docs/install)
git clone https://github.com/bpasero/vscode-runner.git
yarn
Web (Chrome only): yarn web
Electron: yarn electron

And report back if you still reproduce the issue in either or both web and Electron?

I tried the instructions you listed for VSCode Runner, and it didn't seem to work. Many of such errors:
Error: ENOENT: no such file or directory, stat 'C:\Users\User\code\vscode-runner\.build\vscode-web\out\vs\code\browser\workbench\workbench.js'

The page is blank for both web and electron. Same errors in both.
Perhaps I missed some implied step? the .build folder is empty.

i believe it ran correctly at least on the web :)

@kroppt @Eldaw quick question: when you close all opened editors and hide the sidebar, does that make any difference with regards to the menu?

This seems to be caused by Chrome putting the submenu on a different layer when expanded:

As explained in https://bugs.chromium.org/p/chromium/issues/detail?id=1016062#c18

@bpasero I get that the RGB subpixel rendering only shows up on the menu bar when all files are closed and the sidebar is closed. This behavior is the same for stable and insiders.

IMHO I don't think the fact that Chromium decides to create a layer for the menu is a bug. I consider more a bug the fact that the menu, when it is a separate layer, is rendered with sub-pixel AA off.
IMHO the menu should improve its DOM and make sure it respects the following rules (taken from https://www.html5rocks.com/en/tutorials/internals/antialiasing-101/):

That means we might need to give up on shadows or have two dom nodes, each one on a separate layer (layers can be created via will-change), one with the shadow and one with the text content.

@kroppt can you try with setting "editor.disableLayerHinting": true ?

@bpasero Adding that setting removes RGB subpixel rendering when editing text in the situations in which there is RGB subpixel rendering for text, which is currently only stable (1.39.2).

latest insiders for me is showing greyscale whether the menu is opened or closed, anything that should have changed this @bpasero @deepak1556 ?

Not to my knowledge, can you check in devtools if the menu is put on a separate layer?

Strange, my understanding is that subpixel-aa only gets disabled when the component moves to another layer. But maybe there are more cases...

it may be the result of moving the window controls to icon fonts and using opacity there based on @alexandrudima's comment

This still reproduces even with our latest changes, only when the menu is expanded.

Like our other components, the menu suffers from having a shadow, having an animation, and additionally a transparent border on menu entries.
While I could fix the transparent border issue, fixing with the shadow and animation requires introducing a new GPU rendering layer and that will break submenus as I can't get them to render properly once they've been explicitly promoted.
Also, getting rid of the shadow or animation really hurts the appearance of menus.
After all this SPAA investigation, it is very disappointing how much time our team has had to sink into an issue that app developer's shouldn't need to worry about.


[BUG] how to remove default fonts in popup.html

What happened?
A bug happened! A goole fonts injected in popup.html.

I do not need this style and most of my users can not load google fonts.
Why inject this code and how to remove them? I really don`t want to rewrite the html file manually after build
Version
Latest
What OS are you seeing the problem on?
MacOSX
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
(OPTIONAL) Contact Details
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

BTW @yipf42 are you seeing error if that font is included? I.e, beside the unused code and potential network request error, does the font itself causes the extension to not working at all?

crux of the matter is google fonts can't be accessed in my country because of the GFW😭

hhh, just remove it in popup.tsx if users are 翻不了墙...
...
const removeStyle = (() => {
  document.querySelectorAll('head style')
    .forEach(el => el.parentNode.removeChild(el));
})()

...

How to set custom font?
https://fonts.google.com/specimen/Audiowide
Thx.

@alexbakers you can import them via HTTPS scheme in css OR download them: https://docs.plasmo.com/framework/content-scripts-ui/styling#custom-font


Allocate adjacent RAM pages to adjacent file pages

All algorithms which we (are going to) use rely on simple idea in nutshell - convert as much random access as possible to sequential access. It will make all data access operations much faster starting from CPU cache and ending to HDD or SSD. So it will be logical to put pages in cache system which belongs to adjacent files to adjacent memory locations.

not relevant any more


BUG: approx_jacobian is not importable from scipy.optimize

Describe your issue.
At trackpy we are getting a DeprecationWarning while importing approx_jacobian from the scipy.optimize.slsqp namespace since Scipy 1.8.0. The warning suggests importing it from scipy.optimize instead; however this fails with an ImportError.
I can imagine that you made the approx_jacobian private intentionally, but I am not sure; it is the only function (next to the fmin_slsqp) that is exposed via __all__ in _slsqp_py.
Thanks in advance for your response.
Reproducing Code Example
In [3]: from scipy.optimize.slsqp import approx_jacobian
<ipython-input-3-fb2e7c7e26cb>:1: DeprecationWarning: Please use `approx_jacobian` from the `scipy.optimize` namespace, the `scipy.optimize.slsqp` namespace is deprecated.
  from scipy.optimize.slsqp import approx_jacobian
In [4]: from scipy.optimize import approx_jacobian

Error message
ImportError                               Traceback (most recent call last)
Cell In[4], line 1
----> 1 from scipy.optimize import approx_jacobian

ImportError: cannot import name 'approx_jacobian' from 'scipy.optimize'

SciPy/NumPy/Python version and system information
1.11.4 1.26.3 sys.version_info(major=3, minor=11, micro=4, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: pkgconfig
    found: true
    include directory: /usr/local/include
    lib directory: /usr/local/lib
    name: openblas
    openblas configuration: USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS=
      NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= HASWELL MAX_THREADS=2
    pc file directory: /usr/local/lib/pkgconfig
    version: 0.3.21.dev
  lapack:
    detection method: pkgconfig
    found: true
    include directory: /usr/local/include
    lib directory: /usr/local/lib
    name: openblas
    openblas configuration: USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS=
      NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= HASWELL MAX_THREADS=2
    pc file directory: /usr/local/lib/pkgconfig
    version: 0.3.21.dev
  pybind11:
    detection method: config-tool
    include directory: unknown
    name: pybind11
    version: 2.11.0
Compilers:
  c:
    commands: cc
    linker: ld.bfd
    name: gcc
    version: 10.2.1
  c++:
    commands: c++
    linker: ld.bfd
    name: gcc
    version: 10.2.1
  cython:
    commands: cython
    linker: cython
    name: cython
    version: 0.29.36
  fortran:
    commands: gfortran
    linker: ld.bfd
    name: gcc
    version: 10.2.1
  pythran:
    include directory: ../../tmp/pip-build-env-lzd6dam0/overlay/lib/python3.11/site-packages/pythran
    version: 0.14.0
Machine Information:
  build:
    cpu: x86_64
    endian: little
    family: x86_64
    system: linux
  cross-compiled: true
  host:
    cpu: x86_64
    endian: little
    family: x86_64
    system: linux
Python Information:
  path: /opt/python/cp311-cp311/bin/python
  version: '3.11'

This function was never intended to be public. In the upcoming release of scipy there will be a better error message
In [1]: from scipy.optimize.slsqp import approx_jacobian
<ipython-input-1-fb2e7c7e26cb>:1: DeprecationWarning: `scipy.optimize.slsqp.approx_jacobian` is deprecated along with the `scipy.optimize.slsqp` namespace. `scipy.optimize.slsqp.approx_jacobian` will be removed in SciPy 1.13.0, and the `scipy.optimize.slsqp` namespace will be removed in SciPy 2.0.0.
  from scipy.optimize.slsqp import approx_jacobian

I can imagine that you made the approx_jacobian private intentionally, but I am not sure; it is the only function (next to the fmin_slsqp) that is exposed via all in _slsqp_py.

We should remove it from this __all__.

Closing as the issue with the misleading warning message has already been fixed - feel free to copy paste the implementation if licences allow.

Thanks @lucascolley for the fast response


Shortcuts with chords do not work with numpads when num lock is off

Microsoft PowerToys version
0.79.0
Installation method
GitHub, PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
Keyboard Manager
Steps to reproduce
https://github.com/microsoft/PowerToys/assets/123282471/99c85212-8342-442f-896c-153c697a7ee1
✔ Expected Behavior
I expect chords for numpads to work when num lock is off
❌ Actual Behavior
It will delete the shortcuts that I defined and it will also delete other shortcuts
Other Software
No response

I can repro this! With the exact same inputs as in the video. Trying to figure out exact scenarios.

The Settings Application is the one cleaning the file out. That's fun. 😄  Trying to find root cause.

Basically the numpad keys have extended information and their value ends up overflowing when trying to load into Settings, since the second chord was encoded as a signed integer... Should've been an unsigned integer.

This has been worked on during the 0.80 release cycle.
Please update to the latest release: https://github.com/microsoft/PowerToys/releases


All accelerometers have values of 0，When I tried to get IMU data from SVO

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues.
[X] This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description
I can't get complete IMU data from SVO. All accelerometers have values of 0. The data of SVO comes from ZED Explorer.exe with zed2 .
Steps to Reproduce
1、Use the ZED Explorer.exe to record SVO
2、Modify the code in ZED SDK\samples\svo recording\export\python\svo_export.py，Adding code for reading IMU
3、The added code is as follows：
sensors_data = sl.SensorsData()
#The following is in the while loop------
zed.get_sensors_data(sensors_data, sl.TIME_REFERENCE.IMAGE)
# Extract IMU data
imu_data = sensors_data.get_imu_data()
angular_velocity = imu_data.get_angular_velocity()
linear_acceleration = imu_data.get_linear_acceleration()
Expected Result
The value of accelerometer is not 0
Actual Result
0The value of accelerometer is 0
ZED Camera model
ZED2
Environment
os:win10
cpu:corei5
gpu：nvidia GeForce MX250
zed sdk:3.7.1

Anything else?
no

Hi,
Just tested with 3.7.2 and works as expected.
--> linear_acceleration returns correct values (norm = 9.8)
--> angular_velocity is at 0 as expected because the SVO contains only data that have a meaning in image framerate (i.e. accelerometer + magnetometer)

Same pb here, with version 3.7 (docker)
ack = self.cam.get_sensors_data(sensors_data, sl.TIME_REFERENCE.CURRENT)

always returns an error. I also tried with time reference image.

Hello @obraun-sl ,
Sorry for reviving a long-dead issue. I can see that above you mentioned that angular_velocity coming from the gyro is expected to be 0 when a SVO file is replayed.
Is there a way to interfere with this behavior? Can you point me to the right direction to change this. This is currently diminishing the value of the sensor for me.

Hi,
Sorry for the late reply.
Since then, we have release SVO"Gen2" (which write *.svo2 files) where raw imu data are stored and available through the SDK
(compared to SVOGen1 which only contains fused IMU data)

Thank you for your reply! Much appreciated. From what I see with ZED SDK version 4.1 .svo2 recording got into place. I am happy to upgrade. Before doing so,

I have a ZED2i instead of a ZEDX. Does this hinder my ability to use .svo2 ?
My integration is based on ROS1, is the .svo2 format have special requirements?

Once again thank you for your support!


helm v3.0.0-alpha.2 doesnt support lack of trailing slash in repo url

Output of helm version:
version.BuildInfo{Version:"v3.0.0-alpha.2", GitCommit:"97e7461e41455e58d89b4d7d192fed5352001d44", GitTreeState:"clean", GoVersion:"go1.12.7"}
In former versions like v2.14.2 the missing trailing slash  was supported when executing following command:
helm fetch tekton --repo https://storage.googleapis.com/chartmuseum.jenkins-x.io
Now with helm3 I get following error:
helm fetch tekton --repo https://storage.googleapis.com/chartmuseum.jenkins-x.io Error: failed to fetch https://storage.googleapis.com/charts/tekton-0.0.42.tgz : 403 Forbidden
because he seems to dismiss the repo flag alltogether. When executing
helm fetch tekton --repo https://storage.googleapis.com/chartmuseum.jenkins-x.io/ it works.
This gets in conflict with the jx binary of Jenkins X which produces repo-urls without the trailing slashes.
It would be nice if missing trailing slashes would be supported again.

I think it's more of required feature than a nice feature. We'll surely fix this. Will raise a PR for this

Perhaps we need to port over https://github.com/helm/helm/pull/4956.

fixed via #6121.


Call out what components work in air-gapped environments.

I assume something like Trivy needs ability to pull latest CVE DB info, but it would be great to know what does (or doesn't) work in air-gapped clusters.
Going further, there might be some additional config / docs needed for those types of environments.

Thank you for bringing this up @jimangel
We'll update the README with prerequisites such as you mentioned. Beyond that we'll explain what are the RBAC privileges required to run Starboard CLI.

if you can run your own trivy container, you could rebuild it with up to date CVE DB info periodically. Can you specify which trivy image to use to starboard?

We've published project documentation on https://aquasecurity.github.io/starboard/v0.11.0/
Under the Integrations menu there are pages that describe each plugin in details, e.g. Trivy.
If some information is still missing please elaborate and we'll add it.

I'm not seeing in the updated documentation how to do an airgapped database download, unless thats what the client/server mode is intended to do?

I'm not seeing in the updated documentation how to do an airgapped database download, unless thats what the client/server mode is intended to do?

This issue wasn't about Trivy in air-gapped environments. It was about documenting requirements and constraints. What you're probably looking for is tracked under #617

ah. got it. sorry for the confusion. thanks.


Add json-logic integration

Add json-logic to allow means to check Object reference for conditional expressions
https://github.com/jwadhams/json-logic-js/
eg:
{
   "valueA" : {
      "type": "Boolean"
   },
   "valueB": {
       "type: "String",
       "default: {
         "if": [
               {"valueA": {"eq": true}},
               "ok",
               // ternary if-false param is optional
               "not ok"
          ]
       }
    }
}

this opens the door to jsonPath stuff... but that can wait till later

closing as decided agains this


GPUImage 1 vs GPUImage 2? Performance differences?

Hey Brad, super excited about this new release. Great work... You inspire.
I was wondering if you had done any metrics on the new version versus the old? Are there significant performance increases?

In general, the per-frame processing benchmarks are pretty much the same right now.
The new framework is slightly slower on iOS in movie recording, raw data capture, and image capture, which at present don't use the iOS texture caches in the new framework. That should be fixed soon.
Point extraction from the Harris corner detector and others is slower on unoptimized builds, but that's because you don't want to do benchmarking against -Onone builds for Swift. The -O level of optimization takes care of that, and brings performance close to the raw C I used in the old stuff without the dangers and awkardness of the raw pointers you had to handle.
The Mac camera in the new framework is significantly faster, since it now uses YUV capture / GPU conversion to RGB instead of BGRA capture. I'll be adding the new (in 10.11) texture caches on the Mac to further speed this up.
The new framework is way faster at anything that uses large-area Gaussian or box blurs. It now does these in nearly constant time with increasing radii beyond 8 pixels, due to the use of automatic downsampling and upsampling. It's the difference between a frame taking >200 ms to process on an iPhone 4S in the old version and only 8 ms in the new framework. The quality of these large-area blurs should also be improved.
I will be using VBOs to cache vertex data, which should lead to a small but noticeable reduction in CPU overhead across the entire framework.
I also am attempting to split output video frames into Y and UV planes for movie recording, which I think will lead to a large improvement in movie recording performance.
Overall, the framework should be faster in every part than the old framework, and much faster in some, but I need to get everything operational first before I apply many optimizations.

Brad, thanks for the update! Sounds like you get your work cut out for ya! Excited about the future of GPUImage 2. And love the new "masking" feature... thanx again


Problem installing chocolatey with proxy

I'm trying to automate some windows installation but it seems that the only way I found to install chocolatey is having the "IE proxy" correctly setup.
I've tried using netsh winhttp proxy settings and chocolateyconfig {'proxy':} setting.
I've tried with this module and also the puppetlabs-chocolatey but it seems that the only way to be able to install chocolatey is with the IE proxy.
Is this correct or I'm doing something wrong?
There's any workaround to pass the proxy during the installation?

created an PR for this see #144

Passing proxy during install is https://github.com/chocolatey/puppet-chocolatey/pull/99


Documentation missing for Predefined sets of computers in Advanced Firewall

Link to article:
The feature is mentioned in the old article http://technet.microsoft.com/en-us/library/ee806447.aspx.
Problem:
It is unclear how the pre-defined sets are defined. It appears as if the groups can be edited. This needs documentation.
The issue is discussed here along with screenshots:
https://social.technet.microsoft.com/Forums/office/en-US/26125329-e4a6-4bdf-996d-8e69674056a4/firewall-how-to-defined-predefined-set-of-computers
https://serverfault.com/questions/773529/predefined-set-of-computers-where-to-define

@CajH Thanks for your feedback on content. I transferred your issue to window/Itpro repo. See if there are someone can help you.

@CajH I don't think the list can be edited but I've asked our engineering team to confirm.

@CajH  The values are predefined according to https://msdn.microsoft.com/en-us/library/cc231500.aspx

You reply seems to imply that I have to write a C program in order to add a set of computer into the firewall.  That might be too much for average administrators and even too much for average programmers.

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/1613#issuecomment-662618892
After reading the API, my conclusion is that it is not possible to add a predefined set of computers to Windows Firewall even by writing a C program.  It is really just predefined and hard-coded list of options to select from.


Enable use of FPU operator in BLAS wrappers.

Closes https://github.com/JuliaGPU/GemmKernels.jl/issues/110

Benchmark results for commit 716162a5f221d7b4c1437b34a1dcc1d9f9117cdd (comparing to d506a9ca8094e695ef6b3c53a9ce318aa351c26f):

ID
before
after
change

["wmma", "Float16*Float16=Float32 (N=16384, A=N, B=N)"]
319.783 ms ± 2.138 ms
298.386 ms ± 1.215 ms
6.8% :white_check_mark:

["wmma", "Float16*Float16=Float32 (N=16384, A=N, B=T)"]
324.576 ms ± 9.564 ms
297.549 ms ± 2.323 ms
6.1% :white_check_mark:

Well, that's quite a significant speed-up! I wonder if that's due to the Zero layout. I should probably split that off to be sure.

Well, it's surprising that this still yields a speed-up. Maybe the conversion of alpha and beta to the compute type?


feat: adjust settings to use guild configs

Pull Request Checklist

[ ] New code has 100% test coverage
[ ] (If applicable) The prose documentation has been updated to reflect the changes introduced by this PR
[ ] (If applicable) The reference documentation has been updated to reflect the changes introduced by this PR
[ ] Pre-Commit Checks were ran and passed
[ ] Tests were ran and passed

Description

more work toward per-guild settings

Close Issue(s)

couple of things out of scope that i did inside this


In Update thing.save not working

I used decent_exposure and its working fine for save but not working for update using thing.save
but works with thing.update
Where as in another project thing.save works for update
I also see an tutorial which thing.save is used for update.
Whats the difference???

@Faisal-nfl what versions are both projects using?

@mattpolito
The current project in which thing.save is not working has Version
Ruby : 2.3.1
Rails : 5.0.0
The previous project in which it works
Ruby : 2.3.1
Rails : 5.0.0.rc1

@Faisal-nfl I'm sorry, I should have been more clear. What version of decent_exposure are you using in both instances.

In last project it was 2.3.3
and in current project its 3.0.0

hey @Faisal-nfl,
the way a thing is instantiated is slightly different in version 3.0.0, so you'll need to change your code to use thing.update(thing_params). Something like that:
class ThingsController < ApplicationController
  expose :thing

  def update
    if thing.update(thing_params)
      redirect_to thing_path(thing)
    else
      render :edit
    end
  end
end

That's the way we currently do: https://github.com/hashrocket/decent_exposure/blob/master/lib/decent_exposure/behavior.rb#L9


Reset the Playwright Offering Management Public Preview Release Plan

I was working with the Playwright Service team this morning to help them create release plan for management plane.   After we validated, they stated that they would have some additional changes so needed to re-run the validation in a couple of weeks before they published the API Spec from the private to public repo.
Can you reset their release plan?  Right now, all of the steps/next buttons are greyed out because the PR passed validation and we hit complete.
Link to their release plan - https://web.powerapps.com/apps/821ab569-ae60-420d-8264-d7b5d5ef734c?release-plan-id=d4ead8f6-f640-ee11-bdf3-000d3a3418c8.


Create factorial.py (solving issue #521)

I have created a new py file and have solved issue #521

Thanks for contributing!


Feature request: verbose only for errors

Thank you for this very nice plugin. I have integrated it into our builds and appreciate it as is. I couldn't help but think, when I discovered a failing test, I wish the plugin could be verbose for test failures but not for successful tests.
That way I could have a clean report when there are no issues and if there are, I could see the tests that were failing. I'm currently using the verbose output so that I may at a glance review the errors but of course this makes the total report much longer.
Thanks again for the plugin; it is useful as is.

@joekiller
Thank you for your feedback.
One idea to resolve your issue is to add an option to suppress certain test result outputs for the report.
For example, if you run pytest with the verbose option while suppressing pass results, only failed or skipped tests will be reported in verbose.
This may not be exactly the output you desire.
However, this approach simplifies the implementation, potentially making the feature easier to provide.
What do you think about this?

I think that is useful yes. Thank you for your consideration of the enhancement.

I had implemented the feature at pytest-md-report v0.6.0.
https://github.com/thombashi/pytest-md-report?tab=readme-ov-file#add-report-to-pull-requests-only-failed-tests
Please try that version.


Add admin lines

Admin polygons can't always be formed and aren't needed anyways when drawing borders
cross-ref gravitystorm/openstreetmap-carto#1929

possibly blocked by openstreetmap/osm2pgsql#593


bg-variant() mixin gone missing?

I may be going crazy, but what happened to the bg-variant() mixin in 4.4.1?
It doesn't exist in https://github.com/twbs/bootstrap/blob/master/scss/mixins/_background-variant.scss, but when I look at the docs for 4.4.1, background colours are defined using bg-variant() mixin in the _background-variant.scss file (according to Firefox DevTools).
The deprecation message says it will be removed in v5 - not v4.4.1.  Where did it go?

master is our dev branch, which reflects much of what's coming in v5. Browse by the git tag or the release to see it on GitHub.


GoogleMap: defaultCenter prop changed. You can't change default props.

I used the map component like this:
<GoogleMap
            bootstrapURLKeys={{
              key:GoogleMapsApiKey,
              language:'en'
            }}
            defaultCenter={{lat:4.352130,lng:50.845926}}
            center={{lat: this.state.office.latitude, lng: this.state.office.longitude}}
            defaultZoom={9}
            zoom={12}
          >
          </GoogleMap>

So why is it complaining that I changed the defaultCenter prop?

You changed. Every render u create a new object for def center, so reference equality gives false on compare. Also try issue search, there were similar issues.

I searched on defaultCenter in the issues before posting but didn't find anything.
Thanks for the info.

https://github.com/istarkov/google-map-react/pull/249

Didn't see that one.
Thanks

I would suggest to use "center" instead of "defaultCenter". That works because it doesn't compare with older center.

Use center instead of defaultCenter


Import command not considering --connection option

Laravel Version: 5.2
Adldap2-Laravel Version: 3.0
PHP Version: 7.0.22
LDAP Type: Active Directory or OpenLDAP

Description:
When using the adldap:import command, the --connection option is not being used.
The import is always made with regard to the default connection.
Thanks in advance!
Steps To Reproduce:
Use the command with an alternate connection
php artisan adldap:import <some_user> --connection <connection_name>

Hi @EcoFreak, this option had issues when it was first implemented. It was later removed due to the difficulty of implementing it in the current code base without BC breaks.
Unfortunately it slipped my mind to remove it from the documentation ☹.
If you can provide a PR or implementation to put this back in it would be appreciated :smile:


When transferring data to DR with iRODS admin, the collection state should be checked

so that it will not write data to a collection that is not in the EDITABLE state; and it will allow transfer data to the reopened collection.

A simple fix in the script finding corresponding DR collection for given projectId/type should be sufficient: see commit 7a4227073c7839fd76fa1de883364f01961867f6

The fix has been deployed to the stager for automatic dataflow from the labs.


MethodBase.GetCurrentMethod() return MoveNext instead of actual MethodName if method notation is with "async"

MethodBase.GetCurrentMethod() return MoveNext instead of actual MethodName if method notation is with "async".
The MethodDispatcher should workaround this, or we must evolve the plugin to work on something easy and more reliable.
I think we should add:

[ ] Calling / Finding implemented Method though a simple method name (string) even if it can have caveat if you are manipulating very complexe signature (this should not happen often)
[ ] If MoveNext is detected, trying to do some hack to Map from the found method implementation.

Some doc here: https://stackoverflow.com/questions/22598323/movenext-instead-of-actual-method-task-name

Actually, there is two workaround for async keyword:

Using the helper code mentionned in the previous link. This seem to work well in Blazor too. We can assume that this behaviour should be consistant in .NET Standard 2.0. Nothing has to be done by the end user, as if we detect a MoveNext (or more simply if we don't find the method to map), that mean we are maybe in an wrapped method (IAsyncStateMachine) instead of the real method, because the async keyword is written. In this case, we try to fallback to the real MethodBase hidden by the IAsyncState machine. This work great on the tests.

Even if the previous statement would be false, we can  just use another method that has no async decoration and passing the origina MethodBase, and then waiting the async within the extra method.

This is considered as done.


Improve logging in DeltaScheduler

Forking from https://github.com/microsoft/FluidFramework/issues/8908 concrete work:
I see 531K "InboundOpsProcessingTime" events in one day.
So yes, DeltaScheduler seems like is being hit a lot.
One thing that I do not like is that we issue event only if we hit 2K idle states.
It feels like once we set a timer in batchEnd(), we have to report an event that it happened, and ideally

how many ops we already processed till that moment?
how many ops are remained in queue?
3.Once done (reached idle), how many ops actually were processed (will be different from # 2, as ops are coming in).

BTW, this.isScheduling seems can be removed. It's always true when we process ops, and always false when we stop processing ops. Given that we always alternate between these states, there is no reason to check the value - we know what the value is

I can't find obvious bug in logic, but data does not match my intuition about how it should work.
Given that graph mentioned in parent bug tracks ack of own ops, there should not be that many ops in between to process (unless we were already holding on ops when sending an op). Might be worth having this data (as boolean) on fluid:telemetry:OpPerf:OpRoundtripTime event.
Do we test that DeltaScheduler does not pause ops if there not many of them / they are processed fast?
Glancing at existing UTs, processOp() always injects 30ms delay per op, which suggest we only test the opposite.
Can we convert existing tests to use mock timer?
Please take a closer look, it would be said if our latencies are affected not because of network / service, but because of silly bugs

Please note that #8912 tracks more generic problem of tracking who pauses inbound queue and for how long

This issue is related to #9505. I'd say this bug is lower priority over removing unneeded pauses in DeltaScheduler.
#8911 should also bring some more clarity on how long it takes for ops to get to processed / if they get stuck in the queue due to pausing.


Energized sources and overblocking.

After encountering several legit domains being blocked since the creation of my last report, I've started conducting some tests with the sources used for the "Ultimate" list and discovered a severe case of overblocking with more than 1200  domains from some plumbing business, over localized video streaming platforms to even OVH's own speedtest. Most of these issues stem from the same less known, less reputable lists, that all seem to suffer the same issue of what looks to be arbitrary blocking of legitimate websites.
I will refrain from reporting every single falsely blocked domain here as I believe it's completely out of scope (especially since you have to check them yourself and confirm) and most likely the list wouldn't be even near complete as I've only conducted rather superficial testing with the top 10k domains based on alexa.com ranking and similar meta information aggregators.
Consolidating malicious domain lists while filtering out duplicates is definitely a good idea as not every software has this ability and often ends up querying all entries from all subscribed lists - including countless duplicates, which ultimately results in poor performance, especially on mobile devices. Nontheless I believe that stuffing every single filterlist ever found on the web is going to create the main issue described above.
The whitelist effort is an attempt to overcome this issue, but it's always going to stay a chicken chase where the sources keep blocking legitimate domains only for people to report them here in an attempt to get whitelisted. An unrealistic effort compared against the potential gain.
I will be returning to my previous setup I used for the Pi-Hole consisting mostly of widely-known, curated lists for the time being, which amount to about 350k entries. At the end of the day, you want to get rid of trackers, ads and stop software from phoning home in a sketchy fashion (Hey Microsoft! 🙋♂) rather than censoring your own access to the internet. My suggestion for this project is to consider the same principle in the future and priorize quality over quantity.
Thanks for reading!

I completely agree, I just started using this list a few days ago, and I submitted 2 issues already to unblock 2 CDNs. I’ve noticed some more false positives, but I’ve not reported them yet, as to not spam the issue tracker.

@ace2k Thanks for the suggestion! As you may know, we have smaller lists like Blu/BluGo/Spark if Ultimate/Basic is blocking too much for you.
But for the issues you have submitted, they are from the sources of other maintainer. I have already knocked the maintainer about the issues, so they might fix them asap! Moreover, I will stop using the source(s) which block too many legit domains. I have already sorted these false/positive issues in spark, blugo and blu; by removing few sources. Packs larger than blu might still have these issues because they are basically for higher end devices (ex. PCs), not mobile devices. As we browse more on PCs than mobile devices. Also, I have made submitting issues more easier via Website or Telegram Direct Message besides Github issues. I have been working on this project almost everyday to whitelist/blacklist user submitted domains or the domains I come across while browsing. I just need you guys to submit them to us, to make this a better project for all!

@AdroitAdorKhan thanks for that, I noticed that blogto.com isn't blocked anymore which is a huge improvement.

Moreover, I will stop using the source(s) which block too many legit domains

This is what https://github.com/StevenBlack/hosts/ does, see: https://github.com/StevenBlack/hosts/commit/0d4c7b800a75d6cc4b777f8790da256dbcd0a009

A good example for overblocking:
your-server.de = one of the biggest server hosting in germany "great idea to block the entire domain -.-"
herokudns.com = is used for many Indi games like Factorio for example
Please dont block entire domains if not nacescary

I'm probably far too late to chip in on this, but I personally feel that any active use of Ultimate or Unified by end-users is equivalent to a deathwish mission. If we include all the sources of 1Hosts separately, Ultimate has north of 300 sources, and Unified has more than 310. Many of those 310 are smalltime sideproject lists that occasionally go far beyond normal customs in their blocking of privacy intruders. This makes it nigh-on impossible to figure out which source list that has added a specific odd-looking entry.


this was called a virus

Probably because the exe is unsigned, you can analyze the exe using a tool that should be described in the readme if you have any doubts.


istio-proxy does not start with auto injection

Bug Description
with following sidecar auto injection in deployment.yaml
spec:
  replicas: {{ .Values.MinReplicas }}
  selector:
    matchLabels:
      app: '{{ .Values.appBaseName }}-app'
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: 'true'

following error is found in istio-proxy container:
2023-02-22T22:34:20.361593Z	info	dns	Starting local udp DNS server on <IP_ADDRESS>:15053
2023-02-22T22:34:20.361863Z	info	dns	Starting local tcp DNS server on <IP_ADDRESS>:15053
2023-02-22T22:34:20.362218Z	info	citadelclient	Citadel client using custom root cert: var/run/secrets/istio/root-cert.pem
2023-02-22T22:34:20.381357Z	info	ads	All caches have been synced up in 127.572604ms, marking server ready
2023-02-22T22:34:20.381853Z	error	sds	Failed to set up UDS path: failed to listen on unix socket "./var/run/secrets/workload-spiffe-uds/socket": listen unix ./var/run/secrets/workload-spiffe-uds/socket: bind: permission denied
2023-02-22T22:34:20.381903Z	info	sds	SDS server for workload certificates started, listening on "./var/run/secrets/workload-spiffe-uds/socket"
2023-02-22T22:34:20.381947Z	info	xdsproxy	Initializing with upstream address "istiod-gateways-on-edge-pool.istio-system.svc:15012" and cluster "Kubernetes"
2023-02-22T22:34:20.382028Z	info	sds	Starting SDS grpc server
2023-02-22T22:34:20.382122Z	error	failed to start xds proxy: failed to listen on unix socket "etc/istio/proxy/XDS": listen unix etc/istio/proxy/XDS: bind: permission denied
Error: failed to start xds proxy: failed to listen on unix socket "etc/istio/proxy/XDS": listen unix etc/istio/proxy/XDS: bind: permission denied

Version
kubectl version --short
Client Version: v1.25.2
Kustomize Version: v4.5.7
Server Version: v1.22.15+c763d11

Additional Information
q

This seems like you may have something modifying the permissions in the volume mounts?
does it happen to all pods or specific

@howardjohn I modified service account with following command
oc adm policy add-scc-to-user hostmount-logger system:serviceaccount:<namespace>:<serviceAccountName>

Without running above command, I got some errors from my app deployment like below :
pods "my-app-5ddb5d7dd6-" is forbidden: unable to validate against any security context constraint: [provider "hostmount-logger-accessmanagement": Forbidden: not usable by user or serviceaccount, provider "anyuid": Forbidden: not usable by user or serviceaccount, provider "hostmount-logger-logdna-agent": Forbidden: not usable by user or serviceaccount, spec.volumes[0]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, provider "ibm-restricted-scc": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "cluster-

You don't need host mount permissions, these are just normal emptyDir volumes


[cmake] adjust posix runtime config file settings

Allow for greater flexibility and control over the POSIX platform runtime config files.
These changes introduce a number of settings that allow a parent project (ot-br-posix for example) to control the OPENTHREAD_POSIX_CONFIG_CONFIGURATION_FILE_ENABLE and OPENTHREAD_CONFIG_PLATFORM_POWER_CALIBRATION_ENABLE features (as well as their runtime file locations) without needing to define a new header file.

@jdswensen , would you like to keep the commits separate after merge? Or are you OK with a squash merge?
If you want to keep the commits separate, please include the PR # i the commit header, for example:
[cmake] adjust posix runtime config file settings  (#9701)

I'd like to keep them separate to keep them cherry-pickable for use on a slightly older version of openthread that is being used in production. I'll work on updating the commits now.


[torchlib] Improve index_put

Handle None as inputs
Turn the function into trace_only
Fix failing CI tests

Ref:

https://github.com/pytorch/pytorch/issues/131349
https://github.com/pytorch/pytorch/issues/119363

Can I work on this issue?


gitignore generated files

Oh...
that looks like a leftover from using make in the wrong order...
make test
make clean
make dist

but it doesn't harm to have them included anyway, it can be annoying during development indeed


Discrete functions with infinite categories

http://www.math.wm.edu/~leemis/chart/UDR/PDFs/Logarithm.pdf
http://www.math.wm.edu/~leemis/chart/UDR/PDFs/Discreteweibull.pdf
A number of discrete functions like the above 2 have no upper bound on the value x can take. (The rest have further complications which we will deal with once this issue is solved)
Previously, we've been able to implement discrete distributions using the categorical function, and that's how I would begin to attack this problem, but we can't go feeding categorical() an infinite array.
Rather unsure how to proceed...

You need to use a weighted Countable to implement these. Countable is to Nat what Lesbesgue is to Real. So you put a weight in front of it, and voila!

@JacquesCarette I can't understand what Lesbesgue does. Also is there documentation on how to use Countable? I get an error saying the name is not in scope.

Lebesgue is essentially uniform on all of the real line.  It might be that Countable is actually called Counting...

@JacquesCarette So our problem was that, we couldn't pass an infinite array to categorical. I am not sure how counting can be used to overcome this problem. Can you give us some guidance on how to do this?

You don't want an infinite array, you want a formula which is used as a weight.   The documents you linked to has the formulas you need.

@JacquesCarette
Is this the right way to do it? The first argument of weight() is the p.m.f formula found in the documents. The second argument of weight() is the absolute value of the counting variable to only account for positive integers.
def Discrete_Weibull(p prob, beta prob):
x <~ counting
weight(real2prob((real2prob(1-p) ** x) ** beta - (real2prob(1-p) ** (x+1)) ** beta) , return abs(x))

That sort-of works, but isn't really the best way to do it.
def Discrete_Weibull(p prob, beta prob):
    x <~ counting
    weight( if (x<0) 0 (real2prob((real2prob(1-p) ** x) ** beta - (real2prob(1-p) ** (x+1)) ** beta)),
        return x)

is better. [I may have some syntax error in the if, but the idea should be clear].


Keyword encoding inconsistency

By @porcuquine:

Sure, construct a symbol like ~(keyword asdf). That's :asdf.
Now construct one like ~(not-keyword asdf). That's .not-keyword.asdf.
Now change the tag on the second symbol to be Key.
Now you have an illegal value.
Now just present it as an opaque keyword.
Lurk is forced to treat it as a self-evaluating opaque keyword.
But the user can later provide the 'opening' showing that it was in fact an illegal value.

Suggested solution: recover Symbol as an enum and have the Sym and Key variants again

I am open to whatever internal representation for Symbol is expedient for the code base as a whole. The important point is that the Key tag should be the only way to signal that an expression is a keyword. We should go back to the world in which keywords and symbols share content-addressing and differ only by tag when they have the same absolute path.
An 'empty path' should correspond with a root symbol naming the root package — and to a root keyword naming the root keyword package.

Here's a solution that I like even more than the enum: keep it as a struct and add a boolean flag keyword

But the user can later provide the 'opening' showing that it was in fact an illegal value.

This is the same situation as someone creating (1 . "foo") and coercing the tag from Cons to Str. My understanding was that you can make Lurk treat (Tag::Str, <hash-x>) as an opaque string, but opening (Tag::Cons, <hash-x>) doesn't make (Tag::Str, <hash-x>) no longer opaque because the tags disambiguate the pointers.
So for .not-keyword.asdf I see how you could open (Tag::Sym, <hash-asdf>), but why does that impact (Tag::Key, <hash-asdf>)? Isn't this effectively now a pointer saying "I know of some string Y such that the hash of .keyword.<Y> collides with <hash-asdf>"?


Package this for PyPI

Add a setup.py to the root, and anything else needed.

See cookiecutter-django for example on how to do this.

I'm working on this 💃

This is basically done, but if anyone sees improvements that could be made, we'd love pull requests.


ServiceBusError: Handler failed: Authorization timeout when trying to send a message from an Python Azure Function

azure-servicebus:
7.3.4:
Azure Function within Docker container- Linux:
3.9:

Describe the bug
When running an Azure Function that may take 5-10 minutes we are receiving an Authorization Timeout when trying to send a message out to a Topic.
Stack trace:
Exception while executing function: Functions.PreprocessingJobTrigger Result: Failure
Exception: ServiceBusError: Handler failed: Authorization timeout..
Stack:   File "/azure-functions-host/workers/python/3.9/LINUX/X64/azure_functions_worker/dispatcher.py", line 398, in _handle__invocation_request
call_result = await self._run_async_func(
File "/azure-functions-host/workers/python/3.9/LINUX/X64/azure_functions_worker/dispatcher.py", line 617, in _run_async_func
return await ExtensionManager.get_async_invocation_wrapper(
File "/azure-functions-host/workers/python/3.9/LINUX/X64/azure_functions_worker/extension.py", line 147, in get_async_invocation_wrapper
result = await function(**args)
File "/home/site/wwwroot/PreprocessingJobTrigger/init.py", line 167, in main
await sb.send_complete_message(jsonStr)
File "/home/site/wwwroot/PreprocessingJobTrigger/services/ServiceBusSend.py", line 21, in send_complete_message
async with sender:
File "/usr/local/lib/python3.9/site-packages/azure/servicebus/aio/_base_handler_async.py", line 169, in aenter
await self._open_with_retry()
File "/usr/local/lib/python3.9/site-packages/azure/servicebus/aio/_base_handler_async.py", line 370, in _open_with_retry
return await self._do_retryable_operation(self._open)
File "/usr/local/lib/python3.9/site-packages/azure/servicebus/aio/_base_handler_async.py", line 250, in _do_retryable_operation
last_exception = await self._handle_exception(exception)
File "/usr/local/lib/python3.9/site-packages/azure/servicebus/aio/_base_handler_async.py", line 198, in _handle_exception
raise error
To Reproduce
Steps to reproduce the behavior:

Not sure really

Expected behavior
The message would be sent out to the topic.
Screenshots
It seems that the function tried running once and then failed due to a MessageLockLostException. Next error that comes up is the Authorization timeout error.
Application insights:

Additional context
The code for sending the message:
init.py
jsonStr = json.dumps(job_completed_event.__dict__, default=str)
sb = ServiceBusSend()
sb.initialize_client_connection()
await sb.send_complete_message(jsonStr)

ServiceBusSend
def initialize_client_connection(self):
        self.conn_str = os.environ["PreProcessingEventBusConnectionString"]
        self.topic_name = os.environ["PreProcessingEventBusTopicName"]
        self.servicebus_client = ServiceBusClient.from_connection_string(conn_str=self.conn_str, logging_enable=True)

async def send_complete_message(self, job_json):
    job_out = ServiceBusMessage(job_json)
    job_out.subject = "JobStageComplete"
    async with self.servicebus_client:
        sender = self.servicebus_client.get_topic_sender(topic_name=self.topic_name)
        async with sender:
            await sender.send_messages(job_out)

thanks for reaching out @viktoreinars , could you explain a bit more on take 5-10 minutes we are receiving an Authorization Timeout.

Is it that the send operation would hang 5-10 minutes before error is raised?
or it is that the azure function stays idle 5 -1 0 minutes before sending a message?

also would retry the sending operation by yourself help mitigate the issue?

Thanks for the reply @yunhaoling.
The Azure Function itself is processing some data and that can take 5-10 minutes. Not sure if it matters at all in this case but wanted to let you know in case it is important.
I can try adding some retry functionality to the send but since this is an Authorization error it´s not likely to go away just because we retry?

@viktoreinars sorry for the delay in responding to this. We have released a new version of service bus that is using the all-new python based AMQP library. There have been a lot of fixes since then, so I would recommend upgrading to the latest version and seeing if this problem still exists.


E2E changes

All tests for both platforms (except for login tests) are passing against the node runtime, including push.

Upgraded to WinJS 2.0
Removed __ from system property column names
Removed four tests from table functional tests specifically around system properties
Added .vs and Backup folders to .gitignore
Updated MobileApps dependencies to latest versions

this should be part of the build step, or linked files

Managed to also include the npm build command in this PR. Can be merged in either.

Yeh, we should remove as much as we can. I wanted to get all tests passing quickly but leave these in there in the short term for discussion like this.

To unblock Shrirang with cordova stuff, merging this now. We need to address the commented out tests later.


Added Pinepods

Hi Podcast Index Folks!
I'm opening this PR in hopes of adding the Self Hosted Podcast app that I develop called Pinepods to the list of apps with supported elements into the Podcast Index. The app is called Pinepods and it's a complete self-hosted option for podcast management that allows the user to keep all their data local to their own network. More information about the app can be found here:
https://github.com/madeofpendletonwool/PinePods
One change that I made that hasn't been done before so you may want me to remove it is that I added a new app type:
  "self-hosted"

Which to me, being fully self hosted is a big selling point in an application so I would make the argument that having that tag would be a valuable addition. Either way, more than happy to remove it if you would like!
I will also be opening a PR shortly to add Pinepods into the list of namespace features that it supports.
Thank you!

I think adding self-hosted is fine. To pass the validator, you need to add self-hosted as a valid entry in server/data/apps-schema.json.

self-hosted has been added to server/data/apps-schema.json. Thank you!


Progress bar showing previous pause state

Describe the Bug
Progress bar showing previous pause state
Steps To Reproduce

open example app
press next button
wait a little bit (~3-5 seconds)
press pause button
repeat steps 3 and 4

You will see, that when you pause the song - in notification it will show previous pause state. I. e. first pause state it'll show 00:00, next time it'll show 00:03 (however actual duration will be 00:06), etc.
Video proof
https://github.com/doublesymmetry/react-native-track-player/assets/22820318/593c8e56-20ba-4af6-b583-acb32a835d3a
Code To Reproduce
Use example app.
Replicable on Example App?
The problem is replicable in React Native Track Player Example App?
Environment Info:

npx react-native info output

System:
    OS: macOS 13.3.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 84.27 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 16.16.0 - ~/.nvm/versions/node/v16.16.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v16.16.0/bin/yarn
    npm: 8.11.0 - ~/.nvm/versions/node/v16.16.0/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.11.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
    Android SDK: Not Found
  IDEs:
    Android Studio: 2022.1 AI-221.6008.13.2211.9514443
    Xcode: 14.2/14C18 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.14 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0
    react-native: 0.71.4 => 0.71.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Real device, iPhone 11, iOS 16.5.1 (20F75).
How I can Help
Trying to investigate and fix the problem.

same issue, plz help


Search box in the stacks templates and make editor larger

It would be so much easier to use if this template editor had a search feature.  Currently the browser search doesn't search the text box so searching through templates is not possible.
Also, I find the editor a too small even on a large monitor.   Could we move the variables to the top and make them collapsible so that the editor can fill more of the browser window?
And finally the two tables for name/value pairs in the variables section could be just one table with column titles (name and value).

Ok Great, I was going to make an issue as it is a feature that I would love to have.
So, I was looking which editor is used in Portainer and found that CodeMirror, the library used, have already ready-to-use plugin for at least the search / replace: https://codemirror.net/demo/search.html (with the source https://github.com/codemirror/CodeMirror/blob/master/demo/search.html)
The same add-on exist for full-screen mode https://codemirror.net/demo/fullscreen.html
Is there then a reason to not add this? As it improves considerably, the user experience of stack edition and other place where the editor is called.

I'm going to make a PR for the search function only. I suggest a new issue for the size of the screen, as it require more thinking on the design.
I've followed the implementation that CodeMirror have in terms of commands:

Ctrl-F / Cmd-F -> Start searching
Ctrl-G / Cmd-G -> Find next
Shift-Ctrl-G / Shift-Cmd-G -> Find previous
Shift-Ctrl-F / Cmd-Option-F -> Replace
Shift-Ctrl-R / Shift-Cmd-Option-F -> Replace all
Alt-F -> Persistent search (dialog doesn't autoclose, enter to find next, Shift-Enter to find previous)
Alt-G -> Jump to line


Fixed issue where appended file paths caused a comment in C

Called $(abspath ...) before defining BSG_MANYCORE in C Macro

Passes in F1


[Feature Request] Different source path(s) depending on OS

Hi there,
I've been using ceedling for a bit now and have been getting along well with it, but I've just run into a bit of a snag.
I'm making tests on windows, and the project relies on FreeRTOS, so i have a windows FreeRTOS simulator, and so one of my source paths is - ../FreeRTOS/FreeRTOS/Source/portable/MSVC-MingW
However, running finished ceedling tests is going to be automated on a Linux build server. In this case I have a Posix FreeRTOS simulator, so instead of - ../FreeRTOS/FreeRTOS/Source/portable/MSVC-MingW I will have - ../FreeRTOS/FreeRTOS/Source/portable/GCC/Posix
Is it possible to add subsections in :paths: ->:source: that will be brought in depending on OS? i.e. under source, have a common section, then a windows section, then a linux section?

This is an excellent thought.

hi @DontFeelDwnYall ，
May I ask you a question，can you give me an e-mail address?
In my test case, there is a dependency freeRTOS when I am in Mock freeRTOS, error error: #error "include FreeRTOS.h must must in source files before include task.h", this reference file priority issue, how do I do it


Fix no_activity timeout for server session reuse.

Carlin found this a while back when testing the fix for not using connection timeout as the TTFB timeout.  If the server session was being reused, the inactivity timeout was not be set correctly.  This addition fixes that problem.

[approve ci]

Cherry-picked to v9.0.x branch.

Cherry-picked to 8.1.x


PoC: Manual Multi Cluster Setup

Manual Multi-Cluster Setup PoC
This PoC verifies the viability of using having a manual multi-cluster setup to help fast track the multi-cluster work on weave gitops
How it was done
In this PoC we have to clusters:

Hub Cluster: Cluster where weave-gitops server will be present and control leaf clusters
Leaf Cluster: Cluster where flux automation and workloads runs

Manifests
To setup impersonation up, I had to apply a couple of manifests on both clusters:
Leaf Cluster
An weave-gitops service account in the flux-system namespace has been created to serve as the impersonator subject. This service account has no access besides impersonation powers, as you can check in the rbac rules.
I've also created a developers namespace and gave access to it only to the developers group. That's to simulate impersonation is working correctly, that so, a developer when trying to access another namespace it would fail.
Hub Cluster
I grabbed the weave-gitops service account secret created in the leaf cluster and added it to the Hub Cluster, which is used as the Bearer token that authenticates the weave-gitops server into the Leaf Cluster Kube API.
Then a configmap containing the a yaml with the list of clusters has been created.
Code
A ClustersFetcher interface was created, that will provide the abstraction to allow us to have multi ways of fetching the clusters list, initially there is just the ConfigMap one.
type ClustersFetcher interface {
	Fetch(ctx context.Context) ([]cluster, error)
}

I'm assuming we'll have some sort of authentication middleware that will be responsible for injecting the User into the context.
func authMiddleware(next http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		// Injecting authenticated user
		ctx := context.WithValue(r.Context(), UserCtxKey, User{Email<EMAIL_ADDRESS>Team: "developers"})

		next.ServeHTTP(w, r.WithContext(ctx))
	})
}

In possession of the User, the clustersClientsMiddleware middleware grabs the user and checks if required values are present:
user, ok := r.Context().Value(UserCtxKey).(User)
if !ok && user.Email == "" && user.Team == "" {
	  w.WriteHeader(http.StatusUnauthorized)
	  fmt.Fprintln(w, `{"error": "there is no authorized user"}`) // TODO: use proper structs for this error message
	  return
}

Fetches the clusters list:
clusters, err := clustersFetcher.Fetch(r.Context()) // TODO: cache it
if err != nil {
	  w.WriteHeader(http.StatusInternalServerError)
	  fmt.Fprintln(w, `{"error": "failed fetching clusters list: %w"}`, err) // TODO: use proper structs for this error message
	  return
}

Then finally loops though that list and creates all the clusters clients, adds them to a clients pool and injects it into the context:
// TODO: cache it
clientsPool := NewClustersClientsPool()
for _, c := range clusters {
	  if err := clientsPool.Add(user, c); err != nil {
		  w.WriteHeader(http.StatusInternalServerError)
		  fmt.Fprintf(w, `{"error": "failed adding cluster client to the pool: %s"}`, err) // TODO: use proper structs for this error message
		  return
	  }
}

ctx := context.WithValue(r.Context(), ClustersClientsPoolCtxKey, clientsPool)

The impersonation details get added during the leaf client creation, where we take the User info and adds it to the Impersonation Config.
leafConfig := &rest.Config{
	Host:        cluster.Server,
	BearerToken: cluster.bearerToken,
	TLSClientConfig: rest.TLSClientConfig{
		Insecure: true, // TODO: proper certs loading
	},
	Impersonate: rest.ImpersonationConfig{
		UserName: user.Email,
		Groups:   []string{user.Team},
	},
}

leafClient, err := client.New(leafConfig, client.Options{})
if err != nil {
	return fmt.Errorf("failed to create leaf client: %w", err)
}

You'll see many places need caching to minimize the impact on the Kube API, but we can move forward without it and add as needed.
Please take a look at the approach and let me know if you have any questions.

PS: This PR should not be merged and is supposed to be used as a reference implementation only and must be discarded afterward.

@luizbafilho  Just one question. Was this code tested manually? If so, could it be possible to have some instructions?. I noticed you mentioned that this supposed to be a reference implementation only, so probably this should not work ?

@luizbafilho Just one question. Was this code tested manually? If so, could it be possible to have some instructions?. I noticed you mentioned that this supposed to be a reference implementation only, so probably this should not work ?

It works, you can create two clusters, one being the hub and the other being the leaf cluster. You can apply the manifests as stated in the PR descriptions, it won't work out of the box because you'll have to change the secret names, but each file has more or less the commands I ran to generate it.


Not a feature request, not a bug, problem with LLama3.1

I have several models all running fine on ollama, including  Llama3.  Lama3.1 gives very long answers, then repeats them and finally prints random characters and if I didn't use the interface to stop seemingly would go on forever.
Running llama3.1 with the same parameters that seem to be ok with all other models.
Any suggestions welcome as it seems to be quite a bit more powerful than all other models.

@airdogvan did you updated Ollama to version 0.3.4 and pull again your llama3.1 models? You should try and please share your ollama logs to help finding the problem if still present.

thanks for the quick answer.  Running docker ollama.  Had 3.2 pulled 3.4.  Deleted llama3.1, restarted ollama.  When I try to download llama3.1 error message:
The model you are attempting to pull requires a newer version of Ollama. Please download the latest version at: https://ollama.com/download
Double checked, have 3.4 running.

@airdogvan when you type
ollama --version

what is displayed? It is strange that ollama3.1 don't pull.

ollama --version
ollama version is 0.3.4

could download gemma2 but when sending query I get:"Open WebUI: Server Connection Error".  Again that problem does not come up with older models.  Still cannot download llama3.1

@airdogvan if it is an open_webui problem, please close this issue.
BTW new version of llama3.1 is being uploaded today in the library. Try also to pull again the llama3.1 model you are using.

got the same issue on MacOS M3, (ollama version is 0.3.4, llama3:70b run ok):
~ ollama run llama3.1:70b pulling manifest Error: pull model manifest: 412:  The model you are attempting to pull requires a newer version of Ollama. Please download the latest version at: https://ollama.com/download
in fact, this is what https://registry.ollama.ai/v2/library/llama3.1/manifests/70b returns.

@KrallBigFan can you check with
ollama --version

what is your version.
You should have
ollama version is 0.3.4
if ollama cannot pull your model, can you try
ollama rm llama3.1:70b

and then again
ollama pull llama3.1:70b

let us know if it works.

no more issue after the reinstalling the brew package:
brew reinstall ollama
and
brew services restart ollama


Clicking readOnly nested editor throws error

Do you want to request a feature or report a bug?
bug
What is the current behavior?
Clicking nested editor having readOnly=false throws error getUpdatedSelectionState.js:32 Uncaught TypeError: Cannot read property 'getIn' of undefined
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem. You can use this jsfiddle to get started: https://jsfiddle.net/gmertk/e61z7nfa/.
see https://jsfiddle.net/p56fjbm3/

click "hello world" text
see console error

What is the expected behavior?
selects the clicked block
Which versions of Draft.js, and which browser / OS are affected by this issue? Did this work in previous versions of Draft.js?
all i suppose

getSelectionOffsetKeyForNode accepts any block having data-offset-key attribute. It should accept only blocks having correct data-editor value.

Here it works: https://github.com/vepasto/draft-js/tree/fix-nested-editor-err
If the solution looks good I'll test it trough and add tests.


Do not throw error when problem proved infeasible in presolve

Basically the title. If a problem is found infeasible in presolve then the app won't accept the log, presumably because a lot of sections are missing.
LOVE the app by the way!

Such a log is probably not worth analyzing, but it should not crash the app. I will fix it. Do you by any chance have a log at hand so I can double-check that I fixed the right issue?
PS: There are some further improvements to the app planed. I just need to find the time :)

Here are a couple of examples. You're right that there would not be useful analysis, but just the ability for the app to show without crashing that the problem was shown infeasible would be good.
Looking forward to it, the app has been a tremendous help to my work!
Uploading log_2024-10-25-17-44-23.txt…

Thanks, I will try to fix it later this week and create test cases based on these logs!

Should be fixed now! :)

Can confirm that this works, thanks!


HTTP history page filter, count and account name

Resolves #302
The transaction hash on the history page is truncated and the table columns are re-arranged.
This PR also added transaction filtering, pagination info and account name to the history page.
Added coloured icons for each transaction direction as found on the Android app.
Show the number of transaction for each filter on the dropdown

The fee table header can be align to the center. its too far left.

run go fmt ./...

The fee table header can be align to the center. its too far right. Also the amount can be aligned a little to the left.
generally are the headers center, left or right align? hard to tell.

The headers are aligned with the content

i noticed your amount and fees columns outputs needs to be properly formatted for your filters.
use the amountDcr function where necessary.

If 0 items are found for a filter type, the line should be hidden and not be a choice.

These anomalies are observed on page load:

Direction icons are same
Date, amount and fee fields getting truncated (why are we using fixed column widths again?)

When you change the tx filter, these additional anomalies are observed:

tx count report at the top right
External account listed
Hash getting { at the end instead of ...

If 0 items are found for a filter type, the line should be hidden and not be a choice.

Im still getting the filters with 0 items please check
also rebase your PR

i think this error is messing with the output.


Update ci.yml

We need to include the PHP 8.3 in the standard CI process.
We need to ensure compatibility with the latest PSQL versions (atm the jobs are stopped).

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 67.44%. Comparing base (1ca6543) to head (780c826).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##             master    #1995       +/-   ##
=============================================
- Coverage     89.28%   67.44%   -21.84%
  Complexity     8058     8058
=============================================
  Files           232      232
  Lines         24534    24534
=============================================
- Hits          21905    16548     -5357
- Misses         2629     7986     +5357

Flag
Coverage Δ

5-max
67.44% <ø> (-21.84%)
:arrow_down:

7.4
67.44% <ø> (-21.84%)
:arrow_down:

agnostic
67.44% <ø> (ø)

mysql
?

pgsql
?

sqlite
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add it so you can see tps

If you set it that you can see tps it just shows a -

As stated in the docs, tps only works in Singleplayer. TPS estimation has not been added yet (#22)


Theorem for ¬(p ↔ ¬p) missing?

Dear lean4 maintainers,
Thanks for your work, I love playing with lean4.
Unfortunately I got stuck with proving one of the exercise theorems in Propositions and Proofs ,¬(p ↔ ¬p), and couldn't find a proof in the source code either. Most likely I'm looking at the wrong place or just can't recognize it because.
I'd appreciate any help.
Cheers,
Matteo

Hey timotree3, thanks for the pointer to the community chat and the solution! Will ask in the community chat next time I have a similar question.
I was thinking about adding a solution.lean file (or a file for each chapter) to this repository. I think many people use this resource kind of like a textbook and use the exercises for practice. Many likely get stuck like me and look in this repo for solutions. If we would solutions here, they could get unstuck faster.
An alternative to this could also be to provide a disclaimer somewhere in the document that they could ask for solutions in the community chat. However, this could lead to someone having to answer the same question over and over again.
What do you think? I could add solutions for the first four chapters if wanted.

Both ideas (solutions or Zulip pointer) seem reasonable to me! I don't know if there's a reason that solutions haven't already been included, so it might be worth proposing to a wider audience. Maybe make a thread in the Zulip on the topic of adding solutions to TPIL?

Sounds good, will do 👍


Clarified the connect and select examples in the README

per feedback from @TobiasKrogh

@kosz @bennett000

Thanks 👍 I can confirm that the .connect pattern works but you might also note as shown in https://github.com/angular-redux/ng2-redux/pull/65 and https://github.com/angular-redux/ng2-redux/issues/51 that the CounterActions need to be changed a bit


My app stopped loading after installing @ng-idle

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/HackedByChinese/ng2-idle/blob/master/CONTRIBUTING.md#getting-help

Current behavior

Getting exception:

ERROR Error: StaticInjectorError(AppModule)[Keepalive -> HttpClient]:
StaticInjectorError(Platform: core)[Keepalive -> HttpClient]:
NullInjectorError: No provider for HttpClient!
at _NullInjector.webpackJsonp.../../../core/esm5/core.js._NullInjector.get (core.js:1003)
at resolveToken (core.js:1301)
at tryResolveToken (core.js:1243)
at StaticInjector.webpackJsonp.../../../core/esm5/core.js.StaticInjector.get (core.js:1111)
at resolveToken (core.js:1301)
at tryResolveToken (core.js:1243)
at StaticInjector.webpackJsonp.../../../core/esm5/core.js.StaticInjector.get (core.js:1111)
at resolveNgModuleDep (core.js:10896)
at _createClass (core.js:10933)
at _createProviderInstance$1 (core.js:10907)

Expected behavior

App should load as it was before installing this package
Minimal reproduction of the problem with instructions

Followed this example:
https://hackedbychinese.github.io/ng2-idle/
and tried to load app, but it failed.
What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular5 / Windows

@ng-idle version: 2.x

"ng-idle/core": "^2.0.0-beta.15",
"ng-idle/keepalive": "^2.0.0-beta.15",
"angular2-moment": "^1.9.0",

Angular version: 2.x

5.2.4

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

All

Language: [all | TypeScript X.X | ES6/7 | ES5]
"typescript": "~2.4.2"

Node: node --version =

Added HttpClientModule, even HttpModule in AppModule but still facing this error.

Adding HttpClientModule/HttpModule did not help me. If there any solution?

@sarikonduri instruction on https://hackedbychinese.github.io/ng2-idle/ misses only adding HttpClientModule to root module's imports.
Here's it my StackBlitz example — https://stackblitz.com/edit/ng-idle-issue-98 — what's in instruction but with HttpClientModule.
If you need more assistance, please, try replicating your issue in StackBlitz, it would make helping easier.
@HackedByChinese I think this issue is resolved and can be closed, but  instruction needs an update. Can you maybe point me at its source files so I can prepare pull request?


Add downstream integration test for hercules-ci/gitignore

In https://github.com/hercules-ci/gitignore.nix/issues/32 we noticed that using readDir (and searching for .gitignore files outside of the project directory) would watch way to many directories recursively. https://github.com/hercules-ci/gitignore.nix/pull/33 should fix that, but we have to confirm.

More context: https://github.com/target/lorri/issues/211#issuecomment-553720336, https://github.com/target/lorri/issues/211#issuecomment-555026353

I haven't been able to repro with a simplistic setup.
Setup
# default.nix
{ pkgs ? import <nixpkgs> {} }:
let
  gitignoreSrc = pkgs.fetchFromGitHub {
    owner = "hercules-ci";
    repo = "gitignore";
    # rev = "f9e996052b5af4032fe6150bba4a6fe4f7b9d698";
    # sha256 = "sha256:0jrh5ghisaqdd0vldbywags20m2cxpkbbk5jjjmwaw0gr8nhsafv";
    rev = "f9525682432c116edfb390482dcc7f72ae3df64b"; # before "don't readDir the store"
    sha256 = "sha256:1iy502qi8ljj7c31vsjb75vnrbfkpc2pnfq85j33zvnr2li3kb4i";
  };
  inherit (import gitignoreSrc { inherit (pkgs) lib; }) gitignoreSource;
in
  pkgs.stdenv.mkDerivation {
    name = "hercules-gitignore-test";
    src = gitignoreSource ./.;
  }

# Makefile
install:
        echo 'Done'

and shell.nix is a soft link to default.nix.
As a sanity check, this succeeds:
$ nix-build .

Result
In neither case did lorri start watching / or /nix or /nix/store.

straceing this, it looks to me like the readDirs stop at the Git repo boundary in either case.


Provide Swift 3 overlay

Provide a Swift 3 language syntax overlay into experimental/foundation to allow the integration of libdispatch into Foundation and the full Swift toolchain to progress.

I've built full toolchains on Ubuntu 14.04, 15.04 and 16.04, and tested using some NSURLSession tests. I've also tested with using the Kitura web framework, which invokes Dispatch directly rather than via Foundation.


Added mim/max support for static arrays

Currently min and max don't support static arrays as arguments. This adds the necessary overloads to do that.

This is by design. std.algorithm only supports the range interface.
Just do this
int[4] a = [1,2,3,4];

max(a[]);

Close PR?

@JackStouffer:
int[4] a = [1,2,3,4];
max(a[]);

Does not compile.

I think that Jack Stouffer is still right:  min and max are clearly designed to clip. minCount[0] and maxCount[0] are rather what you'd wish min and max to be. Actually it's a naming problem.

@BBasile I don't understand the second sentence. min and max are variadic templates that don't accept anything like a range.
As static arrays don't expand with array[] (which would a good idea BTW), it's not trivial to get the result. Having to write a workaround for something that simple is annoying. Actually it's surprising that they don't take ranges directly, but one can do range.reduce!min. I just found out, it also works with static arrays.

With the second sentence I meant that min and max are rather used with two values that are not in the same container. But now I'm not quite sure. How about an overload that takes any input range then ?

@BBasile For an input range, reduce!min does the job. How about possibly infinite ranges?


Issue a warning if the file is longer than 511 characters

See https://groups.google.com/forum/#!topic/bids-discussion/IdWe0R8OFyw

As far as I can tell this is still a potential issue with afni. Moving to low hanging fruits

Warning if the full path is >256 characters (bids-standard/bids-specification#674) would hit every case this would. Is it worth having two issues like LONG_PATH_WINDOWS LONG_FILENAME_AFNI, or just LONG_PATH?

This could now be written as a schema check.


Lint/StructNewOverride

Lint/StructNewOverride

Enabled by default
Safe
Supports autocorrection
VersionAdded
VersionChanged

Pending
Yes
No
0.81
-

This cop checks unexpected overrides of the Struct built-in methods via Struct.new.
Examples
# bad
Bad = Struct.new(:members, :clone, :count)
b = Bad.new([], true, 1)
b.members #=> [] (overriding `Struct#members`)
b.clone #=> true (overriding `Object#clone`)
b.count #=> 1 (overriding `Enumerable#count`)

# good
Good = Struct.new(:id, :name)
g = Good.new(1, "foo")
g.members #=> [:id, :name]
g.clone #=> #<struct Good id=1, name="foo">
g.count #=> 2

References
https://docs.rubocop.org/rubocop/0.87/cops_lint.html#lintstructnewoverride

I use structs sometimes when mocking in tests which is hard enough already.
It would be nice if we could exclude this cop within the test / spec directory.
For the linting itself i'm all for it 👍


[Question]: qemu return error while booting windows

Is your question not already answered in the FAQ?

[X] I made sure the question is not listed in the FAQ.

Is this a general question and not a technical issue?

[X] I am sure my question is not about a technical issue.

Question
❯ Extracting Windows 10 image...
❯ Adding drivers to image...
❯ Adding win10x64.xml for automatic installation...
❯ Building Windows 10 image...
❯ Creating a 128 growable disk image in raw format...
❯ Booting Windows...
❯ ERROR: qemu-system-x86_64: -device scsi-hd,drive=data3,bus=data3b.0,channel=0,scsi-id=0,lun=0,rotation_rate=1,bootindex=3: Cannot get 'write' permission without 'resize': Image size is not a multiple of request alignment

My docker-compose.yml:
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "win10"
      LANGUAGE: "Chinese"
      RAM_SIZE: "3G"
      CPU_CORES: "4"
      USERNAME: "waterfishj"
      PASSWORD: "waterfishj"
      DISK_SIZE: "128"
    devices:
      - /dev/kvm
    volumes:
      - /home/waterfishj/docker_compose/windows/data/storage1:/storage
      - /home/waterfishj/docker_compose/windows/data/shared:/shared
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m

ohhh, my false:DISK_SIZE: "128"


This will add missing itunes fields such as categories and keywords

This will add missing itunes fields such as categories and keywords
expected output:
"itunes" {
...
 "categories": [
        "Society & Culture",
        "Games & Hobbies"
      ],
 "keywords": [
        "Culture",
        "Society"
      ],
}

@bobby-brennan it's ready to be reviewed.

Thanks for the contribution! Aside from the one comment, looks good to me.

It's ready again

Thanks!

Published as 3.7.1


Remove entity sources

Removes provides+required GVK, bumps deppy to latest, removes remaining entity/entitysource code.

Codecov Report

:exclamation: No coverage uploaded for pull request base (remove_entity_soruces@e1ea986). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@                   Coverage Diff                    @@
##             remove_entity_soruces       #4   +/-   ##
========================================================
  Coverage                         ?   24.42%
========================================================
  Files                            ?       18
  Lines                            ?      692
  Branches                         ?        0
========================================================
  Hits                             ?      169
  Misses                           ?      519
  Partials                         ?        4

Flag
Coverage Δ

unit
24.42% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


pigar may include packages which are not required

I recently found that the package pyqcs has been marked as "used by" by several projects on github. These projects have  requirements.txt which are automatically generated using pigar. In the code the package is not used.
Perhaps this is a user error by the maintainers or a bug in pigar.
Related repositories are:

https://github.com/innerfirexy/COLING2022-RationalGestures
https://github.com/EigerEx/geoMetaDetection
https://github.com/john-preston-uwimona/sensornet-client

pyqcs is a dirty record of yaml, this will be fixed in next release.

pigar v2 pip install pigar==2.0.0 should fix this issue


Add CI Workflows

Description

Adds CI workflows:

verify - checks for lint and builds functions to confirm there are no build errors (also eslint checks thanks to react-scripts having that as part of build command). Runs on PR creation
deploy - checks for lint, builds, and deploys functions when pushing to master, production, or next branches (Firebase project determined by aliases in projects setting in .firebaserc)

Separates dev dependencies from dependencies

Notes

We will want to add the real project we would like to deploy to for production in .firebaserc
FIREBASE_TOKEN (firebase CI token) will have to be set in secrets settings of repo for deploying to projects (this will not be visible to forked versions)
Usually it is common to have next branch point to an integration environment outside of normal stage/production flow to allow for hosted testing of larger features before merging into master (we would just need to set next alias in projects of .firebaserc to get this)

Relevant Tickets (Please add closes, refs, etc)

refs 32 of communitymap-ui repo

Screenshots (if appropriate)

@prescottprue With few small changes I saw in your other PR it worked! :) Great job, thank you!


Ignore channel double creation during replication.

fix #2931
Signed-off-by: Jay Guo<EMAIL_ADDRESS>

Type of change

Bug fix

Description
see details in issue discussion
Additional details

Related issues

@Mergifyio backport release-2.4

@Mergifyio backport release-2.2


403 error when you register a game

When you try to add a game you get 403 errors everytime, it seems that g2a got bot protection or am I doing something wrong?

testing in a local server it works, but testing in an external server it gives 403, is something required to doesn´t have a 403 error?

Okay, that's weird, I don't get any 403s (neither on my local nor on my remote server) but I'll try to reproduce your problem.
Thanks for reporting. 🙂

@jmacboy Weird, I'm not able to reproduce this. Could you post additional details about your setup (PHP version, webserver, ...)?

I had the same issue, but I was able to fix it by changing the owner of the file "data.php" to (in my case) www-data. So it might have been a write permissions issue.


add support for gQUIC 46

QUIC 45 will add support for the MESSAGE frame (as an experimental feature?), see https://mailarchive.ietf.org/arch/msg/quic/p0SSsnlUi_m6xNvTmBEJ41UPYA0.

Also see https://groups.google.com/a/chromium.org/forum/#!topic/proto-quic/L1Ye9KsLtcU.

gQUIC 46 uses the old version of the invariants 🙄, so it will be difficult to share code with the current master branch. I won't have the time to add support for gQUIC 46, but would be happy to review a PR, if anyone is interested in tackling this.

Hi,
just before I try to implement gQUIC 46, should we continue supporting gQUIC 44?
I assume yes but just wanted to ask.

I don’t see a lot of value in supporting either of them, to be honest.
What’s your use case for gQUIC 46?

I have deployed quic-go in production for some webapps and right now gquic doesn't work because google updated chrome/chromium to prefer gQUIC 46.
Turning on the debug logs in quic-go yields this line:
handling packet from [redacted-ip:redacted-port]: error parsing header: InvalidPacketHeader: Received packet with invalid packet type: 67

I'm not really sure if this can be worked around with version negotiation to force the client to choose another version? Also it seems that at least chromium does not obey the supported versions in the alt-svc header (Q39,Q43 in my case) and defaults to Q46.

No, Chrome doesn't honor version negotiation packets.
Google went ahead and implemented an IETF QUIC header format that was already outdated by the time they actually deployed that version. It would be a lot of work to get that working in quic-go, and it will change again for the next gQUIC version.
If you want to invest the time and effort, feel free to send us a PR that adds support for gQUIC 46. I don't think you need to support 44 and 46 at the same time, afaik 44 has been outdated for some time already. But you probably have some statistics on that from your webapp.

So the PR should be posted against the gquic branch of quic-go right?

It would be a lot of work to get that working in quic-go, and it will change again for the next gQUIC version.
As far I understand they changed the header format to draft-17 with implemented var length packet numbers and var length connection ids right?
Sorry for asking this, but what is your approximate estimate for adding gQUIC 46 if you were to  implement it? For me I would say like week to week and a half if I remove the gQUIC 44 support.
The invariant header parsing for gQUIC 44 is implemented, so the ground work for gQUIC 46 has been laid down as the main difference between the two is not so significant as I was looking trough
the codebase of quicgo.

From the answers to your question on the proto-quic mailing list, gQUIC 46 will make it necessary to disable a bunch of the multiplexing features of quic-go, since it doesn't support client connection IDs. So that's additional complexity due to Google's incomplete implementation of the spec.
Also keep in mind that the invariants recently changed, so you'll need to come of with a demultiplexing scheme for future gQUIC versions.

QUIC 45 will add support for the MESSAGE frame

Sorry, I don't get the discussion in this GitHub issue.
AFAIK, latest version is 22(https://tools.ietf.org/html/draft-ietf-quic-tls-22) . What do you mean by 45 here?

@iwanbk There are 2 implementations/specifications of QUIC at the moment: IETF QUIC en gQUIC, the latter being the implementation Google started with in 2013. This was picked up by the IETF and is currently being standardised and is indeed at version 22 as you mention (or even 23 as we speak?).
Still though the gQUIC version is used by Google Chrome, YouTube servers and with the Cronet library in Android/iOS, also this being a notable example. GQUIC is currently at version 46 and hopefully closing the gap specification-wise with IETF QUIC.


Expose props to configure PlayerNotificationManager

Feature Request
Support PlayerNotificationManager
Why it is needed
There are a few other issues asking for native implementation of notification-tray/control center controls for the video session from the lock screen or elsewhere on device. As this blog post suggests, it's a best practice for video-playback, and for the same motivations that the exoplayer team implemented this it would make sense for this library to support it.
Possible implementation
Highly recommended reading: https://medium.com/google-exoplayer/playback-notifications-with-exoplayer-a2f1a18cf93b
The react-native-video exoplayer API could expose a usePlayerNotificationManager prop, which takes a boolean and selectively creates the PlayerNotificationManager and sets the exoplayer instance to it. Additional configuration props could be passed to a MediaDescriptionAdapter implementation;
Code sample
const VideoPlayer = () => {
  return <Video usePlayerNotificationManager={true, {
    useNavigationActions: boolean,
    fastForwardIncrementMs: boolean,
    rewindIncrementMs: boolean,
    useStopAction: boolean,
    notificationColor: Color
    notificationSmallIcon: ...,
    notificationBadgeIcon: ...,
    notificationVisibility: ...
  }}
}

ReactExoplayerViewManager.java
public ReactExoplayerViewManager(ReactExoplayerConfig config) {
  this.config = config;
  this.playerNotificationManager  = new PlayerNotificationManager(...)
  this.playerNotificationManager.setUseNavigationActions(config.useNavigationActions)
  // etc
}

protected ReactExoplayerView createViewInstance(ThemedReactContext themedReactContext) {
  return new ReactExoplayerView(themedReactContext, config, playerNotificationManager);
}

// ReactExoplayerView.java
public void run() {
  player = ExoPlayerFactory.newSimpleInstance(getContext(), renderersFactory,
                            trackSelector, defaultLoadControl, null, bandwidthMeter);

  playerNotificationManager.setPlayer(player)
}

...

private void releasePlayer() {
  ...
  playerNotificationManager.setPlayer(null);
  ...
}

@hueniverse  @sampsonjoliver  Any update on this for iOS?


feat: better handling of apple-mobile-web-app-status-bar-style

Hi All,
On iOS users have the ability to add web pages to the home screen. If the added web page has a metadata tag of apple-mobile-web-app-capable the web page will open in full screen i.e. without the browser UI. This can be nice for giving an app-like feel.
Extending this, the developer is also able to adjust the status bar style using apple-mobile-web-app-status-bar-style. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent, the web content is displayed on the entire screen, partially obscured by the status bar.
When running in black-translucent mode, things like the headers get in the way of the battery, time, network signal, etc. icons. In order to prevent this one must change the height of the header to 66px and add padding-top of 22px.
It would be nice if we could do some build in detection on window.navigator.standalone to detect iOS home screen web apps, check the value for apple-mobile-web-app-status-bar-style and apply some CSS classes to the body accordingly to allow for CSS rules to be applied to fix required elements.
References:
https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html

Greetings @imduffy15!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Adding platform-cordova to as a class to the body tag adjusts this nicely.

Greetings @imduffy15!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


Update platform os value to constant

Summary
now Platform.OS can be updated, like Platform.OS = 'example'.
But actually Platform.OS should be constant.
Changelog
use get to access OS value instead of define a property in Platform object
Test Plan
Platform.OS = 'example'
console.log(Platform.OS) // 'ios'/'android'/...

@passerbyloo would you mind looking at the failing tests?

@passerbyloo would you mind looking at the failing tests?

sure, will check it

I don't think this is a huge concern, as Platform.OS values are inlined by metro already, so any mutations to it at runtime would not be effective.