docs: fix page title

Fixes #46

Codecov Report
Patch and project coverage have no change.

Comparison is base (bc01fd3) 100.00% compared to head (ab3f30a) 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff            @@
##               dev       #47   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           13        13
  Lines          815       815
=========================================
  Hits           815       815

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Make SKGLDrawable public so users can try to create GPU-powered WPF controls

Description
By mixing and matching the code for SKElement and SKGLControl, users can try to make a WPF control that uses GPU acceleration, but SKGLDrawable and GRBackendRenderTarget prevent compilation from being successful since SKGLDrawable is internal.
Replicating its code proves to be hard though, since it is a facade for more internal calls,
Hosting the WinForms control proved to be problematic on old machines with no dedicated GPU, but with an integrated one (2nd generation i5) where the samples work, but moving our drawing code to use SKGLControl crashes with AccessViolationException on the 3rd-4th draw on this particular machine (though it works OK when a dedicated GPU is present).
Also using the SKGLControl makes the task of falling back to CPU rendering on an exception much harder, since if we roll our own one once we get an exception during GPU rendering we can just stop using it, and reuse the old SKElement code for CPU only
If SKGLDrawable is public we have the opportunity of experimenting and implementing out own GPU-accelerated WPF controls
Code

      // create the contexts if not done already
      if (grContext == null) {
        var glInterface = GRGlInterface.CreateNativeGlInterface();
        grContext = GRContext.Create(GRBackend.OpenGL, glInterface);
      }

      // manage the drawing surface
      if (renderTarget == null || surface == null || renderTarget.Width != info.Width || renderTarget.Height != info.Height) {
        // create or update the dimensions
        renderTarget?.Dispose();
        renderTarget = SKGLDrawable.CreateRenderTarget(Width, Height);

        // create the surface
        surface?.Dispose();
       // TODO This fails due to being internal
        surface = SKSurface.Create(grContext, renderTarget, GRSurfaceOrigin.BottomLeft, SKColorType.Rgba8888);
      }

      OnPaintSurface(new SKPaintSurfaceEventArgs(surface, info));
    }

Closing this as SKGLDrawable no longer exists.


[RFC] Naming convention

Variable (const) names in English;
Always start with _ (underline);
Strings must be camelCased;
Objects (enums) must be PascalCased;
Exported constants must be alphabetically ordered;
Additional line break before objects (not for strings);

Examples:
export const _hello = 'Hello'
export const _visitor = 'Visitor'

export const _OrderStatus = {
  open: 'Open',
  closed: 'Closed'
}

What's wrong with last convention?

Possible problem with JS reserved words like Number (fatal error with Node.js) :expressionless:

