Log file path optional parameter

Hi,
I am using the ipmi_exporter (works like a charm !) on some huge systems, and sometime when a range of nodes are down (including BMC), I can face thousands of error.
Currently, all logs are sent to system log, which "pollute" it. Is there a simple way to add a login file path to parameters ?
My current systemctl file is:
[Unit]
Description=IPMI Exporter
After=network.target

[Service]
User=ipmiexporter
Group=ipmiexporter
Type=simple
ExecStart=/usr/local/bin/ipmi_exporter \
  --config.file=/etc/ipmi_exporter/ipmi_config.yml

[Install]
WantedBy=multi-user.target

I could find --log.level or --log.format, but nothing related to an optional log file path.
Please consider this not as a critical issue, but only asking if some kind of mechanism exist for this tool to store logs in a dedicated file.
Best regards
Ox

Hi and thanks for raising this. I understand your motivation, but I think this won't be easily solved in the exporter itself. Proper logging is serious business, so if we start going down this route, the following questions will come up:

Can we add an option to send some logs to stdout, but others to file?
The log file becomes to big, can we add an option to rotate it?
I only log errors, but sometimes there is too many, can we add rate-limiting?
...

Things will become arbitrarily complex, with every user having a different preference based on their use case. Hence, the best thing to do (in my opinion at least) is to keep the interface simple (write to stdout) and leave everything else to software designed for these things, such as systemd/journald.
Now, I don't just want to brush this off, so let's talk about your specific problem. The solution you are asking for could be easily achieved by having systemd redirect the stdout elsewhere, e.g. using StandardOutput=file:/var/log/ipmi_exporter.log (see the systemd man page).
But then you end up with this log file that might be blowing up over time. As long as you use journald, at least it does some rotating and such for you. So maybe an even better option would be to take a closer look at journald's rate limiting capabilities or log size limitation settings to see if you can tune them to something that suits your needs (note that unfortunately AFAIK journald settings are global and apply to all services)?
Maybe you can elaborate a little. What were the actual problems you observed? Did the amount of logs slow down journald and/or the host? Did they fill the file system? Or were they just a nuisance? If you were to write the logs to a file, what would you do with that file? How would you make sure it doesn't grow too big?
I hope you understand that I am not to keen to add advanced logging options to the exporter. But I am genuinely interested in making this work for you, so I'd appreciate if you let me know if any of the suggestions work for you or else provide a few more details, e.g. answers to the questions above. I am sure this will be useful to others.

