Add phone input

Fixes #371

You forgot to run pnpm i after removing that one dependency, other than that looks good!

When I go to checkout there is 404. Please check https://watch.screencastify.com/v/bZottsmZZMUV2EWhCAA0


Tweak setting of support2d option

This set of patches ensures a message is displayed when the option TubeTK_Support_2D_Images is forded to ON.
It also change the option from TubeTK_Support_2D_Images to TubeTK_SUPPORT_2D_IMAGES to be consistent with other TubeTK options:
$ cat CMakeLists.txt | ack --cmake "^(set|option)\(\s*TubeTK"
set( TubeTK_CMAKE_EXTENSIONS_DIR ${TubeTK_SOURCE_DIR}/CMake )
set( TubeTK_VERSION_MAJOR "0" )
set( TubeTK_VERSION_MINOR "9" )
set( TubeTK_VERSION_PATCH "0" )
option( TubeTK_INSTALL_DEVELOPMENT
set( TubeTK_VERSION
set(TubeTK_BUILD_TESTING ${BUILD_TESTING})
option( TubeTK_BUILD_IMAGE_VIEWER "Use ImageViewer." ON )
option( TubeTK_BUILD_USING_SLICER
option( TubeTK_BUILD_WITHIN_SLICER
option( TubeTK_SUPPORT_2D_IMAGES "Compile CLI with support for 2D images" ON )
option( TubeTK_USE_EXAMPLES_AS_TESTS
option( TubeTK_USE_GPU_ARRAYFIRE
option( TubeTK_USE_BOOST
option( TubeTK_USE_CPPCHECK "Use Cppcheck to enable additional tests." ON )
set( TubeTK_USE_PYTHON_DEFAULT ON )
option( TubeTK_USE_PYTHON "Use Python to enable additional functionality."
option( TubeTK_USE_JsonCpp "Use JsonCpp to enable additional functionality."
option( TubeTK_USE_KWSTYLE
option( TubeTK_USE_LIBSVM "Use LIBSVM to enable additional functionality." ON )
option( TubeTK_USE_QT
option( TubeTK_USE_VALGRIND "Use Valgrind to enable additional functionality."
option( TubeTK_USE_VTK "Use VTK to enable additional functionality." ON )
option( TubeTK_BUILD_APPLICATIONS
option( TubeTK_USE_SUPERBUILD
set( TubeTK_INSTALL_PLUGINS_BIN_DIR "${TubeTK_INSTALL_BIN_DIR}" )
set( TubeTK_INSTALL_PLUGINS_CACHE_DIR "${TubeTK_INSTALL_LIB_DIR}/CACHE" )
set( TubeTK_INSTALL_PLUGINS_INCLUDE_DIR "${TubeTK_INSTALL_INCLUDE_DIR}" )
set( TubeTK_INSTALL_PLUGINS_LIB_DIR "${TubeTK_INSTALL_LIB_DIR}" )
set( TubeTK_INSTALL_PLUGINS_SHARE_DIR "${TubeTK_INSTALL_SHARE_DIR}" )
set( TubeTK_LAUNCHER )
set( TubeTK_INCLUDE_DIRS
set( TubeTK_LIBRARY_DIRS
set( TubeTK_TARGETS_FILE
set( TubeTK_USE_FILE

Cc: @aylward @fbudin69500

Looks good.


Ignore case when looking for ticked checkbox

This PR adds a minor fix to consider both [x] and [X] valid when looking for ticked check boxes, as both of these are valid in markdown and can be used interchangeably.

Codecov Report

Merging #9 (dede877) into master (f87e92a) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #9   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            9         9
  Lines          350       350
=========================================
  Hits           350       350

Impacted Files
Coverage Δ

algorithms_keeper/pull_requests.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Fix 364

Seems this is failing
Changing existing pipeline schedule 'Enforce'
Error: Error occurred while processing project testgroup1/testproject, exception:
local variable 'updated_schedule' referenced before assignment
Traceback (most recent call last):
  File "/gitlabform/gitlabform/core.py", line 430, in run
    self.project_processors.process_entity(
  File "/gitlabform/gitlabform/processors/__init__.py", line 30, in process_entity
    processor.process(
  File "/gitlabform/gitlabform/processors/util/decorators.py", line 42, in method_wrapper
    return method(self, project_and_group, SafeDict(configuration), *args)
  File "/gitlabform/gitlabform/processors/abstract_processor.py", line 48, in process
    self._process_configuration(project_or_project_and_group, configuration)
  File "/gitlabform/gitlabform/processors/project/schedules_processor.py", line 38, in _process_configuration
    project_and_group, updated_schedule["id"]
UnboundLocalError: local variable 'updated_schedule' referenced before assignment
* (3/5) FINISHED Processing project: testgroup1/testproject
Cleaning up file based variables
00:00
ERROR: Job failed: exit code 2

Not quite as simple as hoped then


[FLINK-13845][docs] Drop all the content of removed Checkpointed interface

What is the purpose of the change
Drop all the content of removed Checkpointed interface.
Brief change log
Verifying this change
This change is a trivial rework without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Previously, I also plan to remove the content of Checkpointed interface from web documentation but I think remaining them in the migration doc from Flink-1.1 should be okay.
@flinkbot attention @aljoscha

@flinkbot run travis

It seems command run travis not taking effect @zentol .
To rerun the CI, I have to close-reopen this PR.

This looks good, merging...


Add escaping to strings read from env

Symfony treats strings containing two percent signs as a variable to
be replaced.
Jenkins will escape slashes in branch names as "%2f", having a branch
name with two slashes leads to the env variables "JOB_NAME" and
"BUILD_NUMBER" to contain two percent signs, which triggers Symfony DIs
variable replacement, and fails Behat execution with a ParameterNotFound
exception.

A word of warning: I patched the flaw I experienced personally, and added some more escaping for other environments that may also be affected.
The warning extends in both directions: For one, I may treat the environments besides Jenkins wrong, but on the other hand many more cases may exist that would require proper escaping.
As I am not accustomed enough to Symfony DI, I would rely on guesswork most of the time, so I keep this patch to a reasonable minimum.

I have no idea why HHVM is failing in the build, but it is also failing on the most current "master" branch commit for me.

Fixes #322

Ping! Would be nice if I could get some response.

Ping @everzet
I'd appreciate any form of response. Is the issue #322 unclear? Is the fix inappropriate or too vague?


⚠ Bofrost.de has degraded performance

In 4ccf021, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1375 ms

Resolved: Bofrost.de performance has improved in 19b0aff after 1 hour, 18 minutes.


Pass image data directly to ZlibStream, bypassing ChunkState::raw_bytes

PTAL?
This is a part of the "Revisiting copy avoidance" part of the discussion at https://github.com/image-rs/image-png/discussions/416#discussioncomment-7436871.

Thanks!


Scrollbar in main body

Hi,
We are looking at moving to Rapidoc and were able to get it up and running very easily, which was a good thing :)  I have however noticed that in as we are using it as part of a larger page, in what gets rendered, the main-content css class has set the overflow-y to scroll.  This creates an in body scrollbar which I would like to remove/hide, but cannot seem to override it.  Have tried to via my own css but no luck.  Any ideas?
On a side note, I also see that the browser scrollbar is being styled via the body and html, the following is injected into the page:

Would it be possible to opt into the scrollbar styling?  Not sure if this could be part of one of the options or not.
Thanks!!

RapiDoc is a custom element, And custom elements are style encapsulated  so you wont be able to inject any of your custom style.
However, I will add some scrollbar styling for webkit based browsers that will match the selected theme.

have added scrollbar styling for webkit based browsers in this commit e7018da8bcf3880cf80254c6591d5324aa6bfc86
you can test it either by building rapidoc from source or take it from the .dist folder

Thanks!!  Will test it today.

@mrin9 , I tested the change and now the in-page scrollbar has gone which is great.  Regarding the

@Mhirji
this commit cfb0cef5cc3cb47d2488fd29c12ad8a600d63f09 removes the body scrollbar styles too. thanks for pointing it out !!!


Parse default theme from attributes for ChatHeadView (bubble)

This is something that I was not able to do before.
Currently I've found another way to parse theme from attributes.
Looks like it's working fine - bubble gets default theme on the init stage as well.

!merge


Pass the access token to the upstream server

@jehiah We're looking to allow other services that accept the access_token to be integrated into the 18F Hub per 18F/hub#241. This PR accomplishes this by encoding the access_token in the auth cookie and unpacking it as the X-Forwarded-Access-Token header for upstream requests. The changes maintain backward compatibility with the original cookie format, but I'm happy to entertain other notions or refactor the code.
@dhcole @afeld @adelevie @yozlet @jackiekazil I've actually got our internal Hub running successfully with these changes to the google_auth_proxy and the changes from 18F/hub#241. Just need to merge them to make them official.
I also included a commit to update TestNewReverseProxy(). Without this change, the test will fail when run without an Internet connection. @jehiah I can split that commit out into a separate PR if you prefer.

@jehiah I've just pushed changes to set pass_access_token to false by default and to encrypt the access token in the cookie. Confirmed that this is working as advertised on our internal system, in addition to continuing to pass the tests. PTAL?

PTAL? that's a new acronym for me
Changes look good. Let's just error if the cookie secret is <32 char and you enabled passing the access token instead of padding with spaces.

Ah, PTAL == Please Take Another Look. :-)
Just pushed a new commit with the changes you asked for. (Actually, the AES cipher isn't created if the cookie_secret isn't exactly 16, 24, or 32 bytes per aes.NewCipher.)

Looks good aside from those two small details. Once you've handled those go ahead and squash the commits in this branch down.

Created a new encoded_token variable and cleared access_token to be safe; wrapped the cipher creation in a pass_access_token case and made an invalid cookie_secret size a fatal error; and squashed everything (except the unrelated test fix) down to a single commit.

awesome!

Sweeet, thanks, @jehiah! Appreciate the thoughtful and timely review.


Missing 'tbody' in the generated 'table'

Problem Description
I found that there's no

 inside the

 generated by this GitHub Action.

            Haowei Hsu

Although it looks fine in GitHub or some Markdown Editors, there will be a problem when I upload a README.md which has this form of

 to Crowdin. Take an issue I recently encountered while testing andrii-bodnar/action-crowdin-contributors for example.
Origianally, I used v1.0.2 version of this GitHub Action to generate a Crowdin Contributors List. The generated HTML table is as follow:
Click to expand codes

        Haowei Hsu (hwhsu1231)

      2334 words

zh-CN, zh-TW

However, an error showed up when I tried to upload this README.md to Crowdin:
Click to expand logs
D:\Test\test-crowdin-readme>crowdin upload --branch test
[OK] Fetching project info
[SKIPPED] Branch 'test' already exists in the project
[ERROR] File 'test\README.md'
[ERROR] Wrong parameters:
<key: storageId, code: fileInvalid, message: An unknown error occurred while importing the file.>
[ERROR] Current execution finished with errors

D:\Test\test-crowdin-readme>

After reporting to Crowdin Support Team, they fix this issue by upgrading this GitHub Action to v1.0.3, in which they add

 into

. The newly generated table is as follow:
Click to expand codes

          Haowei Hsu (hwhsu1231)

        2334 words

zh-CN, zh-TW

Therefore, I hope this GitHub Action, akhilmhdh/contributors-readme-action, can fix this issue as well. That is, I hope it can generate the following form of table:

          Haowei Hsu

Versions
<EMAIL_ADDRESS>

Hey @hwhsu1231
Sorry for the long delay. But v2.3.10 should resolve this


Changes to RequestBinder in 5.31 break polymorphic binding

Using FastEndpoints v5.30 I implemented my own request-specific RequestBinder that implements IRequestBinder<ThingBase> where ThingBase is an abstract class. The concrete type that gets bound is determined by a custom MIME type provided in the Content-Type header, like so...
Given the types Thing1 and Thing2 inherit from the abstract ThingBase...

Content-Type: application/vnd.thing-1.json -> deserializes the body to an instance of Thing1.
Content-Type: application/vnd.thing-2.json -> deserializes the body to an instance of Thing2.

Now the changes in v5.31 have broken this behavior (this line throws the exception at startup) because it cannot find a constructor on the base type, not unreasonably.
I can fix this by hobbling my contracts to make ThingBase instantiable, but I'd rather not. Any ideas for resolution?
Many thanks indeed.
Matt

i tried to replicate the issue with the following, but i could not.
abstract class ThingBase
{
    [FromHeader]
    public int Id { get; set; }
}

sealed class ThingA : ThingBase
{
    public string IdA { get; set; }
}

sealed class ThingB : ThingBase
{
    public string IdB { get; set; }
}

sealed class ThingBinder : IRequestBinder<ThingBase>
{
    public async ValueTask<ThingBase> BindAsync(BinderContext ctx, CancellationToken ct)
    {
        await Task.CompletedTask;

        if (ctx.HttpContext.Request.Headers.TryGetValue("Id", out var id))
        {
            if (id == "1")
                return new ThingA { IdA = id.ToString() };
            if (id == "2")
                return new ThingB { IdB = id.ToString() };
        }

        throw new ArgumentException();
    }
}

sealed class MyEndpoint : Endpoint<ThingBase>
{
    public override void Configure()
    {
        Get("test");
        RequestBinder(new ThingBinder());
        AllowAnonymous();
    }

    public override async Task HandleAsync(ThingBase r, CancellationToken c)
    {
        await SendAsync(r);
    }
}

when registered with RequestBinder(new ThingBinder()); it shouldn't go here at all.
i suppose you're doing something else.
could you update my code to show how you're doing it so i can see the exception being thrown?

Ah! I know why now. I was deriving from the concrete RequestBinder<T> not simply implementing the interface IRequestBinder<T>. It works now.
Thank you very much indeed. 🥇


Remove CONSOLE_API_MSG::UpdateUserBufferPointers hack

Summary of the Pull Request
This commit introduces a copy constructor/operator for _CONSOLE_API_MSG.
The change is not trivial as the struct contains a union of unnamed structs that cannot be copied using regular language features. As such a copy operator using memcpy was implemented.
Additionally all access specifiers were removed, as those allow a C++ compiler to reorder struct members. This would break message passing. This commit is a good opportunity to prevent such miscompilations proactively.
PR Checklist

[x] Closes #10076
[x] I work here
[x] Tests added/passed

Validation Steps Performed

Command prompts of WSL2 fish-shell and pwsh still work ✔

Force push to resolve merge conflicts in .github/actions/spelling/allow/apis.txt.

Would you mind running the host feature tests with the app verifier enabled for Heap checks? This will exercise the "multiple inflight messages" test :smile:

Oh, you'll need to set appverifier for Te.ProcessHost.exe (forgot to mention)

All host feature tests completed successfully. 🙂


A T.untyped attr_accessor requires the instance variable to be defined, in contrast to a T.nilable accessor

Input
→ View on sorbet.run
# typed: strict
class A
  extend T::Sig
  sig {returns(T.untyped)}
  attr_accessor :foo
end

Observed output
editor.rb:5: Use of undeclared variable @foo https://srb.help/6002
     5 |  attr_accessor :foo
                         ^^^

editor.rb:5: Use of undeclared variable @foo https://srb.help/6002
     5 |  attr_accessor :foo
                         ^^^
Errors: 2

Expected behavior

There should be no errors since sorbet this works properly for T.nilable attrs:
→ View on sorbet.run
# typed: strict
class A
  extend T::Sig
  sig {returns(T.nilable(Integer))}
  attr_accessor :foo
end

The workaround is to use T.nilable(T.untyped), which is a bit clunky IMO:
→ View on sorbet.run
# typed: strict
class A
  extend T::Sig
  sig {returns(T.nilable(T.untyped))}
  attr_accessor :foo
end

It seems untyped definitions are not allowed in strict mode. Examples you've provided are all have typed: strict.

It may seem counterintuitive that Sorbet does not require type annotations in a file marked # typed: true, but this is an intentional part of Sorbet’s implementation of gradual typing. In the # typed: true strictness level, unannotated methods, instance variables, and constants are assumed to be T.untyped. This allows a programmer to write untyped or partially-typed definitions while still benefiting from type checking when static type information is present.

https://sorbet.org/docs/type-annotations#type-annotations-and-strictness-levels

@serpilacar It's true that sorbet requires type annotations for instance variable in strict mode, but in this particular case, sorbet itself injects an instance variable annotation for attr_writer and attr_accessor (but only if it's T.nilable).


Error resuming training

I just encountered an error I've never seen before.  I used the --load-model command line argument to resume training from a checkpoint.  At first everything seemed to be working correctly, but after completing four epochs it exited with this error.
Traceback (most recent call last):
  File "/global/homes/p/peastman/torchmd-net/scripts/train.py", line 164, in <module>
    main()
  File "/global/homes/p/peastman/torchmd-net/scripts/train.py", line 160, in main
    trainer.test(model, data)
  File "/global/homes/p/peastman/miniconda3/envs/torchmd/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 936, in test
    return self._call_and_handle_interrupt(self._test_impl, model, dataloaders, ckpt_path, verbose, datamodule)
  File "/global/homes/p/peastman/miniconda3/envs/torchmd/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 721, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/global/homes/p/peastman/miniconda3/envs/torchmd/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 983, in _test_impl
    results = self._run(model, ckpt_path=self.ckpt_path)
  File "/global/homes/p/peastman/miniconda3/envs/torchmd/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1222, in _run
    self._log_hyperparams()
  File "/global/homes/p/peastman/miniconda3/envs/torchmd/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1277, in _log_hyperparams
    raise MisconfigurationException(
pytorch_lightning.utilities.exceptions.MisconfigurationException: Error while merging hparams: the keys ['load_model'] are present in both the LightningModule's and LightningDataModule's hparams but have different values.

It looks like training stopped after 4 epochs since the error occurred while calling trainer.test  in the training script. After fit we load the best model checkpoint and then evaluate it on the test set. The best checkpoint that was loaded probably was saved in the previous training run? So the value of load_model is probably None, while the current DataModule contains a different value for load_value.
The problem in this specific case is probably something else since stopping training after 4 epochs was probably not intended? This error is definitely not very intuitive though. Instead of loading the best checkpoint manually we could also pass ckpt_path="best" to trainer.test, which would probably not fix this error though.
A potential fix would be to just pass the test dataloader instead of the full DataModule.


Feat: kusion resource command

What would you like to be added?
Command kusion resource to interact with resources :

[ ] Add new command kusion resource list to show all resources of a specific project in a workspace.
- --workspace: optional, default is current workspace
- --project: required
- --backend: optional, default is current backend
[ ] Add new command kusion resource show {id} to show the latest state of the specific resource by the id.
- --workspace: optional, default is current workspace
- --project: required
- --backend: optional, default is current backend

Why is this needed?

It serves to check the status and get resource information by ID, by project, by workspace, or by all resources.
To get the information about resources of a project that are applied in a workspace, from that we can get the kusion-id and the terraform import id of these resources and use them for another project in the same workspace.

cc @SparkYuan , @liu-hm19

Thanks for your advice! 👍
I believe this feature is indeed very helpful for users, but we are planning to implement the kusion release show command, which might to have some overlap in functionality with the kusion resource command you proposed in this Issue.
The related issue can be found here. We expect the kusion release show command to directly display the specified Release file for a certain project in one workspace. If users need to show a specific resource, I think maybe we can add a flag like --resource-id to achieve this. Since all the information of a resource is recorded in the Release file (Spec & State), I think displaying the resource information managed by Kusion should also read from the Release file. So, is it enough to just implement the kusion release show command?
cc @hoangndst @ffforest

We can change it to --project (project name) can show or list the release even we don't have the workdir : D
About the import resource. Where the import resource will be saved, still a field in workspace or you guys have other plan?
cc @liu-hm19 @ffforest

Sure, I think we can add --project and --resource-id in the kusion release show command for users' convenience.
As for the imported resources, we don't have any other plans at the moment, but we are planning to optimize based on the configurations stored in Workspace.

After the discussion with @hoangndst, we have reached a consensus on kusion resource command that it can be used to assist users in importing existing application's TF resources. And the specific process is as follows:

Users can use kusion resource list to view all the resource Kusion IDs for a Project in a specified Workspace.
After that, users can use kusion resource show to view the details of a specified resource for a Project in a specified Workspace.
The above ability can help users determine the Kusion Resource ID and the Terraform Instance ID of the resources to be imported.

However, there still might be some concerns about the kusion resource command:

There might be some overlap between kusion resource command and kusion release command, as well as the Application Graph feature (related issue can be found here).
It might be necessary to clarify the resource listing and showing permissions.
If there is a need to support listing all the resources of all the Projects under a Workspace at once, this might cause performance issues due to the large number of resources.

We can discuss about this issue together with the community in the follow-up communication. cc @ffforest @Yangyang96

After the discussion with @hoangndst @ffforest and @Yangyang96, we have reached the following consensus:

We will still implement the kusion resource command, and integrate the functionality of Application Graph into this command (kusion resource graph).
Due to the functionality overlap between kusion resource graph and kusion resource list, we finally chose to implement the kusion resource graph command to display the list of Kusion Resource IDs for a specified Project in a Workspace, including the Kubernetes resources and Terraform resources in the State, as well as some relevant K8s resources like ReplicaSet, Pod and ServiceAccount. This sub-command is assigned to @Yangyang96
We will implement the kusion resource show command to display the details of a specified Kusion Resource ID for a Project in a Workspace, if convenient, we would like @hoangndst as the assignee for this sub-command. 👍
Currently, for the development of the kusion resource command, we have check-out a develop branch. PRs can be submitted to feat_resource branch before merging it into the main branch to close the related issues.

Based on our previous discussions, we will implement two sub-commands for kusion resource, one of which is kusion resource graph and the other is kusion resource show. Currently, #1296 has implemented the kusion resource graph command, providing users with the ability to display the resource ids and the deployment statuses of a specified Project in a specified Workspace. And this sub-command will be included in the upcoming release of Kusion v0.13.0, while kusion resource show may be implemented in the future.
Considering that there have been some changes in the initial design and implementation compared to what was described in this issue, I would like to close this issue for now. We can re-open or open a new issue to follow up the support for kusion resource show later. cc @hoangndst @ffforest @Yangyang96


how to change the background color

Probably would be more appropriate to ask such questions at StackOverflow and to open an issue when you are reporting an issue. issue != help request
See https://github.com/jdg/MBProgressHUD/blob/f3732cc1058da7d9e9856a27c5e476f34fb28673/MBProgressHUD.h#L267
and https://github.com/jdg/MBProgressHUD/blob/f3732cc1058da7d9e9856a27c5e476f34fb28673/MBProgressHUD.h#L368-L383
hud.backgroundView.color = UIColor.orangeColor()

Not technically a bug, but would be nice to be able to set the background color for all MBProgressHUDs rather than setting it for each instance created at creation time.  For instance, implement the UIAppearance Protocol.


Corrected pirep existing check.

https://www.geeksforgeeks.org/how-to-check-whether-an-array-is-empty-using-php/#
https://www.php.net/manual/en/function.empty.php

Why is this different to a strict equality check to an empty array? Is there any meaningful difference here?


Do not see account name nor account# under firefox

Hi,
First I will thank you for this good extension !
I'm usually use firefox and have added this extension on both firefox and Chrome.
Under Chrome (version 1.3.2) we see on the top right :
SSO:"My Role" @ "Account name" ("account #")
But under Firefox (version 1.3.1) we have on the top  right :
"My Role" / "My email"
Wish is useless then what we have under chrome, having name/# of the account is really useful (I use dozen of different accounts).
Is it normal ?
Regards,

It is working in my environment. (M1 Mac Chrome / Firefox)
What environment are you using?
@MigaFr
regarding https://github.com/yaggytter/chrome-extension-awssso/issues/21

I think it was fixed by #33.

I was wrong. Firefox version is not released yet.

After raz firefox and re-install it seems OK. thanks :-)

oups raz it's french :/ "Remise A Zero"

Hi @yaggytter, I notice 1.3.1 is still the latest Firefox version at addons, do you have any idea when we might see 1.3.3?

Hi @peterbev, I just released the version 1.3.3. https://addons.mozilla.org/ja/firefox/addon/extension-for-aws-sso/


Move warmist to past contributors

They are no longer active in Northstar to my knowledge

This PR has been open long enough without any complaints that I think it's fine if I merge it myself ^^


enhancement: output additional METADATA fields for each package

How difficult would it be to add a --license command line switch and then pipdeptree would output not only the package name and version but also the contents of the LICENSE metadata field?

This entirely depends on whether or not pip (used as a library) exposes this information. But it's a good suggestion to include LICENSE info. I'd definitely like to explore this when I get time.


Can't start up

Please paste the output of the following command here: sudo edit-chroot -all

name: xenial
encrypted: yes, locked
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...
Please describe your issue:
I can't start up the Ubuntu desktop. Here is the output it gives me right after the screen goes black:
    to make sure that you have the latest version.

Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Mon Sep 18 20:01:38 2017
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
method return time=1505790098.666869 sender=:1.11 -> destination=:1.55 serial=1295 reply_serial=2
boolean true
MESA-LOADER: failed to retrieve device information
gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
gbm: Last dlopen error: /usr/lib/dri/exynos_dri.so: cannot open shared object file: No such file or directory
failed to load driver: exynos
EGL_MESA_drm_image required.
(EE)
Fatal server error:
(EE) AddScreen/ScreenInit failed for driver 1
(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/tmp/Xorg.crouton.1.log" for additional information.
(EE)
method return time=1505790099.714811 sender=:1.11 -> destination=:1.56 serial=1296 reply_serial=2
boolean true
(EE) Server terminated with error (1). Closing log file.
/usr/bin/xinit: giving up
/usr/bin/xinit: unable to connect to X server: Connection refused
/usr/bin/xinit: server error
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...
If known, describe the steps to reproduce the issue:

@MrBreadWater,
See if this guide helps: 'Common issues and reporting'
Hope this helps,
-DennisL

I tried re-installing a few times before this, but I will retry using the intructions posted there. I will let you know how it goes

@DennisLfromGA That didn't work, any other suggestions?

@MrBreadWater,
Please run croutonversion in your chroot and show us the output.

(EE) Please also check the log file at "/tmp/Xorg.crouton.1.log" for additional information.
(EE)

Also, please post your Xorg.crouton.log file on pastebin.com, gist.github.com, etc. and give us the link .
-DennisL

Please run croutonversion in your chroot and show us the output.

I am not sure how to do this.
Here is a link to the pastebin: https://pastebin.com/rQD6GfEm

@MrBreadWater,

enter-chroot
croutonversion

-DennisL

@DennisLfromGA
Here you go:
crouton: version 1-20170901092920~master:0216f9d1
release: xenial
architecture: armhf
xmethod: xorg
targets: xfce
host: version 9592.94.0 (Official Build) stable-channel daisy
kernel: Linux localhost 3.8.11 #1 SMP Tue Sep 12 13:52:25 PDT 2017 armv7l armv7l armv7l GNU/Linux
freon: yes

@MrBreadWater,
A while back there were a number of 'blackscreen' issues relating to 'modesetting' that look a little similar to your issue -

[ 13048.164] (EE) modeset(0): glamor initialization failed

Black screen #2923
chroots will no longer boot to gui after updating chrome OS to version 56.0.2924.9 dev (64-bit) https://github.com/dnschneid/crouton/issues/2917#issuecomment-267411158

But there was a PR merged to fix it -

croutonxinitrc-wrapper: xorg target: kick the display on startup #3081

Your chroot seems up-to-date so you may be running into a little different issue.

If that works you could use it as a workaround and we could then work on this 'xorg' issue.
Hope this helps,
-DennisL

@DennisLfromGA
Ok, I've did that, but what do I put for the chroot_app on startxiwi? I reinstalled it with xiwi this time, and used the startxiwi command, and it game me this: startxiwi [options] chroot_app [parameters] (along with a few other things, but they were just parameters). So my question is, what is the chroot_app?

@MrBreadWater,

I reinstalled it with xiwi this time...

You took the long way around, I said add the 'xiwi' target/xmethod but, never the less...
You start it the same way you always do but this time, since 'xiwi' is the default xmethod, it will use it instead of 'xorg', like so -

To start in a window: sudo startxfce4 -n xenial
To start in a fullscreen: sudo startxfce4 -n xenial -X xiwi-fullscreen
To start in a tab: sudo startxfce4 -n xenial -X xiwi-tab (my favorite)

And if you want to use 'xorg' again instead, assumng you installed it too, use this -

To start in a fullscreen: sudo startxfce4 -n xenial -X xorg

Hope this helps,
-DennisL

Sorry if I sound like an idiot, I am not well versed in this at all. I so appreciate your help on this. I had thought that startxiwi was the way to go, I was kind of just going on a whim though. I feel like I'm really close to getting this going, but, what does this error:
/mnt/stateful_partition/crouton/chroots/xenial does not contain target 'xfce'
mean? My guess is that it means that when I was reinstalling with xiwi, I messed something up and didn't install xfce. Can I just add it as a target (Like I should have done with xiwi in the first place)? If so, what would be the command to do that?
Thanks again!

@MrBreadWater,

My guess is that it means that when I was reinstalling with xiwi, I messed something up and didn't install xfce.

That's my guess too at this point but it's only a guess. To be sure tho, we'll need to see the output of:
sudo edit-chroot -l xenial

Can I just add it as a target (Like I should have done with xiwi in the first place)? If so, what would be the command to do that?

Yes, you can add any target to an exisitng chroot with an update using the '-u' option.
To add 'xiwi' to an 'xenial' chroot with 'xorg' use this -
sudo sh ~/Downloads/crouton -n xenial -t xiwi -u
Hope this helps,
-DennisL

Here is the output:
name: xenial
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/xenial...
crouton: version 1-20170901092920~master:0216f9d1
release: xenial
architecture: armhf
xmethod: xiwi
targets: xiwi
host: version 9592.94.0 (Official Build) stable-channel daisy
kernel: Linux localhost 3.8.11 #1 SMP Tue Sep 12 13:52:25 PDT 2017 armv7l armv7l armv7l GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...

@MrBreadWater,
Yup, as we expected there is trouble in River City. :)
Just add your xfce desktop target with an update like this -
sudo sh ~/Downloads/crouton -n xenial -t xfce4 -u
For the 'xiwi' xmethod you'll also need to install the 'crouton integration' extension from the Chrome Web Store.
If you want to add 'xorg' again to this chroot but leave 'xiwi' as the default xmethod then update it like this -
sudo sh ~/Downloads/crouton -n xenial -t xiwi,xorg,xfce4 -u
Once the update completes successfully you can start your chroot using the methods I showed above in https://github.com/dnschneid/crouton/issues/3415#issuecomment-331038413
Hope this helps,
-DennisL

@DennisLfromGA
That worked. It said something about not being able to move a log file at first, and that kept it from starting up, but I went ahead and deleted it, and finally I got this working. Thanks so much!

Awesome and your welcome.


Fix #1: Port Needle.v to Coq 8.6-8.8

Problem: Coq >= 8.6 does not recognize the intro pattern (), which also does not
appear documented in Coq 8.5.3 reference
manual. So I guessed what to use instead.
Testing on the examples confirms that they all compile when replacing ()
with [] (which causes a pattern match on the variable namespace). I also tried
? to replace (), but some lemmas failed.
Logistically, this PR only updates the master copy of Needle.v, not the dup in examples/ — PR #4 removes the extra copy anyway.
This fixes #1 enough to allow the generated code to compile (tho with warnings). But the rest of the needle proofs from the ESOP'17 submission fail, and I can't exclude that fixing them require changes to Needle.
Here's one example, with Coq 8.6.0 (tho results seem the same on all proofs across 8.6.0-8.8.2):
/Library/Developer/CommandLineTools/usr/bin/make -j -f Makefile.coq
COQC LambdaOmega.v
File "./LambdaOmega.v", line 2043, characters 0-2410:
Warning: Not a fully mutually defined fixpoint
(e.g., TRed_wf_1 and TRed_wf_0 are not mutually dependent).
Well-foundedness check may fail unexpectedly.
 [non-full-mutual,fixpoints]
File "./LambdaOmega.v", line 2070, characters 0-1157:
Warning: Not a fully mutually defined fixpoint
(Kinding_wf_1 and Kinding_wf_0 are not mutually dependent).
Well-foundedness check may fail unexpectedly.
 [non-full-mutual,fixpoints]
File "./LambdaOmega.v", line 2086, characters 0-1056:
Warning: Not a fully mutually defined fixpoint
(e.g., TRedStar_wf_1 and TRedStar_wf_0 are not mutually
dependent).
Well-foundedness check may fail unexpectedly.
 [non-full-mutual,fixpoints]
File "./LambdaOmega.v", line 2104, characters 0-2740:
Warning: Not a fully mutually defined fixpoint
(TyEq_wf_2 and TyEq_wf_0 are not mutually dependent).
Well-foundedness check may fail unexpectedly.
 [non-full-mutual,fixpoints]
File "./LambdaOmega.v", line 2137, characters 0-1148:
Warning: Not a fully mutually defined fixpoint
(Typing_wf_1 and Typing_wf_0 are not mutually dependent).
Well-foundedness check may fail unexpectedly.
 [non-full-mutual,fixpoints]
File "./LambdaOmega.v", line 2181, characters 0-61:
Warning: obligation_Env_reg_TRed is declared as a local axiom
[local-declaration,scope]
COQC DeclarationEvaluation.v
COQC MetaTheory.v
File "./MetaTheory.v", line 278, characters 4-56:
Error: Unable to find an instance for the variables S1, S2.
make[2]: *** [MetaTheory.vo] Error 1
make[2]: Target `all' not remade because of errors.
make[1]: *** [coq] Error 2
make: *** [lomega] Error 2

I took the liberty of uploading to https://github.com/Blaisorblade/knot-esop-2017-case-study/ for convenience, tho strictly speaking nobody can use those files as they have no license.

Here's a log of the results of the evaluation with this fix: https://gist.github.com/Blaisorblade/60bf54e17c08ce82e53427e7fa3858f0/696b6665c9f83ff516d8160a4c394c9ba5c02c66


ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time     at emitExperimentalWarning (node:internal/util:224:11)

在部署时运行npm run start，报错如下，请教一下，有解决办法吗？
(node:119144) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
at emitExperimentalWarning (node:internal/util:224:11)
at node:stream/web:7:1
at NativeModule.compileForInternalLoader (node:internal/bootstrap/loaders:312:7)
at NativeModule.compileForPublicLoader (node:internal/bootstrap/loaders:252:10)
at loadNativeModule (node:internal/modules/cjs/helpers:49:9)
at Function.Module._load (node:internal/modules/cjs/loader:804:15)
at Module.require (node:internal/modules/cjs/loader:999:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/cnpmjs/cnpmcore/node_modules/undici/lib/fetch/response.js:30:53)
at Module._compile (node:internal/modules/cjs/loader:1095:14)

node 升级到 >=16 版本。

目前node是v17.0.0版本，是否版本过高了

当前替换为16.0版本执行会有，但由于不熟悉该代码，不知道怎么调试，希望能指导一下
[egg-scripts] Starting egg application at /cnpmjs/cnpmcore
[egg-scripts] Run node --no-deprecation --trace-warnings --require /cnpmjs/cnpmcore/node_modules/source-map-support/register.js /cnpmjs/cnpmcore/node_modules/egg-scripts/lib/start-cluster {"baseDir":"/cnpmjs/cnpmcore","framework":"/cnpmjs/cnpmcore/node_modules/egg","title":"egg-server-cnpmcore"} --title=egg-server-cnpmcore
[egg-scripts] Save log file to /root/logs
[egg-scripts] Wait Start: 1...
[egg-scripts] Wait Start: 2...
[egg-scripts] Wait Start: 3...
[egg-scripts] Wait Start: 4...
[egg-scripts] Wait Start: 5...
[egg-scripts] Wait Start: 6...
[egg-scripts] tail -n 100 /root/logs/master-stderr.log
[egg-scripts] Got error when startup:
[egg-scripts] 2023-05-04 17:13:00,632 ERROR 46308 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] Error: write EPIPE
[egg-scripts]     at process.target._send (node:internal/child_process:849:20)
[egg-scripts]     at process.target.send (node:internal/child_process:722:19)
[egg-scripts]     at Function.send (/cnpmjs/cnpmcore/node_modules/egg-cluster/lib/utils/mode/impl/process/app.js:45:13)
[egg-scripts]     at Object. (/cnpmjs/cnpmcore/node_modules/egg-cluster/lib/app_worker.js:40:11)
[egg-scripts]     at Module._compile (node:internal/modules/cjs/loader:1108:14)
[egg-scripts]     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
[egg-scripts]     at Module.load (node:internal/modules/cjs/loader:988:32)
[egg-scripts]     at Function.Module._load (node:internal/modules/cjs/loader:828:14)
[egg-scripts]     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
[egg-scripts]     at node:internal/main/run_main_module:17:47
[egg-scripts] 2023-05-04 17:13:00,649 ERROR 46231 [app_worker] exit with code:1
[egg-scripts] 2023-05-04 17:13:00,649 ERROR 45999 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,654 ERROR 45851 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,656 ERROR 45858 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,675 ERROR 45816 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,702 ERROR 45774 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] Error: write EPIPE
[egg-scripts]     at process.target._send (node:internal/child_process:849:20)
[egg-scripts]     at process.target.send (node:internal/child_process:722:19)
[egg-scripts]     at Function.send (/cnpmjs/cnpmcore/node_modules/egg-cluster/lib/utils/mode/impl/process/app.js:45:13)
[egg-scripts]     at Object. (/cnpmjs/cnpmcore/node_modules/egg-cluster/lib/app_worker.js:40:11)
[egg-scripts]     at Module._compile (node:internal/modules/cjs/loader:1108:14)
[egg-scripts]     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
[egg-scripts]     at Module.load (node:internal/modules/cjs/loader:988:32)
[egg-scripts]     at Function.Module._load (node:internal/modules/cjs/loader:828:14)
[egg-scripts]     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
[egg-scripts]     at node:internal/main/run_main_module:17:47
[egg-scripts] 2023-05-04 17:13:00,718 ERROR 46541 [app_worker] exit with code:1
[egg-scripts] 2023-05-04 17:13:00,734 ERROR 45894 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,735 ERROR 45823 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,737 ERROR 45746 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,748 ERROR 46013 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,754 ERROR 45698 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,762 ERROR 45739 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,775 ERROR 45908 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,800 ERROR 45704 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,801 ERROR 45717 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,810 ERROR 45914 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,825 ERROR 45795 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2023-05-04 17:13:00,827 ERROR 46287 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false

比如配置了同步模式为all,报错会有不同，
[egg-scripts] Error: write EPIPE
[egg-scripts]     at process.target._send (node:internal/child_process:849:20)
[egg-scripts]     at process.target.send (node:internal/child_process:722:19)
[egg-scripts]     at Function.send (/cnpmjs/cnpmcore/node_modules/egg-cluster/lib/utils/mode/impl/process/app.js:45:13)
[egg-scripts]     at Object. (/cnpmjs/cnpmcore/node_modules/egg-cluster/lib/app_worker.js:40:11)
[egg-scripts]     at Module._compile (node:internal/modules/cjs/loader:1108:14)
[egg-scripts]     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
[egg-scripts]     at Module.load (node:internal/modules/cjs/loader:988:32)
[egg-scripts]     at Function.Module._load (node:internal/modules/cjs/loader:828:14)
[egg-scripts]     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
[egg-scripts]     at node:internal/main/run_main_module:17:47
[egg-scripts] 2023-05-04 17:22:42,551 ERROR 51230 [app_worker] exit with code:1
[egg-scripts]
[egg-scripts] Start got error, see /root/logs/master-stderr.log
[egg-scripts] Or use --ignore-stderr to ignore stderr at startup.

目前已解决运行问题，想咨询一下是否有web管理功能，暂未找到相关参考代码

网页管理能力较为重要的一环

web 控制面目前没有做

大佬，https://npmmirror.com的数据统计及搜索网页，部署应该参考那部分内容呀


merge forward from stable/newton

@dflanigan
What issues does this address?
Fixes #1021

@pjbreaux note that @ssorenso and @jputrino have examined their changes.
Here's a link to the gumballs and jenkins results of testing unit-tests make target against master:
http://trtl.pdbld.f5net.com/gumballs/programs/openstack/projects/openstack.agent.master.unit-tests/
http://<IP_ADDRESS>:49001/job/openstack/job/agent/job/master/job/unit-tests/5/


Allow reading only a limited range of a file

At the moment GetObject() will directly initiate a GET request for the whole object. I regularly only need a small portion of the object, when calling Seek() and Read() or ReadAt() a second GET request with a byte range is sent to the server. The first request is then aborted as soon as Close() is called, but at least the beginning of the file is always sent by the server, which wastes bandwidth and memory on the client.
I'd like to be able to only request a range of a file.

Thanks!


Make sure to publish source with releases

Looks to me like there's no source jar in alpha2 or alpha3. That's  a drag, can we fix it?

Not so!
http://repo1.maven.org/maven2/com/squareup/flow/flow/1.0.0-alpha2/
http://repo1.maven.org/maven2/com/squareup/flow/flow/1.0.0-alpha3/


Fix(web-twig): Unifying Link implementation

twig implementation is different compared to react and html.. that's why I unify.

I've checked all implementations in Storybook and on the Demo page there is no single link class usage. So LGTM.
@crishpeen @adamkudrna Please, confirm, that there is no unintentional usage of link class that we've been missing. Thanks.


fix/docker-method/seed_and_clean

Fix seed and clean up on docker-method

Thanks for opening a pr 😄 . Going to have a look and merge it if it looks good

Had an issue on my M1 mac and founded this solution to make it work (but working well on linux distro). With pleasure to discuss to it.

Okay had time to look at it. So the issue was the MongoDB was not seeded correctly? Because my approach is different from yours. Both are valid to me, but if mine doesn't work we could use yours with some changes. My approach was to seed the database on start
volumes:
      - './seed.js:/docker-entrypoint-initdb.d/mongo-init.js:ro'

hence the script. Yours is to do it programmatically. So the reason is this one ?

Had an issue on my M1 mac and founded this solution to make it work (but working well on linux distro). With pleasure to discuss to it.

If so I am happy with your solution. Just some changes

remove the volume from docker-compose
we could change the file into .ts,
and import it after

wdyt ?

Sounds great!
I can’t still figure it out why the seed command is not working with my M1 chip. Maybe a docker-compose version for Mac?

On 14 Dec 2021, at 17:26, Georgios Kampitakis @.***> wrote:
Okay had time to look at it. So the issue was the MongoDB was not seeded correctly? Because my approach is different from yours. Both are valid to me, but if mine doesn't work we could use yours with some changes. My approach was to seed the database on start
volumes:
- './seed.js:/docker-entrypoint-initdb.d/mongo-init.js:ro'
hence the script. Yours is to do it programmatically. So the reason is this one ?
Had an issue on my M1 mac and founded this solution to make it work (but working well on linux distro). With pleasure to discuss to it.
If so I am happy with your solution. Just some changes
remove the volume from docker-compose
we could change the file into .ts,
and import it after
wdyt ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/gkampitakis/mongodb-jest-testing/pull/1#issuecomment-993714082, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANEIAPY7OYWL5JA62EWDY5DUQ5V2RANCNFSM5KATRR4A.

Great, thanks for noticing this issue and sending a pr 🚀


Remove the solution level packages

Summary
Solution level packages have been deprecated here: https://github.com/NuGet/Home/issues/522#issuecomment-98845250
Currently the packages.config doesnt do anything can can be removed.

Done by @Barsonax in PR #635. Closing this.


Updated EB Garamond with real upstream source and newer version.

This was previously just an outdated Google Web Font source with just regular, now from proper source and the latest version.

Yes, Google Web Fonts were a great way to seed the repo, but Google usually lags the upstream.  There are actually hundreds here that could be updated as you have done for this one.
Many thanks!


Roll engine dcc72c7176bc..fcc63e7d0d90 (3 commits)

https://github.com/flutter/engine/compare/dcc72c7176bc...fcc63e7d0d90
git log dcc72c7176bcaa9fc9fa3798542f764ca6fe4ebc..fcc63e7d0d90c968cd330738389b3da58ab45c75 --no-merges --oneline
fcc63e7d0 Roll src/third_party/skia 2e2fa9e3a06b..cd54466473fe (2 commits) (flutter/engine#8291)
1b1209881 Roll src/third_party/skia c9f746cfb9f4..2e2fa9e3a06b (1 commits) (flutter/engine#8290)
b5813917f Roll src/third_party/skia e9a53fe3526a..c9f746cfb9f4 (1 commits) (flutter/engine#8288)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5088298937614336

Commit queue failed; closing this roll.


Extra info for AppTP retention

Task/Issue URL: https://app.asana.com/0/488551667048375/1202394218194629/f
Description
See asana task for more context
Steps to test this PR
Check pixels

[ ] install from this branch

Current dependencies on/for this PR:

develop

PR #1984   👈

This comment was auto-generated by Graphite.


Add an early callback

Checklist

[x] documentation is added or updated
[x] tests are added or updated
[x] CLA is signed

Description of change
Implement an early callback similar to BoringSSL's select_certificate_cb, allowing for SNI processing and server certificate selection prior to session resumption and version negotiation.
The chosen API (with opaque structure and accessors, rather than public structure) differs from BoringSSL's, in order to remain consistent with most other OpenSSL APIs, and retain the trend of opaque data structures that facilitate ABI stability.  This also should make it easier to backport the API to 1.1.0 if desired.
The WIP label will remain until tests are added, but other interesting questions include:

should the raw clienthello bytes be exposed at all?

Is now the time to implement a TLS extension type to index lookup, to avoid having to loop over the preprocessed extensions?

What level of support should SSLv2 clienthellos get from this API?  (I am not much of an expert on the SSLv2 wire protocol, so the current support is likely lacking.)

Should we expose the alert to send to the callback, or even allow the callback to terminate the connection at all?

cc @mattcaswell

I guess also:

Should the callback be able to mark an extension as "processed"

I also got one request out of band to more clearly document the callback's responsibility to handle SSLv2 ClientHellos more clearly.

I notice this callback is blocking only and does not have a way to pause the state machine like cert_cb does. You could imagine situations where looking up the certificate or other configuration needs to be asynchronous.
For instance, Node.js's SNICallback here is asynchronous. Looks like they currently query SSL_get_servername from cert_cb (which does support this), but this hits the session resumption ordering issues alluded to in your man page. @indutny may be able to speak to Node's needs more.

Is now the time to implement a TLS extension type to index lookup, to avoid having to loop over the preprocessed extensions?

I too twitch when I see such O(N) calls. :-) But I don't think it actually matters for this. There's no reason to ever write code like:
for (uint16_t ext = 0; ext < 0xffff; ext++) {
  SSL_EARLY_get0_ext(ssl, ectx, ext, ...);
  ...
}

The callback would ultimately only query the three or five specific extension types it cares about, so it wouldn't go quadratic.

What level of support should SSLv2 clienthellos get from this API? (I am not much of an expert on the SSLv2 wire protocol, so the current support is likely lacking.)

One detail to note is the cipher list format is different (2-byte vs 3-byte cipher values), so you'll need to decide whether you convert internally or force the caller to handle both cases. (Our callback acts after V2ClientHellos are converted to SSLv3/TLS ClientHellos, so the callback never sees V2ClientHellos. Though I see OpenSSL 1.1.x uses a different strategy for V2ClientHello now.)
The random is also different, but less likely to trip callers up (or even be queried): in SSLv3/TLS it has fixed size, while in a V2ClientHello, the size is variable.

Should the callback be able to mark an extension as "processed"

Why? What would that do?

Should the callback be able to mark an extension as "processed"

Why? What would that do?

The idea was to prevent the builtin processing of that extension from taking place, though I realize now that I may be misremembering what that field in the structure is used for.

I'd like to sincerely ask you to consider doing asynchronous version of this. There is just no functionality that can substitute this, and both Node.js and bud need this to some extent.

The idea was to prevent the builtin processing of that extension from taking place, though I realize now that I may be misremembering what that field in the structure is used for.

That sounds undesirable. Extensions aren't independent sub-protocols; they're how we add new ClientHello fields. These may or may not interact. (Of course, we usually make them not interact because it's simpler that way, but not always. The crypto negotiation extensions used in TLS 1.3 are fairly coupled together.)
If you have two extensions which do interact, having a low-level "prevent built-in processing" knob means you expose implementation details. Perhaps you happen to implement it such that feature X is keyed on extension A rather than B.
It's also not clear to me why you'd want to do that anyway. I can imagine "please disable high-level feature X", but that should be done by having an API to disable said feature, not by shutting off low-level extensions via this callback.

prevent the builtin processing of that extension

That sounds undesirable.

Yeah, I was pretty sure I didn't want it, but figured I could mention it explicitly so we consciously decide to not do it.

We don't want to prevent the builtin processing.
If someone needs to do that, hack the source.

One detail to note is the cipher list format is different (2-byte vs 3-byte cipher values)

#2280 seems relevant

Does anything even send SSLv2-compatible ClientHellos any more?

All session handling is done via the initial_ctx/session_ctx (ugh, two names for the same thing), so, if you want to change how resumed sessions are handled, an API to change the initial_ctx/session_ctx needs to be proposed. Right now, sessions from different virtual servers may share the same resumption database (and ticket crypto). This may be desirable if those virtual servers are on the same machine, but not so much if certificate authentication is being used.

Does anything even send SSLv2-compatible ClientHellos any more?

We recently added code to get some data on our end. I would love to lose the V2ClientHello code, but I'm not optimistic.

Just to re-state my inquiry, it would be great if this could work asynchronously.

Just to re-state my inquiry, it would be great if this could work asynchronously.

Acknowledged.  Last week was a bit busy around here...
(Also it looks like it will need a little bit of re-plumbing compared to cert_cb.)

if you want to change how resumed sessions are handled, an API to change the initial_ctx/session_ctx needs to be proposed

I am a little reluctant to add that into this changeset (which is going to be getting bigger once I add the ability for the callback to be async and tests.  It seems like it could potentially be done as a follow-up change, if there is even consensus from the team that it should be done.

It's really more of a question, is modifying session resumption part of the intended functionality? If yes, then an API will need to be introduced.

No async yet (still considering options), but this adds tests and exposes a helper to convert raw cipherlist octets into SSL_CIPHERs, that would probably be useful enough to applications to be worth exposing.
Removing the WIP label to seek more review, though I expect there will be several things that need changing (not least, to be compatible with the various no-foo options; hopefully travis will help with that).

The latest push is just the minor fixes and making SSL_bytes_to_cipher_list() "pure" -- async is still WIP.
But, it seems that the way to do that is to move the last ~half of tls_process_client_hello() (the early callback and later) into a separate function and do all that stuff from the "post_work" portion of the state machine.
(Matt notes that this will require adding a new WORK_MORE_X state.)

And, landed the async functionality.
The sslv2-in-sslv2 test currently fails since we now send an alert and the test is expecting no alert.  (This is a side effect of the refactoring, as there's not an easy no-alert error path from the subroutine moved from the "processing" to the "post-processing" stage.  Should we just adopt the test to the new behavior?
I also took out the raw clienthello bytes as direct arguments to the early callback, as it got in the way of the refactoring needed for the async behavior, and I was not entirely keen on it in the first place.  (This does not preclude us from later adding an accessor to get the raw bytes, of course, it just helps motivate people to use the accessors instead of rolling their own parser.)
@mattcaswell please take another look

Decided to not push -f for this round of changes; please let me know if/when I should rebase/squash.
(Not everything that could be squashed is explicitly noted as such in the commit message.)

(Had to put the clienthellomsg_st tag back, as I misremembered how things were implemented; sorry for the force-push, though it only affected the last commit or two.)

Okay, plumbed in a test of the stop-and-restart functionality into sslapitest.
I think this is the last of the changes @mattcaswell requested.  Let me know if you want me to rebase and/or squash before you look again.

This needs a rebase to catch up with some changes on master, FWIW (I have done so locally already but held off on pushing).  And if @mattcaswell confirms that it's on his radar I promise to not pester him about it for a while (a week?).

Also looks like there are some interesting travis failures being reported...mem leaks?

Yes, mem leaks, it looks like.

I could believe that the 1.3 client is sending the new 1.3 ciphersuites and that's tripping up the hardcoded expectations.

Nope, looks like the client is not sending any 1.3-permitted ciphers but the server is still trying to pick TLS 1.3 (?!).  On the one hand, this is a rather silly set of ciphers for the client to send, but should the server really be picking TLS 1.3 when there are no supported ciphers?

should the server really be picking TLS 1.3 when there are no supported ciphers

Yes. I think it's reasonable to consider that a client misconfiguration and fail that. (Or rather you pick the version first and then fail to pick a cipher in the usual way.) In a future where clients and servers implement the downgrade sentinel, that kind of server fallback wouldn't work anyway. Also it adds complexity.

@davidben that seems to imply that openssl should not claim to support 1.3 as a client when it accepts a user-supplied cipher string that does not include 1.3-permitted ciphers.

I suppose that's part of the TLS 1.3 cipher suite story that I think is still TBD for you all? On our end, not having to deal with this was a large motivator in deciding to decouple TLS 1.3 ciphers from the cipher string. We briefly tried saying that if you want TLS 1.3 you're responsible for making sure your other settings are consistent, which is normally true. But for cipher suites, that nearly immediately showed itself to be a deployment nuisance.

rebased yet again to pick up the no-ec fixes on master; on top of that, plug the memory leak and fix no-ec for these changes.

Conflicts again :-)

rebased again; also moved tls_early_post_process_client_hello() to be next to the tls_process_client_hello() it was split from (as opposed to being next to the tls_post_process_client_hello() that it's now "part of"), to help git figure out what is going on -- it got confused because the code that Steve changed was considered "moved code" by the early callback change, whereas really it was the tls_early_post_process_client_hello() code that was moved, but git picks the shorter diff, for better or for worse.

@mattcaswell did you have other things to say than just noting the conflicts, or do you just need more time?  (I feel like you were focused on other things for the past couple days, and rightly so...)

rebased, 'make update', and squashed.  Now we need to conjure up a second reviewer ... should we ask @richsalz ?

Not me; someone from a different organization is better.

From a different organization?  Isn't @mattcaswell good enough?

By our intended policy, yes.  But I am going to try to avoid doing so when possible

I'm seeing a test issue in the builds.  The SNI test is failing...

I'm seeing a test issue in the builds. The SNI test is failing...

Okay, I'll rebase and take a closer look.

Post-rebase, I can't reproduce the SNI test failure (I think we were running into the issue fixed by e4a3d0f96800e578ddb76dcc387125df65641500), but a local --strict-warnings build did find a couple of issues with the last commit, that are fixed and squashed.
(It turns out that there are no sequence points in the RHS of "len = (*(p++) << 1) + *(p++);", so the presence of two p++ is potentially undefined behavior.)

Hmm, just a doc-nits issue from travis, apparently.

you must fix all doc nits you know :)

Thanks for the pointer about the space in ') (', @levitte , that would have been rather nonobvious from the given error message.
I went with the [skip ci] route rather than push -f, since the CI seems to have quite a backlog.

Who should merge it?

Per standard practice, it will usually be one of the reviewers.  It must be someone on the team of course :)

I can do it.

Merged!  fc5ece2ee4c7ef41759c2267eccbe08df3245721 ..  2afaee5193c3f567ea00ad613f3ee82f985b7141

(I did some editorial work...  the last commits were obviously fixups, so I squashed them with the appropriate original commits)


Loosen predicate on uri and uriComponent inverse...

...to allow not just strings, but also booleans and numbers to be encoded
directly.

Codecov Report

Merging #189 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #189      +/-   ##
==========================================
+ Coverage   99.84%   99.84%   +<.01%
==========================================
  Files           1        1
  Lines        1251     1256       +5
==========================================
+ Hits         1249     1254       +5
  Misses          2        2

Impacted Files
Coverage Δ

dist/partial.lenses.cjs.js
99.84% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Enable dev mode container option

Enable -Dcontainer (for Maven) and --container (for Gradle) options as the entry point to run dev mode with a server on a container.

Done


Documentation should suggest using the default conda channel

PyWavelets is now available (as of about a month ago) with conda from the default channel. Is there any reason the documentation shouldn't be updated to recommend installation this way versus using the conda-forge channel?

agreed.  a PR for this would be welcome


Are there any plans to update for new SCA Stripe Checkout?

As far as i researched, react-stripe-checkout is not planning on updating to update to new Stripe Checkout

Yes! I'm in the process of doing this right now.


Is it necessary to have a Service User Account to deploy an ASP.NET Core Application as a Windows Service?

I have been developing custom API services and hosting them on a windows server as windows services; of course, it's reached a point where the work has become tedious and redundant not to mention very buggy and insecure. So now am exploring ways of leveraging the advantages of ASP.NET Core while still deploying them as windows services. What I can't understand is the purpose of setting up Service User Accounts is it necessary? What is the importance of this? Can I skip the User Account step and just deploy them manually without the need for a User Account?

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

ID: b0bd8cb8-7e28-8c4d-a550-3aea8f3ab4dd
Version Independent ID: 4b60d24e-ef05-15e5-10b4-483094081bf3
Content: Host ASP.NET Core in a Windows Service
Content Source: aspnetcore/host-and-deploy/windows-service.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @j0nimost ... All services run as some user. The guidance recommends creating a service user account in order to control (limit) the service's access to resources on the system. You grant access to the service user account for only those resources required for the service to perform its functions. If the service were to be compromised by an attacker (or even if the service were badly coded), the damage to the whole system is limited to the restricted scope of the account that the service runs under.
Although you can run a service under the LocalSystem account, it isn't recommended because it gives the service extensive privileges on the system and thus is much more risky.

@guardrex This makes sense, thank you for this eye-opener


feat: add hour & minute start/end

This PR introduces some new start and end functions for setting a date object to the end of an hour and minute.

Thank you!


Load GitHub users list at startup for improved authentication performance

This PR implements loading the GitHub users list at startup instead of during each authentication request. This change improves the performance of the authentication process.

Going to merge this but lifespan looks neat


build error

1>------ 已启动生成: 项目: grpc_dll, 配置: Release Win32 ------
1>grpc.def : error LNK2001: 无法解析的外部符号 census_set_trace_mask
1>grpc.def : error LNK2001: 无法解析的外部符号 census_trace_mask
1>grpc.def : error LNK2001: 无法解析的外部符号 census_trace_print
1>grpc.def : error LNK2001: 无法解析的外部符号 grpc_slice_buf_cmp
1>F:\grpc\vsprojects\Release\grpc_dll.lib : fatal error LNK1120: 4 个无法解析的外部命令
========== 生成: 成功 0 个，失败 1 个，最新 2 个，跳过 0 个 ==========

@nicolasnoble  where are those 4 methods? Are they generated on the fly?
Thanks

Have the same link errors, tested in 1.2.3 and also 1.2.0. There is no definition for those methods. just declaration with no implementation.

It seems that those 4 methods aren't called anywhere, so I just commented their export declaration in grpc.deffile:
;census_trace_mask
;census_set_trace_mask
;census_trace_print
;grpc_slice_buf_cmp

This one was fixed a long while ago.


add shellcheck test

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

Add a test using shellcheck. It's set at errors right now, but overtime we can output at warning to bring the shell scripts up to a higher standard :)

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

Codecov Report

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

@@           Coverage Diff           @@
##           master      #27   +/-   ##
=======================================
  Coverage   89.82%   89.82%
=======================================
  Files           8        8
  Lines         875      875
=======================================
  Hits          786      786
  Misses         58       58
  Partials       31       31

Continue to review full report at Codecov.

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


Specifying files under ios/android in airOptions ignores files directly under airOptions

So it seems that if you specify an asconfig similar to the following:
"airOptions": {
        "files": [
            // base spritesheet
            { "file":"assets/sprites/mysprite.atf", "path":"assets/mysprite.atf"},
            { "file":"assets/sprites/mysprite.xml", "path":"assets/mysprite.xml"},
        ],
		"android": {
			"files": [
            // android spritesheet
            { "file":"assets/sprites/android .atf", "path":"assets/android .atf"},
            { "file":"assets/sprites/android .xml", "path":"assets/android .xml"},
            ]
		}
}

Then the files specified under airOptions directly are ignored and only the files specified under android (or iOS) are added. That is to say, android.atf is added, but mysprite.atf is ignored.
Is this intentional?

Yes, it's intentional. When you specify a platform section, like ios or android, each option completely replaces the one specified in airOptions. They are not merged.

OK gotcha. Would it not make sense to allow both though? Or maybe I'm just using it wrong.
I like to keep the splash screen and iOS-specific icons under the ios section and the generic stuff like spritesheets (which apply to both Android and iOS) in the main section. Is there another way I should be doing that?

There is not a way to avoid duplicates when you have multiple platforms. However, it does support specifying entire folders, so you could limit the number of duplicates that are required by putting all of your shared assets in a single same folder.

I didn't create an issue for that, but I had no success including whole folders. It just didn't see the files on compilation, so I resorted to individually naming every file
// Fonts
            { "file":"assets/fonts/Proxima.png", "path":"assets/fonts/Proxima.png"},
            { "file":"assets/fonts/Proxima.fnt", "path":"assets/fonts/Proxima.fnt"},
            { "file":"assets/fonts/novecentowidebold.png", "path":"assets/fonts/novecentowidebold.png"},
            { "file":"assets/fonts/novecentowidebold.fnt", "path":"assets/fonts/novecentowidebold.fnt"},
            { "file":"assets/fonts/arial.png", "path":"assets/fonts/arial.png"},
            { "file":"assets/fonts/arial.fnt", "path":"assets/fonts/arial.fnt"},
            { "file":"assets/fonts/Oswald2.png", "path":"assets/fonts/Oswald2.png"},
            { "file":"assets/fonts/Oswald2.fnt", "path":"assets/fonts/Oswald2.fnt"},
            { "file":"assets/fonts/OswaldLight.png", "path":"assets/fonts/OswaldLight.png"},
            { "file":"assets/fonts/OswaldLight.fnt", "path":"assets/fonts/OswaldLight.fnt"},

With the above I originally just had the fonts folder included, but it wouldn't read them.

I distinctly remember that including folders was broken in the past, but then I fixed it, so it should be possible.
However, I've always found that it can be tricky getting the paths correct when including any extra files in an AIR app. They don't always end up where I expect in the apk/ipa file, so I try a few random paths resolved from File.applicationDirectory and nothing seems to work. I find that I always end up unzipping the apk/ipa to double-check where things have actually ended up, and then it's easier.

All good, I'll stick to files for now. Thank you


Logging improvements for better telemetry

Description
Adding function name when loading and catching type error for the path error (as reported in #792).

Fixes #792

PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which has an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] If applicable, the PR references the bug/issue that it fixes in the description.
[ ] New Unit tests were added for the changes made and CI is passing.

Quality of Code and Contribution Guidelines

[x] I have read the contribution guidelines.

The PR looks good and I approve it now. Please fix the azure_functions_worker/loader.py:30:17: E126 continuation line over-indented for hanging indent before merge. Thanks 👏


Figure out what's causing extra logging

In the logs we'll see two entries for some events...

16/10/26 17:01:05 INFO client.JobClientActor:291 - 10/26/2016 17:01:05    Job execution switched to status FINISHED.
10/26/2016 17:01:05   Job execution switched to status FINISHED.

The first one is going through our regular Log4J setup (uses log4j.properties settings). The second one was showing up even when we didn't have a log4j.properties file, which makes me think it's using some other logging system.

No longer appearing in logs - fixed in Flink?


Added \dndcoverpage command. Installation of AndadaSC font recommended.

If you don't have AndadaSC installed (available here; install into TEXMF/fonts/opentype/andada), the NotoSerif font will be used. It's doesn't look as good as AndadaSC, but it'll avoid compile crashes.
\dndcoverpage command has two mandatory arguments, the first one being the title itself, and the second one being the background image (which should ideally be in the same format that your document is using, otherwise it will get stretched and look ugly).
You can also specify optional arguments by passing in key-value-pairs. Available are width, offsetX, offsetY, fontsize and outlineWidth.
The width specifies how wide your title can get. Default is 0.7\paperwidth, i.e. 70% of the page width.
The x- and y-offset specify how far off from the page center you want your title to be. Defaults are 0.
The fontsize should be self-explanatory (default is 50), and the outline width specifies the thickness of the text's outline (default 2pt).
Usage example:
\dndcoverpage[fontsize=80, offsetY=9]{My Title}{background.jpg}

I like the contribution (and especially seeing an implementation with pgfkeys), but I am not sure this is generic enough to apply to a wide range of users. Looking at the https://www.dmsguild.com/ site, not many seem to have a cover page that fits this format, and the products on the wiki that were specifically generated with this package don't use this format.
@benwebber, @Vladar4, @raphael-proust, what do you think?

I am not sure this is generic enough to apply to a wide range of users

Agree. The command is useful for sure, but I'd rather see it with an option to set the desired style from a range of, at least default, full (the suggested one), classic, etc.
Though it looks like current implementation allows placing additional text and graphic elements on top of the cover image, so this is good and will suffice as a starting point.
Also, not sure if I like the non-standard font requirement.

The current version is obviously expandable, using key-value-pairs or separate commands to replicate templates provided by DM's Guild. I developed the command for what I currently want to have for my private, non-DM's-Guild oneshot, so it's merely inspired by DM's Guild products.
Notably, however, the default template that you linked above explicitly states

This file includes a Word template which you are licensed to use in content submitted to the Dungeon Masters Guild program and published under the Community Content Agreement for the DMs Guild program. You are not licensed to use the template for any other purpose. All art owned by Wizards of the Coast.

Hence, we could maybe implement a similar template, but without the copyright notice, DM's Guild logo etc. (seeing as anybody can download the dnd package and use it for other purposes than for publishing DM's Guild products). I'm not too familiar with the DM's Guild release process, so I don't know if there's a set of predefined templates that you have to adhere to. I'll take a look at that later.
I suppose it's possible to create a template with several blanks that can be copy-and-paste-filled with the DM's Guild template, but that's a somewhat makeshift solution.
Potentially, someone could reach out to DM's Guild to inquire a special permission to include the template in this package. I wouldn't be too hopeful there, though.
@Vladar4 As a side note, the font I'm using (AndadaSC) is the one recommended by the default template that you linked above.

I went through the highest-rated and the most popular 5th-edition adventures available as a PDF on DM's guild, and put together a list of the most frequent layouts / style elements on the cover (that is, excluding those that feature a custom, unique design):

There's almost always a title in the top center of the cover. In many cases, it's divided into a title and subtitle (or adventure title / subadventure title), one of which might have a smaller font size or a different color. Overall, however, titles are almost exclusively white with a black outline.
In some cases, "filler words" (such as "of" or "the") are smaller than the rest of the title, or they're even above each other, forming two lines at the same height of the rest of the title, which is on one line (see this example).
In almost all cases, there is a red line below the title; similar to the one that can already be created by the dnd package with the \dndline command, except it's thinning out on both sides.
In some cases, there's text below the line, such as the second half of the title or the author's name.
The (mandatory) DM's Guild logo is usually on the bottom of the page, and in those cases, most often in one of the corners, next to a potential Fantasy Grounds logo. Sometimes (generally in the case of Guild-Adept-published adventures) the logo is also above the title.
Sometimes, there's a little red banner in the lower half of the page, featuring the author's name or the targeted character level(s).
In many cases, there's a small subtext in the lower third of the cover, either providing a short description of the content, displaying the author's name or specifying the targeted character level(s). Sometimes, the text also mentions relevant settings or locations from official D&D products (example: "Defeat the vile lord of vile lordiness in this humerous supplement to the world's greatest roleplaying game". Not an existing example, unfortunately).
For all intents and purposes, the background picture can be assumed to fill the whole page, provided there is a background image. Those adventures that do not feature a background image generally adhere to the template mentioned by @Vladar4 above already. As said before, I don't think it would be a good idea to include a conversion of this template 1:1 in the package, without written permission by DM's Guild.
Other adventures that don't use the official template are not uniform enough to warrant the effort of providing a command for them (besides, they generally don't look particularly good).

As a result of these findings, I'll start working on a cover page template that provides the following features:

Title:

A title that is, by default, horizontally centered and vertically in the top 1/4 of the cover, but can be shifted
An optional red line that will be placed below the title
An optional subtitle (although obviously usable for other purposes, such as the author's name) placed below the title (and by default below the line; optionally above the line)
Text color (not outline) will default to black-and-white. Different text colors can be set using the parameters (in fact, I've already implemented that, since it's really easy).
Titles composed of differently sized parts are the user's responsibility (using e.g. \fontsize{size}{1}\selectfont)
Font size, color, and outline width can be specified individually for title/subtitle.

DM's Guild logo:

Optional, since not all adventures are necessarily going to be released there
Pre-defined locations: bottom left/center/right, and top center
The Logo has to be provided by the user (for copyright reasons; also, it might be replaced by the Guild Adept logo)

Fantasy Ground logo:

Analogous to the DM's Guild logo

Subtext:

Text (by default in a rather small font) placed at the bottom center of the page. I don't see where else this would fit, so I won't be providing alternative locations, aside from x- and y-offset parameters.

Background image:

Will be automatically resized to fill the page
For the time being, mandatory for this cover page command

Banner:

If I can find a suitable, commercially free-to-use image of a banner, I might implement it. No guarantees though.

Once I'm done with this, I'll setup a no-background cover page command or potentially expand the command described above, depending on what will seem more convienent at that point.

@AdrianSchneble Kudos on your extensive research, and thanks for putting so much thought into your first contribution. Welcome to our small, but dedicated group of particularly nerdy Dungeon Masters 🙂
In general, I agree with Brian: it's not possible to provide a command that satisfies the needs of every single user. Because this is something users will definitely want to tweak, I recommend providing a "toolkit" for users instead of a complete abstraction.
I'd start with commands to render the individual components. For example:

Title (as plain text or a TikZ node)
Subtitle (as above)
Red bar

Then, the user could create a title page using the titlepage environment, mixing and matching elements:
\begin{titlepage}
  \dndtitle{Birthdays for Bugbears}
  \dndsubtitle{A rousing adventure for levels 1--5}
  \dndtitlebar%
  \vfill
\end{titlepage}

Once we've got those primitives, we can offer nice standard styles (like your beautiful example) using a wrapper command:
\NewDocumentCommand{dndtitlepage}{...}{%
  \begin{titlepage}
  % Based on arguments, delegate to a plain title page, one with a full background image, etc.
}{%
  \end{titlepage}
}

If the user wasn't fussy, they could do something like this:
\title{Birthdays for Bugbears}
\subtitle{A rousing adventure for levels 1--5}

\begin{document}
  \dndtitlepage{full}  % Renders a title page like the proposed changeset
\end{document}

I think this would be quite hackable, and we wouldn't have to make changes to the implementation very often.

As said before, I don't think it would be a good idea to include a conversion of this template 1:1 in the package, without written permission by DM's Guild.

I don't think we need to worry about the legality of porting the official template to LaTeX. There are lots of versions on the site for other software (InDesign, Scrivener, Pages, etc.). So this could be the basic version, with or without additional logos.

So I did a bit of research to bring me up to speed on the titlepage environment and what it does.
https://tex.stackexchange.com/questions/27543/what-does-the-titlepage-environment-do-and-what-are-its-benefits
From that discussion, my main takeaways were:

It is implemented by each document class rather than latex.ltx.
If the document is in two-column mode, it sets one-column mode for the duration of the environment and restores two-column mode afterwards.
It sets \thispagestyle to empty.
It is called by \maketitle.

So here are some thoughts meant to initiate more discussion.

I think the macro should be renamed to \makedndtitle to more accurately reflect built-in functionality we are trying to mirror.
I think the macro should not have any arguments (but I definitely could be wrong about this). Maybe potential customization should happen through the titling package?
Or maybe this pull request would be better served to be a series of helper macros that wrap the titling functionality, allowing the user to call the native \maketitle? This would seem to me to be the most "LaTeX" way of doing it.
Item 3 would allow us to have multiple helper functions to set up different styles, with \maketitle actually laying out the title page. I do not use '\maketitle` because my title pages are just full-page images set up in the GIMP.
Styles that include copyrighted images, such as for the DMs Guild, need to include filler images (same pixel dimensions but with a blank "X" or text instructions across the image) that would be replaced by authors. We must not distribute copyrighted material.

Thoughts anyone? I have long been interested in a title page solution that incorporated \maketitle and titling, and I think this is most of the way there.

@BrianCriswell Yes, that definitely sounds the most LaTeX way of doing things. If titling offers all the hooks we need to set up some standard styles, then lets use that.
Responding to individual points:

Or maybe this pull request would be better served to be a series of helper macros that wrap the titling functionality, allowing the user to call the native \maketitle? This would seem to me to be the most "LaTeX" way of doing it.

I recommend aliasing our macro as \maketitle in the dndbook class (#110), but not the core package.

Styles that include copyrighted images, such as for the DMs Guild, need to include filler images (same pixel dimensions but with a blank "X" or text instructions across the image) that would be replaced by authors. We must not distribute copyrighted material.

Using filler images not only sidesteps any potential copyright issues (although I suspect this falls under some sort of fair use), but it lowers the maintenance burden. Good idea.

I would prefer a solution that did not include code for a custom font within the package. Rather, I would like the user to have the ability to set the title font themselves if they happen to be working with XeLaTeX or LuaTex.

I like fontspec for this. We simply include guard it with \ifluatex and \ifxetex:
https://tex.stackexchange.com/a/47579
The user could still override the font if they wanted by redefining the \dnd@XFont commands.

Here is another format that might be useful in the future (with some tweaking) for people making DMs Guild titles. The first part is more generally useful as it allows the built in title and author to be readily accessed in other parts of the document.
\makeatletter
\let\dndtitle\@title
\let\dndauthor\@author
\let\dnddate\@date
\makeatother

The downside is that this requires \title, \author, and the like to be set before the dnd package is loaded, which I do not think will work if it is loaded as a class. Maybe an `\initdocvalues' command later on to run the above code would work?
Next is the code for the title page with the boilerplate at the bottom reduced for brevity.
\newkeycommand\makedmsguildtitle[
  background=,
  subtitle=,
  abstract=,
  targetaudience=,
  ]{%
  \begin{titlepage}
	\vspace*{.3in}
	{\centering%
		\ifcommandkey{background}{
			\begin{tikzpicture}[remember picture,overlay,shift={(current page.center)}]
				\node[inner sep=0pt] at (current page.center) {
					\includegraphics[width=\paperwidth,height=\paperheight]{\commandkey{background}} %file ending is only necessary if it's not a .png
				};
			\end{tikzpicture}
		}{}
		{\Huge\bfseries\uppercase\expandafter{\dndtitle}}

		\vspace*{.3in}
		\begin{tikzpicture}[]
			\draw [rulered, fill=rulered] (0, 0) --(1.965in,0.055in) -- (0, 0.11in) -- (-1.965in,0.055in) -- (0,0);
		\end{tikzpicture}

		\vspace*{.3in}
		\ifcommandkey{subtitle}{{\LARGE\emph{\commandkey{subtitle}}}}{}

		\vspace*{.4in}
		\ifcommandkey{abstract}{\commandkey{abstract}}{}

		\vspace*{.4in}
		\ifcommandkey{targetaudience}{\large\commandkey{targetaudience}}{}

		\vfill

		by {\uppercase\expandafter{\dndauthor}}

		\vspace*{.3in}
		\includegraphics[width=1.77in]{img/dmsguildlogo}\par
	}

	\vspace*{.2in}
	{\noindent\scriptsize Trademark text}

	{\noindent\scriptsize Copyright text}
  \end{titlepage}%
}

This can then be used in the following manner.
...
\title{The Dark \LaTeX}
\author{Brian Criswell}

\usepackage{dnd}

\lstset{%
  basicstyle=\ttfamily,
  language=[LaTeX]{TeX},
}

% Start document
\begin{document}

% Your content goes here
\makedmsguildtitle[
  background=img/paper,
  subtitle={Beautiful Typesetting},
  abstract={\textbf{Introduction:} \lipsum[1]},
  targetaudience={A 3-hour adventure for characters of any level},
]
...

In many ways it is not all that different from the PR's title page. It has a default, and the user can modify parts with the keys.

I'm sorry, I've been busy and didn't really use this package in the meantime, so I kinda forgot about it. However, I actually did some additional work on it that I - as I now remember - had been meaning to commit. I'll get on that tomorrow / today / after a night's sleep (in my timezone it's currently 2:16 in the morning), but in the most up-to-date version the titlepage can be generated using the following code:
\begin{titlepage}

	\dndcoverBackground{background.png}

	\begin{center}
		\vspace*{8.5cm}
		\dndcoverTitle{The Enchanted Bridge of Royalty-Free County}
		\dndcoverLine
		\dndcoverSubtitle{By Trololo Guy}
		\vfill
		\dndcoverSubtext{A magical adventure for troll-loving heroes of level 5}
	\end{center}

	\vfill
	\hfill
	\includegraphics[height=25mm]{FantasyGroundsLogo.png}
	\includegraphics[height=25mm]{DMsGuildProductLogoLarge.png}

\end{titlepage}

The result looks like this: https://imgur.com/a/OjiYVEZ


[gardening] Daily cleanup: typos, header formatting, pep8 fixes.

What's in this pull request?
Daily cleanup: typos, header formatting, pep8 fixes.
Resolved bug number: –

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci Please smoke test

@swift-ci Please smoke test

@practicalswift
Traceback (most recent call last):
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/swift/test/Prototypes/../../utils/gyb", line 3, in <module>
    gyb.main()
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/swift/utils/gyb.py", line 1125, in main
    args.target.write(execute_template(ast, args.line_directive, **bindings))
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/swift/utils/gyb.py", line 1015, in execute_template
    ast.execute(execution_context)
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/swift/utils/gyb.py", line 619, in execute
    x.execute(context)
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/swift/utils/gyb.py", line 702, in execute
    result = eval(self.code, context.local_bindings)
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/swift/test/Prototypes/Integers.swift.gyb", line 42, in <module>
    class struct(object):
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/swift/test/Prototypes/Integers.swift.gyb", line 49, in struct
    struct(operator='+', name='adding',      mutatingName='add',           firstArg='',           llvmName='add', kind='+'),
NameError: name 'struct' is not defined

@gribozavr I'm afraid I cannot reproduce this issue. utils/build-script -cRT runs fine on my machine.

FWIW, the change made to test/Prototypes/Integers.swift.gyb is indentation only :-)

@swift-ci Please test

@practicalswift Sorry, it seems to reproduce consistently in CI.  To make progress, would you mind reverting changes to that file?

@gribozavr, I've now reverted the .gyb file change. Sorry, I accidentally introduced a scoping error. Thanks for @rintaro to noticing!
Turns out this test is not run under Linux (due to // REQUIRES: OS=macosx) so that is why it wasn't triggered by my own testing. Sorry :-)


Stac4s pagination should not reuse the next uri but to rely on the next page token instead

Describe the bug
The long story short, the next page can be advertised incorrectly and it can advertize an internal franklin instance name, where is the access to the stac instance is hidden behind the load balancer.
Expected behavior
Pagination should reuse the original input URI

Hm, after thinking more about it, it kinda breaks all the pagination logic.


avoid service being interrupted by settings activity being closed in recent apps

Maybe it would help to use the newly added notifications to start a foreground service. This way, there will at least be no interruption during download and install.
Another uglier fix could be to exclude the activity from recent apps. This makes it only less likely that the user finds a way to close the app.

A foreground service may be reasonable as long as it's actually allowed to start one (not sure it is) and keep it running across the changes in the notification.

I expect that this isn't an issue anymore due to the foreground service.


Peer to peer code review

Good starting point guy, keep it up.

Welcome on Rails. Nice job so far!


task(Friends): Add a way to share DID

Task:
It would be nice to have a way to share friends did to users to make adding friends a bit easier. Something like how sharing contact in Whats App is

on whats app web i did not see any options to share contact
on whats app android going to the contact profile it shares a thing to send DM/see profile - is that what we have in mind?
does kevin US has any design for this?


WIP: Extract hoverClass to module

[ ] improve tests
[ ] remove need arguments
[ ] add event to sortableContainer to allow newly added items to work

Coverage decreased (-0.07%) to 78.889% when pulling 76d4f4b4bd0a4d32b70320e7a787c77462ee26c4 on hoverClass into 43629c3f2f3840f144aca446119cbb3ea86adf9f on master.


Consolidate function definitions

Consolidate function definitions
This PR is one of several to split https://github.com/layerai/sdk/pull/127 up. This PR should merge after #137 is merged.

@volkangurel I think this got automerged, but please take a note of my comments = )