Conventions for v0.2.0 and next, replacing old conventions (https://github.com/ecomclub/i18n/issues/1) used on v0.1.0


Does deptrac ignore violations made in imports/comments?

The next code results in violation in deptrac v1, but deptrac v2 sees nothing
src\First\FirstClass.php:
<?php

namespace App\First;

use App\Second\SecondClass;

class FirstClass {
    /** @psalm-var SecondClass::STATUS_* */
    public string $status;
}

src\Second\SecondClass.php:
<?php

namespace App\Second;

class SecondClass {
    public const string STATUS_A = 'A';
}

deptrac.yaml:
deptrac:
  paths:
    - ./src
  exclude_files:
    - '#.*test.*#'
  layers:
    - name: First
      collectors:
        - type: classLike
          value: .*First.*
    - name: Second
      collectors:
        - type: classLike
          value: .*Second.*
  ruleset:
    First:
    Second:

output of qossmic/deptrac-shim v1:
2/2 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

----------- -------------------------------------------------------------------------
 Reason      First
----------- -------------------------------------------------------------------------
 Violation   App\First\FirstClass must not depend on App\Second\SecondClass (Second)
             /deptrac/src/First/FirstClass.php:5
----------- -------------------------------------------------------------------------
-------------------- -----
  Report
-------------------- -----
 Violations           1
 Skipped violations   0
 Uncovered            0
 Allowed              0
 Warnings             0
 Errors               0
-------------------- -----

output of qossmic/deptrac v2:
2/2 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
-------------------- -----
 Report
-------------------- -----
 Violations           0
 Skipped violations   0
 Uncovered            0
 Allowed              0
 Warnings             0
 Errors               0
-------------------- -----

Is it expected behavior?
Note: if I use public string $status = SecondClass::STATUS_A; then qossmic/deptrac v2 will report a violation

Is it expected behavior? Yes.
There have been breaking changes between v1 and v2 as you can read here. One of those changes is:

Changed default dependency emitters from CLASS_TOKEN + USE_TOKEN to CLASS_TOKEN + FUNCTION_TOKEN. You can get the old behaviour by explicitly specifying the old emitters in your config file.

This is your case. You can see that your violation is coming from the use token on line 5:

App\First\FirstClass must not depend on App\Second\SecondClass (Second)
/deptrac/src/First/FirstClass.php:5

So if you add USE_TOKEN to your analyser.types, you get the violation back.
Deptrac never collected violations from comments.


Replace access with lodash.get, make more declarative.

Lodash already has support for safe property access via the explicit
get method, and as a shorthand to many of the collection methods (such
as sortBy).
I also took this opportunity to refactor the code to be a bit more
functional, which allows us to place the list tiems inline with the rest
of the JSX, which I find far more readable.
Interesting project!

Nice refactor, thanks!


send Icon on the button does not appear

My ultimate goal is to create a send button like this

I followed the documentation here or referred the Github page here.
But what I get is

Your issue has been closed because it does not conform to our issue requirements.
Please provide a full reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!


fix: fixes value inconsistencies for tfi and genm import

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


Add [RuvChain ruvcha.in] #issuer GBJGR7…YGERYX

Address: GBJGR7HDC4QPCZ6SA5VBH73V7L5SSZ5GAS6US23PFSGV4SQXJLYGERYX
Tags: issuer
Title: RuvChain  Domain: ruvcha.in
Requested by @ruvcoindev

@ruvcoindev the issue was closed with issue report 357. https://github.com/stellar-expert/public-directory/issues/357
If you have additional information beyond these posts and our chats on telegram. There is no evidence that these tokens are connected to the Steep project from a different blockchain.


Rotate the API key at runtime in the logs-agent

What does this PR do?
The logs-agent now pull the API key from the configuration every time it uses it. This makes rotating the API key at runtime possible.
Describe how to test/QA your changes

Test that the logs agent still works like before (this includes TCP/HTTP + additional_endpoints)
Rotate the API key for HTTP and TCP destination (API key rotation is only supported for the main setting api_key in the configuration). But rotating the API key should not impact other destination.

Setting up API key rotation:

Use Secret management solution to set the API key (ex: api_key: ENC[my API key]).
Create a binary that returned a different value each time it's called
Use the new CLI to trigger secret rotation: datadog-agent secrets refresh

/merge


Confusing exception if FC has not create the status field

Organization Name:

Short summary about the issue/question:
Confusing exception in job detail page (after submission) if FC has not create the status field.

This may happen if FC is very busy, or down or during upgrade.
So, RestServer should not assume the framework.status field is always not nil.
Instead, like YARN, it should mock a waiting status of the framework.
Brief what process you are following:

How to reproduce it:

OpenPAI Environment:

OpenPAI version:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Hardware (e.g. core number, memory size, storage size, GPU type etc.):
Others:

Anything else we need to know:

Fixed in #3876.


Stable rockets with negative stability margins?

Describe the bug
Rockets with slightly negative stability margins seem stable in RocketPy
To Reproduce
Run the following code:
# Helper class
from rocketpy import Environment, SolidMotor, Rocket, Flight, Function

# Prepare Motor
Pro75M1670 = SolidMotor(
    thrustSource="../../data/motors/Cesaroni_M1670.eng",
    burnOut=3.9,
    grainNumber=5,
    grainSeparation=5/1000,
    grainDensity=1815,
    grainOuterRadius=33/1000,
    grainInitialInnerRadius=15/1000,
    grainInitialHeight=120/1000,
    nozzleRadius=33/1000,
    throatRadius=11/1000,
    interpolationMethod='linear'
)

# Prepare Rocket
Calisto = Rocket(
    motor=Pro75M1670,
    radius=127/2000,
    mass=19.197-2.956,
    inertiaI=6.60,
    inertiaZ=0.0351,
    distanceRocketNozzle=-1.255,
    distanceRocketPropellant=-0.85704,
    powerOffDrag='../../data/calisto/powerOffDragCurve.csv',
    powerOnDrag='../../data/calisto/powerOnDragCurve.csv'
)
Calisto.setRailButtons([0.2, -0.5])

Nose = Calisto.addNose(length=0.55829, kind="vonKarman", distanceToCM=0.71971)
FinSet = Calisto.addFins(4, span=0.1, rootChord=0.120, tipChord=0.040, distanceToCM=-1.04956)
Tail = Calisto.addTail(topRadius=0.0635, bottomRadius=0.0435, length=0.060, distanceToCM=-1.194656)

# Prepare Environment
Env = Environment(5.2, 9.8)
Env.setAtmosphericModel(type='CostumAtmosphere', wind_v=-10)

# Simulate Different Static Margins by Varying Fin Position
simulation_results = []

for factor in [0.1, 0.3, 0.5, 0.8, 1.0]:
    # Modify rocket fin set by removing previous one and adding new one
    Calisto.aerodynamicSurfaces.remove(FinSet)
    FinSet = Calisto.addFins(4, span=0.1, rootChord=0.120, tipChord=0.040, distanceToCM=-1.04956*factor)
    # Simulate
    TestFlight = Flight(rocket=Calisto, environment=Env, inclination=90, heading=0, maxTimeStep=0.01, maxTime=2.5, terminateOnApogee=True)
    # Post process flight data
    TestFlight.postProcess()
    # Store Results
    staticMarginAtIginition = Calisto.staticMargin(0)
    staticMarginAtOutOfRail = Calisto.staticMargin(TestFlight.outOfRailTime)
    staticMarginAtSteadyState = Calisto.staticMargin(TestFlight.tFinal)
    simulation_results += [(TestFlight.attitudeAngle, 'Static Margin of {:1.2f} c'.format(staticMarginAtOutOfRail))]

Function.comparePlots(simulation_results, lower=0, upper=2.5, xlabel='Time (s)', ylabel='Attitude Angle (deg)')

Expected behavior
Negative stability margins should be unstable.... right?
Screenshots
Here is a plot of the angle that the Rocket makes with the horizontal plane after leaving the rail. Notice how the green and orange trajectories are stable even thought their stability margin is negative,

I hope that this does not continue to happen for much longer. The back end team is going to look into it very soon.

Hey, when testing the current version available on develop branch, I unfortunately got the same bug happening again...
Could one of you two check if the error is from my part or actually #125 didn't resolved this bug? @Lucas-KB @giovaniceotto

Actually, @Gui-FernandesBR, the bug was reintroduced when you merged pull request #122 changes back into the bug/issue-115-static-margin-stability branch (commit 3dd62c8a6962f2f6c8e2ffe4a112a4818e54e2d1). To fix it, we need to remove the abs from line 1327 of Flight.py.

Actually, there might be a problem even fixing that. I am checking that now, will come back with more information in a bit.

Solved by PR #125:


Deprecated lr. use learning_rate

Thanks for the PR. Can you add the minimal version (of tf?) to setup.py? See:
https://github.com/asreview/asreview/blob/c03eb4ba380cc817819abab78d8ee96bee340f4d/setup.py#L111-L124

I.. am not sure how I should be figuring out the minimal version hahaha

It seems like this holds for the entire 2-series of TensorFlow. Maybe restrict ASReview to TensorFlow 2.

Thanks! Fixed remark via PR #672.


googleca: close certificate authority client when done

Signed-off-by: Hector Fernandez<EMAIL_ADDRESS>
Summary

We realized that NewCertAuthorityService was creating a certificate authority client but the returned client was not closed  when it was done being used. This is needed to clean up its underlying connections. I added a new interface function so any third party (consumer) could close the connection when they are done.
Release Note

Close certificate authority client when done.
Documentation

Codecov Report

Merging #930 (9346a16) into main (7016448) will decrease coverage by 0.27%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #930      +/-   ##
==========================================
- Coverage   53.83%   53.55%   -0.28%
==========================================
  Files          37       37
  Lines        2320     2332      +12
==========================================
  Hits         1249     1249
- Misses        980      992      +12
  Partials       91       91

Impacted Files
Coverage Δ

cmd/app/serve.go
18.85% <0.00%> (-0.17%)
:arrow_down:

pkg/ca/ephemeralca/ephemeral.go
67.44% <0.00%> (-3.29%)
:arrow_down:

pkg/ca/fileca/fileca.go
45.71% <0.00%> (-2.78%)
:arrow_down:

pkg/ca/googleca/v1/googleca.go
37.05% <0.00%> (-0.45%)
:arrow_down:

pkg/ca/kmsca/kmsca.go
59.09% <0.00%> (-5.91%)
:arrow_down:

pkg/ca/tinkca/tinkca.go
36.66% <0.00%> (-1.27%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Can we implement Close() in https://github.com/sigstore/fulcio/blob/main/pkg/ca/baseca/baseca.go, and then only reimplement it in googleca?

@haydentherapper @priyawadhwa I changed the implementation to follow the same approach we followed with TrustBundle.


Feature: libp2p interop

See #84
Goals:

[x] Add libp2p_support to handshake
[ ] Add .dialZN as well as /zn/2.0.0 handler
[ ] Add .dial hack with libp2p upgrade
[ ] Add server support for both

Reference: #84.

Todos:

[ ] do znv2 handshake

[ ] If peer.libp2p

[ ] do libp2p/multistream handshake and muxer, crypto, etc
[ ] create a conn with /zn/2 as client
[ ] store conn with client and with libp2p flag

[ ] else

[ ] store conn

[ ] if proto is /zn/2 or !proto

[ ] if !peer.libp2p

[ ] cb(null, client)

[ ] else

[ ] cb(null, conn.client)

[ ] else

[ ] if !peer.libp2p

[ ] fail with error "no libp2p support"

[ ] else

[ ] do hacky dial with proto


merge package template from Kronos-Tools/npm-package-template

Updated standard to latest version

Codecov Report

Merging #66 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #66   +/-   ##
=======================================
  Coverage   83.33%   83.33%
=======================================
  Files           1        1
  Lines          12       12
=======================================
  Hits           10       10
  Misses          2        2

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5fb8b2c...94c661f. Read the comment docs.


Document the API

Hi guys. Currently the API functionality can only be browser by reading through the code. There is no overview of any kind, although the API functionality is, of course- and as intended, very neat.
I remember that before realizing there was an open API at all, I found something in a tutorial along the lines of:
curl localhost:5000/models/images/generic/infer_many.json (...)
One can never know about the API and its functionality without going through all the source code, therefore I think it's nice at least have a concise list-ish overview of all the routes and the potential arguments.

I totally agree! I have long intended to write a tutorial with full examples of how you can create datasets and models and do inference using the API but never got around to doing it. Also, I was planning to change some of the API in #616 so I found it convenient to have it undocumented at the time :-)
We used to have auto-generated API docs in https://github.com/NVIDIA/DIGITS/blob/v2.2.1/docs/API.md but this was removed. It might be worth improving the inline doc and resurrecting this auto-documentation.

That in-line doclooks great. Maybe resurrect that phoenix?
On Tue, Jun 7, 2016 at 10:46 AM, Greg Heinrich<EMAIL_ADDRESS>wrote:

I totally agree! I have long intended to write a tutorial with full
examples of how you can create datasets and models and do inference using
the API but never got around to doing it. Also, I was planning to change
some of the API in #616 https://github.com/NVIDIA/DIGITS/pull/616 so I
found it convenient to have it undocumented at the time :-)
We used to have auto-generated API docs in
https://github.com/NVIDIA/DIGITS/blob/v2.2.1/docs/API.md but this was
removed. It might be worth improving the inline doc and resurrecting this
auto-documentation.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NVIDIA/DIGITS/issues/814#issuecomment-224218038, or mute
the thread
https://github.com/notifications/unsubscribe/AHXSRHIJKA0jZ3eT2m7kfbTaR-Dy-Y6Hks5qJS_4gaJpZM4IvqTJ
.

I removed Flask-Autodoc when adding soft login functionality. See https://github.com/NVIDIA/DIGITS/pull/463#issuecomment-169523795.
I couldn't find a way to order the decorators on views properly so that Flask-Autodoc could still find the filename including the function. But we could probably just give up on that feature (even though it was kinda cool).

Hello I have pushed #964 to help there. It is not a proper API reference but it shows examples of how to use the API. Writing a detailed documentation would be difficult sine most of the magic is in the form fields, which aren't easy to add to the inline documentation.


Loading Images/Icons etc

Is there anyway to load from a byte seq for images etc?  I'm wanting to bundling in the assets and instead of doing writing and removing from where I want to have those assets all the time, I was wondering if it's possible to load from in-memory buffer?

Bitmap from stream may be easier.  Probably could use staticRead() to bundle it in this case and just take make that a newStringStream() and load it that way.  Keep my libs down I'm thinking.

I knew I shouldn't have exceeded my capabilities.  Nothing takes the wind out of your sails when trying to overshoot and do something and are greeted with nothing but errors.  I tried though, goes back to my thinking I just know enough to cause damage (of course, it doesn't help that I really haven't messed with GTK stuff at all, I mostly did immediate mode using Raylib and C and that was with not straying too far from the examples).

It would be really nice to either have image creation from memory or a way to access the native surface data. I would like to implement a small simulation-app which needs to read and write pixel data directly. As far as I can see there is absolutely no way to efficiently work with pixel-data. The only way currently seems to be to call setPixel for every single pixel, right?


Getting error RuntimeError: Cannot run the event loop while another loop is running on notebook

Hi, I am getting an error when running on a jupyterlab notebook, the python shell works fine:

python 3.9
outlines 0.0.4

import os

import outlines.text as text
import outlines.models as models

examples = [
    ("The food was digusting", "Negative"),
    ("We had a fantastic night", "Positive"),
    ("Recommended", "Positive"),
    ("The waiter was rude", "Negative")
]

@text.prompt
def labelling(to_label, examples):
    """You are a sentiment-labelling assistant.

    {% for example in examples %}
    {{ example[0] }} // {{ example[1] }}
    {% endfor %}
    {{ to_label }} //
    """

complete = models.text_completion.openai("text-davinci-003")
prompt = labelling("Just awesome", examples)
answer = complete(prompt)

Gets the error
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[3], line 20
     18 complete = models.text_completion.openai("text-davinci-003")
     19 prompt = labelling("Just awesome", examples)
---> 20 answer = complete(prompt)

File ~/venv3.9/lib/python3.9/site-packages/outlines/models/openai.py:84, in OpenAICompletion.<locals>.generate(prompt, samples, stop_at, is_in, type)
     82     return generate_choice(prompt, is_in, samples)
     83 else:
---> 84     return generate_base(prompt, stop_at, samples, mask)

File ~/venv3.9/lib/python3.9/site-packages/outlines/base.py:48, in vectorize.__call__(self, *args, **kwargs)
     46     return self.call_thunk()
     47 elif self.signature is not None:
---> 48     return self.call_with_signature(*args, **kwargs)
     49 else:
     50     return self.call_no_signature(*args, **kwargs)

File ~/venv3.9/lib/python3.9/site-packages/outlines/base.py:153, in vectorize.call_with_signature(self, *args, **kwargs)
    150 n_out = len(output_core_dims)
    152 if self.is_coroutine_fn:
--> 153     outputs = self.vectorize_call_coroutine(broadcast_shape, args, kwargs)
    154 else:
    155     outputs = self.vectorize_call(broadcast_shape, args, kwargs)

File ~/venv3.9/lib/python3.9/site-packages/outlines/base.py:242, in vectorize.vectorize_call_coroutine(self, broadcast_shape, args, kwargs)
    240 loop = asyncio.new_event_loop()
    241 try:
--> 242     outputs = loop.run_until_complete(create_and_gather_tasks())
    243 finally:
    244     loop.close()

File /usr/lib/python3.9/asyncio/base_events.py:623, in BaseEventLoop.run_until_complete(self, future)
    612 """Run until the Future is done.
    613
    614 If the argument is a coroutine, it is wrapped in a Task.
   (...)
    620 Return the Future's result, or raise its exception.
    621 """
    622 self._check_closed()
--> 623 self._check_running()
    625 new_task = not futures.isfuture(future)
    626 future = tasks.ensure_future(future, loop=self)

File /usr/lib/python3.9/asyncio/base_events.py:585, in BaseEventLoop._check_running(self)
    583     raise RuntimeError('This event loop is already running')
    584 if events._get_running_loop() is not None:
--> 585     raise RuntimeError(
    586         'Cannot run the event loop while another loop is running')

RuntimeError: Cannot run the event loop while another loop is running

ah this workaround works: https://github.com/slackapi/python-slack-sdk/issues/429#issuecomment-525402667
adding this to the top of the notebook:
# you need to do this for jupyter notebooks
# https://github.com/slackapi/python-slack-sdk/issues/429#issuecomment-525402667
import nest_asyncio
nest_asyncio.apply()

I think this is due to outlines running async tasks in an event loop instead of exposing the async API. The correct solution would be to expose it, but glad you found a workaround.

Re-opening as this was mentioned again.


Revert "Refactor of flexible_type <--> python code."

This reverts commit 0542d1053e02197c5f5cbc6f19b414559374e39a.

Abandoning after offline discussion with @ylow.


exclude Realtime REST Group users from user map

That way, it won't show up in the user map.
Did this by filtering users who have permission in the Realtime REST group. Logically thinking, only Realtime REST users who will be assigned in the group. So, this will do.

Add scrutinizer #93


fix(ast): add type field to TS types for ObjectPattern etc

Fixes #2658 (details given in https://github.com/oxc-project/oxc/issues/2657#issuecomment-1987289481).
Add type fields to TS types for ObjectPattern, ArrayPattern etc which were missing previously.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2670  👈
#2669
#2668
#2665
#2664
main

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

Join @overlookmotel and the rest of your teammates on  Graphite

Merge activity

Mar 11, 1:38 AM EDT: @Boshen started a stack merge that includes this pull request via Graphite.


100% Progress Bar on Failed Uploads

Hi,
I have a strange issue, the progress bar goes 100% even if the upload fails. I validate the allowed files types at back end.
I believe the plugin assumes that a successful upload has been done if it receives a response from the server.
How can we make the progress bar 0% when backend validation fails.
Regards
Raj

onSuccess: function (files, response, xhr, pd) {
//You can control using PD
pd.progressDiv.show();
pd.progressbar.width('0%');
},

You can restrict the filetype at client side also using the below options.
allowedTypes:"jpg,png,gif,jpeg,bmp,tiff"
acceptFiles: "image/*",


Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin.

I'm getting the above warning for every vue-youtube video that loads. I've tried adding the origin to the playerVars prop with no avail.
I'm on vue-youtube version ^1.4.0 and chrome.
Any help would be much appreciated.

Have the same issue

Duplicate

me too @@


Update langchain_models.py

I previously reported an issue, and now I have a simple solution to share.
https://github.com/zilliztech/GPTCache/issues/400

@alabrashJr Thank you so much!!! please sign your commit, like git commit --amend -s && git push -f


Updated description of website with proper content

Fixes Issue
Closes #426
Changes proposed
Updated the meta description in pages/index.ts

@rupali-codes can you review this?


Add length option to transmission

The code_on/code_off, protocol, and pulselength options are currently supported.
So, add length option too.

The rpi_rf  0.9.7 already supports the tx_length parameter in transmission, the method signature:
def tx_code(self, code, tx_proto=None, tx_pulselength=None, tx_length=None):

https://github.com/milaq/rpi-rf/blob/0.9.7/rpi_rf/rpi_rf.py#L91

I've added a new branch with length added. https://github.com/markvader/ha-rpi_rf/tree/Length
I'm not able to test it currently so won't merge to master for now.

I have merged the branch and released a new version as a beta 2022.4.0-beta.


NetworkReachabilityManager always get reachable in iOS 15.6

ℹ Please fill out this template when filing an issue.
All lines beginning with an ℹ symbol instruct you with what info we expect. You can delete those lines once you've filled in the info.
Per our *CONTRIBUTING guidelines, we use GitHub for
bugs and feature requests, not general support. Other issues should be opened on Stack Overflow with the tag alamofire.
Please remove this line and everything above it before submitting.

[x] I've read, understood, and done my best to follow the *CONTRIBUTING guidelines.

What did you do?
I added an NetWorkManager as a singleton. And in this class, it retains a NetworkReachabilityManager as a property.
What did you expect to happen?
It should fetch the correct network status.
What happened instead?
Always fetch (SCNetworkReachabilityFlags) flags = [.transientConnection, .reachable] both in startListening and SCNetworkReachabilitySetCallback
And no callback when I switch the Wi-Fi or the flight mode(My test iPhone doesn't have a sim card).
Alamofire Environment
Alamofire Version: 4.9.1 and 5.3.0
Dependency Manager:
Xcode Version: 13.4.1(13F100)
Swift Version: 5
Platform(s) Running Alamofire: iOS 15.6
macOS Version Running Xcode: 12.5
Demo Project
In 4.9.1, My NetWorkManager as below
private init() {
        self.reachability = NetworkReachabilityManager(host: NetworkManager.hostname)
        self.reachability?.startListening()
        self.reachabilityChanged()
    }

    private func reachabilityChanged() {
        reachability?.listener = { status in
            switch status {
            case .unknown:
                self.networkType = .unknown
                self.isConnected = false
                self.networkStatus = .unknown
            case .notReachable:
                self.networkType = .unknown
                self.isConnected = false
                self.networkStatus = .unavailable
            case .reachable(.wwan):
                self.networkType = .mobile
                self.isConnected = true
                self.networkStatus = .connected
            case .reachable(.ethernetOrWiFi):
                self.networkType = .wifi
                self.isConnected = true
                self.networkStatus = .connected
            }
            NotificationCenter.default.post(name: Self.networkStatusDidChangeNotification, object: nil)
        }
    }

In 5.3.0, My NetWorkManager as below
self.reachability = NetworkReachabilityManager(host: NetworkManager.hostname)
        self.reachability?.startListening { status in
            switch status {
            case .unknown:
                self.networkType = .unknown
                self.isConnected = false
                self.networkStatus = .unknown
            case .notReachable:
                self.networkType = .unknown
                self.isConnected = false
                self.networkStatus = .unavailable
            case .reachable(.cellular):
                self.networkType = .mobile
                self.isConnected = true
                self.networkStatus = .connected
            case .reachable(.ethernetOrWiFi):
                self.networkType = .wifi
                self.isConnected = true
                self.networkStatus = .connected
            }
            NotificationCenter.default.post(name: Self.networkStatusDidChangeNotification, object: nil)
        }

ℹ Please link to or upload a project we can download that reproduces the issue.

I have the same issue on iOS15.6

Alamofire doesn't control this feature, it simply provides a wrapper around Apple's APIs. If you find a bug in what we're reporting vs. what the system provides, that's something we can fix. However, if the system reports reachable, we can't do anything about that. If you like you can try NWPathMonitor instead to see if it's more accurate. Apple has long said that reachability isn't going to be completely accurate and should only be relied on to retry failed requests, not as a gate check against making requests in the first place.


Added MouseEvent class for mouse depending events.

Added MouseEvent class for mouse depending events.
Signed-off-by: Egor Bolgov<EMAIL_ADDRESS>

Coverage decreased (-0.2%) to 88.861% when pulling bc948e9f23923e0844459d97236717c9c5df1a64 on Indomian:MouseEvent into 76467dc81a972c853b426ffc985b346e7d61be30 on christophehurpeau:master.

Coverage increased (+0.5%) to 89.487% when pulling d2f45f4bada94275e7e6f1744d496d4071db9ff3 on Indomian:MouseEvent into c29af2a928d8551b85234a0bf9dac8ebd88a08df on html-document:master.

Coverage increased (+0.5%) to 89.487% when pulling d2f45f4bada94275e7e6f1744d496d4071db9ff3 on Indomian:MouseEvent into c29af2a928d8551b85234a0bf9dac8ebd88a08df on html-document:master.

Current coverage is 87.77% (diff: 100%)

Merging #58 into master will increase coverage by 0.55%

@@             master        #58   diff @@
==========================================
  Files            32         34     +2
  Lines          1816       1898    +82
  Methods         376        394    +18
  Messages          0          0
  Branches        240        240
==========================================
+ Hits           1584       1666    +82
  Misses          232        232
  Partials          0          0

Powered by Codecov. Last update c2ff2dd...05e7aae


YouTube EXPERIMENT_FLAGS Tamer bug

Maybe it's intended, but if you click the cross(reset) button in Youtube search, the page reloads. Is this how it should be or not?

Thanks for reporting. You found a new bug. It is fixed now. Please update.

Fixed, good job 👍


Fix soft-delete does not sync original.

Currently when we are soft-deleting model original is not synced. This causes an issue when model is deleted and restored without getting fresh data from database it actually stays deleted.
Here is an example of this happening in artisan:
>>> $model = App\Models\MyModel::find("HAKXFY")
=> App\Models\MyModel {#684
     id: "HAKXFY",
     created_at: "2018-05-31 15:56:13",
     updated_at: "2018-05-31 15:56:13",
     deleted_at: null,
   }
>>> $model->delete()
=> true
>>> App\Models\MyModel::find("HAKXFY")
=> null
//model is still dirty
>>> $model->getDirty();
=> [
     "updated_at" => "2018-05-31 15:58:12",
     "deleted_at" => "2018-05-31 15:58:12",
   ]
>>> $model->restore();
=> true
//Model is clean now
>>> $model->getDirty();
=> []
//While model instance thinks he's restored
>>> $model
=> App\Models\MyModel {#684
     id: "HAKXFY",
     created_at: "2018-05-31 15:56:13",
     updated_at: "2018-05-31 15:58:12",
     deleted_at: null,
   }
// Actual results from DB are different
>>> App\Models\MyModel::find("HAKXFY")
=> null
>>> App\Models\MyModel::withTrashed()->find("HAKXFY")
=> App\Models\MyModel {#689
     id: "HAKXFY",
     created_at: "2018-05-31 15:56:13",
     updated_at: "2018-05-31 15:58:12",
     deleted_at: "2018-05-31 15:58:12",
   }

I am closing this pull request because it lacks sufficient explanation, tests, or both. It is difficult for us to merge pull requests without these things because the change may introduce breaking changes to the framework.
Feel free to re-submit your change with a thorough explanation of the feature and tests - integration tests are preferred over unit tests. Please include it's benefit to end users; the reasons it does not break any existing features; how it makes building web applications easier, etc.
Thanks!


Loading RStudio and RServe() using the SSEtoRserve.exe.config

Hi everyone,
I'm looking to get the SSEtoRServe Plugin running automatically upon server startup.  I've referenced:
https://github.com/qlik-oss/sse-r-plugin/blob/master/GetStarted.md#configure-ssetorserve
For the parameters in the config file, and gotten RStudio to load successfully using the following:
setting name="rProcessPathToStart" serializeAs="String"
value>D:\Program Files\RStudio\bin\rstudio.exe
/setting
However, I also need to initialize RServe(), which I haven't found a way to do; is there a way using the rserveInitScript parameter ?  any other advice would be welcome as well.
Thanks,
Jeff

Hi, sorry for late reply.
There is actually no need to start RStudio since that is more or less only the GUI. It is enough to start RServe. See below instructions, I hope it helps:
rProcessPathToStart : Default empty (no additional action, SSEtoRserve assumes that Rserve is running already). If you want SSEtoRserve to start any R process during startup then set it to i.e. C:\Program Files\R\R-3.3.3\bin\x64\Rserve.exe or C:\Program Files\Microsoft\R Open\bin\x64\Rterm.exe or C:\Program Files\R\R-3.3.3\bin\x64\Rterm.exe , depending on what you want to run and where it is located in the machine.
If the process dies then SSEtoRserve will try to start it again after ~10 seconds.


Show a "Reveal in Sidebar" command in the context menu of an editor

VSCode Version: Version 1.4.0 (1.4.0)
OS Version: OS X El Capitan 10.11.4

Steps to Reproduce:

Open a file
Right click on the file content and select "reveal in sidebar" (file explorer)

File: Show Active File in Explorer (from the command palette)

Is it possible to add it to the right click options?

@kenken023 right click where? on a tab?

Please see attached screenshot. :)
I find it very useful especially from find results. Thank you very much 👍

Good candidate for an extension 👍

@bpasero I don't know if this was intentional, but there is some limitation about what you can add as Context Menu items.
If you try to define new Context Menu items based on commands defined outside your extension, like in this case the core command workbench.files.action.showActiveFileInExplorer, an error occurs and the context menu is not displayed anymore. The Console says _TypeError: Cannot read property 'title' of undefined at e._compareMenuItems_
The Intellisense warns you while coding in package.json file, but the documentation in Contribution Points isn't clear about that. So, a new extension will be forced to duplicate core commands, in order to do that.
Should this limitation be updated, in order to allow this kind of customization?

@alefragnani I suggest you report this as issue so that we can look into it

@bpasero wouldn't https://github.com/Microsoft/vscode/issues/9285 be a better solution in this case? I mean, the commands already exists so the user should only configure where/how it is presented.

Yes, also a possible solution 👍

For January I pushed "Reveal in Explorer / Side Bar" to the context menu of editors (tabs).

Hello,  I am making the switch to VSCode and found you can add {         "key": "cmd+]",         "command": "workbench.files.action.showActiveFileInExplorer",         "when": "editorTextFocus"     } to your keybindings.json.  In my case, pressing cmd+] will reveal the currently opened file in the explorer folder tree, exactly what Sublime Text does when right+click on currently opened file and clicking on "reveal in sidebar".  Hope this helps.  Neo

