[UI] Add dark theme generation for Clarity components

Demo
http://clarity-ks-dark.surge.sh/alerts
Build Changes
webpack.config.js has been modified to consume the new clarity-dark.scss file and output the dark theme css file for both production and test.
SCSS Changes
These are the most comprehensive changes. I think every scss file has been affected. Some files have more significant changes than others. The main changes were to support a centralization of scss variables.
Component level changes
SCSS variables have been abstracted out of the _component.clarity.scss file and placed into a _variables.component.scss file. At this point, there should not be any $clr-variables in the _component.clarity.scss file.
main.scss & clarity-dark.scss
Both of these are top level / entry points for the light and dark themes. main.scss has changes to two simple imports

utils/dependencies.clarity.scss
utils/components.clarity.scss

Additionally when you look into the ./utils/dependencies.clarity.scss you will notice that all of the _variables.component.scss files have been aggregated into the utils/variables.clarity.scss file. and included before the second batch of Bootstrap 4 dependencies. This is how I preserved the Light theme and simplified the top level scss file so that we could use that to build dark theme.
In the dark-theme.scss, sandwiched between the dependencies and components is the utils/theme.dark.clarity.scss file where I set the variables to the dark value needed for the dark theme output.
utils/theme.dark.clarity.scss
This file is organized by component and where it makes sense I referenced where in our _component.clarity.scss codebase the variables are used. Additionally for things that are tricky or more involved to theme I have left some line comments that should be helpful in reminding what part of the component the variable affects.
Notes

There may be a better way to organize the theme file with the !default syntax but I held off on further restructuring when I read the docs on how that works. WHat I have now seems inverse to what it could be but I'm not 100% on that.
There should be no more $scss-variables in the _component.clarity.scss files so If I missed something please let me know.
the dev experience is sub-optimal at the moment. First, because of our current webpack setup both theme files are built and output in the same config which means they are also both added to the demo app when we run webpack-dev-server. So in order to run npm cssTest set1 I have been commenting out utils/theme.dark.clarity. Additionally this line needs to be commented out when you push to a branch that will be tested on Travis.
I updated a couple cssReference image for a few different reasons
I still have one more dark theme addition to add for Wizard Ghost Pages

Preserving this from the git commit

Centralizes scss variables so that they can be changed by theme developer
Add Dark Theme values and generate second css file for dark theme
Organize / document dark theme overwrites as an example
Preserve light theme generation with minimal changes to cssTest reference images.
closes #968

Filesizes
After theme generation I took a screengrab of both the light and dark theme files generated.
Both Clarity light and dark theme files are the same at 449K.

Signed-off-by: Matt Hippely<EMAIL_ADDRESS>

Hi @hippee-lee,
Sorry, I forgot to provide button and text link styles for alerts.

These "FIX" buttons should be black outline style. Like this:

Here's the spec:
Buttons spec for color bgs.zip

Disabled icon buttons need to be updated with dark theme colors:
Should have 100% opacity
Border: #6D7884
Icon: #8F9BA3

Text link colors need to be updated to dark theme version.

Buttons spec for color bgs.zip

@lil-kim - I addressed the three issues you mentioned above and republished it to http://clarity-ks-dark.surge.sh/alerts

Is the dropdown icon right here? Its black.

Is there an inverted spinner for dark?

I updated the dropdown icnon and header color spotted in Jeremy's feedback.

@hippee-lee I forgot to provide specs for disabled-checked checkbox. Please update with the hex #s below:

Status labels shouldn't be clickable (according to light theme documentation).

@hippee-lee, My bad...you and I discussed lightening the bg on signposts since it floats over other elements.

Change background overlay color:

Spinners and Progress bars:
Please adjust colors to:

Also, pls update the red and green progress bar colors to dark theme danger & success colors:

red: #F54F47
green: #60B515

@lil-kim
Updates for the following have been published here: http://clarity-ks-dark.surge.sh/alerts

Checkbox and radio colors (disabled states)
Removed clickable labels for label types in ks-app
Updated signpost (and all popovers in datagrid) background color
Updated modal overlay background-color
Updated progress bar success and danger colors and the background-color for the progress track

Vertical nav section  - Button text color in example is wrong.

Hi @hippee-lee,
Can we apply a Dark theme header color, #404E60? By "we", I mean you. 😄


NoBackendError

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Selected settings: any settings
Start Conversion
See error

Expected behavior
I expected a file to be produced.
Screenshots
If applicable, add screenshots to help explain your problem and annotate the images.
Desktop (please complete the following information):

OS: Windows 10 64-bit

Additional context
Add any other context about the problem here.

Check:
ffmpeg
pip show librosa


more flexible and user-friendly converstion for Duration

This is not a true feature request. I mean, if you want to add this, by all means add it! But I suspect you'll think it is out of scope of picocli. Nevertheless I thought you might find it interesting (you might not have even realized that there was a "problem"), and perhaps someone else might find it useful.
Picocli allows for default input of the Java Duration class. Unfortunately the lexical form follows ISO 8601. That's wonderful for canonical serialization, but from a UI point of view few users will be happy entering (or even remembering) p7d for "seven days", or (even worse), pt0.123s for "0.123 seconds"; worst of all is p7dt0.123s. They (at least I) would much prefer simply 7d, .123s, or 7d.123s respectively.
I have created a Durations.parseUserInput() utility that parses more user-friendly duration values. See all the unit tests for how this makes a difference. Finally see the latest BaseCliApplication which installs this into picocli so that all Duration options/parameters get this functionality automatically.
commandLine.registerConverter(Duration.class, Durations::parseUserInput);

(Can you imagine if a user had to register this converter for each option/parameter they used, as you suggest for enums in #1707?)

Feel free to close this ticket as "will not implement". I hope you found it useful or at least interesting, though. Cheers.

One idea:
If you were to publish that DurationConverter, I could point to it from the picocli user manual...
It may be good to have a set of community-driven converters.

If you were to publish that DurationConverter, I could point to it from the picocli user manual...

The Durations.parseUserInput() method is now released and available on Maven Central as pat of com.globalmentor:globalmentor-core:0.7.1.
There is no need to publish an actual converter, because as you can see in BaseCliApplication (now available on Maven Central as part of com.globalmentor:globalmentor-application:0.7.6), you can register a converter using a method reference:
commandLine.registerConverter(Duration.class, Durations::parseUserInput);


Add --default-volume-snapshot-locations flag to ark server command

example --default-volume-snapshot-locations aws:aws-default,rook:rook-default,...

add the flag to the cobra command
add a field to the server struct to store the value
flag validation: ensure there's exactly one default location for each volume provider

ensure each provider exists, and each location exists
list all VolumeSnapshotLocations, get a unique list of providers, ensure there's one default per provider

pass the list of default VSLs into each controller that needs it

@wwitzel3 you doing OK here? Haven't heard from you in awhile :)

@skriss Yep, I've been trying to workout a good way to write tests here and haven't come up with any. I will squash things down and get a PR up shortly so it can start getting reviewed.

I was reviewing #873 and it looks like that is doing some of the things I assumed this was doing. Specifically the pass the list of default VSLs into each controller that needs it.
It seems this is doing that for the BackupController. Should I rebase of that PR? @skriss is this right?

Wait... I was doing this as part of my PR. Oh gosh. @wwitzel3 if you have started this, I have code that could be useful, particularly https://github.com/spf13/pflag/issues/182.

@carlisia No, you're good. I will get my PR up that binds and validates the default volume snapshot locations and then follow up with PRs for the other controllers. This works out because I just accidentally torched my controller changes in commit clean up attempt anyway.

lol. @wwitzel3 I'd say don't bother with PRs for the other controllers, it can just be done inline with #807 #805 #808


Added states and mappings sections

Added the most conservatives changes from https://github.com/fernandojsg/aframe-input-mapping-component/issues/3
the structure now is:
{
    actions: {
      changeTask: { label: 'Change task' },
      testlog: { label: 'Test Log' },
      testlog_task1: { label: 'Test Log Task 1' }
    },
    mappings: {
      default: {
        common: {
          triggerdown: 'testlog'
        },
        'vive-controls': {
          gripdown: 'changeTask'
        },
        'oculus-touch-controls': {
          abuttondown: 'changeTask'
        },
        'windows-motion-controls': {
          gripdown: 'changeTask'
        },
        keyboard: {
          't_up': 'testlog',
          'c_up': 'changeTask'
        }
      },
      task1: {
        'vive-controls': {
          triggerdown: 'testlog_task1',
          gripdown: 'changeTask'
        },
        'oculus-touch-controls': {
          triggerdown: 'testlog_task1',
          abuttondown: 'changeTask'
        },
        'windows-motion-controls': {
          triggerdown: 'testlog_task1',
          gripdown: 'changeTask'
        },
        keyboard: {
          'y_up': 'testlog_task1',
          'c_up': 'changeTask'
        }
      }
    }
  };

I don't have an strong opinion about the naming on states or mapping
/cc @netpro2k @dmarcos

I prefer "state" but don't feel super strongly about it. Whichever it is, it should be consistant with AFRAME.currentMapping and for both it might be nice to use the word "input":
mapping -> AFRAME.currentInputMapping
state -> AFRAME.currentInputState

@netpro2k yep, I forgot to change that :+1:
@dmarcos tie-breaker! what you think? :)

I think the term state is broad and might be confusing. A-Frame does not prescribe a way to define application states. Different mappings might nor not might map to whatever idea of state each application decides to implement. I would prefer not to hold on the word state and carry on with mappings that is a more specific word. Those are my two cents.

Fine by me. id still go with naming the currently active one AFRAME.currentInputMapping or AFRAME.activeInputMapping though.

Thanks for the feedback. Updated using currenInputMapping


Failed count entities with multiple identifiers

Entity:
/**
 * @ORM\Table(name="favorite__news")
 * @ORM\Entity()
 */
class FavoriteNews
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="NONE")
     * @ORM\ManyToOne(targetEntity="User")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
     *
     * @var User
     */
    private $user;

    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="NONE")
     * @ORM\ManyToOne(targetEntity="News")
     * @ORM\JoinColumn(name="news_id", referencedColumnName="id", nullable=false)
     *
     * @var News
     */
    private $news;

    /**
     * @ORM\Column(name="favorite_at", type="DateTimeImmutable", nullable=false)
     *
     * @var \DateTimeImmutable
     */
    private $favorite_at;

   // some methods ...
}

Query:
$total = $em
    ->createQueryBuilder()
    ->select('COUNT(fc)')
    ->from(FavoriteNews::class, 'fc')
    ->where('fc.user = :user')
    ->setParameter('user', $user)
    ->getQuery()
    ->getSingleScalarResult()