Dear @bitfehler ,
Many thanks for this very detailed answer.
I didn't knew systemd was able to redirect output to a dedicated file in addition to journalctl (I should have guess however, my bad...).
I understand your concerns, and on my side your solution based on StandardOutput is enough.
I will add the logrotate (xz based) on these files. Dealing with logs of multiple gigabytes is common in our field and disks are sized according to this. I just desired the "main" message log to be cleaner. So it was just a nuisance.
Regarding the context:
I am working on an opensource stack (https://bluebanquise.com/, https://github.com/oxedions/bluebanquise), and the stack is used on HPC (High Performance Computing) clusters. We are currently integrating Prometheus monitoring (metrics and alerts).
HPC clusters can have thousands of nodes, and when using the ipmi_exporter in production on a cluster with only 400 nodes, I faced a log spam in /var/log/messages when half of the configuration went down for maintenance.
Note that Prometheus scarping interval was high due to the maintenance context, I should get much less error messages in normal time.
I will let you know once I made the systemctl file modification with StandardOutput if it works as expected.

Dear @bitfehler,
As promised, a feedback.
Tests were made on an RHEL 7.7.
I couldn't have systemctl to log files, as expected in the documentation.
I used this service file:
[root@]# cat /etc/systemd/system/ipmi_exporter.service
[Unit]
Description=IPMI Exporter
After=network.target

[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/bin/ipmi_exporter \
  --config.file=/etc/ipmi_exporter/ipmi_config.yml
StandardOutput=append:/var/log/ipmi_exporter.log
StandardError=inherit
#StandardError=append:/var/log/ipmi_exporter.log

[Install]
WantedBy=multi-user.target
[root@]#

I tried using both StandardOutput/StandardError, or StandardError only (commented here), as I have seen ipmi exporter output in stderr when using command line. But /var/log/ipmi_exporter.log remains empty.
This is not a bug on your side, and so I will ask RedHat about this.
Will keep you informed once I get an answer.
Best regards
Ox


[SPARK] Remove entrypoint build & release of spark-extension-entrypoint module

Problem
spark-extension-entrypoint module should be built and released only once
Solution
Removes spark-extension-entrypoint build & release process from CI as this a one-time-build-never-change module.

[ ] Your change modifies the core OpenLineage model
[ ] Your change modifies one or more OpenLineage facets

If you're contributing a new integration, please specify the scope of the integration and how/where it has been tested (e.g., Apache Spark integration supports S3 and GCS filesystem operations, tested with AWS EMR).
One-line summary:
Checklist

[ ] You've signed-off your work
[ ] Your pull request title follows our guidelines
[ ] Your changes are accompanied by tests (if relevant)
[ ] Your change contains a small diff and is self-contained
[ ] You've updated any relevant documentation (if relevant)
[ ] Your comment includes a one-liner for the changelog about the specific purpose of the change (not required for changes to tests, docs, or CI config)
[ ] You've versioned the core OpenLineage model or facets according to SchemaVer (if relevant)
[ ] You've added a header to source files (if relevant)

SPDX-License-Identifier: Apache-2.0
Copyright 2018-2024 contributors to the OpenLineage project

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 84.75%. Comparing base (cc6eb12) to head (f375a89).
Report is 2 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2849      +/-   ##
==========================================
- Coverage   85.52%   84.75%   -0.78%
==========================================
  Files          58       53       -5
  Lines        3413     3240     -173
==========================================
- Hits         2919     2746     -173
  Misses        494      494

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


express-generator uses deprecated Jade as dependencies

I encountered a problem as what the default JavaScript template engine is used - a deprecated Jade. Jade is no longer available in NPM search. Is there someone that can fix / update this issue? I'm fairly new to JavaScript.
What I found in my GitBash terminal.
$ cat package.json
{
  "name": "helloworld",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "jade": "~1.11.0",
    "morgan": "~1.9.1"
  }
}

$ npm install
npm WARN deprecated<EMAIL_ADDRESS>Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated<EMAIL_ADDRESS>Please update to at least constantinople 3.1.1
npm WARN deprecated<EMAIL_ADDRESS>Deprecated, use jstransformer
npm notice created a lockfile as package-lock.json. You should commit this file.
added 100 packages from 139 contributors and audited 101 packages in 10.831s
found 4 vulnerabilities (3 low, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

There are two other deprecated programs (constantinople and  transformers) which I'm not sure of. Can they be addressed too?

Please refer to https://github.com/expressjs/generator/issues/141
Long story short - there will be no default template engine

Hi @rodion-arr, sorry for insisting on this but I'm not really sure this is a duplicate. expressjs/generator#141 seems like a larger debate about which default template engine should be used but there is no decision being made (and no hurry) about solving these deps vulnerabilities.


Add docstrings

this pulls annotations from the schema and renders them as numpy-style docstrings.  for instance:

@ome_dataclass
class Objective(ManufacturerSpec):
    """A description of the microscope's objective lens.

    Required elements include the lens numerical aperture, and the
    magnification, both of which a floating point (real) numbers. The values
    are those that are fixed for a particular objective: either because it
    has been manufactured to this specification or the value has been
    measured on this particular objective. Correction: This is the type of
    correction coating applied to this lens. Immersion: This is the types of
    immersion medium the lens is designed to work with. It is not the same as
    'Medium' in ObjectiveRef (a single type) as here Immersion can have
    compound values like 'Multi'. LensNA: The numerical aperture of the lens
    (as a float) NominalMagnification: The specified magnification e.g. x10
    CalibratedMagnification: The measured magnification e.g. x10.3
    WorkingDistance: WorkingDistance of the lens.

    Parameters
    ----------
    annotation_ref : AnnotationRef, optional
    calibrated_magnification : float, optional
        The magnification of the lens as measured by a calibration process-
        i.e. '59.987' for a 60X lens.
    correction : Correction, optional
        The correction applied to the lens
    id : ObjectiveID
    immersion : Immersion, optional
        The immersion medium the lens is designed for
    iris : bool, optional
        Records whether or not the objective was fitted with an Iris.
    lens_na : float, optional
        The numerical aperture of the lens expressed as a floating point
        (real) number. Expected range 0.02 - 1.5
    lot_number : str, optional
        The lot number of the component.
    manufacturer : str, optional
        The manufacturer of the component.
    model : str, optional
        The Model of the component.
    nominal_magnification : float, optional
        The magnification of the lens as specified by the manufacturer - i.e.
        '60' is a 60X lens. Note: The type of this has been changed from int
        to float to allow the specification of additional lenses e.g. 0.5X
        lens
    serial_number : str, optional
        The serial number of the component.
    working_distance : float, optional
        The working distance of the lens expressed as a floating point (real)
        number. Units are set by WorkingDistanceUnit.
    working_distance_unit : UnitsLength, optional
        The units of the working distance - default:microns.
    """

    annotation_ref: List[AnnotationRef] = field(default_factory=list)
    calibrated_magnification: Optional[float] = None
    correction: Optional[Correction] = None
    id: ObjectiveID = AUTO_SEQUENCE  # type: ignore
    immersion: Optional[Immersion] = None
    iris: Optional[bool] = None
    lens_na: Optional[float] = None
    nominal_magnification: Optional[float] = None
    working_distance: Optional[float] = None
    working_distance_unit: Optional[UnitsLength] = UnitsLength("µm")

Codecov Report

Merging #40 into master will increase coverage by 0.27%.
The diff coverage is 98.08%.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
+ Coverage   95.20%   95.48%   +0.27%
==========================================
  Files           1        1
  Lines         396      509     +113
==========================================
+ Hits          377      486     +109
- Misses         19       23       +4

Impacted Files
Coverage Δ

src/ome_autogen.py
95.48% <98.08%> (+0.27%)
:arrow_up:

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 90c1e3c...94f0c39. Read the comment docs.


fix(sqllab): reverts #22695

SUMMARY
This reverts commit d591cc80820c57c54e0e1f7e269527af2ac3c37b.
The initial selected schema option has gone because the schema validator checks the existence with the empty schemaOptions before loaded.
This commit reverts #22695 and will create new PR for appropriate solution.
Before:
https://user-images.githubusercontent.com/1392866/214704441-f2cc74f0-8c84-41b1-ab6b-c6ad442548a0.mov
After:
https://user-images.githubusercontent.com/1392866/214704435-c7b557dd-c575-46dd-aa3f-9dcd03e45095.mov
TESTING INSTRUCTIONS
disable "SQLLAB_BACKEND_PERSISTENCE"
select a schema and open a new tab
check the schema preassigned from the above the schema selection
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

re-running CI 🤞

@rusackas passed CI


feat(segment): color prop

feat(segment): color prop
Description
This PR:

adds color prop to Segment component
creates Segment color examples

API
<Segment color={COLOR} .../>

where COLOR is one of 'primary' | 'secondary' | 'blue' | 'green' | 'grey'  | 'orange' | 'pink' | 'purple' | 'teal' | 'red' | 'yellow' | string

Known issues:
Segment text color should be dark shade of gray on segments with light background color, tracked by #629

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


RE batching

Adding batching job support to az quantum.

This checklist is used to make sure that common guidelines for a pull request are followed.


[BUG] \degree name collision with package gensymb

I deeply appreciate you for this community effort that helps graduate students like me!

Describe the bug
The command \degree is used by package gensymb to denote the degree symbol, like 30 \degree for $30 \degree$.
However, this will be rewritten by thesis-umich.cls.
https://github.com/meluso/UMich_Dissertation_Template/blob/6844e69c675cccf3796b7e4417cfb39de68efe15/thesis-umich.cls#L289.
To Reproduce
Include package gensymb and use 30 \degree in any part of your document.
Possible resolution
We can probably rename it to 'diploma', 'credential', 'degreetitle' or any suitable words that has only one meaning.

Noted! Sounds like you've got a fix figured out! If you'd like, you're welcome to propose the a pull request with 'degreetype' perhaps? That would be a big help!

@meluso Sure! I will make a PR tomorrow.

Promised bunny picture: https://photos.app.goo.gl/1gvZJEjGQ3UixfJJ7
Will merge shortly!


Can't use ModernTaxonomyPicker in a controlled way

Category
[ ] Enhancement
[x] Bug
[x] Question
Version
Please specify what version of the library you are using: [   3.10.0    ] (worked fine with 3.9.0)
Expected / Desired Behavior / Question
It's a common pattern to "control" the value of fields by using some kind of state and define values from the state, then update the state from a onchange
The fluent UI lib for example is full of such pattern (https://developer.microsoft.com/en-us/fluentui#/controls/web/peoplepicker#implementation)
It should possible to reproduce same pattern with ModernTaxonomyPicker.
Observed Behavior
If setting initialValues from something that came from the state, the control goes into a infinite loop (which ends in being throttled)

If setting initialValues from a prop, whenever the control change, it resets to the initial values.

Steps to Reproduce
Repro : https://github.com/stevebeauge/pnpreactrepromoderntaxonomy/blob/51969c31f270b51ac5ea4332e232d6a7aa27aa1d/src/webparts/repro/components/Repro.tsx#L1-L53
import * as React from 'react';

import { IModernTaxonomyPickerProps, ModernTaxonomyPicker } from '@pnp/spfx-controls-react';

import { BaseComponentContext } from '@microsoft/sp-component-base';
import { TextField } from 'office-ui-fabric-react';
import { useState } from 'react';

type ReproProps = {
  context: BaseComponentContext
};

type PartialTermInfo = IModernTaxonomyPickerProps["initialValues"];

const Repro = ({ context }: ReproProps): React.ReactElement<ReproProps> => {

  const [termSetId, setTermSetId] = useState<string | undefined>(undefined);
  const [selectedTerms, setSelectedTerms] = useState<PartialTermInfo | undefined>(undefined);

  return (
    <>

        <TextField value={termSetId} onChange={(evt, newValue) => setTermSetId(newValue)} />

        {termSetId && (
          <ModernTaxonomyPicker
            termSetId={termSetId}
            panelTitle="My term set"
            label="Modern taxonomy picker"
            context={context}
            initialValues={selectedTerms}
            onChange={setSelectedTerms}
          />
        )}

        {selectedTerms && (

            {selectedTerms.map(t => (

{t.labels[0].name}

            ))
            }

        )
        }

    </>
  );
}

export { Repro, ReproProps };

@stevebeauge you're code is incorrect which is why you are experiencing this issue, the initialValues is only used to set what is initially selected when you first load the component and should not be updated post component render as it will re-render the whole control.
Imagine for example you have a taxonomy field which already has "Marketing", when the control renders you will send through the object that contains "Marketing" so the control will render it as already having been selected. If you try and manipulate the state that initialValues is using after component render it will break as you are seeing there.
Instead use the onChange property to send any updates to the selection to a state property you are controlling separately, that event will include the initialValues value if they remained selected in the control, if you have since removed one of the taxonomy choices they will not be sent to the onChange event.
for example:
// Get the term ID of the site field to be used for the control
const termID = await sp.web.fields.getByInternalNameOrTitle("MyTaxonomyField").select("Id", "TermSetId").get();
// Get any pre-selected choices for a specific taxonomy field
const taxInitValues: ITermInfo = await sp.termStore.groups.getById("GROUP ID").sets.getById("TERM ID").getTermById("THIS IS THE GUID OF THE TAXONOMY FIELD IN THE SHAREPOINT ITEM")();

The above code will load the data including any pre-selected taxonomy choices from the field and display it in the control, next you can add in an onChange function to store the changes and then submit these back to SharePoint as needed.
Hope that makes sense?

Sorry @omarelanis, but I still think there's something missing. What you show here will not allow setting the selected terms outside the component itself.
What I tried also :

type PartialTermInfo = IModernTaxonomyPickerProps["initialValues"];

const Repro = ({ context }: ReproProps): React.ReactElement<ReproProps> => {

  const [termSetId, setTermSetId] = useState<string | undefined>(undefined);
  const initialTerms: PartialTermInfo = [
    {
      id: "5abaeda2-1685-431c-af4e-45e76310754c",
      labels: [
        {
          isDefault: true,
          languageTag: 'fr-FR',
          name: "Marketing"
        }
      ]
    }
  ];
  const [selectedTerms, setSelectedTerms] = useState<PartialTermInfo | undefined>(undefined);

  return (
    <>

        <TextField value={termSetId} onChange={(evt, newValue) => setTermSetId(newValue)} />

        {termSetId && (
          <ModernTaxonomyPicker
            allowMultipleSelections
            termSetId={termSetId}
            panelTitle="My term set"
            label="Modern taxonmy picker"
            context={context}
            initialValues={initialTerms}
            onChange={setSelectedTerms}
          />
        )}

.....
....

This populates the control with default value, but the field is like "readonly". Because onChange triggers the rerender of the control, the initial values are set again and the field keeps the only selection
To clarify, imagine the ModernTaxonomyPicker is part of a large forms, when field values can be set according some rules. The values are stored in a outer state and may be changed by something else. There's nothing that can set value of the control, but the initial values.
For example, the react hook form can embed 3rd party library to build complex forms. There's some callback method that provide a value and a onchange method to populate the field.
Specifically:
import { IModernTaxonomyPickerProps, ModernTaxonomyPicker } from '@pnp/spfx-controls-react';
import React from 'react';
import { Controller } from 'react-hook-form';
import { ControlledType } from './ControlledType';

type ControlledTaxonomyPickerProps<F extends object> = ControlledType<
    F,
    Omit<IModernTaxonomyPickerProps, 'onChange' | 'initialValues'>
>;

const ControlledTaxonomyPicker = <F extends object>({
    name,
    control,
    ...props
}: ControlledTaxonomyPickerProps<F>): JSX.Element => {
    return (
        <Controller
            name={name}
            control={control}
            render={({ field: { onChange, value } }) => {
                return <ModernTaxonomyPicker initialValues={value} onChange={onChange} {...props} />;
            }}
        />
    );
};

export { ControlledTaxonomyPicker };

This snippet is how we use the control in a "controlled" way. W/ initial values, the control loops forever. W/o, the control's content is reset each time it's rendered again.

Hi @stevebeauge, I've attached a sample gif of how the control should work when you have it setup correctly:

With the first code snippet can you change allowMultipleSelections to allowMultipleSelections={false}
Also does that first code snippet still load the element as read only so you can't change the value?
The key thing here is the control manages the state of the selected items itself within the component, you can extract the values with the onChange function but you should not be trying to update the component using the state
When I get some time I'll try and setup your repo and see if I can replicate the issue

I've extended my reproduction repository with a new webpart that reflect more the actual implementation:
https://github.com/stevebeauge/pnpreactrepromoderntaxonomy/blob/92152e2a8ed1112efada88d22d9a5852ee75bf8c/src/webparts/reproInForm/components/ReproInForm.tsx#L111-L137
This contains a workaround I found to avoid the behavior described in the issue.
The trick consists in intercepting the onChange event and only bubble this event if the selection actually changed. I compare the selected IDs to perform this check.
        <Controller
          name="someTaxoVal"
          control={control}
          render={({ field: { onChange, value, } }) => {
            const termSetId = getValues('termSetId');
            return (
              termSetId ? (
                <ModernTaxonomyPicker
                  termSetId={termSetId}
                  panelTitle={'Choose a term'}
                  label={''}
                  allowMultipleSelections
                  onChange={(selection) => {
                    // Actual output of onChange is not serializable, so wrap it in minimal required value
                    const newVal = selection.map<TermId>(term => ({ id: term.id, label: term.labels[0].name, languageTag: term.labels[0].languageTag }));
                    // Check if term ids have actually changed by comparing IDs
                    const selectedKeys = value.map(s => s.id);
                    const newKeys = selection.map(s => s.id);
                    const isSame = (
                      selectedKeys.length === newKeys.length &&
                      selectedKeys.every(id => newKeys.indexOf(id) !== -1)
                    );
                    if (!isSame) {
                      onChange(newVal);
                    }
                  }}
                  initialValues={
                    value.map(v => ({
                      id: v.id,
                      labels: [{ name: v.label, isDefault: true, languageTag: v.languageTag }]
                    }))
                  }
                  context={context}
                />) : (
                <Shimmer />
              ));
          }
          } />

This way, the inifinite loop does not occurs

Infinite loop may appear only if initialValues (or any other property from the dependency) is changed.
If the values are the same useEffect will not be called.
The change from the PR is actually removing the "controlled" way completely. Changes to initialValues will never be reflected.

Infinite loop may appear only if initialValues (or any other property from the dependency) is changed. If the values are the same useEffect will not be called.
The change from the PR is actually removing the "controlled" way completely. Changes to initialValues will never be reflected.

@AJIXuMuK probably the way I fix the issue in the PR is not the good way to solve it. That said, starting from the 3.10, the infinite loop appears (see my repro).
The use of useState should cause actually two render. The first with the initial values partially resolved, then the second with the fully resolved picker values. But this second iteration also cause the onchange callback even if the values are (logicially) the same.
One of my hypothesis is that the array of object nature of the value make react consider it's a new value, even if individual properties are the same.
Other hypothesis is that value is not serializable, because of the Parent attribute. It creates a possible circular reference in the value walking.

If it can help, here's how I overcome the bug, without the PR. As I suspected, moving the parent attribute of the state seems to solve the issue:
import { IModernTaxonomyPickerProps, ModernTaxonomyPicker } from '@pnp/spfx-controls-react/lib/ModernTaxonomyPicker';
import React from 'react';

// Workaroung bug https://github.com/pnp/sp-dev-fx-controls-react/issues/1306
// We want to remove the "parent" attribute of the term to remove the infinite loop

// Extract original type
type OriginalTermInfoValue = IModernTaxonomyPickerProps['initialValues'];

// remove the parent attribute
export type ITermInfoNoParent = Omit<NonNullable<OriginalTermInfoValue>[0], 'parent'>;
export type ITermInfoNoParentArray = ITermInfoNoParent[] | undefined;

// Tweak the taxonomy picker props
interface IWrappedModernTaxonomyPickerProps extends Omit<IModernTaxonomyPickerProps, 'onChange' | 'initialValues'> {
    //onChangeTaxonomyHandler: (taxonomyArray: any) => void;
    initialValues?: ITermInfoNoParentArray;
    onChange?: (newValue: ITermInfoNoParentArray) => void;
}

const WrappedModernTaxonomyPicker = (props: IWrappedModernTaxonomyPickerProps) => {
    const pnpInitialValues: OriginalTermInfoValue = props.initialValues?.map((ti) => ({
        ...ti,
    }));
    return (
        <>
            <ModernTaxonomyPicker
                {...props}
                onChange={(selection) => {
                    if (props.onChange) {
                        const v = props.initialValues ?? ([] as ITermInfoNoParent[]);
                        const newVal = selection
                            ? [
                                  ...selection.map((sel) => {
                                      const { parent, ...others } = sel; // Remove the parent attribute
                                      return { ...others };
                                  }),
                              ]
                            : [];
                        const selectedKeys = v.map<string>((s) => s.id);
                        const newKeys = selection?.map((s) => s.id);
                        const isSame =
                            selectedKeys.length === newKeys?.length &&
                            selectedKeys.every((id) => newKeys?.indexOf(id) !== -1);

                        if (!isSame) {
                            props.onChange(newVal);
                        }
                    }
                }}
                initialValues={pnpInitialValues}
            />
        </>
    );
};

export { WrappedModernTaxonomyPicker };

This way I can switch the pnp's ModernTaxonomyPicker by WrappedModernTaxonomyPicker to make it works. It'll work until I need to play with parent

@stevebeauge  your wrapper works for me. without I have an infinite loop after an update of the library.
Thanks you, hopefully someone can fix these control.

@patrikhellgren has fixed the infinite loop and also stated (as the owner of the control) that it CANNOT be used in the controlled way without a refactoring.
See the linked PR.


New version: VlasiatorMakie v0.1.6

Registering package: VlasiatorMakie
Repository: https://github.com/henry2004y/VlasiatorMakie.jl
Created by: @henry2004y
Version: v0.1.6
Commit: b8cf6dc888126a3cff965091f522bd3e7019a1c7
Git reference: HEAD
Description: Makie plot recipe for Vlasiator

I accidentally skipped one version number. It is now been fixed, but when registering through the JuliaHub interface, it automatically created a new PR, which has now been merged.


New package: Jaysmito101.TerraForge3D version 2.3

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?
Resolve #156099

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Packages\Jaysmito101.TerraForge3D__DefaultSource\TerraForge3D.exe returned exit code: -1073741515
Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\TerraForge3D.exe returned exit code: -1073741515

Automated error analysis suggests -1073741515 may mean STATUS_DLL_NOT_FOUND - possibly due to a dependency on Microsoft.VCRedist.2015+.x64 (or .x86).
(Automated response - build 882.)

Although there aren't linked DLL's, the executable seems to still crash due to other linked files not being available through Symlink
[Policy] Zip Binary

@Exorcism0666 - Support for zipped binaries has now been added and is available in the pipelines. This will require you to update your submission to ManifestVersion: 1.9.0 and set ArchiveBinariesDependOnPath: true in the installer node. To keep things clean, this PR is being closed. Please submit a new PR for the latest version of this package. Thank you for your contributions!


Fix chaos test timeouts: BTS-1356

Scope & Purpose
This is a backport of https://github.com/arangodb/arangodb/pull/18913
This tries to fix https://arangodb.atlassian.net/browse/BTS-1356 .
What happens is that there is currently a global timeout of 10s for all
arangosh subshells which are spawned by our testing framework. The
chaos tests use this for parallelism and at the same time they create
many situations in which shard followers get out of sync. The catchup
phase of a follower with its leader needs to stop writes to the shard
for some time, which can in testing situations be well more than 10s.
Therefore, we often hit timeouts in this situation.
The solution is to remove the artificial timeout of 10s for subshells
and go back to the default timeout of 1200s.

[*] :hankey: Bugfix

Checklist

[*] Tests

[*] integration tests

[*] :book: CHANGELOG entry made
[*] Backports

[*] Backport for 3.10: this is it

This has had another good run on the failed test here: https://jenkins01.arangodb.biz/job/arangodb-matrix-pr-linux.x86-64/29351/
So I think this is good to go.


ApplicationBuilder and DefaultBuilder are mixed up

Type of issue
Outdated article
Description
[Enter feedback here]
The article talks about DefaultBuilder(use IHostBuilder and configureDelegate), but codes talk about ApplicationBuilder(use HostApplicationBuilder and builder.Configuration). Really confusing.
Page URL
https://learn.microsoft.com/en-us/dotnet/core/extensions/generic-host#host-configuration
Content source URL
https://github.com/dotnet/docs/blob/main/docs/core/extensions/generic-host.md
Document Version Independent Id
22a12ff8-d2ff-a841-b9bb-e2fd1032bc04
Article author
@IEvangelist
Metadata

ID: d43ecd7c-307a-688e-d533-c1135bde65f9
Product: dotnet-fundamentals

Thanks for the feedback, and posting this issue. I agree we need to make this easier and separating things makes sense. Working on it now.


Clearfix

How can I solve Clearfix issues with Gridlex? I've tried the solution below without success.
Thank you in advance.
.cf:before,
.container:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}
/* IE 6/7 */
.cf {
  zoom: 1;
}

Threre is no "clearfix" solution for flexbox... Have you tried to use data-push-right with the desired value on the "last" col of the line
See http://gridlex.devlint.fr/#documentation


fix npm run all in master

I noticed the issue when running npm run all in the master branch - without the changes in package.json, we'll see errors for loading .png and .gif files

This also makes the "clean" step in package.json the same as in the track_id_v2.18.x branch:
https://github.com/facebookincubator/RapiD/blob/track_id_v2.18.x/package.json#L22
Also included are the svg and data/presets.yaml updates automatically generated by npm run all.

Looks good, thanks @gaoxm 👍
I was confused about the image copying step too, so I agree that this update makes the build less brittle.

Ah I just realized that this should merge into main now.  We aren't using master anymore..

Looks like the main branch doesn't have this issue, but I need to investigate a bit more.  The internal build option seems missing from there.


Update the sandbox to use the new padding options (WIP).

Use the new padding options introduced by https://reviews.llvm.org/D122309.

Integrated in #418


Revert ed25519 everywhere

This reverts commit ecf94d028b86fddedbf4788f51983eaf126105ef, reversing
changes made to 11f8d555713bc90e5bb4736fbf8e7985ffb61c31.
It turns out ScaleFT/sshkeys (which I used for marshalling ed25519 ssh keys) is incompatible with the newest versions of openssh's ed25519 ssh key format. This causes issues with newer versions of ssh-keygen which fail to parse the generated key. Until I figure out a better approach, reverting and going back to RSA keys on windows.

The crypto core package in go seems to have support for both RSA and ECDSA (https://golang.org/pkg/crypto/), maybe an alternative to ed25519 for now? :)

Ecdsa it is! I also switched it so users will get ed25519 keys if they have ssh-keygen installed (so even windows users can get ed25519 keys).


add action for svn commits

Checklist

[ ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[ ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[ ] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary.

Motivation and Context

Description

Hey @cleexiang,
Thanks for your fastlane pull request, this looks great!
We recently introduced the new fastlane plugin system that allows you to distribute and maintain your own plugins, and still be exposed to fastlane users.
We'd love this new action to be a fastlane plugin so people who want to use it, can easily add it to their project.
Please let us know how the integration goes, and if you need any help getting up and running 🚀

Hey @cleexiang - as @KrauseFx mentioned, this PR does look great, and it would be a really great use case for a plugin. I am going to close this for now, but feel free to continue discussion on here and let us know if you would like any help moving this over to a plugin! 🔌  🚀


HDMI out of i9+ Ext board not routed to working TDMS balls on xc7a50t

I had to give up on openXC7 toolchain to build larger projects, but Vivado is providing clear errors:
D0+ cannot route to AB6:

D2+ cannot route to W7

Clk/D3+ cannot route to AB7 (which is actually the negative out of AA5):

I'm still looking for an actual datasheet that details the Diff Pair outputs of the xc7a50tfgg484, well enough to work from anything outside of Vivado.
If you want to provide the Design files (either Altium or Kicad) for the Ext board, I'm happy to fix the HDMI pinout myself.
Otherwise this issue is just a note that the HDMI connector does quite work on the Ext board.

This pinout looks like everything is broken out on the DIMM connector close to the current HDMI connector:

Hello, in fact HDMI can be implemented by ordinary GPIO, you can refer to here
https://github.com/wuxx/Colorlight-FPGA-Projects/tree/master/src/i5/hdmi_test_pattern

Truly, but using the on-chip hardware will enable higher resolutions and multiple video channels.

understand, the current design is for forward compatibility (colorlight i5 i9)


move ca root cert to different path in proxyv2 image

https://github.com/istio/istio/issues/5903
integration shows ca cert is flushed(most likely by citadel) in previous path(/etc/certs/), so move it to different folder

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: JimmyCYJ, quanjielin
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: greghanson
Assign the PR to them by writing /assign @greghanson in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/cc @wattli, @andraxylia

@hklai could you pls help to merge ? (auto-merge is blocked by lint failure which isn't caused by this PR).


README: Fix "enabled" typo and separate kbd keys

Just a few tweaks I noticed could be done.

thx!


Adds dependency on rabbit to service. Set startup to auto and restart…

… on failure.
[#144138959]
https://www.pivotaltracker.com/story/show/144138959

@eldavido PTAL


Split the core out of library

gemini, in its current state performs much more functions beyond its initial purpose "capture screenshot from a webpage and compare it with image on disk". It is now a single monolith that performs a functions of:

WebDriver session manager
WebDriver client
Testing library & test runner
Test assertion library (with a single assertion, but a lot of logic to implement it).
Config file reader & overriding using complicated rules
Plugin system

Due to a monolythic design it is hard now to make a large-scale changes to it (remember when we've changed config format in 0.13?) and its hard to integrate it into other systems (You already have a bunch of selenium tests and just want gemini to take screenshot after them? Sorry, you either use our runner  & selenium client or go away).
My proposition is to split it up into two projects:

Lightweight library, which does the following things:

Given a CSS selector, returns the image of the area that matches the selector.

Compares it with pre-existing image and reports the results.

Provides a hook to integrate any test runner and WebDriver client. Integration should implement the following interfaces:
interface WebDriver {
   Promise<Buffer> takeFullscreenImage();
   Promise<any> executeJS(string code);
}

interface TestRunner {
  void startSuite(string name);
  void endSuite();
  void startTest(string name);
  void endTest();
}

And exposes two functions calibrate, take([selectors], [ignoreSelectors]),

It does not cares about the way you are performing the actions, which test runner are you using and which WD client do you prefer and can be integrated into existing test suites or used as a part of bigger tool, such as gemini. Parts of the gemini that will go here: CaptureSession (without runHook), Image, Coverage, all client scripts and probably, Calibrator. The single focus of this library is to do one thing: capture screenshot from a webpage and compare it with image on disk.

Gemini stays as it is today and integrates the said library. Nothing changes for the end users.

This way we can also separate the team responsibilities. I will focus on a core library and make sure it does its limited scope tasks right and others can work on a broader set of features in gemini itself without me constantly bragging about broadening the feature set.
/сс @arikon @SwinX @j0tunn

@SevInf Lets make a call on this

@SevInf ping ?

@SevInf Are you still going to do this? Or should we do it ourselves?

@SevInf Any progress on this?

Sorry, missed a few notifications. We've ditched the plan to use existing tests for visual regression and decided to go with vanilla gemini, so this is not as high priority as it used to be. However, I still think it is a good thing to do and I'm going to look into it during winter holidays

Pinging this to indicate it would be nice for integrating into existing end-to-end tests (rather than requiring devs to write in one setup for image diffing and another setup for e2e).

@Amy-Lynn hi. you can use hermione for it

@sipayRT I might not have been clear (or I might be misunderstanding the purpose of hermione), but I already have a bunch of protractor/jasmine end-to-end tests and I'd like to be able to integrate with those


[Feat] keep empty line after HashBang

Is your feature request related to a problem?
Please describe a clear and concise description of what the problem is. E.g. I'm always frustrated when [...]
Currently, this plugin will remove empty line after HashBang.
  #!/usr/bin/env node
-
  import foo from 'bar';

Describe the solution you'd like
A clear and concise description of what you want to happen.

Keep an empty line after HashBang, if it exists.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Enforce an empty line after HashBang.

Additional context
Add any other context or screenshots about the feature request here.

I personally don’t see a problem with this feature change.
I think we already have a special case for shebang-lines, so it’s probably a small tweak to adjust this code.
The biggest problem is deciding if this is a breaking change from a versioning perspective.

I think it could be considered a "bugfix", though we might want to release in a minor.  Even prettier itself allows formatting changes between versions.  We should make our stance explicit in the README, though...

Add a new option to enable that feature, can avoid breaking change.

Yes, but that's how we ended up with a bajillion options previously, and we worked hard to remove them.  Prettier itself is opinionated and has very few options, and we want to follow that same philosophy.


git mergetool [error]

I get this when I run the command git mergetool I don't know if this is because it tries to run the command MergetoolStart is available or other thing. 😞

Do you have an Idea if it is something wrong I have configured or some of the package. o.0

Neeeeever mind, I use neovim and to open the mergetool I used vim 🤷♂  ooops


Cannot get past the new "BOOST ITEM" screen on current NA halloween event

There's an extra menu after the support screen...

Try the latest commit.
Also, set the isEvent option to 1.


Set ignore for GAE push to avoid uploading unnecessary files

Issue believed to be fixed. GAE will now ignore the pdf schedules, the uncropped teacher images, and all pyc files.


CSS variables aren't properly polyfilled

Version
v2.11.0
Steps to reproduce
Use this config
export default {
 mode: 'universal',
 loading: false,
 css: [
   '~/styles/base.css'
 ],
 build: {
   extractCSS: true,
   postcss: {
     preset: {
       stage: 1,
     },
   },
 },
}

content of styles/base.css
:root {
  --font-size: 16px;
}

body {
  font-size: var(--font-size);
}

content of pages/index.vue
<template>

Hello world

</template>

run npm run generate
What is expected ?
component css should be something like
h1[data-v-04b21c3c]{font-size: 16px;font-size:var(--font-size)}

What is actually happening?
component css is
h1[data-v-04b21c3c]{font-size:var(--font-size)}

notice the actual value isn't inlined.
Additional comments?
The base.css file correctly has actual value inlined.
My guess is that the component css passed through postcss without letting it see the base.css file.
I'd like to send a PR if someone could shred some light on how to make postcss see files imported by the css options.

This bug report is available on Nuxt community (#c10135)

I have checked the source code, options.css files are imported in vue-app's App.js, and component css is imported with vue-loader, so they are separated. I don't think it's easy to make postcss see the variables this way?
I also tried importing base.css directly in the component
<template>

Hello world

</template>

The problem is that :root will be prepend with css module id.
I also tried importing it as a global style:

But then they're separated again, and postcss couldn't polyfill correctly.

Please add a working minimal reproduction on codesandbox

Here you go, check the style differences between body and h1
https://codesandbox.io/s/fragrant-lake-ekeco?fontsize=14&hidenavigation=1&theme=dark


Added ì}ì to the bottom in the toString method to avoid nesting and improve readability

added } in return obj

consider using flutter_blue_plus


Added timeout and retry to got requests

I have received some timeouts on different stages where the default timeout of 3500ms is not enough. So I added retry and timeout to each got request in the login function via e-mail+password.

Thank you for your contribution. Could you change it that it is confígurable via the "options object" in the main constructor. I'm completely fine with your values as defaults. I would see two settings. one for the "communicationTimeout" value (10000 nd then use in all places) and one for the "communicationRetries"

Thank you for your contribution. Could you change it that it is confígurable via the "options object" in the main constructor. I'm completely fine with your values as defaults. I would see two settings. one for the "communicationTimeout" value (10000 nd then use in all places) and one for the "communicationRetries"

I added both options and enhanced the timeout and retries also within the openid client requests.

Cool, thank you, will review tonight


Fix broken update.json

Since the version specified in build.gradle is "${mc_version}-${mod_version}", now we have a resulting version in-game of 1.18.1-<IP_ADDRESS>.
However, Forge update checker has been checking for a version > 1.18.1-<IP_ADDRESS>, and always returning true since this file says the latest is <IP_ADDRESS>, and 1.39 > 1.18.
This means that the update checker ALWAYS says there is a new version available, even on the latest one. (See here: https://i.imgur.com/YVpduzk.png)
This change puts the proper version number in front of all versions since the build.gradle was changed, fixing the update checker.
Also, updated the 1.18.1-latest promo from 39.0.24 to 39.0.25 to reflect the latest release on CurseForge.

Hi, I'll look at this now.

Okay, so I used a copy of lupin's build.gradle when I converted to version 1.18.1.
This is fixed for 1.18.1.
checking which other versions have this issue.  It might be in 1.17.1 too.

Thank you for reporting this issue!
I appreciate it.
With Best Regards,
Two Guys,
MacTso


Integration test examples on kubeflow pipelines

Describe changes
Exploratory PR to help debug gh actions. NOT READY FOR REVIEW!!!!
Pre-requisites
Please ensure you have done the following:

[ ] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table.
[ ] I have added tests to cover my changes.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

LTKF!

LTKF!


V6

This is a fairly big rewrite/change for the ruby notifier.
Its not complete but I wanted to deprecate lots of old interfaces for the ruby notifier.
Changes
-config.ignore_classes now no longer accepts strings

Bugsnag.notify_or_ignore removed - now call notify directly
Bugsnag.auto_notify removed - now call notify directly
config.delay_with_resque removed
Bugsnag::Notification now Bugsnag::Report
notify now only supports the block, you can no longer send in overrides hash
config.use_ssl removed, now set protocol in config.endpoint
config.vendor_paths removed (Should we leave this in for people that locally install gemfile?)
after_notify_callbacks removed
Capistrano support removed - will go into a dedicated gem
Deploy support removed, will go in the capistrano gem
params_filters renamed to meta_data_filters to be clearer
config.debug removed and instead use the logger directly

Probably more besides. This cannot be merged until the capistrano gem exists.

Closing for #385 (resolves conflicts).


Implement Dropdown Menu v2 Component

Spec reference: https://www.google.com/design/spec/components/menus.html
This is our <select> equivalent. See this image

[x] Single-Select Mode
Multi-mode #4948

we should also support multiple mode.
Such as https://material.angularjs.org/latest/api/directive/mdSelect

Multiple mode doesn't seem to relate to a textfield. Do you mind elaborating on what exactly you want that the Material Design Specification details?

Hi @traviskaufman,
How is this different then the generic overflow dropdown button? (https://material.google.com/components/buttons.html#buttons-dropdown-buttons)
Seems like the dropdown button specification is the more complete solution. Are there plans to implement it in Mdl?

I think this is just the dropdown part of the dropdown button. Menu with options/actions.

@HriBB is correct; from a UX perspective this is pretty much combining a button with a menu. There is additional work that needs to be done though, particularly around accessibility.

Cool. Thanks for the explanation guys.

Is v2 going to cover dropdown menus?

@gaastonsr That is a part of the drawer component which is #4476. Current plans is to offer one form of the MD specified menus.

^ ah, ignore this. I referenced the wrong issue in the commit 😭

FYI ^ :)
Also note, we've built the v2 version of select such that it works as both a custom element as well as with the native browser select, and you can seamlessly switch between the two. This means you get the full-fidelity experience on desktop devices while being able to switch over to the native version on a mobile device for the best cross-browser UX possible.

Closing for now. Single-select is done and multi-select will be moved to a new issue.

Sorry for dragging up an old topic...but I've read this thread, and the previous one https://github.com/google/material-design-lite/issues/854
and more recent ones which link to this thread as a "solution"...but i still have no idea where the MDL select component is? it's not on the components page: https://getmdl.io/components/index.html
Am i missing something? I'm using MDL v1.3 which is the only version i could find

@NBurke1 MDL is now MDC. Select is here.


fix: lacking node version in README

Bug Report
Current behavior
There is no definition of the correct Node version to be used in the swaplace-dapp
Definition of Done:

[ ] Add the setup note about the correct node version to use. Follow the same usage as swaplace-contracts repository.

Expected behavior
Inform users which node version they should be using to run the application
Related code
swaplace-contracts repo has an example of it in the setup:
https://github.com/blockful-io/swaplace-contracts/blob/main/README.md

Hey @0xneves can I take this up?

Yes sir you may!! @blackbeard002

@0xneves Made a PR that closes this #274


Running test suite installs pipx into system python

Simply running python setup.py test in the repository causes . to be installed to the system site packages. That's unexpected and undesirable.

If you follow the instructions in the readme this will not happen. https://github.com/pipxproject/pipx#contributing

I was unaware of the instructions. Unfortunately, I can't follow those instructions as they assume a virtualenv workflow that doesn't play well with xonsh. The instructions are also Unix-specific. A tox-based workflow should be compatible with other shells and platforms.


Are there any plans to implement pluralization like rails?

Such as:
# config/locales/en.yml

en:
  notification:
    one: You have 1 notification
    other: You have %{count} notifications

#app/views/notifications/index.html.erb

<%= t("notification", count: current_user.notifications.count) %>

From watching the tests and doing some tests myself I cant see that, this library is doing like the the above?

As I know, the pluralization support in Rails that not a I18n feature, it a ActiveSupport feature to do text convert.
https://api.rubyonrails.org/classes/ActiveSupport/Inflector.html
If you have any link referenced for how to arrive this, please noted me.


Improve bounds management

Description
Currently, if you generate a SVG based on bounds, it will contain more than just the bounds you gave, because we have to specify output width and height, and also because zoom level are integers.
It would be awesome be able to let the program choose the output size based on the given bounds (or have a minWidth, minHeight instead).
Current behavior:
The code:
import staticmaps
import s2sphere
import sys

context = staticmaps.Context()
# add bounds on east Canada
context.add_bounds(s2sphere.LatLngRect(
    s2sphere.LatLng.from_degrees(43.26120612479979, -79.859619140625),
    s2sphere.LatLng.from_degrees(49.475263243037986, -63.017578125)
))
context.set_tile_provider(staticmaps.tile_provider_OSM)

svg_image = context.render_svg(2000, 2000)
with open("output.svg", "w", encoding="utf-8") as f:
    svg_image.write(f, pretty=True)

Output file looks like this:

SVG file available here:
https://mega.nz/file/wtdARJwJ#4bXTgySf9vcmBBCnliu3blbkRoLW2hTIEcipWPbs4tg
When given bounds are:

Expected behavior
I think that we should be able to call the render_svg method with minWidth and minHeight arguments which would let the program choose a better zoom level, to perfectly fit the bounds.
Here is how it could work:

User defines bounds
User defines minWidth and minHeight
The program would determine on it's own which size the output file should be to fit the bounds
It renders the SVG with the viewbox matching the size

I would be ok to work on it, I already tried to do a first version but the mathematics used in the context._determine_zoom function are complicated, I don't know the formulas and I'm not sure to understand the variables.
I know that I can return return self._clamp_zoom(zoom) instead of return self._clamp_zoom(zoom - 1) but I don't know how to determine the output size.

That's a valid point. I will look into it.

Thank you very much. As I said, if you think that you won't have the time to do it, maybe you can guide me (with some links on how the math works to get the zoom, and how we could get the new output dimensions for instance)

Thanks for your comment, it seems that indeed, it tries to solve the same issue, however it's done only for non-svg outputs, it's done by cropping the image using the min and max X and Y of the rendered objects, which (I think) won't work with SVGs

Hello @flopp and @qlereboursBS,
as far as  I understand the code:

the tile size is fixed to 256 px
the default zoom is set to 15
with given bounds the zoom is calculated such that the bounds fit best
the tiles themselves are not scaled
the requested area (bounds) are "simply" centered into the downloaded tiles
to achieve the desired behaviour some scaling would have to be done afterwards, I think

Is it possible (for all providers) to set an arbitrary tile size?
Could it be a solution to calculate the optimum tile size?
This is the result with tile size = 200px

Hello @flopp and @qlereboursBS,
I have coded a different approach for svg:

retrieve all object boundaries
scale and transform the svg-groups with tiles and objects afterwards

You can check it out at my branch https://github.com/lowtower/py-staticmaps/tree/feature/tighten_to_bounds
Drawbacks up to now:

line thickness is not considered
marker size is not considered (might get complicated to consider with custom markers)
Question: would that be desired?

I'll have a look at cairo and pillow as well if this is of interest

I'm also interested in the "precision" of the bounds for cairo output in particular.
Is difficult to at leas add a flag to know ad the end of the process the "real" bound included in the output image?
Thankyou

Hello @netvandal,
I am afraid, I don't get Your point.
What exactly is Your question?
In my example above, the map image is "tightened" to the given boundary - plus the "extra" boundaries for the marker object.
This is for all objects - they have a "positioning point" and "extra" boundaries top, right, bottom and left which are added to the regular boundary to make sure the object is fully covered with the map image.
If You remove the objects, You should get an image with the "pure" boundaries.
BTW: the afore mentioned branch in my fork doesn't exist any more, but the feature is included in the main branch, not "master".
Cheers,
LT


bug: "allow-all-egress.yaml" Manifest Traffic Fix

The "allow-all" egress policy manifest file for the connectivity tests incorrectly "allows all" traffic with the policy of allowing all IPv4 traffic. This works because of a bug in Cilium which incorrectly translates the "<IP_ADDRESS>/0" CIDR policy as being synonymous with the "world" entity. This is incorrect and is being fixed. The policy now correctly refers to all external traffic.

I don't think this change is necessary now. It's cilium that's wrong.


No run/lumi information in file (WMAgent)

We have seen this exception in several ReRecos
NoRunLumiInformation (Exit code: 70452)  No run/lumi information in file (WMAgent)., file was /store/data/Run2017G/HIZeroBias1/DQMIO/17Nov2017-v1/90000/F278548C-0826-E811-A168-0242AC1C0500.root
In this case, https://dmytro.web.cern.ch/dmytro/cmsprodmon/workflows.php?prep_id=ReReco-Run2017G-HIZeroBias1-17Nov2017-0025, it seems the file just vanished.
Could you please help us to understand what happened to the file?

Paola, this same issue was initially reported in here:
https://github.com/dmwm/WMCore/issues/8258#issuecomment-337850035
and as you can see from my reply, the CMSSW FJR doesn't really have any run lumi information, that's why the agent cannot find any of them and raises this job failure. Ohh, the missing run/lumi information is also missing for the input files.
I wonder if that job skipped all unmerged files (or did nothing?)? Are we supposed to see anything on the cmsRun merge log:
http://amaltaro.web.cern.ch/amaltaro/forWMCore/Issue_8258/cmsRun1/cmsRun1-stdout.log
besides opening files?

@amaltaro, it seems all files were skipped https://cms-unified.web.cern.ch/cms-unified//joblogs/fabozzi_Run2017G-v1-HIZeroBias1-17Nov2017_944_180306_174119_2212/70452/DataProcessingMergeDQMoutput/52fa7d26-255a-11e8-8e5c-ac1f6b05ec6a-11-4-logArchive/job/WMTaskSpace/cmsRun1/cmsRun1-stdout.log.trunc.txt

Oh, I see the "Failed to open file..."
Ok, then the only thing left to be done in WMCore is to change this exit code and error message to something more clear. Now why it skipped so many files, that's something to be followed up with the SS team, I think

I am seeing this for
https://cms-unified.web.cern.ch/cms-unified/report/cmsunified_ACDC0_HIRun2018A-v1-HIMinimumBias16-04Apr2019_1033p1_190703_222618_3706

I'm not sure there is any problem we can solve on the WMCore side here.
Looking into the PSet.pkl file executed on the worker node, I can see all the unmerged input files properly configured, see [1].
Then looking into the cmsRun1 report file, it's missing the all those input files, which causes the final job report not to have any run/lumi information. See part of the report here [2]
Last but not least, all of that matches the actual CMSSW FrameworkJobReport.xml, which has this in the input section
<Runs>
</Runs>

<Inputs>
</Inputs>
</File>

I had the impression those files had been skipped, but then we should have it reported somewhere (and it is not)...
[1]
>>> print("%s" % data.dumpPython())
import FWCore.ParameterSet.Config as cms

process = cms.Process("Merge")

process.source = cms.Source("DQMRootSource",
    fileNames = cms.untracked.vstring(
        '/store/unmerged/HIRun2018A/HIMinimumBias16/DQMIO/04Apr2019-v1/100000/73C3AD6F-E70A-9F46-B2B8-3A5DEC8EA3A9.root',
        '/store/unmerged/HIRun2018A/HIMinimumBias16/DQMIO/04Apr2019-v1/100000/1C2360A0-D1D4-9B4D-ABEC-2D60EC3496DA.root',
        '/store/unmerged/HIRun2018A/HIMinimumBias16/DQMIO/04Apr2019-v1/100000/2FFB0C88-F57C-684F-AF1E-C02DEEE0EF5E.root',
...
process.Merged = cms.OutputModule("DQMRootOutputModule",
    dataset = cms.untracked.PSet(
        dataTier = cms.untracked.string(''),
        filterName = cms.untracked.string('')
    ),
    fileName = cms.untracked.string('Merged.root'),
    logicalFileName = cms.untracked.string('/store/hidata/HIRun2018A/HIMinimumBias16/DQMIO/04Apr2019-v1/2510000/Merged.root')
)

[2]
>>> pprint(data.dictionary_whole_tree_())
{'campaign': 'Commissioning2018',
 'cmsRun1': {'analysis': {'files': {'fileCount': 0}},
             'cleanup': {'removed': {'fileCount': 0}, 'unremoved': {}},
             'counter': 1,
             'errors': {'error0': {'details': 'No run/lumi information in file (WMAgent)., file was /store/hidata/HIRun2018A/HIMinimumBias16/DQMIO/04Apr2019-v1/2510000/069E8D39-7284-BD44-BE21-1BC9D67AF72B.root',
                                   'exitCode': 70452,
                                   'type': 'NoRunLumiInformation'},
                        'errorCount': 1},
             'fallback': {'files': {'fileCount': 0}},
             'id': None,
             'input': {},
             'logs': {},
             'output': {'Merged': {'dataset': {},
                                   'files': {'file0': {'acquisitionEra': 'HIRun2018A',
                                                       'branch_hash': 'd41d8cd98f00b204e9800998ecf8427e',
                                                       'catalog': '',
                                                       'checksums': {'adler32': '2cf3acb3',
                                                                     'cksum': '2553579625'},
                                                       'configURL': 'None;;None;;None',
                                                       'dataset': {'applicationName': 'cmsRun',
                                                                   'applicationVersion': 'CMSSW_10_3_3_patch1',
                                                                   'dataTier': 'DQMIO',
                                                                   'primaryDataset': 'HIMinimumBias16',
                                                                   'processedDataset': 'HIRun2018A-04Apr2019-v1'},
                                                       'events': 0,
                                                       'globalTag': '103X_dataRun2_Prompt_fixEcalADCToGeV_v1',
                                                       'guid': '069E8D39-7284-BD44-BE21-1BC9D67AF72B',
                                                       'inputPath': None,
                                                       'lfn': '/store/hidata/HIRun2018A/HIMinimumBias16/DQMIO/04Apr2019-v1/2510000/069E8D39-7284-BD44-BE21-1BC9D67AF72B.root',
                                                       'merged': False,
                                                       'module_label': 'Merged',
                                                       'ouput_module_class': 'DQMRootOutputModule',
                                                       'pfn': '/srv/job/WMTaskSpace/cmsRun1/Merged.root',
                                                       'prep_id': 'ReReco-HIRun2018A-HIMinimumBias16-04Apr2019-0008',
                                                       'processingStr': '04Apr2019',
                                                       'processingVer': 1,
                                                       'runs': {},
                                                       'size': 27859,
                                                       'validStatus': 'PRODUCTION'},
                                             'fileCount': 1}}},
             'outputModules': ['Merged'],


mRootView aways nullPointException? how to solve it?

Look at here

→ Did you conform to the Rules?
→ Did you read the Wiki Carefully?
→ Did you search in Google?
→ Did you search in openned&closed Issues?
→ Receive only bugs and suggestions

Environment

[x] MVPArms Version:
[x] AndroidStudio Version:
[x] Gradle Plugin Version:
[x] Target Android Version:
[x] Device Model:

Bug Description:

Related Code:

Bug Log:

Others:

没有代码或者日志么？
如果你在Activity里没有执行Dagger2的绑定代码会这样。
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerMainComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}

are you not Chinese?

May be an xml error


How to change the search range for keys in xpoint mode?

Hello Albertobsd! In xpoint mode, how can the search range for keys be changed? Let's say for example from<PHONE_NUMBER> to FFFFFFFFFF? I noticed you set the decimal number -n 65536 this is fine for me too, but the search goes from 1 to 65536 and I would like to select a specific range, is it possible to do this? I tried running -n<PHONE_NUMBER>52:1099511627775 but something didn't work. What am I doing wrong?

you need flaf -r(range).example -r<PHONE_NUMBER>2:1099511627775 but then don't use the -b flag.

@dem10 Excellent thanks for the advice. I applied the -r (range) flag and everything works! I was wondering what advantage does the -b flag have? Why do we remove the -b flag when specifying a range of keys?

the -b(bits) flag is the range in bits. that is, by specifying -b 120, the program will search only in the full range of 120 bits. and with the -r flag, you yourself can choose in which space to search for the key (decrease or increase the space). if you set the flags - b and -r at the same time, then the program will only work with the -b flag.

@dem10 thanks a lot for reply.
@amiwrcd your doubt was solved?

@albertobsd Everything works perfectly! Thank you!


get_all_servers_from_adminhost: added parameters for PORT and SSL

Resolves #583
Signed-off-by: Felipe Fonseca<EMAIL_ADDRESS>

Looking good!
Thanks, @cwffonseca


Why werf lose +x executable bit on windows when building images

Given that git-repository contains some start.sh executable script. Built image will not contain start.sh with executable bit.

fixed


Change root path for referrers to support distribution extensions proposal

This tracks the changing of the /referrers API from /oras/artifacts/v1/{repository}/manifests/{digest}/referrers to the OCI Distribution extension proposal #111

I for sure am curious how this example would translate into the /v2/_<ns>/<ext>/<operation>[?<key>=<value>...]  or /v2/<name>/_<ns>/<ext>/<component>[?<key>=<value>&...] layout 🤔

I like the REST layout, but how to maintain an extendible structure that works for generic use-cases as well?

Closing as this got merged in #87


Hosting a plugin to wrap the Apache Mina SSHD library

Repository URL
https://github.com/Dohbedoh/mina-sshd-api-plugin
New Repository Name
mina-sshd-api-plugin
Description
This plugin repository provide plugins to wraps the Apache Mina SSHD library. The library is segmented in different modules and therefore I am proposing to have different plugins per modules (similar to what is done with the AWS SDK plugin for example).
The idea for this comes from the EPIC JENKINS-64104 and a discussion in https://github.com/jenkinsci/ssh-credentials-plugin/pull/126#pullrequestreview-994350342. Along with the fact that more plugins might be using the library. Several plugins uses it already (sshd-plugin,  cloudbees-ssh-slaves-plugin), many plugins uses it for testing, some plugins are moving to it such as SSH Build Agents (see JENKINS-64106).
GitHub users to have commit permission
@jglick
@Dohbedoh
Jenkins project users to have release permission
jglick
allan_burdajewicz
Issue tracker
Jira

/hosting host


Update to Xcode 7

Various upkeep.

Works locally, not sure why Travis fails.
nationbuilder-ios> xctool \
> -workspace NBClient.xcworkspace \
> -scheme NBClient \
> -configuration Release \
> -sdk iphonesimulator \
> test


Add some non-null judgement to the input

Some args may be null when input. Also, change some api to JDK 8 version

Thank you for your pull request, but why just use isEmpty() in the second judgement at line 23

Got it

That's fairly great, thank you for your contribution


How to perform custom ranking for records from a MongoDB database in Node.js

Article checklist
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
Preliminary Checks - Formatting and Structure

[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines
This fixes #1846

@srishilesh Done. Please check

@srishilesh I'll engage you on slack for more insights about the Table of Contents.Thank you for your review.

🤔  I can't seem to locate this PR in m VS code - I think it may be because the repo was deleted?? Not entirely sure.

🤔 I can't seem to locate this PR in m VS code - I think it may be because the repo was deleted?? Not entirely sure.

New PR created for this.
https://github.com/section-engineering-education/engineering-education/pull/1982
Hence, closing this PR.


Create docker image as part of the release process

Host image in dockerhub
Use this image as part of the test suite

https://hub.docker.com/r/iasql/iasql


Raise error on *storage.ObjectHandle.If(Condition) fail

Client
Is there any way to raise an error if a precondition isn't met on a file?
All I see is that the function onto the resulting *storage.ObjectHandle is ignored if the *storage.ObjectHandle.If(storage.Condition) fails, but I need to raise an error when this happens, not simply let it pass silently.

Can you provide an example? With the code
 obj := c.Bucket(bucket).Object(objName).If(storage.Conditions{GenerationMatch: 17})
 a, err := obj.Attrs(ctx)

I get an error.

I'm trying to use .NewWriter, which returns no error, even Write into the *storage.NewWriter doesn't return an error if the generations don't match.

@jba Is there a workaround to this behavior?

Let me look into it a bit more.

Are you checking the error from Writer.Close? This code prints an error:
    ctx := context.Background()
    c, err := storage.NewClient(ctx)
    if err != nil {
        log.Fatal(err)
    }
    obj := c.Bucket(bucket).Object("issue1055")
    w := obj.NewWriter(ctx)
    fmt.Fprint(w, "something\n")
    if err := w.Close(); err != nil {
        log.Fatal(err)
    }
    attrs, err := obj.Attrs(ctx)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("wrote generation %d\n", attrs.Generation)
    gobj := obj.If(storage.Conditions{GenerationMatch: attrs.Generation + 1})
    w = gobj.NewWriter(ctx)
    fmt.Fprint(w, "second\n")
    fmt.Printf("error on close: %v\n", w.Close())

@jba
I never thought to check that error, thanks!
Maybe the documentation for using .If() could be a little clearer?

It's actually more about using Writer correctly. Whenever you use an implementation of io.Writer in Go, you should always check the error from Close. We say it explicitly in the doc for Writer.Write: "Always use the error returned from Writer.Close to determine if the upload was successful."

Right, I understand. My main problem is that nowhere in the .if() documentation does it hint at the fact that an error might be raised if the precondition isn't met, which led me to believe I needed a workaround.
"Operations on the new handle will only occur if the preconditions are satisfied."
It would be nice if it said that the operations would raise an error.

Good point. See https://code-review.googlesource.com/c/gocloud/+/30190.

Closing this issue since https://code-review.googlesource.com/c/gocloud/+/30190 clarifies the documentation.


Fix missing env arguments on AWS Deployment + Minor fix/improvements for UX

Pull Request
Description

Fix:

Did not update all the necessary workflows with the new secrets, hence reset password was failing on the AWS deployment :-(
Error in mail sending due to the mail service itself failing was not being propagated, updated so that users are aware if it fails
IMPORTANT: Auth and user were both using a fallback value for the service secret!!! 😱 Sorry, please update both auth and user env files with the new value of SERVICE_SECRET.

Perf:

Allow unverified users to request for another verification email when they try to log in to prevent this email from being locked forever
Create new users with default preferences for matching
Allow users to completely unselect an option in the matching card, but will get an error if they try to submit with any empty field

Related Issue(s)

Fixes #148
Changes Made

Screenshots (if applicable)

Allow unverified users to request for verification email:

Changes in matching card

Checklist

[x] I have checked that the changes included in the PR are intended to merge to master or any destination branch.
[x] I have verified that the new changes do not break any existing functionalities, unless the new changes are intended and have approved by the team.
[x] I will take care of the merging and delete the side-branch after the PR is merged.

Additional Notes/References

LGTM


Features

In this milestone I created:

a greeting rails-react app
create an API endpoint

@youmari, kindly can you precise what should change, please?
Because everything works perfectly on my side.

@stanleySimeon if it's working properly on your side please try to record a video where you show your project  working
and all the requirements


Add 1.25, 1.26, 1.27 cloudstack support

Issue #, if available:
Description of changes:
Adds support for cloudstack 1.25, 1.26, 1.27.
Adds kubernetes version 1.25 and 1.26 e2e tests for cloudstack as well.
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/override eks-anywhere-e2e-presubmit


Fixing typo in variable

What this PR does / why we need it:

How can this PR be verified?
Is there any change in kubo-release?
Is there any change in kubo-ci?
Does this affect upgrade, or is there any migration required?
Which issue(s) this PR fixes:
Release note:

Thank you for your PR @arghya88
We plan to remove route-sync in CFCR 0.20 and we will remove this variable as well :(

@alex-slynko Hey Alex can you help me understand how can I use kubectl with tls without route sync?

@arghya88
Could you please ping me in Cloudfoundry slack on Monday. I would like to know more about your usecase.

@alex-slynko Sure..I actually made it work by having separate ELB in AWS  and modifying the tls-kubernetes cert to have api.cfcr.mydomain.com as cname


Refactor http CachingStaticResource

Description:
Simplify http.CachingStaticResource implementation, and catch up the changes in aiohttp.
No need define CachingFileResponse
Related issue (if applicable): fixes #
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

NIce!


Error while upgrading to version 2.0.0

Guys, I just did an update on my dependencies.
Before it was like this:
 "dependencies": { "@angular/animations": "7.0.3",     "@angular/cdk": "7.0.3",     "@angular/common": "7.0.3",     "@angular/compiler": "7.0.3",     "@angular/core": "7.0.3",     "@angular/forms": "7.0.3",     "@angular/http": "7.0.3",     "@angular/material": "7.0.3",     "@angular/platform-browser": "7.0.3",     "@angular/platform-browser-dynamic": "7.0.3",     "@angular/router": "7.0.3",     "@covalent/core": "2.0.0-beta.3",     "angular2-text-mask": "^9.0.0",     "chart.js": "^2.7.3",     "class-transformer": "^0.2.0",     "core-js": "^2.5.7",     "hammerjs": "^2.0.8",     "moment": "^2.22.2",     "ng2-logger": "^2.0.35",     "ngx-color-picker": "^7.1.1",     "rxjs": "^6.3.3",     "sr-meeseeks": "^0.7.0",     "text-mask-addons": "^3.8.0",     "zone.js": "^0.8.26" }
After updating it looks like this:
 "dependencies": { "@angular/animations": "7.1.4",     "@angular/cdk": "7.2.0",     "@angular/common": "7.1.4",     "@angular/compiler": "7.1.4",     "@angular/core": "7.1.4",     "@angular/forms": "7.1.4",     "@angular/http": "7.1.4",     "@angular/material": "7.2.0",     "@angular/platform-browser": "7.1.4",     "@angular/platform-browser-dynamic": "7.1.4",     "@angular/router": "7.1.4",     "@covalent/core": "2.0.0",     "angular2-text-mask": "^9.0.0",     "chart.js": "^2.7.3",     "class-transformer": "^0.2.0",     "core-js": "^2.6.1",     "hammerjs": "^2.0.8",     "moment": "^2.23.0",     "ng2-logger": "^2.0.46",     "ngx-color-picker": "^7.2.0",     "rxjs": "^6.3.3",     "sr-meeseeks": "^0.7.5",     "text-mask-addons": "^3.8.0",     "zone.js": "^0.8.26" }
But now I have a annoying problem, during the build I'm having the following error:
ERROR in Module build failed (from ./node_modules/sass-loader/lib/loader.js):

    #{map-get(_get-umbra-map($color, $opacity), $zValue)},
                                                        ^
      Argument `$map` of `map-get($map, $key)` must be a map
      in<EMAIL_ADDRESS>(line 149, column 58)

Could someone tell me how I can solve this problem? Note: Before upgrading to version 2.0.0 everything was normal
Thank you in advance for your attention!

@joeldatabox Can you first check what version of node you have? Then can you try updating node-sass and/or rebuilding it.

Currently installed the following version
<EMAIL_ADDRESS><EMAIL_ADDRESS>
After I updated it was like this
<EMAIL_ADDRESS><EMAIL_ADDRESS>
Unfortunately the problem persists! Is there anything else that can be done?

After an arduous code review, you can find the source of the problem. I have a component that customizes some aspects of the td-expansion-panel component and this is the possible source of the problems.
Before my ".scss" file was like this:
@import "~@covalent/core/common/styles/variables";
@import "~@covalent/core/common/styles/elevation";

.td-expansion-panel {
  @include mat-elevation(1);
  transition: 120ms ease-in;

  &.td-expanded {
    margin-bottom: $margin;
  }

  &.td-expanded {
    margin-top: $margin;
  }

  &:focus:not(.mat-disabled) {
    *:not(.td-expanded) {
      background: #f5f5f5;
    }
  }

  &:hover:not(.mat-disabled) {
    *:not(.td-expanded) {
      background: #f5f5f5;
    }
  }
}

After the review it was like this:
@import '~@covalent/core/common/styles/variables';
@import '~@angular/material/theming';

.td-expansion-panel {
  @include mat-elevation(1);
  transition: 120ms ease-in;

  &.td-expanded {
    margin-bottom: $margin;
  }

  &.td-expanded {
    margin-top: $margin;
  }

  &:focus:not(.mat-disabled) {
    *:not(.td-expanded) {
      background: #f5f5f5;
    }
  }

  &:hover:not(.mat-disabled) {
    *:not(.td-expanded) {
      background: #f5f5f5;
    }
  }
}

https://github.com/Teradata/covalent/pull/1443 takes care of this.


Put changelog item for #8629 in correct version

Somehow this changelog item ended up in 0.90 instead of master.

Thanks!


fix(os-package): filter plugins

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


Regex error when tying to set CPUQuota service limit.

Regex error when tying to set CPUQuota service limit.
systemd::service_limits { 'foo.service':
  limits => {
    'CPUQuota' => '75%'
  }
}

The first part of the regex Optional['CPUQuota']  => Pattern['^([1-9][0-9]?$|^100)%$'], never allows a value < 100%
Seems to be working with the '^([1-9][0-9]?|^100)%$' regex (Tested regex with https://www.freeformatter.com/regex-tester.html)

The second ^ also looks redundant. Could you come up with a pull request?

Agree, correct regex seems to be ^([1-9][0-9]?|100)%$

Created PR #92


[Feature💄]: Add the ability to edit and delete particular messages.

👶 Getting Started
Please search the history to see if an issue already exists for the same problem.

[X] I have searched the existing issues.
[X] I have tested the latest version.

📝 Describe the feature
We can add three dots along the messages in the chat area that, upon clicking, unfold options for a user to edit their own messages and do other things(edit and delete at the moment). We can add an icon before this line for the sent messages. The same can be applied in rooms just before this line.
📸 Screenshots
Not available at the moment.
🔦 Context
That's pretty much it. Good luck!

Can I get assigned to this?

Hey @MaverickDe, thank you for your enthusiasm. Sure, go ahead!
Tip: For the reducer, have a look at the DELETE_CONTACT action type and apply similar logic on the conversations array for contacts chat, and roomConversation for room chat. Essentially, you have to find the index of the message, then set its content to Deleted Message!.
Also, on the API part, you can create a method to update the message content like this one that sends the message id to be updated though the WebSocket with a type update_message or delete_message.
If you have any further questions, lemme know.
Good luck!

I don't still understand , how do I login so I could see the visual representation of what I am doing, because right now, the login system is not working. Thank you


Symbols not found for ShakaPlayerLicenseServerConfig and ShakaPlayerAdvancedDrmConfig

Hi,
We're trying to use ShakaPlayerLicenseServerConfig and ShakaPlayerAdvancedDrmConfig strings defined in ShakaPlayer.h for configuring our ShakaPlayer instance.
player.configure(ShakaPlayerLicenseServerConfig(Constants.Downloads.widevineServerName), with: server)
player.configure(ShakaPlayerAdvancedDrmConfig(Constants.Downloads.widevineServerName, "persistentStateRequired"), with: true)

Xcode is able to recognize them while writing the code but, when building or running, the following error is returned:
Undefined symbols for architecture arm64:
  "_ShakaPlayerAdvancedDrmConfig", referenced from:
      hayu.DownloadManager.startManager() -> () in DownloadManager.o
  "_ShakaPlayerLicenseServerConfig", referenced from:
      closure #1 (__C.AVURLAsset?, hayu.AlertError?) -> () in closure #1 () -> () in hayu.DownloadManager.download(element: hayu.PlayableElement, completion: (hayu.AlertError?) -> ()?) -> () in DownloadManager.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Nevertheless, the rest of properties and methods defined on ShakaPlayer.h work fine. Did we miss anything while building the framework?

Hello, I am on macOS and XCode 11.6 and both in ObjC as well as swift projects I also face the issue described above. I am building against commit 8fb2f82 and using the produced frameworks (arm64) in my XCode project. This is currently not allowing me to configure drm settings on the player.

Hi @TheModMaker,
They're usable now but not working.
With player.configure("drm.servers.\(Constants.Downloads.widevineServerName)", with: server) download starts properly, but using player.configure(ShakaPlayerLicenseServerConfig(Constants.Downloads.widevineServerName), with: server) the following error is returned:
Error Domain=ShakaPlayerErrorDomain Code=6012 "Shaka Error DRM.NO_LICENSE_SERVER_GIVEN (com.widevine.alpha)" UserInfo={NSLocalizedDescription=Shaka Error DRM.NO_LICENSE_SERVER_GIVEN (com.widevine.alpha), ShakaPlayerErrorSeverityKey=2, ShakaPlayerErrorCategoryKey=6}

Can you take a look at this?


Placeholder regex too simple

Describe the bug
Regex for matching the placeholder is too simple, got false positive
To Reproduce
For example rendering the new Velero chart (2.21.0) with --includes-crds have the placeholder pattern in CRD description
fieldRef:
  description: 'Selects a field of
    the pod: supports metadata.name,
    metadata.namespace, `metadata.labels[''<KEY>'']`,
    `metadata.annotations[''<KEY>'']`,
    spec.nodeName, spec.serviceAccountName,
    status.hostIP, status.podIP, status.podIPs.'

And plugin failed with:
failed exit status 1: Error: Replace: could not replace all placeholders in Template: replaceString: missing Vault value for placeholder KEY in string description:
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. replaceString:
missing Vault value for placeholder KEY in string description: Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

Expected behavior
Not matching this string as a placeholder
Currently the placeholder regex is regexp.Compile(`(?mU)<(.*)>`), maybe something like regexp.Compile(`(?mU)<(path:.+)>`) will be more appropriate

You can use annotation avp.kubernetes.io/ignore to skip that file when the plugin runs

You can use annotation avp.kubernetes.io/ignore to skip that file when the plugin runs

I render directly the upstream Chart so I can't really modify it unless doing some Kustomize but it is not really easy...

@jkayani i thought we had logic for this but I guess we can just not throw an error if no match is found. Or if no path.

For backward compatibility I think the logic could be to use the regex <.*> only if you have the path annotation otherwise use a more restrictive regex like <path:.+>

Hi,
In this scenario the typical solution is to use the ignore annotation like @werne2j said, since we just look for <.*> period and treat them as placeholders universally. We use Kustomize to add this annotation ourselves to deploy ArgoCD with AVP, since they use <>'s in their CRD. But I see that's inconvenient here.

we can just not throw an error if no match is found.

I don't think that's a good idea. I like that AVP will cause an error if the templates have incorrect placeholders or there is missing data in Vault.
@llavaud proposed solution seems fine to me though. Anyone using AVP will either have the path annotation, or have the path in the placeholder. Therefore if the path annotation is missing we can skip the <blah> strings in a manifest.
Alternatively we could just add a command line switch to not throw errors on missing data, and just leave the <blah> string as-is in the resulting YAML

@werne2j What'd you prefer to do?

I think not throwing an error is not a good solution, if I make a mistake in the vault path or forbid to add the vault secret I prefer having an error to let ArgoCD retry until it is resolved.
If manifest is applyied silently it could be hard to debug

@llavaud proposed solution seems fine to me though. Anyone using AVP will either have the path annotation, or have the path in the placeholder. Therefore if the path annotation is missing we can skip the  strings in a manifest since they cannot be replaced as-is.

I agree, i think this will be the best option


Bluetooth: controller: Fix S2 coding tIFS trx switching

Add implementation to consider differing Rx chain delays for
S2 and S8 Coded PHY PDU reception. These changes are
required to meet tIFS timings for transmission after a
reception on S8 coding.
Fix the S2 coding Rx chain delay timing constant based on
manual observations.
Signed-off-by: Vinayak Kariappa Chettimada<EMAIL_ADDRESS>

@cvinayak can you provide info about the criticality of this fix?

This FIX is only related to Coded PHY, and only supported in connected roles; as there is no AE support yet or Host APIs, this is not critical to any release until its truely usable (i.e. long range connection setup)


Added Typescript install in Readme

Whenever this PR gets merged these install instructions will work.
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/11262

@mourner This definition is now merged in DT.
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/concaveman

@mourner Added the new Typescript 2.0 install method via npm.
$ npm install --save @types/concaveman

https://www.npmjs.com/package/@types/concaveman

I'd like to keep the TypeScript notice in the readme down to a minimum to make it as concise as possible. Can we cut down all the info to one short sentence?

@mourner I've cut down the readme to the latest way to install the typings.
Also changed the tilebelt readme as well.
https://github.com/mapbox/tilebelt/pull/29

Thanks! I made it shorter with https://github.com/mapbox/concaveman/commit/8416af3d24dbcefab231fc7f4106901dd3374295


Added Airflow demo

This looks really cool!  Do you know about the lakeFS Airflow provider, lives on this GitHub repo?  It's not seen much love, but lately we've been adding a few operators and hooks to it.  @itaiad200 wrote a blog post after he wrote it.

@arielshaqed Thank you. Yes, I am using lakeFS Airflow Provider in this demo and also read the blog post.

@arielshaqed Thank you. Yes, I am using lakeFS Airflow Provider in this demo and also read the blog post.

Right... I missed 03-apache-spark-python-demo/Airflow/lakefs-dag.py  because it's a large file that GitHub showed collapsed. 😑 Sorry.


chore: Ac 611 improve error handling in cli

removed all references to log.Fatal
updated page and book get commands to be compatible with latest types_gen
improved error handling to push all output and errors back up to the cobra command level so that data can be processed in a way that is suitable for unit testing.
No cli command changes in this PR
When running the cli, it must be run with the -s https://devnet.accumulatenetwork.io

Yeah, there is something weird going on. I merged with develop using my windows laptop and go fmt on windurs goes bonkers with embedded structs inside functions.   I'll fix.


How to set up input for sentence classification task?

Debugging the fine-tuning code I saw that it adds a token with id 0 at the beginning of each sentence and a token with id 2 at the end of each sentence, I assume they are the beginning and end of sentence tokens. From what I read in the paper I don't need to add the CLS token and the code doesn't seem to do that either, so the next step is to pass the tokens through the network where I'll have a tensor with the shape [batch_size, tokens_len, features_size], to make the classification of a sentence, do I use the feature of the first token of the sentence?
Example:
model_output = model(input_tensor) # model_output.shape [batch_size, tokens_len, features_size]
input_to_classification = model_output[:,0,:] # input_to_classification.shape [batch_size, 1, features_size]
classification = cls_model(input_to_classification)

I know that the current fine-tuning already does all of this process, but I would like to use the available model with my own sentence classification algorithm. Therefore, I need to reproduce some of the steps done by fairseq.

they are set up in task in fairseq.
for example: https://github.com/guolinke/TUPE/blob/4c64ff748a7039be4918429f05bbb43d81357107/fairseq/tasks/sentence_prediction.py#L118-L127
I think you need to write your own task for your own purpose.