hi, @neoramos .Thanks for your sharing.  But the cmd+] shortcut binding would conflict with the Indent Line. Maybe we can change it with cmd+ctrl+[?

This feature request will not be considered in the next 6-12 months roadmap and as such will be closed to keep the number of issues we have to maintain actionable. Thanks for understanding and happy coding!


Kinesis PutRecords Limits

Line 103 in kinesis_producer.py, you have:
# I hope I'm implementing this correctly, as there are different hints about maximum data sizes
# in boto3 docs and general AWS docs
if record_size > MAX_RECORD_SIZE:
    raise ValueError('Record # {} exceeded max record size of {}; size={}; record={}'.format(n, MAX_RECORD_SIZE, record_size, datum))

I think that's incorrect.  You're comparing the size of the data itself against the 1MB limit per record, when it sounds like it should be the size of the data + partition key + hashkey.  You use the correct (assuming my understanding is correct) methodology on line 12 when you compare total datum size against the max request size (5MB):
datum_size = utils._sizeof(datum)

if self.buf_size + datum_size > MAX_BATCH_SIZE:
    resp.append(await self.flush())

Below is from the AWS Kinesis PutRecords API documentation:

Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MiB, up to a limit of 5 MiB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second.

And here is the sample request the documentation provides:
{
   "Records": [
      {
         "Data": blob,
         "ExplicitHashKey": "string",
         "PartitionKey": "string"
      }
   ],
   "StreamName": "string"
}

The way I'm reading the documentation, the "record" that can be a maximum of 1MB includes the Data, ExplicitHashKey and PartitionKey.
I think you can remove record_size = utils._sizeof(datum.get('Data')) and compare datum_size against MAX_RECORD_SIZE.

I still think that documentation is not very clear in this particular place, but thanks for the heads up. I think I'll just try calling the API with that big record to find out what the real limit is.

Totally agree on the quality of the documentation.  If it will help, I am going to put in a tech support request and ask for clarification and I'll post the answer here.

I played with it a bit. So far, with boto3==1.9.49 and botocore==1.12.49 the size of partition key is ignored. I was able to put records of exactly 1048576 bytes and got exception for anything bigger. I tried partition keys of different sizes and unless it is bigger than allowed 256 characters, no exception raised. Adding ExplicitHashKey does not change anything.
With batch put_records() it is essentially the same - max 1 MB per record and max 5 MB of all records combined no matter what are partition keys.
However, in async-kinesis-client I'm calculating the record size wrong - as this is just a plain byte or bytearray value, simple len() should be used. Going to fix this soon.

Wow, that's amazing...blows my mind, because that's not what the docs imply (as confusing as it is).
Anyways, I already submitted the ticket, so I'll be happy to share the answer.

Size calculation reworked in 0.1.3. @bisoldi - still would love to know AWS's response, though. Thanks.
Closing.

@whale2 Just to close the loop on this....It seems the documentation does not match reality.
My email to AWS:

I'm seeking clarification on the PutRecords API limitations, specifically the individual record size limit.  Below is the relevant paragraph:
"Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MiB, up to a limit of 5 MiB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second."
My question is, does the 1MB limit per record INCLUDE the partition key and explicit hash key?  Or does it include only the data blob itself?

And their response:

To answer your question, the 1MB upper limit that applies to the size of each record, includes the data blob (the payload before base64-encoding) as well as the partition key [1]. Therefore, we can look at it as follows: Size of data blob + partition key =< 1MB
References:
[1] https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html#API_PutRecord_RequestParameters

@bisoldi I think I should check deeper. Maybe it is boto3 which doesn't raise the exception while kinesis really trims or ignores the record of 1M size without partition key. Shame on me, I didn't check if I really received that messages.


Added onSubmitEditing prop

Hi, thanks for the nice search bar. Added onSubmitEditing prop.

Hi @uniquarkD, thanks for the pr! Happy to add this in but please see review notes first.


Hocs 5910 bf psu sla

HOCS-5910 - This PR would increment deadline to 60 working days
when case will be escalated from BF to PSU outcome stage. When
case sent back to BF - again deadline is set back to 12 working days.
This PR include other changes for BF-PSU escalations
(feature/hocs-5916-bf-psu-complaint-categories-for-recategorise) and
I discussed with @JosephRogerson to confirm this.

Merged in #925


use camelcase for ZeroBootstrap

Hi,
I've wrote fix for https://github.com/rmoriz/knife-digital_ocean/issues/58 .
And one more setting, Current version of the knife-zero needs override distro to chef-full-localmode.
knife[:distro] = 'chef-full-localmode'

or
pass via option ` --distro chef-full-localmode`

I've success bootstrap like below.
$ knife digital_ocean droplet create --zero -N knifezero.gregf.org -L nyc3 -S 512mb -K $DIGITALOCEAN_SSH_KEY_IDS -I debian-7-0-x64 -r 'recipe[apt]' --identity-file ~/.ssh/my_key

Coverage remained the same at 99.6% when pulling 65b73652358450c1de5a1dc4c537ef7bf43c54fb on higanworks:knife-zero-support into 975aaea97a9a1147ff1b0a24172da8b122f19d57 on rmoriz:master.

Thanks!


Dash: Cannot use a property translation and preserve the original field.

    class TrashTestMultiple < Hashie::Trash
      property :id
      property :copy_of_id, from: :id
    end

  TrashTestMultiple.new(id: '1').id # => nil
  TrashTestMultiple.new(id: '1').copy_of_id # => '1'

Works if both :id and :copy_of_id derive from a third field.

@michaelherold I tried to fix but failed, you'll be my personal hero if you can figure it out :)

I was able to fix this partially by calling _regular_writer but the inverse scenario where the property is defined after the translated property still doesn't work. Slow progress...

I'm giving this a shot this morning. I have some ideas on what we can do, but it might require an expansion of the API because of the implicit behavior around all of the property translation.


A margin variable is being constrained by dpi scale X instead of dpi Scale Y

Environment
Major  Minor  Build  Revision

10     0      19041  546
Steps to reproduce
I noticed an issue while reading through: Microsoft.Terminal.Wpf.TerminalControl.CalculateMargins(). Specifically, on line 194 in the project. In this example, it is the line - height = controlSize.Height - (this.TerminalRendererSize.Height / dpiScale.DpiScaleX); :
private Thickness CalculateMargins(Size controlSize = default)
{
var dpiScale = VisualTreeHelper.GetDpi(this);
double width = 0, height = 0;
        if (controlSize == default)
        {
            controlSize = new Size()
            {
                Width = this.terminalUserControl.ActualWidth,
                Height = this.terminalUserControl.ActualHeight,
            };
        }

        // During initialization, the terminal renderer size will be 0 and the terminal renderer
        // draws on all available space. Therefore no margins are needed until resized.
        if (this.TerminalRendererSize.Width != 0)
        {
            width = controlSize.Width - (this.TerminalRendererSize.Width / dpiScale.DpiScaleX);
        }

        if (this.TerminalRendererSize.Height != 0)
        {
            height = controlSize.Height - (this.TerminalRendererSize.Height / dpiScale.DpiScaleX);
        }

        width -= this.scrollbar.ActualWidth;

        // Prevent negative margin size.
        width = width < 0 ? 0 : width;
        height = height < 0 ? 0 : height;

        return new Thickness(0, 0, width, height);
    }

Expected behavior
Shouldn't height be constrained by dpiScale.DpiScaleY and not dpiScale.DpiScaleX?
Actual behavior
Height appears to be associated with dpiScale.DpiScaleX instead of dpiScale.DpiScaleY.
I'm happy to help change the variable if others agree that this is an issue.

Good catch! I’m not aware of any situations in which Windows will scale the display differently in each axis, but it would be good for us to get this right regardless. Feel free to submit a PR!

@DHowett Thanks! I opened a PR, but noticed four of the automated checks failed.. i'm new to contributing to this repo, so am not sure why that may have happened? I submitted another very small PR of similar scope about 40 minutes later and everything passed, so am not sure what in this PR specifically caused some of the checks to fail.. or does the CICD system have issues intermittently? Is there anyway to re-trigger it if it fails outside of updating the PR?


Error installing grunt-jenkins

Good afternoon,
I'm experiencing the following issue when trying to install grunt-jenkins:
install grunt-jenkins --save-dev
[               ...] - extract:hawk: verb gentlyRm don't care about contents; nuking D:\jenkinsbackupjobs\node_modules\.staging\hawk-aa7b66d5\node_modules

After this nothing happens (I waited more than 30 minutes) and the CPU usage is very high during this time.
I encounter similar issues with different nodejs/npm versions (like nodejs7/npm 3.10.8, nodejs6/npm 3.10.4 nodejs4/npm 2.14.4)
Do you know what can be the cause of this? Thank you very much in advance.
package.json:
{
  "name": "jenkinsbackupjobs",
  "version": "1.0.0",
  "description": "Jenkins Backup Jobs",
  "main": "Gruntfile.js",
  "devDependencies": {

  }
}

Gruntfile.js:
module.exports = function(grunt) {
  grunt.initConfig({
    // ...
    jenkins: {
      serverAddress: 'https://MyJenkinsURL/',
      pipelineDirectory: 'jenkins-pipeline'   // optional, default: 'pipeline'
    }
  });
  grunt.loadNpmTasks('grunt-jenkins');
  // ...
};

Thanks for the error report!
It looks like the error was while installing a dependency, so I've upgraded all the dependencies to latest stable and changed CI to run against more recent versions of node. Would you mind trying out 0.7.0 and reporting back?
If it's still not working, it'd be helpful to have a little more information about your environment to help reproduce the problem -- which version of Windows are you on?

Hi,
Thank you for the quick response. I'm afraid it still doesn't work in Windows (Windows 10 64bit, NPM 3.10.8, and I also tried NPM 3.5.2). Now the error is a bit different:
npm install grunt-jenkins --save-dev
[               ...] / extract:sshpk: verb gentlyRm don't care about contents; nuking PATHTO\jenkinsbackupjobs\node_modules\.staging\sshpk-9fcd21ef\node_modules

However the npm install grunt-jenkins --save-dev did work in Linux and copying all the node_modules to Windows then I can run the grunt jenkins-backup-jobs.
But do you know what we can do to fix it in Windows as well?
Thank you!

Good news! I was able to reproduce this on Windows. 0.7.1 has just been published with a fix. Could you try that out and verify?
In case you run into this again somewhere -- the problem came down to file length limits in Windows. The traditional limit for a file path in Windows is 260 characters*. The project has a test file with a very long name. Starting with 0.7.1, grunt-jenkins only includes the files it needs to run.
* Windows 10 will apparently let you extend that limit through a change in group policy, but this feels more correct and user-friendly

Thank you very much for your quick help! It works perfectly now.

Great! Thanks for including a lot of context up front and the quick followups 💯


RPi B3+

Hello,
thanks for the great project!
I gave it a try on the new B3+ without a desirable outcome...
Symptoms are described here:
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=58151
(Yellow text)
I tried with your recent 0.6 image.
( https://forstudents-my.sharepoint.com/:u:/g/personal/ga25puh_forstudents_onmicrosoft_com/EWi7-HH8Y1pOjLUn_ceffugBhC0Dsemiy5vxi_d9oduu-w?e=yJOoHS )
I will happily test a new version :)
It would be very good, if you provide some info on how to "compile" the repo to an img-file for flashing.
Thanks!

Hi! Thanks for reporting and for providing some info about what could be the cause!
I'll try to get a new test-image running within the next week or so.
Right now the process is:

Get the v0.5 image and flash it to a SD card
Get the experimental kernel sources for DroneBridge
Modify, compile and install the new Kernel (applied patches and used configs)

(4. Update the files under /root/dronebridge with the ones provided in this repository)
(5. Run cmake . && make to compile the DroneBridge modules)

I got lost at step 3:
(Especially: "Rename the provided config files for both architectures to .conf depending what kernel you are building." from https://github.com/DroneBridge/RPiKernel ... Cant locate those conf-Files...)
Never mind, I will wait for your new image :)


Update dsol, djutils to latest version

The dsol and djutils versions are a bit behind and should be updated to the latest version. This in line with https://github.com/averbraeck/medlabs/issues/5. The following packages are updated:
dsol update to 4.2.1
osm update to 0.49.2
fastcsv update to 2.2.2
junit update to 5.10.2
joda-time update to 2.12.7
apache-poi update to 5.2.5
mysql-connector update to 8.3.0 and latest mysql-connector-j
jgrapht update to 1.5.2
xstream update to 1.4.20

Tested updates. Code works.


feat: add bitwarden secrets manager backend

Description

Fixes:
Checklist
Please make sure that your PR fulfills the following requirements:

[x] Reviewed the guidelines for contributing to this repository
[x] The commit message follows the Conventional Commits Guidelines.
[x] Tests for the changes have been updated
[x] Are you adding dependencies? If so, please run go mod tidy -compat=1.21 to ensure only the minimum is pulled in.
[x] Docs have been added / updated
[ ] Optional. My organization is added to USERS.md.

Type of Change

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] New tests
[x] Build/CI related changes
[x] Documentation content changes
[ ] Other (please describe)