;

Result:
[Semantical Error] line 0, col 13 near 'fc) FROM FavoriteNews': Error: Invalid PathExpression. Must be a StateFieldPathExpression.

For resolve this problem i must use concrete field in COUNT():
$total = $em
    ->createQueryBuilder()
    ->select('COUNT(fc.news)')
    ->from(FavoriteNews::class, 'fc')
    ->where('fc.user = :user')
    ->setParameter('user', $user)
    ->getQuery()
    ->getSingleScalarResult()
;

But this is not always possible 1, 2.
$ composer show --latest 'doctrine/*'
doctrine/annotations                v1.4.0  v1.4.0  Docblock Annotations Pa...
doctrine/cache                      v1.6.2  v1.6.2  Caching library offerin...
doctrine/collections                v1.4.0  v1.4.0  Collections Abstraction...
doctrine/common                     v2.7.3  v2.7.3  Common Library for Doct...
doctrine/dbal                       v2.5.13 v2.5.13 Database Abstraction Layer
doctrine/doctrine-bundle            1.6.11  1.6.11  Symfony DoctrineBundle
doctrine/doctrine-cache-bundle      1.3.1   1.3.1   Symfony Bundle for Doct...
doctrine/doctrine-migrations-bundle v1.2.1  v1.2.1  Symfony DoctrineMigrati...
doctrine/inflector                  v1.1.0  v1.1.0  Common String Manipulat...
doctrine/instantiator               1.0.5   1.0.5   A small, lightweight ut...
doctrine/lexer                      v1.0.1  v1.0.1  Base library for a lexe...
doctrine/migrations                 v1.5.0  v1.5.0  Database Schema migrati...
doctrine/orm                        v2.5.11 v2.5.11 Object-Relational-Mappe...

I can't use specifications because of this problem:
$favorited = $this->rep->isSatisfiedBy(Spec::andX(
    new UserNews($user),
    Spec::eq('news', $news)
), new CacheId(3600, $this->newsId($user, $news)));

I have to use a QueryBuilder:
$favorited = (bool) $this->em
    ->createQueryBuilder()
    ->select('COUNT(fc.favorite_at)')
    ->from(FavoriteNews::class, 'fn')
    ->innerJoin('fc.news', 'n')
    ->andWhere('fn.user = :user')
    ->andWhere('fn.news = :news')
    ->andWhere('n.enabled = :enabled')
    ->setParameter('user', $user)
    ->setParameter('news', $news)
    ->setParameter('enabled', true)
    ->getQuery()
    ->useResultCache(true, 3600, $this->newsId($user, $news))
    ->getSingleScalarResult()
;

There is another way to solve the problem. Add id field and make it primary key.
But id is only needed for Doctrine. In project, it is not needed.

FavoriteNews with id
/**
 * @ORM\Table(name="favorite__news")
 * @ORM\Entity()
 */
class FavoriteNews
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     * @ORM\Column(name="id", type="integer", nullable=false, options={"unsigned": true})
     *
     * @var int
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity="User")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
     *
     * @var User
     */
    private $user;

    /**
     * @ORM\ManyToOne(targetEntity="News")
     * @ORM\JoinColumn(name="news_id", referencedColumnName="id", nullable=false)
     *
     * @var News
     */
    private $news;

    /**
     * @ORM\Column(name="favorite_at", type="DateTimeImmutable", nullable=false)
     *
     * @var \DateTimeImmutable
     */
    private $favorite_at;

   // some methods ...
}

I don't understand why we can't transform DQL:
SELECT COUNT(e) FROM FavoriteNews e

into SQL:
SELECT COUNT(*) FROM favorite__news e

@peter-gribanov we have to consider that COUNT(*), COUNT(id), and COUNT(1) have different behaviour (specially if you have nullable fields) and since the ORM cannot infer which behaviour the user wants when having composite fields it expects the user to provide the correct field(s). So unfortunately this is something we won't otherwise it might break things.
It's also important to state that COUNT(*) is not recommended because it will potentially block writing operations for some specific platforms.

I'll close this issue as Can't Fix due to given explanation.


macOS debuginfo broken (again)

#759, debuginfo on macOS broke again. This time dsymutil silently truncates the debuginfo after the first DW_TAG_subprogram. I confirmed that the source object files contain the correct debuginfo. Reverting back to #759 somehow doesn't fix this problem.

Just tried it and it works again.


WalletConnect 2.0 Support

[ ] Support ETH test networks?
[ ] Support OP
[ ] Support Base
[ ] USDC/USDT tipping on L2?

More advanced features:

[ ] Download previous transactions
[ ] Pay Juicebox project?
[ ] Set ENS contenthash
[ ] Use NFT image as Planet avatar

[ ] Remove Goerli
[ ] Fix the mess around currentChainID
[ ] Fix the issue around Ambiguous use of toHexString()
[ ] Only send to Sepolia from debug build
[ ] Test OP support
[ ] Test Base support


VlanInterface, VlanFd and VlanFc

Existing definitions for Equipment and Instantiations have to be completed by definitions for the instantiation of VlanInterface and Profiles.
Since they are seemingly not dependent on any ExpectedEquipment (at least in number) a different proceeding would be required.
UPDATE 2nd of November 2022: In contrary to what's stated above VlanInterface and VlanFD are dependent on the ExpectedEquipment. There shall be a VlanInterface on top of every MacInterface (if the device is supporting VLAN). There shall be one VlanFD. Starting from here VlanFc and FcPorts have to be created by calling RPCs.

Regarding Instantiation for VlanInterface.

From CoreModel point of view the Instantiation of an VlanInterface is not (must not be) different like the instantiation for all other interfaces.
Either they are created with the equipment which wont be the case for VlanInterfaces
or the are created with a NETCONF  (RESTCONF PUT) for an LTP with LP and the technology specific conditional package.
known limitation: in Mediator implementations the external managed uuid cannot be stored on the device.

Options

accept the limitation
create VlanInterfaces using the local-craft-terminals
create an RPC for LTP creation - the UUID is generated by the Mediator and based in a mappable ID within the device - this UUID is part of the repose to the create-RPC.
others ?

Note:

in case of RPC to create an LTP: such RPC should be model in LTP-Augment -> create a new issues there an put it on-hold for 2.1

Regrading Instantiations of Profiles.
For MW 2.0 possible profiles are created by the Device only - the operator can just select from the supported list.
In case a profile instance is created by a NETCONF Client - the device (NETCONF-Server) can consume or reject the related
Such behaviour should be described in a chapter in the "overarching" TR 532.
... to be discussed about the forward looking procedure(s)

Potential Proposal to be discussed with vendor representatives:
The VlanInterface shall be automatically created together with the underlaying MacInterface ... WireInterface or AirInterface, but it shall activated depending either on an administrative state attribute or on being referenced in a FcPort.

Conclusions:

VLAN Interfaces are created by the device/mediator based on the first entry in the expected equipment list.
A 1:1 relationship between MacInterfaces and VlanInterfaces is expected.
FD sublayers and VLAN interface sublayer attributes can be modified. No extra RPC definition required.
Behaviour of the object classes (e.g LTP, FD, FC, FC-PORTs)  after altering the sublayer attributes depends on the device implementation.
Change on the model: adding a parameter for "forwaredCVlanListByDefaultSVlanId" to the VLANInterface in case of "Provider Edge Bridge" and VLANInterface::sublayer equals to C-VLAN. This topic should be handled as issue in VLAN-Interface repo.

In regards with LTP:
In principle, paragraph LogicalTerminationPoint and LayerProtocol in Chapter 6 Instantiation of the Transmitter Equipment Specification is so generic that it also covers the 1:1 relationship between MacInterfaces and VlanInterfaces.
Maybe (technical background has to be checked), MacInterface and VlanInterface could be additionally mentioned in Example 10.
In regards with FD:
An additional paragraph ForwardingDomain and ForwardingConstruct should be added behind the paragraph LogicalTerminationPoint and LayerProtocol. It might start with:
"(8) As soon as an ExpectedEquipment object has been instantiated, the device shall automatically instantiate all ForwardingDomain objects (including technology specific augments), which are unquestionable related with this hardware.
(9) Already existing configurations of forwarding shall automatically be expressed by instances of ForwardingConstructs and FcPorts, which are referencing the connected LogicalTerminationPoints."

Potential Proposal:
In regards with LTP,

the existing formulation in paragraph LogicalTerminationPoint and LayerProtocol in Chapter 6 Instantiation of the Transmitter Equipment Specification is already covering the request for automatically creating the VlanInterfaces as soon as there is an entry into the expected equipment list. So, no change required.

... to be continued ...

Starting from TransmitterEquipment_i.j.k-tsp.231213.1100+spec.1 changed as decided.

Has been updated and published in TransmitterEquipment_1.0.0-tsp.200715.1225+spec.1.doc


invpareto appears to be misspecified

library(ssdtools)
hist(ssdtools:::rinvpareto(1000, 1, 1), breaks = 100)

Created on 2021-07-10 by the reprex package (v2.0.0)

Not sure what you mean by mis-specified? Histogram is rough only because of small bin sizes? Maximum bound is at 1 as described by one of the parameters? Carl

Good point - yes the random generation code appears to be functioning correctly
library(ssdtools)
hist(ssdtools:::rinvpareto(1000, 1, 2), breaks = 100)

Created on 2021-07-15 by the reprex package (v2.0.0)

library(ssdtools)
hist(ssdtools:::rinvpareto(1000, 10, 2), breaks = 100)

Created on 2021-07-15 by the reprex package (v2.0.0)

library(ssdtools)
hist(ssdtools:::rinvpareto(1000, 0.1, 2), breaks = 100)

Created on 2021-07-15 by the reprex package (v2.0.0)

implement in tmbtool branch


Fleet API and new lines