Other information
Bitwarden Secrets Manager addition.
The service has a free tier, so its helpful for home users labs.
Their SDK has a dependecy on CGO.  I think that may be a sticking point in some projects, so I'm pointing it out ahead of time.  That requires build changes to this repository to support it as well.
I see there is a Darwin build option, but I do not have access to validate that it works with the changes I've added.

If the CGO addition is going to be an issue then I completely understand.  I'm not a huge fan of it myself, but I wasn't able to find a bitwarden library that was pure GO.


phase2/PrimitiveEnemy/NavPathImprovements

Basic Improvements to Enemy Pathfinding and Behavior

[x] Enemy States need flow between states (Smoother transitions)
[x] Enemy Nav Path outside bounding

Will do smoother state transitions later on. This was mainly for preventing the enemy from hitting a wall and preventing the patrol state from proceeding.


Unexpected results and manual overwrites for xy-cell() mixin within breakpoints

Test Case and/or Steps to Reproduce

.section--a {
  @include xy-cell(); // 100% width minus the margins -left and -right

  @include breakpoint(medium) {
    @include xy-cell(25%, $gutter-position: left); // 25% width minus left margin, margin-right 0
  }
}

.section--b {
  @include xy-cell(); // 100% width minus the margins -left and -right

  @include breakpoint(medium) {
    @include xy-cell(75%, false, 0); // 75% width, margins -left and -right 0
  }
}

Manual solution
.section--a {
  @include xy-cell();

  @include breakpoint(medium) {
    width: calc(25% - $global-gutter);
    margin-left: $global-gutter;
    margin-right: 0;
  }
}

.section--b {
  @include xy-cell();

  @include breakpoint(medium) {
    width: 75%;
    margin-left: 0;
    margin-right: 0;
  }
}

What should happen?
When developing the grid using semantic SCSS mixins the xy-cell() should allow for overwriting width and margin for each breakpoint. For example if I set xy-cell() for small, then say medium and up xy-cell(4 of 12, false, 0) the mixin should output margin -left and -right set to 0 and calculate the exact width without a subtraction for either gutter.
Expected outcome:
.section--a {
  width: calc(100% - ($global-gutter * 2));
  margin-left: $global-gutter;
  margin-right: $global-gutter;
}

.section--b {
  width: calc(100% - ($global-gutter * 2));
  margin-left: $global-gutter;
  margin-right: $global-gutter;
}

@media screen and (min-width: 40em) {
.section--a {
  width: calc(25% - $global-gutter);
  margin-left: $global-gutter;
  margin-right: 0; // overwrite
}

.section--b {
  width: 75%;
  margin-left: 0; // overwrite
  margin-right: 0; // overwrite
}
}

What happens instead?
Small breakpoint is fine. The issue is at each breakpoint the developer cannot remove margin/padding from previous even using the variables within the xy-cell().
Actual outcome:
.section--a {
  width: calc(100% - ($global-gutter * 2));
  margin-left: $global-gutter;
  margin-right: $global-gutter;
}

.section--b {
  width: calc(100% - ($global-gutter * 2));
  margin-left: $global-gutter;
  margin-right: $global-gutter;
}

@media screen and (min-width: 40em) {
.section--a {
  width: calc(25% - ($global-gutter * 2));
  margin-left: $global-gutter;
}

.section--b {
  width: 75%;
}
}

Possible Solution

I am not sure without making an overly complex mixin.
Your Environment

Foundation version(s) used: 6.4.3

Checklist (all required):

[x] I have read and follow the CONTRIBUTING.md document.
[x] There are no other issues similar to this one.
[x] The issue title is descriptive.
[x] The template is correctly filled.

Hi @glennphilp,
We had a debade recently regarding to how $gutter-output should be used for cells with margin gutters. The issue was that the cell gutter is defined within the cell width so it was not possible to define a cell without defining its gutters. We came to the conclusion that "reseting" (generate zero gutters) and "not generating" was two different things and that $gutter-output does not make sense for margin gutters as it could only be true.
See https://github.com/zurb/foundation-sites/pull/11081
Now, $gutter-output is ignored for margin cells and considered as always true. This means that margin properties will always be generated, with 0 or others values else according to $gutters.
I proposed the following behavior in the discussion:
// Margin cell with default gutters
@include xy-cell(12, $gutter-type: margin, $gutter-output: true);
@include xy-cell(12, $gutter-type: margin, $gutter-output: false);

// Margin cell with zero-width gutters
@include xy-cell(12, $gutter-type: margin, $gutter-output: true, $gutter: 0);
@include xy-cell(12, $gutter-type: margin, $gutter-output: false, $gutter: 0);

// Padding cell with default gutters
@include xy-cell(12, $gutter-type: padding, $gutter-output: true);
// Padding cell without gutters set (they will be inherited)
@include xy-cell(12, $gutter-type: margin, $gutter-output: false);

// Padding cell with zero-width gutters
@include xy-cell(12, $gutter-type: padding, $gutter-output: true, $gutter: 0);
// Padding cell without gutters set (they will be inherited)
@include xy-cell(12, $gutter-type: margin, $gutter-output: false, $gutter: 0);

I think that this new API resolves your issue. However it can bring breaking changes so it will not be released in the upcomming version v6.5.0 but in the following one v6.6.0.

@ncoden not exactly.
The issue is removing the gutter when a developer wants to target a media query for medium or large. Take the following example, I want to target a class called element. On mobile I expect it to be 100% including margin -left and -right. Then on tablet and desktop I expect it to be 25% with a margin-left and margin-right set to 0.
Example
.element {
  // Small (mobile first)
  @include xy-cell(); // 100% width with margin -left and -right

  @include breakpoint(medium) {
    // Medium (tablets and desktops)
    @include xy-cell(3 of 12, $gutter-position: left);
  }
}

However, what will happen on the code above is the class called element will have a 100% width including the margin -left and -right. The issue is within the media query it will have a width calculated as 25% minus $global-gutter times 2 and a margin-left.
.element {
  width: calc(100% - 2rem);
  margin-left: 1rem;
  margin-right: 1rem;
}

@media screen and (min-width: 40em) {
  .element {
    width: calc(25% - 2rem);

    // Should have only subtracted 1 margin not both
    // width: calc(25% - 1rem);

    margin-left: 1rem;

    // Should have included margin-right overwrite for medium and up screens
    // margin-right: 0;
  }
}

Does that help?

Ok I got it, thank you for your explanations. So this is a bug with $gutter-position.

Just to add to this slightly.
I originally designed it (from memory) to allow the gutter to be applied on each of the possible axis.
The idea was you could have a grid with just a left gutter, eg https://csswizardry.com/csswizardry-grids/
So from what I understand its outputting the full grid gutter value on the left rather than splitting it like the left/right gutter grid? If so then that was how I intended it to work.
If @ncoden classifies this as a bug though and not the desired behaviour going forward then that's fine too 😄

@brettsmason I consider this as a bug for two reasons:

The opposite margin is not set to zero, breaking the row when you overwrite a column with a different $gutter-direction
We substract the margin two times (that's ok), but according to @glennphilp the left/right margin is still applied one time. I need to test this.

Actually... margins should collapse. So with two cells with 1rem gutter each side, the two cell contents are still 1rem away from each others. To


Avoid panic in allocateService when no ingress nw

$ docker swarm init
Swarm initialized: current node (u5gk7c3r86cb86skkx71q6qjz) is now a manager.
   [...]
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

$ docker network rm ingress
WARNING! Before removing the routing-mesh network, make sure all the nodes in your swarm run the same docker engine version. Otherwise, removal may not be effective and functionality of newly create ingress networks will be impaired.\nAre you sure you want to continue? [y/N] y
ingress
$
$ docker network create -d overlay ovl
ldap6202px7mv3crjg0ge24q1
$
$ docker service create --name s0 --network ovl busybox top
error during connect: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.29/services/create: EOF
$

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x11a1140]