We have recently run into a problem when using the fleet API to create large units. Due to a limitation in systemd (see https://github.com/coreos/fleet/issues/992) we can't have a single line over 2048 characters. Unfortunately our ExectStart commands occasionally get longer than this limit. I was hoping that I could instead break up the line to produce something that looks like:
[Service]
ExecStart=/usr/bin/docker run --name failing \
  -e longstring \
  -e longstring \
  container:tag

I can't seem to find a way to make this work via the API though. I was thinking something like
curl -X PUT localhost:41337/fleet/v1/units/failing.service -H "Content-Type: application/json" -d '{"name":"failing.service","options":[{"section":"Service","name":"ExecStart","value":"/usr/bin/docker run --name=failing \\ \n -e longstring \\ \n -e longstring container:tag"}],"desiredState":"launched"}'
This command will go through successfully but the unit never gets created (and I can no longer submit things to that name). Looking at the logs I see:
Apr 07 22:34:07 core-1 fleetd[1033]: ERROR unit.go:72: error parsing Unit(635c78f9bc0771908607a36102f98d2afbd52bff): unexpected newline encountered while parsing option name
Any thoughts?

@tj-corrigan confirmed. when you put unit file manually into the systemd directory with the contents below:
systemctl cat hello
# /etc/systemd/system/hello.service
[Unit]

[Service]
ExecStart=/bin/bash -c "\
while true;\
 do echo Hello, World!; sleep 1;\
done\
"

It works.
When you submit same unit file withing fleetctl, it skips newlines:
[Service]
ExecStart=/bin/bash -c " while true;  do echo Hello, World!; sleep 1; done "

But it works too. The only unexpected behavior, that local file's sha1sum and registry sha1sum differ:
$ sha1sum hello.service
a8ffdf96a1f50b372fb6cbe5d2971463bc120e9c  hello.service
$ etcdctl get /_coreos.com/fleet/job/hello.service/object | sed -r 's#.*UnitHash":\[([0-9,]+)\].*#\1#g' | tr -d '\n' | xargs -d ',' printf "%02x" ; echo
15ea242bf6eae53bf1d88d14d9aeef595c30ae94

Relates to #1539

fleetctl --experimental-api=false start hello.service works as expected.

@tj-corrigan btw, in your case proper json code should be (just remove whitespace between \\ and \n):
curl -X PUT localhost:41337/fleet/v1/units/failing.service -H "Content-Type: application/json" -d '{"name":"failing.service","options":[{"section":"Service","name":"ExecStart","value":"/usr/bin/docker run --name=failing \\\n -e longstring \\\n -e longstring container:tag"}],"desiredState":"launched"}'

Thanks, I tried a bunch of different permutations trying to get it to work but hadn't thought of that one.  Your snippet above results in the following file on the executing host:
[Service]
ExecStart=/usr/bin/docker run --name=failing   -e longstring   -e longstring container:tag

Looks like now we just need to work through why fleet isn't passing along the new lines.

@tj-corrigan issue with the skipped newlines was fixed in master branch.

@tj-corrigan here is the patch which fixes the problem https://github.com/jonboulle/go-systemd/commit/fe849504bbc46e617f21ec9a66357a5a6cfd9104

@kayrus I'm still running into problems running the current version of CoreOS stable (899.15.0).
Here is an example that shows the problem (sorry it has to be long):
curl -X PUT localhost:41337/fleet/v1/units/long.service -H "Content-Type: application/json" -d  '{"name":"long.service","options":[{"section":"Service","name":"ExecStart","value":"/usr/bin/docker run --name=long -e ENV_VAR1=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz \\\n -e ENV_VAR2=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz alpine:latest env"}],"desiredState":"launched"}'

If the two environmental variables were on separate lines it should go through without running into the 2048 character limit. However that new line never makes it through and it causes the unit to fail to start.

@tj-corrigan did you try to compile latest master branch? CoreOS 899.15.0 still uses fleet 0.11.x. Current master branch will be tagged as 0.12.0

@kayrus Good to hear. I'll wait for fleet 0.12.0 to make it into the CoreOS releases. Thanks for your help!

We're running into this problem in our production environment as well, and it looks like CoreOS stable (and beta and alpha) are still using fleet 0.11.x.
@tj-corrigan Did you find a good work around? We're not sure what to do at this point. :-/

We switched things up a bit so this no longer affects us. One possible workaround would just have your ExecStart command point to some shell script where you store the longer command.

Okay, thanks.
@kayrus Any ideas for a valid work around?


Fix missing record declaration tests

My bad, missed this update on previous reviews. The current implementation only consider the case for struct and union variable initialization.

I just realized there is another issue. If we build a DeclNode with the name "", our code generator is likely to allocate space for it. We need to filter out these empty nodes. It is important to note that Clang doesn't build nodes for declarations that have no effect on the program.
`-FunctionDecl 0x1f690a0 <test/typecheck/decl.c:1:1, line:6:1> line:1:5 main 'int ()'
  `-CompoundStmt 0x1f69558 <col:12, line:6:1>
    |-DeclStmt 0x1f69228 <line:2:3, col:12>
    | `-VarDecl 0x1f691a0 <col:3, col:11> col:7 i 'int' cinit
    |   `-IntegerLiteral 0x1f69208 <col:11> 'int' 0
    |-DeclStmt 0x1f692c0 <line:3:3, col:8>
    | `-VarDecl 0x1f69258 <col:3, col:7> col:7 j 'int'
    `-DeclStmt 0x1f69540 <line:5:3, col:25>
      |-VarDecl 0x1f692f0 <col:3, col:7> col:7 a 'int'
      |-VarDecl 0x1f69370 <col:3, col:14> col:10 b 'int' cinit
      | `-IntegerLiteral 0x1f693d8 <col:14> 'int' 1
      |-VarDecl 0x1f69410 <col:3, col:17> col:17 c 'int'
      `-VarDecl 0x1f69490 <col:3, col:24> col:20 d 'int' cinit
        `-IntegerLiteral 0x1f694f8 <col:24> 'int' 0

I just realized there is another issue. If we build a DeclNode with the name "", our code generator is likely to allocate space for it. We need to filter out these empty nodes. It is important to note that Clang doesn't build nodes for declarations that have no effect on the program.

Suggest fixing this in a future PR since it's related only to unnamed primitive type nodes.


Inconsistent CPU usage reported when compared to real system usage on some systems

What did you do?
I installed two helm charts, stable/wordpress and stable/prometheus-operator. The wordpress chart was configured to have a CPU limit of 1 CPU, and deploys two containers inside the wordpress pod, one for wordpress and one for metrics. The wordpress container was then stressed to force it to reach its CPU limit.
What did you expect to see?
We expected to see Prometheus indicate that 1 thread was being used by the pod when it was under load, since that is what the limit is configured as, and kubernetes won't let it pass that limit.
What did you see instead? Under which circumstances?

In the image above we can see that I ran two processes that just consume CPU, in order to generate load inside the container, which each consume ~50% of a thread each, which is correct, since the limit for the container is at 100%, or 1 thread, and it seems each process gets about half of the CPU time. The command kubectl top pods -A also shows that the pod is consuming 1000 millicores, which is correct. However, when I go to Prometheus and run the following query: node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate I see the following:

The pod is reported as using 2 threads, which is inconsistent with what htop and kubectl report in the first image. There are so many variables in this puzzle that I am not sure where to begin, but I lean more towards Prometheus reporting incorrect data given that both htop and kubernetes are reporting the numbers I expect to see, given my setup. What is odd is it only happens on two of our systems, all the others report data correctly.
Environment

System information:

On a machine where correct data is reported: Linux 4.15.0-121-generic x86_64 and Linux 3.10.0-1127.19.1.el7.x86_64 x86_64
On a machine where incorrect data is reported: Linux 3.10.0-1062.el7.x86_64 x86_64

Prometheus version:
2.18.2 (which is the version used by the helm chart stable/prometheus-operator)

I see no indication of any Prometheus bugs here, this sounds like more of a cAdvisor question.
It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.


Is a Linux remote builder required to initialize this?

I am very excited to try this out. Unfortunately, it looks like the initial setup requires derivations for Linux to be built.
error: a 'aarch64-linux' with features {} is required to build '/nix/store/99km2c21rvw6z1vhkqwlrz8f24ldyvrr-X-Restart-Triggers-dhcpcd.drv', but I am a 'aarch64-darwin' with features {apple-virt, benchmark, big-parallel, nixos-test}

Must I configure another remote builder first?
Perhaps I can use nix.linux-builder to bootstrap this one. I will try it.

This does indeed work:
# The default builder is needed to bootstrap `nix-rosetta-builder`.
# Uncomment the line below, comment the import following, and switch.
# nix.linux-builder.enable = true;
# Then, uncomment this once you have switched with the `nix.linux-builder` enabled,
# comment out the above, and switch again.
imports = [
  inputs.nix-rosetta-builder.darwinModules.default
];

Must I configure another remote builder first?

Yes, unfortunately.

Perhaps I can use nix.linux-builder to bootstrap this one. I will try it.

That's exactly what I'd recommend (and what you've done).  I'll add that to the README.md.
Bigger picture I'd love to remove this requirement.  The existing nix.linux-builder sidesteps this bootstrapping problem by being in the upstream NixOS hydra caches.
In fact, the nix-darwin docs say:

This option specifies extra NixOS configuration for the builder. You should first use the Linux builder without changing the builder configuration otherwise you may not be able to build the Linux builder.

I don't actually think that this should be necessary.  I think the underlying reason for this requirement is that internally building the image uses pkgs.vmTools.runInLinuxVM.  Naively, I don't see why this would be a firm requirement; all the contained binaries are already built and cached, it should be a "simple matter" of wrangling them into an image which could be done on aarch64-darwin, but I haven't confirmed whether this is true or how much work it'd really be.
A potentially easier option would be to also get this rosetta-builder upstreamed into Nixpkgs where it would also benefit from being pre-built and cached (in its default configuration, anyway).

I'm having initial issues when trying to rebuild with nix.linux-builder.enable = true; for the first time on a fresh install of nix-darwin. Looking forward to a fix which doesn't require this bootstrap method.

I'm having initial issues when trying to rebuild with nix.linux-builder.enable = true; for the first time on a fresh install of nix-darwin. Looking forward to a fix which doesn't require this bootstrap method.

Found the issue potentially.
I didn't have a cache substituter.
Others on nix-darwin have this issue:
https://github.com/LnL7/nix-darwin/issues/1081#issuecomment-2394824794
nix.linux-builder.enable = true;
nix.settings.substituters = [ "https://cache.nixos.org/" ];
nix.settings.trusted-public-keys = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
nix.settings.always-allow-substitutes = true;

Then I can run a test example:
nix build \
  --impure \
  --expr '(with import <nixpkgs> { system = "aarch64-linux"; }; runCommand "foo" {} "uname -a > $out")'

~ cat result
Linux localhost 6.6.66 #1-NixOS SMP Sat Dec 14 19:00:23 UTC 2024 aarch64 GNU/Linux

I'm having initial issues when trying to rebuild with nix.linux-builder.enable = true; for the first time on a fresh install of nix-darwin. Looking forward to a fix which doesn't require this bootstrap method.

Found the issue potentially. I didn't have a cache substituter. Others on nix-darwin have this issue: LnL7/nix-darwin#1081 (comment)

Yes, that would definitely do it.  And to be clear initial installation/bootstrapping will always require at either an existing Linux builder of some kind or a substituter that has nix-rosetta-builders Linux requirements pre-cached.  Even if we find a way to make the final image natively on Darwin that image is filled with Linux binaries that still need to be compiled or substituted from a cache.


So… which script should I load?

Now… I'm feeling stupid, but I can't find out which script I'm supposed to load.
There's only a single .js: rollup.config.js, and it throws an error on the very first line.
Is there an old fashoned <script src=""> way to load it? Should I somehow compile it first? Really, this feels very very stupid, I'm missing something obvious, but…

Hey there!
If you're looking for the latest release (5.2.0), you can download the dist/turbolinks.js file here: https://raw.githubusercontent.com/turbolinks/turbolinks/v5.2.0/dist/turbolinks.js
As of 866a29c, we have fully switched over to npm for distribution, and are no longer and checking the distributable file in to the source repository itself. So you'll either need to:

install the turbolinks package using npm or yarn,
follow the instructions for Building From Source, or
grab the pre-built distributable file from unpkg<EMAIL_ADDRESS>


Raise minimum Node.js version to 18

Raises the minimum Node.js version to 18, as version 16 will be end-of-life on September 11th. See the Node.js release schedule for more information.

@frederikprijck I think you'll have to remove the Node 16 status check from the required checks in the GitHub settings, otherwise this PR will not pass the status checks.

Will do once im back at work tomorrow!

Yes will look at getting the pr's merged tomorrow.

Is this done just to reduce the burden on the team needing to support this (e.g. the test suite failures), or is there an actual known incompatability with node v16 that is inspiring this?
I have a dependency that relies on<EMAIL_ADDRESS>and I'm planning to upgrade node eventually but it's a larger project than I'd like to take on right now (I'm on v16), so just confirming that if I do yarn install --ignore-engines for this, I'm not going to cause a real or subtle breakage.


Document how to run celestia-app via Docker

Context
This repo publishes Docker images to https://github.com/celestiaorg/celestia-app/pkgs/container/celestia-app/versions
Problem
The current README has sections under the Install section for Source and Prebuilt binary but it doesn't have a section for Docker.
Proposal
Readers may be unaware that they can run celestia-app via Docker. We should add a sub-heading to the Install section that describes how users can use the Docker image. Things we may want to include in this section:

Prerequisites (i.e. must have Docker version X installed, must have Y resources allocated to Docker).
Copy + paste-able commands to fetch the latest tagged release
A Docker compose file

Hey @rootulp, can I work on this issue?

Docker is really amazing

I am interested in taking up this issue, have started working on it :)


Storage: Align UnmountVolume in storage drivers

Makes the UnmountVolume function more closely aligned in the storage drivers.
Also ran the VM tests.

Testsuite passed


Adjust the scale of ResourceQuota during migration

Problem:
https://github.com/harvester/harvester/issues/3124
Solution:
Increase the resource limit of ResourceQuota based on the specifications of the target VM before migration, and restore (decrease) the resource limit to its previous value after the migration is complete, more details
Related Issue:
https://github.com/harvester/harvester/issues/3124
Test plan:
Below are two docker images of the last commit:
chhooo/harvester:051903
chhooo/harvester-webhook:051903
https://github.com/chrisho/harvester/blob/resourcequota-auto-scaling-hep/enhancements/20230421-adjust-the-scale-of-resource-quota-during-migration.md#test-plan

new changes look good.. during testing I have noticed an edge case where a user may only have a memory limit defined on the resource quota:
(⎈|local:migration)➜  ~ k get resourcequotas -o yaml
apiVersion: v1
items:
- apiVersion: v1
  kind: ResourceQuota
  metadata:
    creationTimestamp: "2023-05-21T23:41:15Z"
    generateName: default-
    labels:
      cattle.io/creator: norman
      resourcequota.management.cattle.io/default-resource-quota: "true"
    name: default-4qs2l
    namespace: migration
    resourceVersion: "40293991"
    uid: 96b480b5-ed2f-4953-a939-8316d8c27143
  spec:
    hard:
      limits.memory: 2049Mi
  status:
    hard:
      limits.memory: 2049Mi
    used:
      limits.memory: "0"

I am able to create a VM with 1 cpu and 1 GB memory as the memory requested is within the hard limit and there is no limit on cpu resources.  updated resourcequota looks as follows:
(⎈|local:migration)➜  ~ k get resourcequotas -o yaml
apiVersion: v1
items:
- apiVersion: v1
  kind: ResourceQuota
  metadata:
    creationTimestamp: "2023-05-21T23:41:15Z"
    generateName: default-
    labels:
      cattle.io/creator: norman
      resourcequota.management.cattle.io/default-resource-quota: "true"
    name: default-4qs2l
    namespace: migration
    resourceVersion: "40296407"
    uid: 96b480b5-ed2f-4953-a939-8316d8c27143
  spec:
    hard:
      limits.memory: 2049Mi
  status:
    hard:
      limits.memory: 2049Mi
    used:
      limits.memory: 1267028Ki
kind: List
metadata:
  resourceVersion: ""

When a vm migration is triggered we end up adding a cpu limit, when one is not needed.
apiVersion: v1
items:
- apiVersion: v1
  kind: ResourceQuota
  metadata:
    annotations:
      harvesterhci.io/migrating-sample: '{"limits.cpu":"1","limits.memory":"1267028Ki"}'
    creationTimestamp: "2023-05-21T23:41:15Z"
    generateName: default-
    labels:
      cattle.io/creator: norman
      resourcequota.management.cattle.io/default-resource-quota: "true"
    name: default-4qs2l
    namespace: migration
    resourceVersion: "40358659"
    uid: 96b480b5-ed2f-4953-a939-8316d8c27143
  spec:
    hard:
      limits.cpu: "1"
      limits.memory: 3365204Ki
  status:
    hard:
      limits.cpu: "1"
      limits.memory: 3365204Ki
    used:
      limits.cpu: "1"
      limits.memory: 1267028Ki
kind: List
metadata:

This VM migration now fails as the new cpu limit is 1, which is already exhausted.
virt-controller logs
virt-controller-59f5d9cc47-vsmq6 virt-controller {"component":"virt-controller","level":"info","msg":"reenqueuing Migration migration/sample-tlpm5","pos":"migration.go:199","reason":"failed to create vmi migration target pod: pods \"virt-launcher-sample-qx5xh\" is forbidden: exceeded quota: default-4qs2l, requested: limits.cpu=1, used: limits.cpu=1, limited: limits.cpu=1","timestamp":"2023-05-21T23:44:35.107008Z"}

As a result of this, when migration is cancelled, the resource quota is now updated and cpu limit is set to 0, which means no VM's can now be launched in this namespace.
(⎈|local:migration)➜  ~ k get resourcequotas -o yaml
apiVersion: v1
items:
- apiVersion: v1
  kind: ResourceQuota
  metadata:
    annotations:
      harvesterhci.io/migratingVMs: '{}'
    creationTimestamp: "2023-05-21T23:41:15Z"
    generateName: default-
    labels:
      cattle.io/creator: norman
      resourcequota.management.cattle.io/default-resource-quota: "true"
    name: default-4qs2l
    namespace: migration
    resourceVersion: "40327530"
    uid: 96b480b5-ed2f-4953-a939-8316d8c27143
  spec:
    hard:
      limits.cpu: "0"
      limits.memory: 2049Mi
  status:
    hard:
      limits.cpu: "0"
      limits.memory: 2049Mi
    used:
      limits.cpu: "0"
      limits.memory: "0"
kind: List
metadata:
  resourceVersion: ""

This may not be needed for this PR or current RC, and we can track this separately if needed.
The new SetHaltIfInsufficientResourceQuota handler in vm controller shuts down a VM when sufficient resources are not available as per the ResourceQuota.
There is an event generated, which indicates the same:
7s          Warning   InsufficientResourceQuota   virtualmachine/sample                                  Set runStrategy to Halted

From a UX perspective, it appears that a user attempts to power on the VM and nothing happens.
May be we need to look at a new annotation on the VM object, and UI changes to indicate that VM was shutdown due to insufficient resources.
New VM start api action should remove this annotation before updating the run strategy.


Narrator/JAWS are not narrating name for 'Browse for folder' button present in the Data Import Dialog, while navigating using Tab/Down arrow key.

Impact on a Person with Disability (PWD):
Users who rely on screen readers will get misguided and not aware of exact information about the control, if Narrator/JAWS are not narrating name for 'Browse for folder' button present in the Data Import Dialog, while navigating using Tab/Down arrow key.
Test Environment:
OS: Windows 11 [Version 22H2 (OS Build 22621.2283)].
Desktop application: SQL Nexus.
Tool: Narrator/JAWS (2022.2110.6).
Pre-Requisites:

Install SQL NEXUS application on the desktop.
Enable Narrator/JAWS.

Repro Steps:
Step 1: Open the SQL Nexus app in desktop.
Step 2: Connect to server Dialog gets displayed. Connect to the server by invoking connect button.
Step 3: Navigate to Import button in left navigation and invoke it.
Step 4: Data Import Dialog gets displayed.
Step 5: Verify whether Narrator/JAWS are narrating name for 'Browse for folder' button present in the Data Import Dialog, while navigating using Tab/Down arrow key or not.
Actual Result:
Narrator/JAWS are not narrating name for 'Browse for folder' button present in the Data Import Dialog, while navigating using Tab/Down arrow key.
Current Observation: While navigating using focus and scan modes, Narrator is announcing as 'Button'.
Expected Result:
Narrator/JAWS Should narrate name for 'Browse for folder' button present in the Data Import Dialog, while navigating using Tab/Down arrow key.
Ex: Narrator should announce as 'Browse for folder button'.
Suggestive Fix:
Don't use scripting to transform static elements, such as a span or div to create interactive elements.
If you use scripting to create the static or interactive elements use AIRA attributes based on component or element behavior.

1711763

Fixed by PR #365


timezone: fix in_time_zone typo introduced in #3793

@kbrock @Fryguy @blomquisg I am not sure if I am right about this one but I get a in_timezone method unknown error at this time.

@miq-bot add_label bug


AND-180 Fixed full screen for the unactivated state

Description
fix of showing home tabs on the help screen when not activated yet
Screenshots 📸
Show/Hide content
<# Please provide screenshots for any visual change. The best way is to take screenshots directly from the app with production-like data. #>

How Has This Been Tested? 👨🔬
Verified the fix hides the tabs
<# Please describe the tests that you ran to verify your changes. #>
What Has Not Been Tested? 🙅🏻♂
<# Please describe what has not been possible to test neither automatically nor manually. #>
Checklist ✅

[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated related Remote Config fields and added defaults.
[ ] I have checked all visual changes in both light and dark mode.

Problem is still here ..

From tab bar ->
From deactivated app -> How it works ->
From deactivated app -> Help toolbar option

Note: Pages in fullscreen should have the "Back" button in the Toolbar


Missing Ceiling Fan from version 0.2a-12 in version 0.4

I noticed that the awesome ceiling fan disappeared from my world that I crafted with version 0.2a after updating to version 0.4

The latest update design_decor-0.4_fabric+1.20.1 has the ceiling fan, whereas design_decor-0.4-1.20.1 did not.  Closing this as resolved.
Thank you for this wonderful mod!


[Feature request] Tiling direction indicator

I've been using XBorder for a while now and I love it but one thing I miss from the standard i3 border is the ability to add a tiling direction indicator to quickly see where a new window will appear when it is opened. It would be a great addition to XBorder!

I created a rather basic version of a tiling indicator by adding the following:
from i3ipc import Connection
I3_INDICATOR = True;
INDICATOR_COLOR = [189,77,247,1]
i3 = Connection();

Then under the _draw function I added this after the border drawing parts:
if (I3_INDICATOR != False):
            ctx.set_source_rgba(INDICATOR_COLOR[0] / 255, INDICATOR_COLOR[1] / 255, INDICATOR_COLOR[2] / 255, INDICATOR_COLOR[3]);
            parent = i3.get_tree().find_focused().parent;
            ctx.set_line_width(BORDER_WIDTH / 2);
            ctx.new_sub_path();
            if (parent.layout == 'splitv'):
                ctx.move_to(x + w - BORDER_RADIUS, y + h);
                ctx.line_to(x + BORDER_RADIUS, y + h);
            elif (parent.layout == 'splith'):
                ctx.move_to(x + w, y + BORDER_RADIUS);
                ctx.line_to(x + w, y + h - BORDER_RADIUS);
            else:
                pass;
            ctx.close_path();
            ctx.stroke();
        else:
            pass;

The problem is this only updates when the active window changes. Ideally it would change when the tiling direction also changes, but from what I've been able to find this is far outside my very limited capability).
Any help and/or different implementation would be much appreciated!

I wish for xborders to be window manager agnostic, so this will not be implemented as it is not standard.


Apply formatting

Issue #, if available:
N/A
Description of changes:

Discussed published style guides with other X-Ray devs and selected Google's
Java Style
Adding missing javadocs to comply with said style
All other changes are whitespace / ordering only

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Yep! https://google.github.io/styleguide/javaguide.html#s4.2-block-indentation


Install error fix

http://stackoverflow.com/a/29960007
This will fix the command line install

Thanks for the patch!


Adding datasets script

Add datasets script for converting datasets to HF

@HLasse I have added the initial version for DAGW can you update it once it is done?

Updated. The script is ready for HF hub, I just need to finalize the readme before pushing it there


Incorrect rendering of lines/vectors

Attach (recommended) or Link to PDF file here:
final7-SSS.pdf
Configuration:

Web browser and its version: Firefox 95.0.2
Operating system and its version: Win 10 21H2 - 19044.1466
PDF.js version: Unable to retrieve this
Is a browser extension: Integrated?

Steps to reproduce the problem:

Open this pdf in firefox
Open this pdf in edge
View the difference, it renders correctly in edge but not firefox

What is the expected behavior? (add screenshot)

The pieces of Out-Of-Bounds area on this map should be rendered as a relatively complex shape, showing the area including small differences.
What went wrong? (add screenshot)

They're rendered as a diamond or square which is entirely incorrect and includes areas which aren't meant to be covered by this Out-Of-Bounds area. The broken area seems to resize with the size of the original shape ... seemingly proportionally but I can't really tell as it's quite hard to replicate the exact shape. It does always create this error viewing this particular pdf in firefox/pdf.js however.

Web browser and its version: Firefox 95.0.2

WFM, using Firefox Nightly 98 with its built-in PDF.js version 2.13.24.
This is most likely a duplicate of bug 1642583, which was fixed in Firefox 96 (i.e. the current stable release).
Please update to the latest Firefox version, since the one you're using is no longer supported.


Implement update for MyQ API v5

Hey, I know the README isn't totally updated, but I wanted to see about getting a pull request started, so that other people can use this library for their use cases. I don't have everything working exactly the same, but for the most part, it should be pretty small changes. Let me know what you think, and I'll keep working on getting the README updated.

Hey, I think the readme is appropriately updated now. I've also made some changes for this to work with 5.1.

Does the 5.1 API support door locks?

@identd113 I don't have a door lock to test with, but I suspect it would.
For one of my projects, I have a package.json that looks like this:
{
  "name": "project-name",
  "version": "0.0.1",
  "dependencies": {
    "some-package" : "1.0.x",
    "myq-api" : "git://github.com/nsnyder/myq-api#branch-for-direct-install"
  }
}

I suspect something like this would work for you:
var MyQ = require('myq-api');

var account = new MyQ('email', 'password');

var data = {};
console.log('Logging in.');
account.login()
  .then(function (result) {
    console.log('Login result:', result);
    if (result.returnCode !== 0) {
      throw new Error('Login unsuccessful.');
    }

    // Don't know what the device type would be, so don't specify one.
    return account.getDevices();
  })
  .then(result => {
    console.log('Get Devices result: ', result);
    if (result.returnCode !== 0) {
      throw new Error('Failed to find devices.');
    }

    const desiredDeviceName = 'My Lock Name';
    const device = result.devices.find(device => device.name === desiredDeviceName);
    if (!device) {
      throw new Error(`\nCould not find device with name: ${desiredDeviceName}`);
    }

    // This is the part I'm least sure about.
    // I'd try: "lock", "unlock", "locked", "unlocked" to see if you could get it working.
    console.log("Setting lock state.");
    return account.setDeviceState(device.serialNumber, "lock");
  })
  .then(function (result) {
    if (result.returnCode !== 0) {
      throw new Error('setDeviceState!');
    }

    console.log("Lock successfully updated!");
  })
  .then(function (result) {
    console.log('setDoorOpen result:', result);
    if (result.returnCode !== 0) {
      throw new Error('setDoorOpen unsuccessful!');
    }
  })
  .catch(function (err) {
    console.error(err);
  });

I'd love to get the type from the getDevices call. (i.e. type: 'virtualgaragedooropener',), as well as which commands ("lock", "unlock", "locked", "unlocked" etc.) end up working so that I can add appropriate commands/constants/etc. to make this work a little bit better.
Make sure you don't reveal your serial number in anything you post here.

@nsnyder thanks for your work on this. with a little bit of finagling i was able to test your package against my local smart home setup. i have devices of type: hub, wifigaragedooropener, and wifigdogateway.

@kn0ll Thanks for the report! I've updated this branch to include those types. Specifying types while getting devices isn't strictly necessary, but I'll do my best to keep the list up to date as I get reports back :)
@thomasmunduchira I've gone through the Linting issues, updated some documentation, and updated the package.json to match. Haven't thoroughly tested it, but I think everything should be working as expected. Let me know if you see any issues that would prevent merging.

@thomasmunduchira i apologize because i know this is not exactly the place for this question, but it's the closest place i'm able to find to ask. despite the readme suggesting to use the issues tab, i don't see one here anymore. :)
is there any interest in adding TypeScript support? you could either provide this natively (using TypeScript yourself), or through generated .d.ts files that get pushed up to NPM. my 2 cents... after seeing where you're headed with constants.js, i think using TypeScript natively might be a nice win for you guys,

are TypeScript types you are interested in a contribution for, either via source, or via .d.ts generation?

rather nitpicky, but while thinking about TypeScript definitions, i was just wondering: why put all these constants in a namespace / object? it seems like it could be simpler to use the module itself as the namespace? for instance:

export const authBase = {};
export const errorMessages = {};
export const doorCommands = {};

@kn0ll Those all sound like good improvements to me. I'll admit, while I think I've got a decent handle on JavaScript in general, the organization of said JavaScript is probably a weak point for myself.
I don't really see any drawbacks to those suggestions, and given some of the changes that have already been made for v5, I think most people are going to have broken scripts if/when they upgrade. I'm not really sure what the best way to integrate your suggestions into this repo are, but I think you could either submit a PR to my branch, (and it could merge in with that), or you could wait until this gets merged and make the changes directly off of master.
Obviously, the more structural changes could be made relatively easily, so I may take a look at doing those.
In terms of backwards compatibility, I'm not sure I know what needs to be done to accomplish that. I think people are probably just going to have to adapt their software to accommodate these changes. Their stuff has probably been broken for quite some time anyway.

@kn0ll, I've addressed your questions below:

are TypeScript types something you are interested in a contribution for, either via source, or via .d.ts generation? i'd be happy to start contributing with some guidance, if you all are interested. if you're not interested in either, i can always go the DefinitelyTyped route.., but that is likely to get out of sync without community support.

TypeScript support would be a fantastic addition! If you were to make such a contribution, I would wait until this gets merged in and a new update is released. At that point, the source code should be stable enough for adding TypeScript support. The extent to which you want to add support for this (rewriting in TypeScript vs just including .d.ts files) is up to you - both sound good to me.

rather nitpicky, but while thinking about TypeScript definitions, i was just wondering: why put all these constants in a namespace / object? it seems like it could be simpler (and actually more robust) to use the module itself as the namespace? for instance:

This might improve working with these constants internally, but it makes it harder to export these constants out of the library and/or be imported by end-users. I also don't have the utmost confidence in these constants and expect the keys and values to change over time, so surfacing them as top-level entities seems out of scope.

similar nitpicky, why not continue to provide a default a export as an option in v5 (in addition to, not instead of, your current changes)? import myQ from 'myq-api'; (on that note, is there any chance of providing backwards compatibility? i totally don't need this, but i assume it might make someone out there happy, if that's worth it :) )

Users still need to migrate their client-side code in order to support v5 (for example, passing in the serial number instead of the ID to the API) even if we do our best to minimize end-user impact. So I think we have the flexibility to update a few more of these interfaces and extensively document these changes so that clients can get realigned quickly.

@thomasmunduchira from what I'm seeing, I agree with all of your proposals.
I think one other method we could potentially benefit from would be surfacing the option to address devices by their name, rather than their serial number. While people are going to have to migrate from their old code to V5, it seems likely that we'll always be able to get a name, and if MyQ changes from serial number to some other field, any code that checks the name instead would probably be able to continue working without a change to the interface of this package.
I'll address your comments in a bit. It sounds like you've started working on changes to implement some of your ideas, so I can leave you to that, but if there's any of it you want a hand with, let me know and I'll grab it.

@thomasmunduchira Done! Thanks for the critical eye on this, I appreciate it.
I'll be happy to test it once it's ready. I've only got a garage door, but I've been running it off my own git branch for the time being. It'll be nice to have it pointed at this package instead :)

@thomasmunduchira Conflicts resolved and squashed!

Merged in! As mentioned before, I will ping this thread before the new npm module is rolled out. Thanks again @nsnyder!

@thomasmunduchira Any ETA for the new npm module being rolled out?

There is an issue with the merged code. I have a fix in #10

Also added back in the ability to pass types to getDevices in #11

@bsell93 Good catch on the token. PR #10 should be merged. As for getDevices, per this discussion, I think we're going to avoid that functionality in this implementation.

thank you guys for all your work on this!!

@nsnyder Ah, thanks for pointing me there. I will close #11. 😄

#10 has been merged! Thanks for the contribution @bsell93 :)
@JamsheedMistri I apologize for the delay! I'm taking the time to deep dive into the API and align usage patterns with JavaScript conventions, add tests, etc. I'm aiming to have a preliminary version out this weekend!

I cut a new release to the npm registry: mpq-api. Happy hacking everyone!

Excellent! Looking forward to giving it a spin. I've been crazy-busy as of late, but I'll be sure to get using it in the not to near future and let you know if I run into any issues :)

Finally got caught up enough to update my existing scripts to use the new API. Working wonderfully!


question about server/auth/facebook.js

Where did this come from: const config = require('../config/config');
@Yassermorteza

I'll push it now

😌🤯

can I use this config file for the twitter and co. auth

Yes of course


Rename IContextAccessor -> IScopeLocal

cc @yishaigalatzer @divega @davidfowl @lodejard

The only push back I have on this is https://github.com/aspnet/DependencyInjection/issues/158. We should discuss the naming of this new thing in the same context.

Does supporting #158 require any changes to the interface?  Or do we just need to make sure that the name convey's that it can also be used for that scenario?

@HaoK no changes are required to the interface itself. It might even be another interface name. My only concern was calling both things IScopedSomething might be confusing.

Got it, yeah having IScopeLocal and IScopeData which do different things would be pretty confusing.
Could we rename this one to be IRequestLocal then?  The scope is implicitly the request today isn't it?

Maybe we just rename the other one?

Yeah the other one isn't specifically related to scope, that one could be ICallContext maybe?  Since its abstracting async local/call context?

Hmm

Would IScopeValue be a better name? That way it might be less likely to get confused with whatever we end up doing to abstract the call context.

:shipit:

Value seems better tbh

Maybe IScopeInstance.Value?   IScopeValue is ok too

IScopedInstance<T>

Sounds better

:shipit:

IScopeValue sounds as good as it is going to get :)

I think we settled on IScopedInstance
On Jan 10, 2015, at 4:29 PM, "Yishai Galatzer" <notifications<EMAIL_ADDRESS>wrote:
IScopeValue sounds as good as it is going to get :)

Reply to this email directly or view it on GitHubhttps://github.com/aspnet/DependencyInjection/pull/159#issuecomment-69478270.

That's fine too

Merged b3f137eaab3366f3e03b047d1ff6fb40bb26cbdc


reduce log noise from HeliosSoloLogService

when helios-solo is first starting up, sometimes HeliosSoloLogService
will log exceptions like:

13:51:45.112 [HeliosSoloLogService RUNNING] WARN c.s.h.testing.HeliosSoloLogService - Caught exception, will ignore
java.lang.NullPointerException: null
at com.spotify.helios.testing.HeliosSoloLogService.runOneIteration(HeliosSoloLogService.java:87)

or

13:51:46.457 [HeliosSoloLogService RUNNING] WARN c.s.h.testing.HeliosSoloLogService - Caught exception, will ignore
java.util.concurrent.TimeoutException: Timeout waiting for task.
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:269) ~[guava-18.0.jar:na]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96) ~[guava-18.0.jar:na]
at com.spotify.helios.testing.HeliosSoloLogService.get(HeliosSoloLogService.java:69) ~[helios-testing-0.9.45.jar:0.9.45]

These are harmless as the LogService will keep retrying until it can
attach to the container.
To cut down on noise, explicitly check for null or for timed-out
requests, and reduce the log level to debug.

@rohansingh

Current coverage is 50.54% (diff: 62.96%)

No coverage report found for master at 05a90cf.

Powered by Codecov. Last update 05a90cf...c409fc0

obsoleted by #1007


Not able to disable the view interactions

Hi,
I am using the FTProgressIndicator from cocoapods version 1.1. I want to disable the view interaction in some of the screen while progress indicator is going on. But I can see that there are currently no API available to disable the view interaction.
Are there any plan to include such APIs? Let me know if any alternatives are available apart from handling within app?
Thanks & Regards,

I will add this feather in this two days.

https://github.com/liufengting/FTIndicator/blob/master/ChangeLog.md
I just added disable user interaction support in Pod version 1.1.3, check it out. If you find any bugs, please let me know. : )

@liufengting 💯 👍 Thanks and you saved my days...
Just a thought if as a FTProgressIndicator library when userInteractionEnable property is kept false, should a library disables the keyboard as well by calling self.view.endEditing(false)??

Here is how to get the current view controller.
http://stackoverflow.com/questions/24825123/get-the-current-view-controller-from-the-app-delegate）
However, I will not add this function to this library, because I think It's better for developers to decide wether to dismiss keyboard, not progress hud, like you are doing in your project. Of course, you are welcome to try it in you own project.


⚠ Bofrost.nl has degraded performance

In ec156a6, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1505 ms

Resolved: Bofrost.nl performance has improved in cd07566 after 6 minutes.


Running Vulkan and RetroPie

I have compiled a new version of FRT with Vulkan support for Golang 4.0+, however when I try to run the .pck file, I get the following error. Do you know if there is a way to get it to run in RetroPie and not from the desktop?
pi@retropie:~/Games/godot $ ./releases/frt_210_411_arm32v7.bin --main-pack ./game.pck -f
Godot Engine v4.1.1.stable.frt.bd6af8e0e - https://godotengine.org
frt: SDL_CreateWindow failed: Vulkan support is either not configured in SDL or not available in current SDL video driver (KMSDRM) or platform.

Thanks for any help you can provide!

I'm sorry. I don't develop FRT so I can't help you with that. You should ask @efornara directly

@hiulit Since posting, Godot 4.2 now natively supports ARM and I was able to get it running on RetroPi using that arm64 binary and the pck files. Thanks for the inspiration!


BENCH: sparse.linalg: check accuracy properly in LOBPCG benchmarks

Reference issue
N/A
What does this implement/fix?
Makes check accuracy in LOBPCG benchmarks consistent with that in
https://github.com/scipy/scipy/pull/19361
Additional information
The current code uses asserts to check accuracy in LOBPCG benchmarks which are apparently being ignored by ASV, so
they are substituted with
            if accuracy > tol:
                time.sleep(20)

to force the benchmark run out of time and thus mark it as failed, just as in  https://github.com/scipy/scipy/pull/19361

@j-bowhay could you please review this since you have just merged the sister PR #21220 ?

Thanks @lobpcg, I understand the motivation for these changes but I am not sure relying on timing the benchmark out is acceptable as this would increase CI time too much. Is there a reason an exception cannot be raised instead?

Thanks for reviewing! An exception just crashes the rest of the benchmark to my recollection. The delay is the only solution I have found that does the trick to generate the desired output.
Benchmarks is a special part of CI in terms of timing, as far as I remember.
Unfortunately, it's been long enough since I wrote it so my recollections may not be 💯

@lobpcg I pushed a commit to use SkipNotImplmented instead as this has the same effect as time.sleep without the long wait. Please see the output comparison bellow. If you are happy with this change I can merge now and also review https://github.com/scipy/scipy/pull/19361
Before:
[16.67%] ··· sparse_linalg_lobpcg.Bench.time_mikota                                                                                ok
[16.67%] ··· ====== ========== ========== ==========
             --                  solver
             ------ --------------------------------
               n      lobpcg     eigsh      lapack
             ====== ========== ========== ==========
              128    6.85±0ms   2.22±0ms   1.62±0ms
              256    9.49±0ms   2.35±0ms   3.96±0ms
              512    10.7±0ms   2.27±0ms   16.9±0ms
              1024   13.2±0ms   3.29±0ms     n/a
              2048   20.7±0ms   4.40±0ms     n/a
             ====== ========== ========== ==========

[16.67%] ···· For parameters: 1024, 'lapack'
              asv: skipped: NotImplementedError()

              For parameters: 2048, 'lapack'
              asv: skipped: NotImplementedError()

[33.33%] ··· sparse_linalg_lobpcg.Bench.time_sakurai                                                                                ok
[33.33%] ··· ==== ========= ========= =========
             --               solver
             ---- -----------------------------
              n     lobpcg    eigsh     lapack
             ==== ========= ========= =========
              50   276±0ms   303±0ms   630±0μs
             ==== ========= ========= =========

[50.00%] ··· sparse_linalg_lobpcg.Bench.time_sakurai_inverse                                                                                2/6 failed
[50.00%] ··· ====== ========== ========== ========
             --                 solver
             ------ ------------------------------
               n      lobpcg     eigsh     lapack
             ====== ========== ========== ========
              500    5.57±0ms   1.31±0ms   failed
              1000   14.5±0ms   3.25±0ms   failed
             ====== ========== ========== ========
             For parameters: 500, 'lapack'

             asv: benchmark timed out (timeout 20s)

             For parameters: 1000, 'lapack'

             asv: benchmark timed out (timeout 20s)

[50.00%] ···· For parameters: 500, 'lapack'

After:
[ 0.00%] ·· Benchmarking existing-py_home_jakeb_miniconda3_envs_scipy-dev-pytorch_bin_python
[16.67%] ··· sparse_linalg_lobpcg.Bench.time_mikota                                                                                ok
[16.67%] ··· ====== ========== ========== ==========
             --                  solver
             ------ --------------------------------
               n      lobpcg     eigsh      lapack
             ====== ========== ========== ==========
              128    6.91±0ms   2.21±0ms   1.67±0ms
              256    8.20±0ms   2.33±0ms   3.95±0ms
              512    10.0±0ms   2.22±0ms   16.6±0ms
              1024   13.3±0ms   3.13±0ms     n/a
              2048   20.4±0ms   4.08±0ms     n/a
             ====== ========== ========== ==========

[16.67%] ···· For parameters: 1024, 'lapack'
              asv: skipped: SkipNotImplemented('lapack too slow to benchmark with n=1024.')

              For parameters: 2048, 'lapack'
              asv: skipped: SkipNotImplemented('lapack too slow to benchmark with n=2048.')

[33.33%] ··· sparse_linalg_lobpcg.Bench.time_sakurai                                                                                ok
[33.33%] ··· ==== ========= ========= =========
             --               solver
             ---- -----------------------------
              n     lobpcg    eigsh     lapack
             ==== ========= ========= =========
              50   275±0ms   307±0ms   627±0μs
             ==== ========= ========= =========

[50.00%] ··· sparse_linalg_lobpcg.Bench.time_sakurai_inverse                                                                                ok
[50.00%] ··· ====== ========== ========== ========
             --                 solver
             ------ ------------------------------
               n      lobpcg     eigsh     lapack
             ====== ========== ========== ========
              500    5.50±0ms   1.28±0ms    n/a
              1000   7.26±0ms   1.57±0ms    n/a
             ====== ========== ========== ========

@j-bowhay fantastic, thanks so much!


update dependency

I have seen no test regression on my computer.

The tests look good here too! Thank you!
bors r+


IP Pools, what's the DNS requirement?

Hello,
If I have Postal installed on domain.com and I want to add a new IP to the IP pool.
I went to domain.com/ip_pools and created an IP pool, after that opened an organization, and assigned it to that IP pool.
After that send Test message via .../message/new/ but these messages are not going out.

Do I need to add a few records for this new IP address? Like a-records, txt records etc? Similar to the main Postal install?

Do I need to have Postal installed on this new IP (machine)?

If I do ip a, I get an output, but I don't see the IP there ...

Can you share the output of ifconfig please?

Hello @navinp
If your VPS Server ethernet is ens3 or eth0.
then you can use this formate according to your ethernets type:-
auto eth0:1
iface eth0:1 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
auto eth0:2
iface eth0:2 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
auto ens3:1
iface ens3:1 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
auto ens3:2
iface ens3:2 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>

The bind_address config setting is for the click tracking so isn't related to IP Pools.
I believe that for IP Pools, you need the IP addresses available for your server to use and then you configure them in the UI only.
As for DNS, you should make sure there is some kind of reverse DNS record set up for each IP address otherwise you may find messages sent using them go to spam.
With many server providers, you will have to configure the additional IP addresses manually in your server so you should follow their instructions for adding additional IP addresses. Once they appear in ip a you should be able to use them in your IP Pools.

Hello @zeba121 thanks for your help

Hello @navinp
If your VPS Server ethernet is ens3 or eth0.
then you can use this formate according to your ethernets type:-
If your ethernet is eth0 you can use this format:-
auto eth0:1
iface eth0:1 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
auto eth0:2
iface eth0:2 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
If your ethernet is ens3 you can use this format:-
auto ens3:1
iface ens3:1 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
auto ens3:2
iface ens3:2 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>

Hello,
I actually don't know how or where I should use this information...
My server is hosted with DigitalOcean.

root@domain:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul                                                                                t qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet <IP_ADDRESS>/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP gr                                                                                oup default qlen 1000
link/ether da:45:74:cd:ff:f8 brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/20 brd <IP_ADDRESS> scope global eth0
valid_lft forever preferred_lft forever
inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global eth0
valid_lft forever preferred_lft forever
inet6 2400:6180:100:d0::7f7:5001/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::d845:74ff:fecd:fff8/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP gr                                                                                oup default qlen 1000
link/ether 32:be:b7:7c:cb:0b brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::30be:b7ff:fe7c:cb0b/64 scope link
valid_lft forever preferred_lft forever

With the reverse DNS I assume you mean PTR - records?
Also if I understand correctly, I do not have to touch the POSTAL.YML file.
If I check using online tools the reverse DNS, it is showing the domain and IP address
IP address < == > domain
So that is setup correctly.
It's just whenever I add an org to an IP pool, messages are held as Pending and
Spam Status
NOT CHECKED

The bind_address config setting is for the click tracking so isn't related to IP Pools.
I believe that for IP Pools, you need the IP addresses available for your server to use and then you configure them in the UI only.
As for DNS, you should make sure there is some kind of reverse DNS record set up for each IP address otherwise you may find messages sent using them go to spam.
With many server providers, you will have to configure the additional IP addresses manually in your server so you should follow their instructions for adding additional IP addresses. Once they appear in ip a you should be able to use them in your IP Pools.

How do I do the "binding"?

Hello @navinp,
Firstly, you need to Bind IPs on the server.
Second, Add A-records for the IPs.
Third, you need to create an IP pool and assigned your mail server.
Then you will be sent your emails properly.

How do I do the "binding"?

Hello @navinp,
Firstly, you need to Bind IPs on the server.
Second, Add A-records for the IPs.
Third, you need to create an IP pool and assigned your mail server.
Then you will be sent your emails properly.

If your server ethernet is eth0 you can use this format:-
auto eth0:1
iface eth0:1 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
auto eth0:2
iface eth0:2 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
If your server ethernet is ens3 you can use this format:-
auto ens3:1
iface ens3:1 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>
auto ens3:2
iface ens3:2 inet static
name Ethernet alias LAN card
address <IP_ADDRESS>


54 spend down

My analysis of percent change (originally called spend down) and schedule D discrepancies.  It introduces my images needed for the final report.

Looks great!


Small code styles, php doc, AbstractHeading introduced.

Small code style changes
Added missing doc blocks
DRY applied for Node/Heading classes by introducing new AbstractClass
performance improvements in create-redirector script

Thanks @ismailatkurt , I have just merged your PR.


Add resource_compliancerelationship to link library items to framework items

This PR adds resource_compliancerelationship for linking library items (controls) to framework items (requirements.
This is draft until #174 is merged since it includes those fixes.

Dependency versions and imports have been bumped to result the test error (multiple accesses to flags). cc @zemberdotnet


Restore Features part 1

Fixes #
Changes proposed in this pull request:

How to test this code:

[ ]
[ ]

Has been tested on minimum requirements:

[ ]  Powershell 3
[ ]  Windows 7
[ ]  SQL Server 2000

Has been tested on maximum requirements:

[ ]  SQL Server vNext
[ ]  Windows 10
[ ]  Azure Database

Tests for tester:

[ ] Working/useful help content, including link to command on dbatools web site
[ ] All examples work as advertised
[ ] Does not contain template content
[ ] Does not contain excessive/unnecessary amounts of comments
[ ] Works remotely
[ ] Works locally
[ ] Works on lower versions or throws error specifying version not supported
[ ] Works with named instances
[ ] Works with clustered instances
[ ] Handles offline/read only databases
[ ] Supports multiple servers (at the command line or piped from Get-SqlRegisteredServerName)
[ ] No un-handled errors which stop the command working with multiple servers

Just tested:

GCI \\srv-backup\SQLBackup\ARCHIVE\*VC* | Restore-DbaDatabase -SqlInstance srv-sql-vm02 -WithReplace -useDestinationDefaultDirectories -RestoredDatababaseNamePrefix Test2_ -Verbose -DestinationDataDirectory "G:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\" -DestinationLogDirectory "E:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\"

Command did not restore database to desired place. As you can see there used two mutually exclusive parameters -useDestinationDefaultDirectories and -DestinationDataDirectory. May we user Powershell parameter sets?

When only -DestinationDataDirectory and -DestinationLogDirectory specified Restore-DbaDatabase tries to restore to instance default paths.

GCI \\srv-backup\SQLBackup\SRV-SQL\DB\ -Recurse | Restore-DbaDatabase -SqlInstance srv-sql-vm02 -RestoredDatababaseNamePrefix Test3_ -Destinatio nFilePrefix Test3_ -DestinationDataDirectory "G:\DATA\" -DestinationLogDirectory "E:\Data\" -MaintenanceSolutionBackup

When backup files received from pipe, may we not take in account switches like '-MaintananceSolution'

WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: Test-DbaLsnChain - We have non matching LSNs - not supported

MaintananceSolution not specified, and we see this:

WARNING: [Get-OlaHRestoreFile][18:31:42] No valid backup found - even tried MaintenanceSolution structure

so far I cant restore database, but with SSMS its possible FULL+LOGS
How I can help you @Stuart-Moore in debugging this situation?

That's because of the way the pipeline passes in objects from gci. They're
passed in as individual files.
That entire section of filtering needs a bit of attention. Once we've got
the proper dbatools types in place it'll be a lot easier to fix up.
On Wed, 24 May 2017, 16:42 Oleg Strutinskii<EMAIL_ADDRESS>wrote:

GCI \srv-backup\SQLBackup\SRV-SQL\DB\ -Recurse | Restore-DbaDatabase
-SqlInstance srv-sql-vm02 -RestoredDatababaseNamePrefix Test3_ -Destinatio
nFilePrefix Test3_ -DestinationDataDirectory "G:\DATA"
-DestinationLogDirectory "E:\Data" -MaintenanceSolutionBackup

When backup files received from pipe, may we not take in account
switches like '-MaintananceSolution'

WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: Test-DbaLsnChain - We have non matching LSNs - not supported

MaintananceSolution not specified, and we see this:

WARNING: [Get-OlaHRestoreFile][18:31:42] No valid backup found - even tried MaintenanceSolution structure
so far I cant restore database, but with SSMS its possible FULL+LOGS
How I can help you @Stuart-Moore https://github.com/stuart-moore in
debugging this situation?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/pull/1304#issuecomment-303764581,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFWoZj2d8wwm3irsqrWA2SAy5qRa3lQ8ks5r9E_vgaJpZM4NkEwY
.

The other one should be easier to patch as it just needs a logic check in
the parameters sections.
Looked at sets but it got too complex (think I had 6 at one point)
On Wed, 24 May 2017, 17:49 Stuart Moore<EMAIL_ADDRESS>wrote:

That's because of the way the pipeline passes in objects from gci. They're
passed in as individual files.
That entire section of filtering needs a bit of attention. Once we've got
the proper dbatools types in place it'll be a lot easier to fix up.
On Wed, 24 May 2017, 16:42 Oleg Strutinskii<EMAIL_ADDRESS>wrote:

GCI \srv-backup\SQLBackup\SRV-SQL\DB\ -Recurse | Restore-DbaDatabase
-SqlInstance srv-sql-vm02 -RestoredDatababaseNamePrefix Test3_ -Destinatio
nFilePrefix Test3_ -DestinationDataDirectory "G:\DATA"
-DestinationLogDirectory "E:\Data" -MaintenanceSolutionBackup

When backup files received from pipe, may we not take in account
switches like '-MaintananceSolution'

WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: [Get-OlaHRestoreFile][18:26:11] Don't have a FULL folder
WARNING: Test-DbaLsnChain - We have non matching LSNs - not supported

MaintananceSolution not specified, and we see this:

WARNING: [Get-OlaHRestoreFile][18:31:42] No valid backup found - even tried MaintenanceSolution structure
so far I cant restore database, but with SSMS its possible FULL+LOGS
How I can help you @Stuart-Moore https://github.com/stuart-moore in
debugging this situation?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/pull/1304#issuecomment-303764581,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFWoZj2d8wwm3irsqrWA2SAy5qRa3lQ8ks5r9E_vgaJpZM4NkEwY
.

3 - That's failing the check to see if there's any backups with an LSN prior to the full backup.
Hopefully be able to see with this:
$tmp = gci \srv-backup\SQLBackup\SRV-SQL\DB\ -recurse | Get-FilteredRestoreFile -sqlserver srv-sql-vm02
$fullbackup = $tmp | ?{$.BackupTypeDescription -eq 'Backup'}
$tmp | ?{$.LastLsn -lt $Fullbackup.LastLsn}
In theory the last filter shouldn't return anything, if it does then that's the issue. And we just need to work out how it's getting through the filtering section
If your backups are striped you'll just have to modify the above a little to cope with $fullbackup having more than one object in it.

Backup-DbaDatabase -Verbose -SqlInstance srv-sql -BackupDirectory \\srv-backup\SQL_Backup\ARCHIVE\ -Database VI -CompressBackup -Checksum  | Restore-DbaDatabase -SqlInstance srv-sql-qortcyp -FileMapping @{"data"="F:\MSSQL\DATA\test_vi.mdf";"log"="G:\MSSQL\DATA\test_vi.ldf"} -RestoredDatababaseNamePrefix test_
And get this error:
WARNING: Restore-DBFromFilteredArray - Conflicting options only one of FileStructure or DestinationDataDirectory allowed
Seems -Database must be used on restore

Can you move those errors in to issues please?
none of that is a result of this work, so don't want to hold this PR up to much, as until it's merged I don't want to start another branch for fixes

@FriedrichWeinmann pulled you in as a reviewer as the merge was a pain, so want to make sure all the messaging stuff carried across OK.

hey stuart - i'd like to give you permission to merge since you know best when your code should be merged. does that work for you?

That works for me. Be handy for the bug fixes that are just one line jobs as well.
I'll fix those bits up and repush

ahhhh that was a good merge

@Stuart-Moore here results for your custom code, so we have results.

@Zhunya - as this PR is now closed, could you open those bugs as issues please so they don't get lost.
And thanks for the data, but could you dump it out to JSON and repost please. I push it through the filtering, and don't fancy retyping all of the graphic :)


fix(config): shenzhen parameter corrections

Adjustments to align some of the elements of motion to: https://www.manualslib.com/manual/1347623/Shenzhen-Nas-Pd02z.html?page=11#manual
Started looking at the sensitivity since I can't seem to change that locally and found a few more.

I have found conflicting info on this device.    More research needed.

Have you confirmed that these changes apply to all devices using the templates?
AFAIK the Shenzhen Neo devices are quite inconsistent in this regard.

Different manuals for what appears to be the same device conflict.  I am planning to test to see if my device ID takes the values or not.  This will help me narrow this down.      Shenzhen doesn't make this easy.

Just for reference for future.  Two manuals exist:
https://www.manualslib.com/manual/1644574/Neo-Coolcam-Motion-Sensor-2.html?page=7#manual
https://www.manualslib.com/manual/1347623/Shenzhen-Nas-Pd02z.html?page=9#manual
They appear to be same product but small differences in the manual.
I am doing hands on testing on values to see what takes and what doesn't.    This is to solve an issue where my device is always reporting non existent motion.


Expose names of all available tasks

This change is to improve the readability of task name.

return the name of a task as it is designated in env_dict.py
add all_task_names() that returns names of all available tasks.

@ryanjulian Before this change, for an env instance of SawyerReachPushPickPlace, task_name is either

SawyerReachPushPickPlaceEnv-push or
SawyerReachPushPickPlaceEnv-pick-place

After this change, task_name should be either

push-v1 or
pick-place-v1

SawyerReachPushPickPlaceWall is similar.  task_name should be either

push-wall-v1 or
pick-place-wall-v1

Basically, this PR hides the internal name of a env class and replace it with the name in ML1.available_tasks()

ah i see, LGTM! thank you!


encoding/base64: documentation

The encoding variables make reference to the RFC on how they work, but it's not clear from Go's documentation, nor the RFC, how they differ (note that they are defined in the RFC, but the naming, and link, means it's not an easy lookup for the first time users, I broke some code at work not knowing the difference and it was discovered because a consumer was using the other set) - is there a cleaner way to say
URLEncoding uses the following characterset
 Table 2: The "URL and Filename safe" Base 64 Alphabet

     Value Encoding  Value Encoding  Value Encoding  Value Encoding
         0 A            17 R            34 i            51 z
         1 B            18 S            35 j            52 0
         2 C            19 T            36 k            53 1
         3 D            20 U            37 l            54 2
         4 E            21 V            38 m            55 3
         5 F            22 W            39 n            56 4
         6 G            23 X            40 o            57 5
         7 H            24 Y            41 p            58 6
         8 I            25 Z            42 q            59 7
         9 J            26 a            43 r            60 8
        10 K            27 b            44 s            61 9
        11 L            28 c            45 t            62 - (minus)
        12 M            29 d            46 u            63 _
        13 N            30 e            47 v           (underline)
        14 O            31 f            48 w
        15 P            32 g            49 x
        16 Q            33 h            50 y         (pad) =

and StdEncoding uses the following
                      Table 1: The Base 64 Alphabet

     Value Encoding  Value Encoding  Value Encoding  Value Encoding
         0 A            17 R            34 i            51 z
         1 B            18 S            35 j            52 0
         2 C            19 T            36 k            53 1
         3 D            20 U            37 l            54 2
         4 E            21 V            38 m            55 3
         5 F            22 W            39 n            56 4
         6 G            23 X            40 o            57 5
         7 H            24 Y            41 p            58 6
         8 I            25 Z            42 q            59 7
         9 J            26 a            43 r            60 8
        10 K            27 b            44 s            61 9
        11 L            28 c            45 t            62 +
        12 M            29 d            46 u            63 /
        13 N            30 e            47 v
        14 O            31 f            48 w         (pad) =
        15 P            32 g            49 x
        16 Q            33 h            50 y

As well as the reasoning that is already present in the docs.

The encoding is standard and not defined by Go. I think reference the RFC is the right approach.
cc @rsc

FTR - I'm not suggesting that Go is defining the character sets, I'm asking that the character sets being used be explicitly mentioned in the documentation (As I say, a bug occurred due to a misunderstanding of the character sets, with one tool claiming that the set used meant our implementation was "broken" - when all it was was URL Encoding had been used instead of standard).


Add graph api stats for backup operations

Does this PR need a docs update or release note?

[ ] :white_check_mark: Yes, it's included
[ ] :clock1: Yes, but in a later PR
[x] :no_entry: No

Type of change

[x] :sunflower: Feature
[ ] :bug: Bugfix
[ ] :world_map: Documentation
[ ] :robot: Supportability/Tests
[ ] :computer: CI/Deployment
[ ] :broom: Tech Debt/Cleanup

Issue(s)

internal

Test Plan

[ ] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

No longer needed, since backup Results now has a Counts map which stores these stats.


CDAP-16609 fix column expression error msg

Sometimes column expression isn't returning error message because of a NPE when getting the detail of the exception.

/gcbrun


Transport can connect to itself

For some reason we have transport connecting to itself. Possibly this is related to DNS names issue in Transport/TransportEndpoint
Logs available
I 0727-1844:31,656 i.n.h.l.LoggingHandler [id: 0x16a4f615, /<IP_ADDRESS>:53848 => /<IP_ADDRESS>:4830] WRITE: Message [qualifier=pt.openapi.core.cluster/fdetector/ping, correlationId=6, contextId=null, subscriptionId=null, dataFormat=null] [oapi-transport-io-0@tcp://<IP_ADDRESS>:4830]

I 0727-1844:31,657 i.n.h.l.LoggingHandler [id: 0x16a4f615, /<IP_ADDRESS>:53848 => /<IP_ADDRESS>:4830] FLUSH [oapi-transport-io-0@tcp://<IP_ADDRESS>:4830]

I 0727-1844:31,657 i.n.h.l.LoggingHandler [id: 0xde7d6517, /<IP_ADDRESS>:53848 => /<IP_ADDRESS>:4830] RECEIVED: Message [qualifier=pt.openapi.core.cluster/fdetector/ping, correlationId=6, contextId=null, subscriptionId=null, dataFormat=PROTOSTUFF] [oapi-transport-io-0@tcp://<IP_ADDRESS>:4830]

I 0727-1844:19,968 i.n.h.l.LoggingHandler [id: 0xde7d6517, /<IP_ADDRESS>:53848 => /<IP_ADDRESS>:4830] ACTIVE [oapi-transport-io-0@tcp://<IP_ADDRESS>:4830]

D 0727-1844:19,968 c.p.o.c.t.i.AcceptorRegistratorChannelHandler Registered acceptor: NettyTransport{status=CONNECTED, channel=[id: 0xde7d6517, /<IP_ADDRESS>:53848 => /<IP_ADDRESS>:4830]} [oapi-transport-io-0@tcp://<IP_ADDRESS>:4830]

I saw that at AcceptorHandshakeChannelHandler.prepareHandshakeResponse(...) we have code
    } else if (remoteEndpoint.id() == null) {
      return TransportHandshakeData.error("Remote endpoint id not set");
    } else if (remoteEndpoint.id().equals(localEndpoint.id())) {
      return TransportHandshakeData.error("Remote endpoint equal to local");
    }

So basically handshake should fail... and then we have code:
ChannelFuture channelFuture =
        ctx.writeAndFlush(new Message(handshakeResponse, QUALIFIER, Q_TRANSPORT_HANDSHAKE_SYNC_ACK));

    channelFuture.addListener(ChannelFutureUtils.wrap(new ChannelFutureListener() {
      @Override
      public void operationComplete(ChannelFuture future) {
        if (!handshakeResponse.isResolvedOk()) {
          LOGGER.debug("HANDSHAKE({}) not passed, acceptor: {}", handshakeResponse, transportChannel);
          transportChannel.close(new TransportHandshakeException(transportChannel, handshakeResponse));
        }
      }
    }));

Which basically close channel. So even if transport will connect to itself it should fail handshake and close connection - my question what is the issue? what is the expected behaviour?
@myroslavlisniak @artem-v

Not relevant after PR: https://github.com/scalecube/scalecube/pull/69


fix: upgrade cmd-k to fix html query selector bug crash

Fixes this type of bug:

/marimo create-test-release