goroutine 214 [running]:
panic(0x171cd80, 0xc42000c0d0)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator.(*Allocator).allocateService(0xc422177980, 0x7f35a99099e8, 0xc42282e280, 0xc423c5e1e0, 0x0, 0x4f43434553207400)
	/go/src/github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator/network.go:767 +0x1a0
github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator.(*Allocator).doNetworkAlloc(0xc422177980, 0x7f35a99099e8, 0xc42282e280, 0x17c9120, 0xc420501700)
	/go/src/github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator/network.go:317 +0xe83
github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator.(*Allocator).(github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator.doNetworkAlloc)-fm(0x7f35a99099e8, 0xc42282e280, 0x17c9120, 0xc420501700)
	/go/src/github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator/allocator.go:122 +0x52
github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator.(*Allocator).run(0xc422177980, 0x7f35a99099e8, 0xc42282e280, 0xc422364ae0, 0xc42046e9e0, 0x1948cb3, 0x7, 0xc4223e2880, 0xc4223e2870)
	/go/src/github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator/allocator.go:182 +0x124
github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator.(*Allocator).Run.func2.1(0xc4223e2830, 0xc422177980, 0xc4223e2810, 0xc422364ae0, 0xc42046e9e0, 0x1948cb3, 0x7, 0xc4223e2880, 0xc4223e2870)
	/go/src/github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator/allocator.go:149 +0x8a
created by github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator.(*Allocator).Run.func2
	/go/src/github.com/docker/docker/vendor/github.com/docker/swarmkit/manager/allocator/allocator.go:150 +0x1ba

Is there a similar problem in taskCreateNetworkAttachments?
        var networks []*api.NetworkAttachment
        if IsIngressNetworkNeeded(s) {
                networks = append(networks, &api.NetworkAttachment{Network: a.netCtx.ingressNetwork})
        }

Should this check that the ingress network exists before attaching it?
Can we add a test for this panic, either in the swarmkit or docker repository?

Is there a similar problem in taskCreateNetworkAttachments?

I missed that one.
A task that needs the ingress network must belong to a service that needs the ingress network.
That code should probably not be executed when the ingress is nil.
But I feel it is safer to add the nil check there as well. Thanks.

If you are ok with it, I would add the test in docker integ.

That is okay with me. Do you want to add the additional nil check in this PR?

Yes, but having hottong some weirdness during push. Give me few mins.

Updated

LGTM

How about https://github.com/docker/swarmkit/pull/2072/files#diff-119d353212583d96a59cba8c82b80280L294? Could there be an ingress network while nc.ingressNetwork is nil?

Could there be an ingress network while nc.ingressNetwork is nil

That should not be possible. The nc.ingressNetwork is set at cluster boot after looking for and finding the ingress network in store, if present. Otherwise when the ingress network is being created.
In that case, a reaction to the api.EventDeleteNetwork event, would mean the ingress network was in store, therefore nc.ingressNetwork was set.

I think it would be a good idea to add this check, even if it should be impossible for nc.ingressNetwork to be nil here.

@dongluochen @aaronlehmann Updated with the extra nil check check.

LGTM


Use standard delete behavior and associate volume to sp on create

ping @ibuildthecloud
NOTE: This PR adds to the other outstanding PR #1255.
This one adds the functionality to associate a volume to a SP as soon as it is created. If this one looks good to you, you can merge it and ignore #1255. If not and you just want to standard volume delete functionality, you can just merge #1255.


Question on Errors

Switched to this driver as a couple of the others for WLL would not allow me to properly shut down Weewx. Data seems to be working fine with the exception of these errors in the log. These will show up every 15-20 minutes it seems. I found similar issues of this kind when searching the weewx Goggle Groups but no resolution.
Wondering if this is normal behavior and the problem might actually be with the network? Or of you might have suggestions?
Thank you.
Jun 18 07:34:51 raspberrypi weewx[3110] ERROR user.weatherlink_live.scheduler: Error caught in scheduler tick. Not rescheduling
Jun 18 07:34:51 raspberrypi weewx[3110] INFO weewx.engine: Main loop exiting. Shutting engine down.
Jun 18 07:34:51 raspberrypi weewx[3110] INFO weewx.engine: Shutting down StdReport thread
Jun 18 07:34:51 raspberrypi weewx[3110] CRITICAL main: Caught WeeWxIOError: Error while receiving or processing packets: HTTPConnectionPool(host='<IP_ADDRESS>', port=80): Max retries exceeded with url: /v1/real_time?duration=1500 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb22f2770>: Failed to establish a new connection: [Errno 111] Connection refused'))
Jun 18 07:34:51 raspberrypi weewx[3110] CRITICAL main:     ****  Waiting 60 seconds then retrying...

Hi,
no, this isn't normal operating behavior.
Do you have any other device or another program talking to the WLL? The WLL is quite easily overwhelmed when too many connections are happening. Maybe a second instance of WeeWX that didn't get shut down property and is hanging around in the background?
Otherwise, the only other idea I have is that it might be something network related, as you suggested.

Michael,
Thank you for your response. As I did not have these errors while trying other drivers for WLL, I thought I would try you first. You bring up some good points.
No, no other programs are polling the WLL. However, I am sending data OUT from the WLL to CWOP every 15 minutes. I am now in the process of moving that over to Weewx and eliminate that task from the WLL. Hopefully that might eliminate my errors.
Cheers,
Dennis

On Jun 18, 2021, at 11:36, Michael Schantl @.***> wrote:
Hi,
no, this isn't normal operating behavior.
Do you have any other device or another program talking to the WLL? The WLL is quite easily overwhelmed when too many connections are happening. Maybe a second instance of WeeWX that didn't get shut down property and is hanging around in the background?
Otherwise, the only other idea I have is that it might be something network related, as you suggested.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/michael-slx/weewx-weatherlink-live/issues/12#issuecomment-864211356, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM5WU5KFQP5CPJQDNJNK7SDTTOG2VANCNFSM465ZY4HA.


idea: prebuilt binaries

Hey, so glad you're working on this module, it's long overdue in the npm ecosystem!
I wanted to suggest setting up cross platform prebuilt binaries. Here's a sort of blog post I did on the topic recently https://gist.github.com/maxogden/e81e0f1d222106146828
It should be pretty easy to hook up https://www.npmjs.com/package/node-pre-gyp here so that it can fall back to compilation in case the prebuilt binary for some platform/arch isn't available

Thank you @maxogden ,
I didn't know such was possible!  I'll read up on this.  Thanks for the links


Telemetry file is empty

Hi!
Why is the file empty?
https://github.com/MoralCode/pihole-antitelemetry/blob/main/telemetry-domains.txt
It doesn't make sense to block nothing...
Thanks

Thanks for submitting an issue!
The blocking is currently split into three lists. The list you mentioned is for domains that are confirmed not to cause any issues with any other services that people might want to use. The other two lists are for domains that have either not been tested enough, or definitely break something not related to idle telemetry. This was done so that users could chose what level of blocking they want by including one or more of the lists in pihole.
While many of these domains are already in other blocklists (see the links in the readme), it seems like some are not. These lists are meant to be a way to fill in the gaps and cover some of the more newly-discovered domains that other lists may not have yet.
As this is mainly a curiosity project, I dont have time to test every domain in depth to see if it breaks anything, so for now most of the domains are in the "beta"/untested list until there is a reasonable amount of certainly that things won't break. If there's a domain that is likely not to break things and is collecting  "unnecessary" telemetry such as nearby MAC addresses, then feel free to file an issue and I will consider adding it to the main list  based on the evidence or a popular vote in favor of the domain.
Hope this helps clear things up!

I have also added an entry to the FAQ if others are curious


Not writing changes anymore

I just tested the latest master commit, and it seems that it does not write changes to disk anymore? Everything is just printed to STDOUT. Is that change intentional?

It seems to be writing to file for me... What command are you running?
Also confirming you've updated your git remote to snakemake/snakefmt and it isn't on my old one? And the commit is 58c4ebaa02ebfcb384a2b02c4eafb116e3362e45?

You are right, my fault! I indeed had the wrong remote. Sorry for the noise.


In connections, URL should also be fetched from configmap/secrets

I think certificate already supports and we should add for url + some tests + some docs for the crds.

The can be accomplished by reusing the password field e.g.
url: $(password)
password:
    value: sqlserver://


problem: 2038. Remove Colored Pieces if Both Neighbors are the Same Color

2038. Remove Colored Pieces if Both Neighbors are the Same Color
There are n pieces arranged in a line, and each piece is colored either by 'A' or by 'B'. You are given a string colors of length n where colors[i] is the color of the ith piece.
Alice and Bob are playing a game where they take alternating turns removing pieces from the line. In this game, Alice moves first.

Alice is only allowed to remove a piece colored 'A' if both its neighbors are also colored 'A'. She is not allowed to remove pieces that are colored 'B'.
Bob is only allowed to remove a piece colored 'B' if both its neighbors are also colored 'B'. He is not allowed to remove pieces that are colored 'A'.
Alice and Bob cannot remove pieces from the edge of the line.
If a player cannot make a move on their turn, that player loses and the other player wins.

Assuming Alice and Bob play optimally, return true if Alice wins, or return false if Bob wins.
Example 1:
Input: colors = "AAABABB"
Output: true
Explanation:
AAABABB -> AABABB
Alice moves first.
She removes the second 'A' from the left since that is the only 'A' whose neighbors are both 'A'.

Now it's Bob's turn.
Bob cannot make a move on his turn since there are no 'B's whose neighbors are both 'B'.
Thus, Alice wins, so return true.

Example 2:
Input: colors = "AA"
Output: false
Explanation:
Alice has her turn first.
There are only two 'A's and both are on the edge of the line, so she cannot move on her turn.
Thus, Bob wins, so return false.

Example 3:
Input: colors = "ABBBBBBBAAA"
Output: false
Explanation:
ABBBBBBBAAA -> ABBBBBBBAA
Alice moves first.
Her only option is to remove the second to last 'A' from the right.

ABBBBBBBAA -> ABBBBBBAA
Next is Bob's turn.
He has many options for which 'B' piece to remove. He can pick any.

On Alice's second turn, she has no more pieces that she can remove.
Thus, Bob wins, so return false.

Constraints:

1 <= colors.length <= 10^5
colors consists of only the letters 'A' and 'B'

@godkingjay Hey assign me this.

oops i dint see that you were assigned
anyways, i got a solution like this
8984ms
Beats 5.04%of users with Python3
17.30MB
Beats 94.09%of users with Python3
class Solution:
    def winnerOfGame(self, colors: str) -> bool:
            while True:
                try :
                    parts = colors.split(r"AAA",1)
                    colors = parts[0]+"AA"+ parts[1]
                    try :
                        parts = colors.split(r"BBB",1)
                        colors = parts[0]+"BB"+ parts[1]
                    except :
                        return True

                except :
                    return False

Please assign it to me

Let me provide a different approach.😊😁


Review interfaces

Can be marked as closed if fully addressed in https://github.com/digital-asset/daml-finance/pull/191?


Issue - #4, Unable to Parse

Hi Evermeer,
The XML Response that I sent you wrong, there was a mistake while copy paste. Sorry for wasting your time and energy. Here is the correct XML.
<requestl> <qlist> <piname>MONTY CHICOLA</piname> <picell>318-730-5705</picell> <pihome>318-442-3893</pihome> <rinum>FAAAAANI</rinum> <dev>$00046728</dev> <riapt>KFOE</riapt> <rifbo>00001</rifbo> <ridatr>08/04/2016 07:06</ridatr> <ridats/> <riacft>N2244</riacft> <riftyp>AVGAS</riftyp> <rifunt>GAL</rifunt> <rifuel>0</rifuel> </qlist> <qlist> <piname>MONTY CHICOLA</piname> <picell>318-730-5705</picell> <pihome>318-442-3893</pihome> <rinum>FAAAAANL</rinum> <dev>$00046728</dev> <riapt>KFOE</riapt> <rifbo>00001</rifbo> <ridatr>08/04/2016-18:58</ridatr> <ridats/> <riacft>N55MC</riacft> <riftyp>AVGAS</riftyp> <rifunt>GAL</rifunt> <rifuel>00100</rifuel> </qlist> <qlist> <piname>MONTY CHICOLA</piname> <picell>318-730-5705</picell> <pihome>318-442-3893</pihome> <rinum>FAAAAANM</rinum> <dev>$00046728</dev> <riapt>KAEX</riapt> <rifbo>00001</rifbo> <ridatr>08/04/2016-19:01</ridatr> <ridats/> <riacft>N5JT</riacft> <riftyp>JET/A</riftyp> <rifunt>GAL</rifunt> <rifuel>100</rifuel> </qlist> <qlist> <piname>MONTY CHICOLA</piname> <picell>318-730-5705</picell> <pihome>318-442-3893</pihome> <rinum>FAAAAANN</rinum> <dev>$00046728</dev> <riapt>KAEX</riapt> <rifbo>00001</rifbo> <ridatr>08/04/2016-19:06</ridatr> <ridats/> <riacft>N2244</riacft> <riftyp>AVGAS</riftyp> <rifunt>GAL</rifunt> <rifuel>0</rifuel> </qlist> </requestl>
Also I have a class containing all the properties under qlist. What I want is that the properties under qlist to be parsed as an object of the class.
Please help me out with this.
Thanks in advance.

I updated the unit test. The only change you need is to change the qlist property from an object to an object array.
When you run the unit test, you will see  a lot of warnings in the output log. Those are for the properties that I did not add to the object. You have to complete the object.


Revocation link does not work in Standards section for MS Entra Verified ID.

Hello,
I noticed that under Standards section, link for the Revocation link does not work. It returns 404 not found.

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

ID: d4ba8cb0-44b3-9b9d-7874-e400c5bedc2a
Version Independent ID: c1178663-ae66-d813-dd54-bcf17e87595a
Content: Microsoft Entra Verified ID-supported standards - Microsoft Entra
Content Source: articles/active-directory/verifiable-credentials/verifiable-credentials-standards.md
Service: decentralized-identity
Sub-service: verifiable-credentials
GitHub Login: @barclayn
Microsoft Alias: barclayn

@Daniel-Krzyczkowski
Thanks for your feedback! We will investigate and update as appropriate.

@Daniel-Krzyczkowski thank you for pointing this out. An update will be live soon. #please-close


Restore caching in RailsAdmin::Config::Model#excluded?

Partially reverts 2fa86c361b88fbd4c36adaad60be2104e57d75f5. The commit introduced a regression such that RailsAdmin::Config::Model#excluded? stopped caching false values.

Coverage: 95.912% (+0.03%) from 95.887% when pulling 0935915cdaa32fe1d9f34c71f1e51ea232625403 on jdufresne:restore-caching into fa9a96bb12f07da349c0c2884a30a4f207991e4b on railsadminteam:master.

Can this behavior tested in the spec?

@mshibuya Good call. Amended an existing test in the latest push that demonstrates the caching.

Thank you 👍


Tree comparison assumes node contents

The comparison here:
https://github.com/BlueBrain/NeuroM/blob/master/neurom/core/tree.py#L282
Assumes that the node is slice-able, which isn't always the case.

The loop is iterating over the values of the nodes, which are sliceable, aren't they?

Not necessarily, it's a generic tree, so the value could be anything: an int, another class, a dictionary, etc.  Also, assuming 4 elements isn't always the truth.
For example, in test_tree.py,
doing 'REF_TREE == REF_TREE' will fail:
*** TypeError: 'int' object has no attribute 'getitem'

I agree with @mgeplf. The tree type makes no assumptions about the types of the nodes. These assumptions are made in other modules, such as analysis.morphtree. So I think this comparison could be moved out to a different module, and not set as "equality" for a tree. Better allow different ways of comparing trees.

Indeed, I made that assumption when I created it and now I see why it does not belong there. Should I move it to morphtree?

Yes, I think so, and remove the __eq__ and call the comparison function explicitly where needed. That will be much clearer.

@mgeplf The comparison has been moved out of the Tree class, and its __eq__ operator removed. Does this look OK now?


Improve vectorized operations of GroupColumn

Is your feature request related to a problem or challenge?
Some good points about improving vectorized operations of GroupColumn from @Dandandan and @jayzhan211 in #12996 :
https://github.com/apache/datafusion/pull/12996#discussion_r1830810815
https://github.com/apache/datafusion/pull/12996#discussion_r1818475481
https://github.com/apache/datafusion/pull/12996#discussion_r1819225765
https://github.com/apache/datafusion/pull/12996#discussion_r1823772169
This pr is for tracking such points for conintuing improving performace of multi group by.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

I tried the possible optimizations forvectorized_equal_to:
https://github.com/apache/datafusion/pull/12996#discussion_r1818601807
https://github.com/apache/datafusion/pull/12996#discussion_r1823151542
But unfortunately seems no obvious improvement in clickbench, tpch and so on... although some improvement can see in benchmark for the function in https://github.com/apache/datafusion/pull/13539
For take + eq, use eq in arrow kernel indeed can get performance improve, but the cost of take seems unacceptable...
For optimizations for special case of input array (like all rows in the array needed, no nulls although it is nullable), it can see some improvement in the benchmark for function, but see no improvement in e2e benchmark(clickbench, tpch). I guess they may be not the hot path...
I plan to not make further attempts recently...
cc @Dandandan @alamb @jayzhan211

I tried the possible optimizations forvectorized_equal_to: #12996 (comment) #12996 (comment)
But unfortunately seems no obvious improvement in clickbench, tpch and so on... although some improvement can see in benchmark for the function in #13539
For take + eq, use eq in arrow kernel indeed can get performance improve, but the cost of take seems unacceptable...
For optimizations for special case of input array (like all rows in the array needed, no nulls although it is nullable), it can see some improvement in the benchmark for function, but see no improvement in e2e benchmark(clickbench, tpch). I guess they may be not the hot path...
I plan to not make further attempts recently...
cc @Dandandan @alamb @jayzhan211

@LeslieKid maybe you can try it if possible optimizations not included above.

Thanks @Rachelint for summarizing, that's interesting. One big difference between take + eq  in join versus grouped aggregates seems to be that the ValueBuilders already are type erased, so maybe there is nothing to gain.
It seems for the join code, this could actually be used more (and joining on string columns might be not so fast at the moment).

Thanks @Rachelint for summarizing, that's interesting. One big difference between take + eq in join versus grouped aggregates seems to be that the ValueBuilders already are type erased, so maybe there is nothing to gain (and using take and eq just creates an extra copy.
It seems for the join code, this could actually be used more (and joining on string columns might be not so fast at the moment).

🤔 I think maybe we can indeed try some solutions without take in join? @LeslieKid seems trying it.

Oh I saw @LeslieKid already commented on that issue 👍

🤔 I think maybe we can indeed try some solutions without take in join? @LeslieKid seems trying it.

Yes, I am working on comparing arrays with indices in a for-loop (similar to the implementation of vectorized_equal_to() in multi group-by) instead of using take in hash join. See #13607


Clean System Exit

Add the ability to catch a Control-C in main.
Exit out the players.
Auto save the database.
Then Exit.

Resolved with PR #215


Split Category 4

Currently Cat. 4 is designed to consider high impact in silico variants as well as de novo. This category should be split in the following way:

in silico classification moves to a new category 'Support', to better reflect how it is being utilised
the assigned Category4 now contains only a light threshold, but is passed exclusively to a de novo MOI checker

How will this work?

Category_4_only check will be modified to check a new flag
If a variant has a Category4 flag, it will be checked for de novo inheritance only. If no results are found, the flag will be stripped off

How will this be substantially different from the current Monoallelic check? It won't be... yet, but de novo and monoallelic will differ in terms of permitted penetrance.
i.e. logic can be adjusted to allow clinvar pathogenic variants to pass despite inheritance from parents, but under all circumstances parental inheritance is disqualifying for a de novo check

It was found before that Hail Query encountered pretty huge problems computing compound Hets, even on a small number of variants. The breaking of the current category 4 into two groups could hugely expand the number available at that point in the analysis process:

The de novo side will have a relatively mild barrier to entry, with the valuable part of the evaluation coming as a result of the MOI test. Currently this is implemented outside of Hail, so there's a possibility that all Missense variants could be classified this way.
The in silico side would be unaffected, resembling the current implementation (though the name will be shifted to Category_Support to better resemble its value in analysis

Instead of this, more de novo logic should be completed in Hail https://hail.is/docs/0.2/methods/genetics.html#hail.methods.de_novo
The full MOI validation should be completed in Hail, with Category4 variants labelled only where the MOI has been confirmed

PLAN!
Hail implements a de novo function, which will make 2 new inputs mandatory:

A PED file in PLINK (.fam) format (see pull #1)
A Hail Table containing all the population Allele Frequencies (same content we are using in annotation, from the gs://cpg-seqr-reference bucket)

The procedure should then be:

use the hl.Pedigree and hl.Table of allele frequencies, generate a Hail Table of the de novo calls, complete with their associated confidence scores and probabilities
filter the hail table for the HIGH confidence calls only
re-key the output table on only locus & alleles (matching the Matrix Table representation)
aggregate all sample IDs per Locus, as an array (then compress as a string)
annotate the sample ID String back on the MatrixTable as a class Flag (or 0 for all variants where no samples are de novo)

Note, the AF table doesn't need to be added as a separate input - once the annotations are added to the MT the annotations can be used self-referentially

Note: this PR is currently blocked by what appears to be a bug in Hail Query (https://hail.zulipchat.com/#narrow/stream/223457-Hail-Batch-support/topic/OutOfMemoryError.20in.20ServiceBackend.2ElowerDistributedSort/near/281636886). Waiting for a response on this from the core Hail team


Remove outer spacing of images in cmless pages

Done when images are flush with the top, left, and/or right margins of body text when they are embedded.

This looks good right now, though it has gone back and forth.


MemoryCache not working as expected

The System.Runtime.Caching.MemoryCache.Default is not cleared until appdomain shutdown. The memory cache in CacheManager is cleared on every new http request. I'm using it in an asp.net mvc web api controller.
Looking at the code, it's suppose to use MemoryCache.Default if the handle name is empty or the default of "default". It doesn't seem to be doing that. I think it's creating a new instance of MemoryCache each time.
line 50 here
https://github.com/MichaCo/CacheManager/blob/master/src/CacheManager.SystemRuntimeCaching/MemoryCacheHandle`1.cs
This is my configuration section:
<cacheManager xmlns="http://tempuri.org/CacheManagerCfg.xsd">
	<managers>
		<cache name="defaultCache" updateMode="Up" enableStatistics="false" enablePerformanceCounters="false">
			<handle name="default" ref="systemRuntimeHandle" expirationMode="Absolute" timeout="5m"/>
		</cache>
	</managers>
	<cacheHandles>
		<handleDef  id="systemRuntimeHandle" type="CacheManager.SystemRuntimeCaching.MemoryCacheHandle`1, CacheManager.SystemRuntimeCaching"
		  defaultExpirationMode="Sliding" defaultTimeout="5m"/>
	</cacheHandles>
</cacheManager>

Sample code showing that they work differently:
string key = "key";
var stringCache = CacheFactory.FromConfiguration<string>("defaultCache");
var myValue = stringCache.Get(key);
if (myValue == null)
{
	stringCache.Add(thingerCacheKey, "test");
}

key = "key2";
myValue = MemoryCache.Default.Get(key) as string;
if (myValue == null)
{
	var policy = new CacheItemPolicy
	{
		SlidingExpiration = TimeSpan.FromMinutes(5)
	};
	MemoryCache.Default.Add(key, "test", policy);
}

Your example will not work. CacheManager adds a randomly generated string to the key to mark the instance of cache manager, so that e.g. two instances of cache manager using the same memory cache instance do not affect each other...
the key you specify might be "key", the actual key stored is something like "e904fdb8-2c79-4b24-8e78-29470f4e6796:key"
CacheManager does use MemoryCache.Default if the cache name is "default". See https://github.com/MichaCo/CacheManager/blob/master/src/CacheManager.SystemRuntimeCaching/MemoryCacheHandle`1.cs#L44, the if statement...
Here is a pretty simple example to show that:
        var cache = CacheFactory.FromConfiguration<string>("defaultCache");
        cache.Put("key", "value");
        var aC = System.Runtime.Caching.MemoryCache.Default.GetCount(); // == 2
        var a = cache.Get("key");   // != null
        cache.Remove("key");
        var bC = System.Runtime.Caching.MemoryCache.Default.GetCount(); // == 1
        var b = cache.Get("key");   // == null

Regarding your comment:

The memory cache in CacheManager is cleared on every new http request. I'm using it in an asp.net mvc web api controller

This is most likely because you are instantiating a new CacheManager for every request. Use a singleton or better use DI and let the DI Framework handle the lifetime...
Let me know if that doesn't help ;)

Thanks, that clears things up. I'm not sure how to fix my problem, however, because I suspected it had something to do with new instances and I couldn't get Ninject to create singletons for ICacheManager because it's a factory. Not sure if you're familiar with Ninject, but this is how I register it now, which is wrong because it creates a new instance every time.
kernel.Bind(typeof(ICacheManager<>)).ToMethod((context) =>
{
	// GenericArguments holds the actual type for ICacheValue used in the ICachManager property or argument
	return CacheFactory.FromConfiguration(context.GenericArguments[0], "defaultCache");
});

So I tried changing the scope to singleton like this:
kernel.Bind(typeof(ICacheManager<>)).ToMethod((context) =>
{
	// GenericArguments holds the actual type for ICacheValue used in the ICachManager property or argument
	return CacheFactory.FromConfiguration(context.GenericArguments[0], "defaultCache");
}).InSingletonScope();

but that doesn't work. I suspect it's because ToMethod doesn't support it but I'm not sure. Are you familiar with Ninject?
Thanks

Why does that not work for you?
The following code works totally fine in a console app:
        IKernel kernel = new StandardKernel();
        kernel.Bind(typeof(ICacheManager<>))
            .ToMethod((ctx)=> CacheFactory.FromConfiguration(ctx.GenericArguments[0], "defaultCache"))
            .InSingletonScope();

        var cacheA = kernel.Get<ICacheManager<string>>();

        var cacheB = kernel.Get<ICacheManager<string>>();

        cacheA.Put("key", "value");

        var a = cacheA.Get("key");
        var b = cacheB.Get("key");

And no I don't have a lot of experience with Ninject

I'm injecting it into a property but it should still work like your code.
I've been googling and it looks like it might be a bug in Ninject using it in an MVC project. I will report back if I find the solution. Thanks

So it turns out that the kernel (DI container) is disposed on every request. Solution is found here:
http://stackoverflow.com/a/11357824/867891
By the way, I don't think I saw anywhere in the documentation that "default" uses the Default instance of MemoryCache. I might have missed it though.
Thanks for your help. Loving the framework!

Sounds good :smile:
Thanks!

FYI... as of 11/27/2018, the WebApiContrib.IoC.Ninject nuget package has not been published containing the fix that @victor-ponce references.  The SOURCE CODE was changed in 2014, but no one ever published a version with the fix.  Just spent 4 days figuring that out.


CloudwatchException triggered by default content-type header

Looks like when Cloudwatch is trying to POST some metrics it fails because the default content-type is set to application/x-www-form-urlencoded.
software.amazon.awssdk.services.cloudwatch.model.CloudWatchException: When Content-Type:application/x-www-form-urlencoded, URL cannot include query-string parameters (after '?'): '/?Action=PutMetricData&Version=2010-08-01&Namespace=...

This is a POST to https://monitoring.us-west-2.amazonaws.com?Action=PutMetricData&Version=2010-08-...
Seems to fall through this code with the final None condition:
private def contentTypeHeaderToContentType(headers: List[HttpHeader]): ContentType = {
    headers.find(_.lowercaseName() == "content-type").map(_.value()) match {
      case Some("application/x-amz-json-1.0") => AkkaHttpClient.xAmzJson
      case Some("application/x-amz-json-1.1") => AkkaHttpClient.xAmzJson11
      case Some("application/x-www-form-urlencoded; charset=UTF-8") => AkkaHttpClient.formUrlEncoded
      case Some("application/x-www-form-urlencoded") => AkkaHttpClient.formUrlEncoded
      case Some("application/xml") => AkkaHttpClient.applicationXml
      case Some(s) => tryCreateCustomContentType(s)
      case None => AkkaHttpClient.formUrlEncoded
    }
  }

This looks interesting. Thanks for reporting.
I will have a look at this, I probably have time this friday.
Do you know what the expected content-type this request has or what is expected?

Thanks for the investigation.
I remembered that there were some different behaviors between the aws standard http client and how Akka-http works with headers, especially with request signing in the mix.
I will investigate more, if using application/octet-stream is fine or if this will break anything else if used as a default.

@AdrianMF I looked a bit more at this issue. Until now, I was not able to reproduce it on my side.
Does the error happen for every request or was it more like a one off request? If yes, do you know what was maybe "special" for this failing request?
Also, I found out that the request use application/x-www-form-urlencoded as the content-type. I debugged a test case I wrote and saw that the case case Some("application/x-www-form-urlencoded") matched.

@AdrianMF I just released v0.0.10 of the library with the fallback ContentTypes.NoContentType. Can you please verify, that this change solves your problem. If yes, can you please close this issue.


chore(NODE-5446): update driver v6 dependencies

Description
What is changing?
Update the following dev dependencies

"@microsoft/api-extractor": "^7.36.4"
"@octokit/core": "^4.2.4"
"@types/node": "^20.4.8"
"@types/sinon": "^10.0.16"
"@typescript-eslint/eslint-plugin": "^5.62.0"
"@typescript-eslint/parser": "^5.62.0"
"eslint": "^8.46.0"
"eslint-config-prettier": "^8.10.0"
"eslint-plugin-import": "^2.28.0"
"gcp-metadata": "^5.3.0"
"semver": "^7.5.4"
"sinon": "^15.2.0"
"v8-heapsnapshot": "^1.3.1"

Is there new documentation needed for these changes?
No
What is the motivation for this change?
NODE-5446; keeping tooling up to date
Release Highlight

Double check the following

[x] Ran npm run check:lint script
[x] Self-review completed using the steps outlined here
[x] PR title follows the correct format: type(NODE-xxxx)[!]: description

Example: feat(NODE-1234)!: rewriting everything in coffeescript

[ ] Changes are covered by tests
[ ] New TODOs have a related JIRA ticket

@baileympearson re disabling ban-types, when updating the eslint and associated dev dependencies, we start getting the following lint failures
/home/wajames/node_driver/src/operations/operation.ts
  20:47  error  Don't use `Function` as a type. The `Function` type accepts any function-like value.
It provides no type safety when calling the function, which can be a common source of bugs.
It also accepts things like class declarations, which will throw at runtime as they will not be called with `new`.
If you are expecting the function to accept certain arguments, you should explicitly define the function shape  @typescript-eslint/ban-types

/home/wajames/node_driver/test/types/basic_schema.test-d.ts
  59:14  error  Don't use `{}` as a type. `{}` actually means "any non-nullish value".
- If you want a type meaning "any object", you probably want `object` instead.
- If you want a type meaning "any value", you probably want `unknown` instead.
- If you want a type meaning "empty object", you probably want `Record<string, never>` instead.
- If you really want a type meaning "any non-nullish value", you probably want `NonNullable<unknown>` instead  @typescript-eslint/ban-types

/home/wajames/node_driver/test/types/community/changes_from_36.test-d.ts
  16:15  error  Don't use `Function` as a type. The `Function` type accepts any function-like value.
It provides no type safety when calling the function, which can be a common source of bugs.
It also accepts things like class declarations, which will throw at runtime as they will not be called with `new`.
If you are expecting the function to accept certain arguments, you should explicitly define the function shape                                  @typescript-eslint/ban-types
  24:15  error  Don't use `{}` as a type. `{}` actually means "any non-nullish value".
- If you want a type meaning "any object", you probably want `object` instead.
- If you want a type meaning "any value", you probably want `unknown` instead.
- If you want a type meaning "empty object", you probably want `Record<string, never>` instead.
- If you really want a type meaning "any non-nullish value", you probably want `NonNullable<unknown>` instead  @typescript-eslint/ban-types

X 4 problems (4 errors, 0 warnings)

I wasn't sure if we wanted to address those here with code changes, so I disabled that rule, which in retrospect might have been a reach too far. I can disable the rule on a per-line basis and file a follow-up ticket.


Add get-targets-down script

Jira: OSD-8685

Looks good, now wait for a approver/maintainer

/lgtm
/approve