ADR: Entitlement Policy Deployment Model

Entitlement Policy Deployment Model
Context and Problem Statement
The Entitlement Policy (rules, logic, etc.) defines the provisioning of Entitlements to an Entity.  The process of determining what entitlements an Entity may have include the processing of Subject Sets against and Entity, the lookup of an Entity from an authoritative source, the inclusion of customer/deployment specific policy as well as interfacing with external federated Entitlement Services.
There is also a need to support the injection and verification of an Entitlement Policy from an external source or configuration.
Decision Drivers

We don't want to have a high deployment and configuration burden
We want to reduce friction for Entitlement Policy Authors
We don't want to re-invent a policy injection, verification and distribution framework
We want to decouple the platform from Entitlement specific logic and integrations
We want to support the inclusion of policy and associated integrations dynamically and not known in advance the core platform

Considered Options

Custom + Configuration Driven
OPA Configuration Driven
OPA Bundle with Custom Built-In Functions

Decision Outcome
OPA Bundle with Custom Built-In Functions
This option allows for encapsulation of core capabilities as standard Go code while at the same time leveraging an open standard to allow for extensibility, deployment and verification.

Custom + Configuration Driven
This option includes the custom development of an extensible, shareable policy framework.
Pros/Cons:

🔴 Re-Invent policy language, infrastructure
🔴 Re-Invent a verifiable, shareable policy mechanism.

OPA Configuration Driven
This option uses OPA and Platform configuration to wire up and initialize an OPA runtime; this is current state.  This solution includes Rego implementation of Subject to Entity Mapping interpretation.  OPA plugins are known prior to deployment.
Pros/Cons:

🟢 Leverages an existing  and widely used standard (OPA)
🔴 Extensibility friction
🔴 Coupling to Policy implementation
🔴 OPA/Rego learning curve

OPA Bundle with Custom Built-In Functions
This option uses an OPA Bundle as the deployment unit and consumption into the Entitlement Service.  Core platform OPA built-in functions are used to support common core platform functions.  Standard OPA external data fetching flows  (e.g. Rest Endpoint) are used to support deploy time specific customizations.  This allows for decoupling of entitlement logic; both core and extensions; from the platform as well as supports future requirements of distributed, federating and verifying policy artifacts.
This option includes the creation and enforcement of the following design guidelines:

Custom OPA Build-In Functions are to be used for encapsulating complexity in standard Go modules and thereby reducing Rego complexity and friction.
IDP specific entity resolution implemented as Services following OPA's Pull Data During Evaluation pattern and integrated through standard OPA http requests.

The implications of this approach:

The creation of a function to support Subject Set / Entity Representation processing as an OPA Built-In Function.
A Keycloak Entity Resolution Service reference implementation.
Reference implementation Rego policy using subject set and http based entity resolution call-out

Pros/Cons:

🟢 Leverages an existing  and widely used standard (OPA)
🟢 Leverages a standard packaging, deployment and distribution flow (including verification)
🟢 Extensible and supports decoupling = Support dynamic injection of Policy
🟡 OPA/Rego learning curve - mitigated by the use of custom build-in functions to encapsulate complexity in standard Go

Updated to remove incorrect characterization of the IDP external fetching as Webhook

Do we have more documentation on the webhook implementation and the flow with idPs, and/or what the Entity Resolution Service interface looks like?

@ttschampel @strantalis @jrschumacher I could be wrong, but if we're mandating a service (webhook, lambda, some kind of deployed layer) between the platform and any idP, that seems like it could be a place to reduce a lot of complexity. Perhaps the lambda could do a deterministic flattening transformation?
The idP value for a given subject might look like:
{
  "user": {
    "name": "username123",
    "org": {
      "id": "d94187fe-629c-4da8-804e-9dc82c1fb4b7",
      "name": "my_org"
    },
    "roles": [
      "role_a",
      "role_b"
    ],
    "groups": [
      "group_1",
      "group_2"
    ],
    "something": {
      "really": {
        "complex": {
          "nested": [
            "here"
          ]
        }
      }
    }
  }
}

The webhook could be expected to flatten all values:
{
  "flattened": [
    {
      "key": "user.name",
      "value": "username123"
    },
    {
      "key": "user.org.id",
      "value": "d94187fe-629c-4da8-804e-9dc82c1fb4b7"
    },
    {
      "key": "user.org.name",
      "value": "my_org"
    },
    {
      "key": "user.roles[i]",
      "value": "role_a"
    },
    {
      "key": "user.roles[0]",
      "value": "role_a"
    },
    {
      "key": "user.roles[i]",
      "value": "role_b"
    },
    {
      "key": "user.roles[1]",
      "value": "role_a"
    },
    {
      "key": "user.groups[i]",
      "value": "group_1"
    },
    {
      "key": "user.groups[0]",
      "value": "group_1"
    },
    {
      "key": "user.groups[i]",
      "value": "group_2"
    },
    {
      "key": "user.groups[1]",
      "value": "group_2"
    },
    {
      "key": "user.something.really.complex.nested[i]",
      "value": "here"
    },
    {
      "key": "user.something.really.complex.nested[0]",
      "value": "here"
    }
  ]
}

The reason a selector syntax was required was because the platform was reaching out directly to an idP or parsing claims on a JWT, but if there is a deterministic flattening, I believe we can get rid of that complexity.

If the platform owns the transformation layer in between platform and idP, the flattening algorithm can be exposed by the platform libs so that otdfctl can assist admins in knowing precisely what fields and values will be found for a Subject Context
if the platform owns the transformation layer between, admins could be given authorization to a platform endpoint to run the same transformation that happens in the lambda
if a platform consumer owns the deployed transformation, they have full control over fields and values and they just supply the endpoint to the platform in the config (meeting whatever interface contract is required)
configuring Entitlements (via Subject Sets -> Subject Mappings -> Attribute Values) goes back to the simplicity of field values and expected IN/NOT_IN values lists (rather than jq expressions expected to resolve to a value IN/NOT_IN a values list)
A case where all we have is a Subject Context and we need to find Entitlements is simplified because we can transform it to fields/values and look for the fields in the Policy DB instead of requiring knowledge of the jq selector expressions potentially applicable to that Subject Context (as those expressions are stored in the Subject Condition Sets of the DB at present).

I like the potential benefits of flattening the entity representation.  I do think the best home for that would be in a core built-in ; I don't think flattening would differ by external source.
This does raise the question on the most efficient way to get candidate subject sets for an entity and whether it should stay where it is now (retrieved before OPA call and provided as input) vs. other approaches like finding candidates after flattening, etc.

@ttschampel

I do think the best home for that would be in a core built-in ; I don't think flattening would differ by external source.

This makes sense to me. As long as the flattening is deterministic, access stays deterministic, and impact of a Subject Set/Mapping change can be understood and communicated in advance.

This does raise the question on the most efficient way to get candidate subject sets for an entity and whether it should stay where it is now (retrieved before OPA call and provided as input) vs. other approaches like finding candidates after flattening, etc.

I think there are probably two stories here with different needs, and this efficiency question is primarily focused on the first story (please correct me if I'm wrong):

An Access Decision: this will always involve determining if a Subject is Entitled to the Resource Attributes on the data. Because of that, the decision logic will always take place when a) the Entity Representation is known (and deterministically flattenable in this case), and 2) the entity is entitled specifically to the attributes on the data resource. Because the data attributes are already known, we can always walk back up from data attributes to the subject, seeing if the mapped subject sets apply to that entity representation or not, and applying the boolean decision logic. We'll have any selector expressions or flattened fields from the data attributes already to determine access for the entity representation. This is the current state, and is still the future state (though with reduced complexity from flattening). [^1]
An admin story: what data is this subject entity entitled to? Only the Entity Representation (Subject Context) is known. With no data attributes, an admin or a platform function would need to identify the _potential _ selector expressions that could be found in subject sets mapped to attributes. I raised a form of this question in architecture hours last week but I think it is maybe still an unknown? This story would be solved by determinism of flattening because admins would be able to predict without question what is available to drive access upon within an entity representation.

[^1]: I think right now the core decision function is (oversimplified) access(data attribute values, entity attribute values, attribute definitions) = true | false but ideally it would be access(entity representation, data attributes) because we can determine if the entity is entitled to any individual data attributes in question from the data attributes themselves (and their values and mapped subject sets). It shouldn't matter if they're entitled to other attributes, because we don't need those for a decision. An admin has different questions, hence the split admin story above.


Merge request: genai-back-office demo code

This is the demo code. It should be managed in the internal repo.


Fix linking error when building binaries for aarch64

This PR tries to fix #3094. Please don't look too close. It will be horrifying 😱
You can look at the status of the fix in the CI.

bors merge

(not the fault of bors, an issue on GitHub side)


TIME-CLOCKSOURCE update

Our current design is based on
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
hyperv_clocksource_tsc_page acpi_pm
But I saw below ones during testing, after unbind. it will switch to hyperv_clocksource not acpi_pm
/sys/devices/system/clocksource/clocksource0/available_clocksource
hyperv_clocksource_tsc_page hyperv_clocksource acpi_pm

I can not reproduce your question from a few times trials in Ubuntu 20.04 (5.4.0-1016-azure). Do you have specific distro or kernel information?

#1032 #1035


Stop treating max() and min() CSS functions as prefixable max-content and min-content

resolves https://github.com/emotion-js/emotion/issues/2306

Pull Request Test Coverage Report for Build 548cb42cf3c782d5210be9d6c31567aae93f2a32-PR-259

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 99.417%

Totals

Change from base Build d09db4c354110c41654fd817ce101976b078d8f7:
0.003%

Covered Lines:
246

Relevant Lines:
247

💛  - Coveralls


fix: tooltip of the ellipsis content for response table changed to left position

Description
Earlier the position of the tooltip for the ellipsis content was top for which if the content was large it was making it disappear as it appears as the cursor position was displaced from the content and followed on the tooltip which overlapped, hence making the tooltip disappear.
Now the tooltip position is changed to left which restricts the tooltip to appear on the content thereby staying it visible on the screen.
Fixes #32799
or
Fixes Issue URL

[!WARNING]
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation
/ok-to-test tags=""
:mag: Cypress test results

[!CAUTION]
If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[ ] No

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true


Questions  about the  PatchMixLoss

Hi, @raymin0223 ,
 May  i  have  ask you  2 questions about this  class;

class PatchMixConLoss(nn.Module):
    def __init__(self, temperature=0.06):
        super().__init__()
        self.temperature = temperature

    def forward(self, projection1, projection2, labels_a, labels_b, lam, index, args):
        batch_size = projection1.shape[0]
        # proj: (bt, embed_dim)
        projection1, projection2 = F.normalize(projection1), F.normalize(projection2)

        # (bt, bt )
        anchor_dot_contrast = torch.div(torch.matmul(projection2, projection1.T), self.temperature)

        mask_a = torch.eye(batch_size).cuda() #  initial the  diag  matrix；
        mask_b = torch.zeros(batch_size, batch_size).cuda()  # zero mask；
        mask_b[torch.arange(batch_size).unsqueeze(1), index.view(-1, 1)] = 1

        mask = lam * mask_a + (1 - lam) * mask_b

        logits_max, _ = torch.max(anchor_dot_contrast, dim=1, keepdim=True) #(bt, 1)
        logits = anchor_dot_contrast - logits_max.detach() # for numerical stability  (bt, bt)

        exp_logits = torch.exp(logits)  #(bt, bt)
        if args.negative_pair == 'diff_label':
            labels_a = labels_a.contiguous().view(-1, 1)
            logits_mask = torch.ne(labels_a, labels_a.T).cuda() + (mask_a.bool() + mask_b.bool())
            exp_logits *= logits_mask.float()

        log_prob = logits - torch.log(exp_logits.sum(1, keepdim=True))
        mean_log_prob_pos = (mask * log_prob).sum(1) / mask.sum(1)

        loss = -mean_log_prob_pos
        loss = loss.view(1, batch_size)

        loss = loss.mean()
        return loss

In  this  class,  the  labels_b  has  not  been used.  And  in  the  total   project,   the args.negative_pair == 'all ' default  use  all  instead  the  differ label;    why  the  labels_b     and the   args.negative_pair == 'differ label'    has not  been  used;

As I understand it, the i th row of the variable mask matrix represents the i th sample of the generated patch, with the diagonal representing the percentage of patches that are kept from the original sample, and the other positions representing the percentage of patches that are used from another sample;   But the code after the variable mask, I really don't understand, can you explain the theory or recommend some related articles so that I can understand the following code;

Thank you very much for your work!

Hi @chumingqian,
Thanks for your interest in our work!
Here is the answer:

diff_label is to mimic Supervised Contrastive Learning; I assumed that it will improve performance if we make representations farther only for samples with different labels (i.e., exclude same label samples from negative pairs).
Even though there will be lots of methods to define "same" or "different" labels due to the PatchMix, we only tested with labels_a, the original labels. So, it is not strict and correct method of diff_labels.

Yes, mask exactly represents what you said. Because we mix samples with lam ratio, we assign it when making mask with mask_a and mask_b.
We can say that we are using the mask as the label of CrossEntropy Loss.
As you know, in normal CE loss, we are using one-hot vector as ground truth; so, the equation looks like $1*log(p)$.
With the PatchMix, we replace that ground truth to $\lambda*log(p_a) + (1- \lambda )*log(p_b)$, cause the mixed sample is made by the interpolation between two samples.
Then, logits_max is just for scaling logits, because previous work reported numerical stability issue.
And, anchor_dot_contrast is same with $(h(\tilde{z}_i)^{\top} z_i / \tau)$, log_prob is the calculation of Eq.2.
mask * log_prob is same with multiplying $\lambda$ or $(1- \lambda)$, and mask.sum(1) denote $\frac{1}{|I|}$.

You can refer to the above paper code and MixCo code.
Thanks and please leave any other question here!

Hi @chumingqian,
Thank your for your nice question.
In that case, our model will have better classification performance if it can output $v_k$ that includes the crackle information.
To optimize our loss function, the model may aim to output $v_i$ and $v_k$ totally different, although crackle samples also contains normal components.
So, we hope the model to be able to capture the short duration of crackle by contrasting normal and crackle samples.

Appreciate    a lot   and  i  am  trying   to  use  your   method,！:)

Hi,   @raymin0223 ,
I'm back   :) ,  I have two questions (again ) for you regarding the code you demonstrated in the contrastive learning process.
          elif args.method == 'patchmix_cl':
              features = model(images)
              output = classifier(features)
              loss = criterion[0](output, labels)

              if args.target_type == 'grad_block':
                  proj1 = deepcopy(features.detach())
              elif args.target_type == 'grad_flow':
                  proj1 = features
              elif args.target_type == 'project_block':
                  proj1 = deepcopy(projector(features).detach())
              elif args.target_type == 'project_flow':
                  proj1 = projector(features)

              # use 'patchmix_cl' for augmentation
              mix_images, labels_a, labels_b, lam, index = model(images, y=labels, patch_mix=True, time_domain=args.time_domain)

              proj2 = projector(mix_images)
              loss += args.alpha * criterion[1](proj1, proj2, labels, labels_b, lam, index, args)

In your experiment, only the mixed features mix_images were passed through the projector, while features were obtained through proj1= deepcopy(features.detach()) and did not pass through the projector. Why didn't you let both features and mix_images go through the projector?

Additionally, I am curious about the purpose of the experiments with the other three target_type. What were you trying to verify with them, and how effective were they?

Hi @chumingqian,
Sorry for the late reply, I'm now attending the conference.

When you see Table 2 results, we found that not using projector for target features showed the best results on ICBHI dataset. But, it can be different on other datasets.

Using projector or not has been discussed in traditional self-supervised learning research. I believe that projector performs like attention because model will learn the most important dimension to contrast samples. Thus, I experimented some target_types to confirm their effects.

Ah, I finally understand the content expressed in Table 2. Moreover, your perspective is correct. I am currently validating two different methods:

On Method 1, using 'grad_block' shows the best results.
Whereas on Method 2, employing 'project_flow' demonstrates the best performance.

This might indicate that 'projector' yields different outcomes for distinct algorithms.
Finally,  wish you have  an enjoyable participation at the conference.


Failed to start API Mock endpoint Typerror

Describe the bug
Trying to mock the API returns an error that is untraceable and not very unhelpful.
Failed to start API Mock endpoint TypeError: Cannot read property '0' of null
Amplify CLI Version
cli version: 4.21.0
amplify version: 3.0.11
To Reproduce
mkdir amplify-bug
cd amplify-bug
amplify init
amplify add auth <= default config
amplify add api <= graphql default config
Use the following schema:
type Project
  @model
  @auth(
    rules: [
      { allow: groups, groups: ["Reg", "Admin"] }
      { allow: groups, groupsField: "client", operations: [read] }
    ]
  )
  @key(name: "ByClient", fields: ["client"], queryField: "projectsByClient")
  @key(name: "BySlug", fields: ["slug"], queryField: "projectsBySlug") {
  id: ID!
  title: String!
  slug: String!
  client: ClientGroupEnum!
  description: String
  logo: S3Object
  concepts: [Concept]
    @connection(keyName: "byConcept", fields: ["id"], sortField: "createdAt")
}

enum ClientGroupEnum {
  Reg
  Aux
  Tyt
}

type Concept
  @model(queries: null)
  @key(name: "byConcept", fields: ["projectID"])
  @auth(
    rules: [
      {
        allow: groups
        groups: ["Admin", "Reg"]
        operations: [create, update, delete]
      }
    ]
  ) {
  id: ID!
  name: String!
  projectID: ID!
  moodboard: S3Object
  pages: [Page]
    @connection(keyName: "byPage", fields: ["id"], sortField: "createdAt")
}

type Page
  @model(queries: null)
  @key(name: "byPage", fields: ["conceptID"])
  @auth(
    rules: [
      {
        allow: groups
        groups: ["Admin", "Reg"]
        operations: [create, update, delete]
      }
    ]
  ) {
  id: ID!
  name: String!
  size: PageSizeEnum!
  conceptID: ID!
  image: S3Object!
}

type S3Object {
  key: String!
  identityId: String!
}

enum PageSizeEnum {
  Small
  Medium
  Large
}

Expected behavior
Mock API endpoint working
Desktop (please complete the following information):

OS: Mac
Node Version: v12.16.2

@marlonmarcello can you share your folder .graphqlconfig.yml contents? I am having trouble reproducing the issue with the schema your provided

It's on a private project, can I share that though email? Maybe dropbox or something?

Sure you can email<EMAIL_ADDRESS>make sure you mention the issue number in the subject

Sent. Thank you @ammarkarachi

@marlonmarcello I was unable to reproduce but can you check if you have the necessary permissions on '/Volumes/projects/prototypes/amp-bug' ?

I do also that same issue is happening on another project on a different
place on my machine.
That is strange. I tried removing and installing the cli multiple times.
On Tue, May 26, 2020 at 3:40 PM Ammar<EMAIL_ADDRESS>wrote:

@marlonmarcello https://github.com/marlonmarcello I was unable to
reproduce but can you check if you have the necessary permissions on
'/Volumes/projects/prototypes/amp-bug' ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/4375#issuecomment-634317946,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO5UYDFIFZN4MHPUZWYE5LRTRAMJANCNFSM4NK4TV2A
.

I'm getting the same error today - version 4.21.0

I also experienced this when running amplify mock on 4.21.0. I downgraded to 4.20.0 and amplify mock now successfully starts the mock service.

@benmj you are right. Reverting back to 4.20.x fixes this.
What else can I do to help @ammarkarachi ?

@marlonmarcello
I have the mock running with the following settings with your project are these the values you are using?
GraphQL schema compiled successfully.

Edit your schema at .....amp-bug/amplify/backend/api/ampbug/schema.graphql or place .graphql files in a directory at .../amp-bug/amplify/backend/api/ampbug/schema
Creating new table ProjectTable
Creating new table ConceptTable
Creating new table PageTable
Running GraphQL codegen
? Choose the code generation language target javascript
? Enter the file name pattern of graphql queries, mutations and subscriptions src/graphql/**/*.js
? Do you want to generate/update all possible GraphQL operations - queries, mutations and subscriptions Yes
? Enter maximum statement depth [increase from default if your schema is deeply nested] 2
✔ Generated GraphQL operations successfully and saved at src/graphql
AppSync Mock endpoint is running at http://localhost:20002

Yes. I have the default options as well.
I tried again but with no luck. v4.21 is broken for me.

Also experiencing this in 4.21.0
Downgrading to 4.20.0 fixed the issue

@marlonmarcello Can you ping me on our discord community so I can reproduce this issue?
@dwamianm Can you share your schema?

@dwamianm this seems to be a different issue from the stack trace. Could you try clearing the ESM cache by deleting<EMAIL_ADDRESS>and see if you still have the same issue

I think that link expired @ammarkarachi

@yuth when I do npm -g remove @aws-amplify/aws that folder is gone

@yuth when I do npm -g remove @aws-amplify/cli that folder is gone

THE ESM cache removal was one possible solution for this and not the original issue.

^X^C(node:29546) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'stop' of undefined
at APITest. (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-util-mock/lib/api/api.js:82:41)
at Generator.next ()
at /usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-util-mock/lib/api/api.js:8:71
at new Promise ()
at __awaiter (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-util-mock/lib/api/api.js:4:12)
at APITest.stop (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-util-mock/lib/api/api.js:66:16)
at APITest. (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-util-mock/lib/api/api.js:36:32)
at Generator.next ()
at /usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-util-mock/lib/api/api.js:8:71
at new Promise ()
(node:29546) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
(node:29546) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

The original issue has to do something with CFN parsing and it would make it easier  if we could get the stack trace.

I removed the cli, deleted the project, cleared npm cache and removed all folders from the npm bin.
The I proceeded to install the cli again, and start a new project with the schema above and I still got the same issue on 4.21
Failed to start API Mock endpoint TypeError: Cannot read property '0' of null

@yuth . I tried removing the cache as you recommended and then I removed the cli all together. I then generated a brand new project with minimal schema file. The issue continued to happen so I followed the output I posted earlier and found where things were failing.
The issue seems to be happening in the method checkJavaVersion. When I comment out the line yield index_1.checkJavaVersion(context);  in the generated JS file<EMAIL_ADDRESS>things worked. Which means it was failing at the Java version check.
I ended up digging up this related issue.
https://github.com/aws-amplify/amplify-cli/issues/3319
@marlonmarcello @ammarkarachi FYI

That was it!
Thanks a lot @dwamianm !!

just as fyi, Issue is still happening on amplify version 4.21.3 on Catalina 10.15.5,
brew cask reinstall java also fixed the issue for me


[BUG] Snowpack builds before scripts run

Bug Report Quick Checklist

[x] I am on the latest version of Snowpack & all plugins.
[x] I use package manager npm
[x] I run Snowpack on OS Linux
[x] I run Snowpack on Node.js v12+

Describe the bug
On snowpack 3.3.6 (latest), scripts specified through @snowpack/plugin-run-script run after snowpack builds.
So I see errors like: [snowpack] config.mount[~/Desktop/11st-starter-kit/src/_site]: mounted directory does not exist.
This seems to introduced in 3.0.13 (See https://github.com/stefanfrede/11st-starter-kit/issues/156). Although same error message exists on 3.0.12, build seems to work as intended (scripts build before snowpack).
To Reproduce
git clone https://github.com/stefanfrede/11st-starter-kit.git
cd 11st-starter-kit
git checkout fa11f234e5beb705eaed1752a3047c24a2d8221f
npm install
npm install snowpack@latest
npx snowpack --version
npx snowpack build

See how snowpack builds before eleventy does:
[18:23:24] [snowpack] 3.3.6
[18:23:26] [snowpack] config.mount[~/Desktop/11st-starter-kit/src/_site]: mounted directory does not exist.
-------------------------------------------------------------------------------------------------------------
[18:23:26] [snowpack] ! building files...
-------------------------------------------------------------------------------------------------------------
[18:23:27] [eleventy] Writing src/_site/404.html from ./src/404.md.
[18:23:27] [eleventy] Writing src/_site/about/index.html from ./src/about.md.
[18:23:27] [eleventy] Writing src/_site/index.html from ./src/index.md.
[18:23:27] [eleventy] Copied 16 files / Wrote 3 files in 0.33 seconds (v0.12.1)
[18:23:27] [eleventy] Command completed.
-------------------------------------------------------------------------------------------------------------
[18:23:28] [snowpack] import alpinejs@latest → https://pkg.snowpack.dev/alpinejs
[18:23:28] [snowpack] pin dependency to this version: `snowpack add alpinejs`
[18:23:29] [snowpack] ✔ files built. [2.94s]
[18:23:29] [snowpack] ! building dependencies...
[18:23:29] [snowpack] ✔ dependencies built. [0.00s]
[18:23:29] [snowpack] ! writing to disk...
[18:23:29] [snowpack] ✔ write complete. [0.03s]
[18:23:29] [snowpack] ! optimizing build...
.......

Relevent snowpack config:
  plugins: [
    [
      '@snowpack/plugin-run-script',
      {
        cmd: 'eleventy',
        watch: '$1 --watch',
      },
    ],
  ],

Expected behavior
Scripts build before snowpack does. Here (3.0.12) builds fine, although with same error message.
❯ npx snowpack --version
[snowpack] 3.0.12
❯ npx snowpack build
[snowpack] config.mount[~/Desktop/11st-starter-kit/src/_site]: mounted directory does not exist.
[eleventy] Writing src/_site/404.html from ./src/404.md.
[eleventy] Writing src/_site/about/index.html from ./src/about.md.
[eleventy] Writing src/_site/index.html from ./src/index.md.
[eleventy] Copied 16 files / Wrote 3 files in 0.23 seconds (v0.12.1)
[snowpack] ! building source files...
[snowpack] ✔ build complete [1.21s]
[snowpack] ! building dependencies...
[snowpack] ✔ dependencies ready! [1.17s]
[snowpack] ! verifying build...
[snowpack] ✔ verification complete [0.00s]
[snowpack] ! writing build to disk...
[snowpack] ! optimizing build...
[snowpack] ✔ optimize complete [0.15s]
[snowpack] ▶ Build Complete!

Related
#2936

@jalovatt src/_site/ is output of 11ty, not snowpack; why would it be deleted? It doesn't. Snowpack outputs to dist/ which is empty to begin with.

Look in your package.json - npm run build runs clean first, which deletes src/_site so Eleventy gets a fresh folder to build into.
https://github.com/stefanfrede/11st-starter-kit/blob/2896d06cae325d04010193b419d2e58a74375245/package.json#L41-L48

@jalovatt I'm not refering to the latest repo. And neither am I using npm run build.

Could you check the commands in To Reproduce section. :pray:

Sorry, I didn't see that you were using npx snowpack build. Regardless, I only get that warning on the first build, because that folder correctly does not exist yet.
mounted directory does not exist is just a warning when Snowpack starts. Nothing is breaking, at least here. The build runs fine, and as far as I can tell the output is correct - /dist has the files from _site in it.
Perhaps you (or maybe me?) are misunderstanding the order Snowpack is doing things in? Just in case:

It starts up, takes in the config you gave it, and gives that warning because you told it to mount a folder that isn't there.
Eleventy runs.
Snowpack builds. src/_site is there now, so everything should be fine.

I'm seeing a similar issue, where I can acknowledge that Snowpack now scans all mounted directories up front, before any plugins are able to make changes.
In my case, I'm trying to create a WASMPack plugin for Snowpack, but during snowpack build, the fileToUrlMapping is scanned and filled out before wasm-pack has an opportunity to even run.
This is a difference in behavior from snowpack 2, where there must not have been any sort of mapping. So, what ends up happening is that Snowpack can't find any files that were generated during the run step. This seems very likely similar to what @amithm7 is experiencing, and I hope this issue is addressed soon, else we're stuck on snowpack 2, and eventually will need to find an alternative to snowpack 2 if this functionality is not added to snowpack 3.
I would really appreciate another contributor to join this conversation who can talk to these changes and offer ideas towards building for this use case.
Alternatively, we'll have to run our build steps sequentially, first running a wasm-pack command, then running snowpack build, which is far slower since it's no longer able to be ran concurrently (again, because snowpack starts off by creating a cache of the crawled directories in the fileToUrlMapping OneToMany map).

I have the exact same problem. Latest working version is 3.0.13. My Eleventy _out directory is full of HTML files, the plugin run... but HTML  files are missing from Snowpack _dist folder.
It's so sad that something has changed.  This official documentation MUST be updated because it's not valid anymore.

@amithm7 I am having the exact same issue as you, src/_site and all! The whole reason I'm using @snowpack/plugin-run-script is to build that directory with Eleventy before building my whole site with Snowpack.
Sanity Check
I replaced my Eleventy build command with a simple echo. Check out relevant Snowpack config:
  plugins: [
    [
      "@snowpack/plugin-run-script",
      {
        cmd: "echo Do you see me?", // production build command
      },
    ],
  ],

This seems to work exactly as intended. Snowpack runs my command before building:
><EMAIL_ADDRESS>build:snowpack /Users/jungaretti/Repos/jungaretti.com
> snowpack build

[15:21:31] [echo] Do you see me?
[15:21:31] [echo] Command completed.
[15:21:31] [snowpack] ! building files...
[15:21:31] [snowpack] ✔ files built. [0.02s]
[15:21:31] [snowpack] ! building dependencies...
[15:21:31] [snowpack] ✔ dependencies built. [0.00s]
[15:21:31] [snowpack] ! writing to disk...
[15:21:31] [snowpack] ✔ write complete. [0.00s]
[15:21:31] [snowpack] ▶ Build Complete!

Back to Eleventy
Here's my desired Snowpack config:
  plugins: [
    [
      "@snowpack/plugin-run-script",
      {
        cmd: "eleventy", // production build command
        watch: "eleventy --watch", // dev server command
      },
    ],
  ],

It seems like Snowpack doesn't even run this command:
><EMAIL_ADDRESS>build:snowpack /Users/jungaretti/Repos/jungaretti.com
> snowpack build

[15:29:13] [snowpack] ! building files...
[15:29:13] [snowpack] ✔ files built. [0.02s]
[15:29:13] [snowpack] ! building dependencies...
[15:29:13] [snowpack] ✔ dependencies built. [0.00s]
[15:29:13] [snowpack] ! writing to disk...
[15:29:13] [snowpack] ✔ write complete. [0.00s]
[15:29:13] [snowpack] ▶ Build Complete!

 This is pretty dumb, since it's (theoretically) doing the same work twice, but it gets the job done for now. I hope this issue is fixed soon!
I agree with @gremo that we should update the docs to reflect the fact that commands are NOT always run before Snowpack builds, as https://github.com/snowpackjs/snowpack/tree/main/plugins/plugin-run-script#readme claims they are...

This is probably the same bug I have observed here: https://github.com/snowpackjs/snowpack/issues/3095
I started working on a fix for snowpack build back then: https://github.com/andreasphil/snowpack/tree/build-step-plugin-order
I made snowpack await plugins during builds and delayed mounting until the plugins finished, so all plugin output is included and up to date. That solves the issue for me, but it breaks a couple of tests and I don't know when I'll get around to fixing them - life has been busy lately 😶 (if anyone else has the time feel free to take it from here).
Regarding snowpack dev, that still only works if at least some eleventy output already exists when the dev server boots. Apparently the eleventy plugin starts after the initial mounting but finishes before file watching begins. Somehow that causes snowpack to not notice the output files at all, even if they change again, until I restart the server. After that it works fine though, so it's not a huge problem in development except when serving a repository for the first time after cloning or rming the eleventy output. In the interest of keeping the dev server startup fast I don't think we want to await all plugins like in snowpack build. So I'm not sure what a good solution would be here, but probably the plugin output should get picked up by the file system watcher just like it does with regular JS files.
@colelawrence Someone in the other ticket noted that everything worked as expected until v3.0.13 - you could give that a try if you need something more recent than 2?

Another thing: From the docs @gremo linked (emphasis mine) -

This plugin allows you to run any CLI command as a part of your dev and build workflow. This plugin doesn't affect your build output, but it is useful for connecting developer tooling directly into Snowpack. Use this to add meaningful feedback to your dev console as you type, like TypeScript type-checking and ESLint lint errors. This doesn't affect how Snowpack builds your site.

This makes me wonder whether what snowpack does is indeed the intended behavior and we're just not meant to run eleventy as a plugin command. On the other hand, the plugin-run-script readme clearly says "will run before Snowpack builds" and "production build command" 🤔

I don't have capacity at the moment to test and troubleshoot as we several custom snowpack 2 plugins that I'm pretty sure will be broken for other reasons.
If there is a resolve to this issue and the other issue I have with Dev server custom headers for COOP & COEP, then I'll be interested in debugging. I'd also be interested if someone familiar with Snowpack's codebase was able to pair with me on the issue, here.


Possible to add ability to use KMS over AES?

Would like to be able to encrypt via KMS. Wondering if it is possible to add this ability.
https://www.terraform.io/docs/backends/types/s3.html#kms_key_id

This can be done by overwriting the var terraform_backend_config_template_file with your own template file that includes the kms_key_id.
terraform {
  required_version = ">= ${terraform_version}"

  backend "s3" {
    region         = "${region}"
    bucket         = "${bucket}"
    key            = "${terraform_state_file}"
    dynamodb_table = "${dynamodb_table}"
    profile        = "${profile}"
    role_arn       = "${role_arn}"
    encrypt        = "${encrypt}"
    kms_key_id     = "arn:aws:..."
  }
}

Fixed by #178


Colon needs to be escaped for solr backend

Colons in the search term will cause a search to fail.
Unmatched double quote also causes a problem.

and ? can also produce some strange results.

Fixed as of 0.5.2


Notify 32 Bit is Not Supported

Check on launch if the system is 32 bit, and if it is, prompt the user that it is not supported and end the program. Application does not work on 32 bit systems as confirmed by KayZ on the Discord

Fixed in commit bb4aa7b


fix(SDK-imports): Update imports in testing view controllers.

hm, I do not have any  compile error

btw imports changes with having STATIC or not. Check TestApp for reference. We should probably do something identical here.

@alexisoyama  I will check out the TestApp as well.

@alexisoyama I tested my changes in this PR with Static builds and they build just fine and the app starts up. However I didnt do a whole  QA on it. If you think its still risky I can change it to be more like the old TestApp
// Follow the instructions in Getting Started to set up the sample project. #if STATIC #import "Leanplum.h" #import "LeanplumUIEditor.h" #else #import "Leanplum/Leanplum.h" #import "LeanplumUIEditor/LeanplumUIEditor.h" #endif

Yeah tested it and it works fine, i'm going to squash and merge


Document static field in policy-controller cip.spec.authorities

Description
In addition to key and keyless there's now (well, once the PR lands) a way to specify a static policy. Once things land, document it here.

https://github.com/sigstore/policy-controller/pull/69


Infinite loop in randomInt

The randomInt() function loops infinitely under certain conditions, this is a serious DoS vulnerability.
The loop in randomInt() always uses the state value that never changes, so if a resulting value fails the threshold test only once, the loop will repeat forever.
It should rather be something like n = pcg.getOutput(nextPcg.state), so that the current state is used, not the initial one.

Some details on the probability of infinite loop: https://functor.network/user/790/entry/270#the-exploit

Thank for your thorough audit. I'll implement your suggestion, it does look like I made a mistake in not advancing state.
I am not so certain of a DoS vulnerability, but if you could provide an initState, streamID, and with which provided output function it exists that the second state is 0, I would love to add it as a test case.


Fix: accordion open prop typo in web component demo

Jira
N/A
Summary
Fixes a typo on the Accordion web component demo page.
How to test
Run the branch locally and check the Accordion web component demo page, make sure the open prop is named open not auto-open on the accordion item.

PR was released with v2.21.0


Test CiteAs with numpy.NDArray

The test has been added, but as suspected it has resulted in failing behaviour. So this is a bug, and won't be addressed in this milestone.


Automated cherry pick of #9497 on release-6.2

Automated cherry pick of #9497 on release-6.2
Cherry pick of #9497 on release-6.2.
/cc  @weblate
NONE

This and the cloud cherry-pick have failing checks.

It says these are failing because there's a missing string in the Australian English translation files. I'm not sure how we'd go about fixing that.
Have we previously been cherry-picking translation stuff? I thought we were only ever merging them directly into master or the latest release branch depending on whether or not we were in a release cycle

@hmhealey yes until now, translations have been backported to release branches of server and webapp. This PR is failing probably like last week, a missed cherry pick of a change removed that string. I will push commits to these PRs to ensure the check passes. If it keeps failing next Monday, I'll try to track down which commit is missing to backport to even the branches.

Ready, @cpanato PTAL

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: 61a840ef37a5efd49d06ade2a6b41027aae48ea3


'Keep Darkside up' is not wrapped with <Trans />

https://github.com/xivanalysis/xivanalysis/blob/313efca50125664f906d204693e53f354eb67038/src/parser/jobs/drk/modules/Darkside.tsx#L75

Issue should be resolved now that #1431 is merged, closing.


[BUG] local preview broken after converting images to webp

Describe the bug
After changing a lot of the images in my blog to webp, the local preview in Hugo broke. It was working reasonably well before. Style sheets are not loading neither images in my local preview but they do work in the live site.
Expected behavior
locally built preview should look like almost the live website
Screenshots

I do get errors in Firefox's Inspector

Build Environment

OS: Windows 10
Theme version/commit: 1.0.1
Hugo version: 0.86.0 extended
Please try to use Hugo extended version before opening the issue.

Preview Environment

OS: Windows 10
Browser:  Firefox

Additional Information
Hugo doesn't display any errors in the terminal after getting the hugo serve --disableFastRender command.
Thank you in advance for any help. Love what you have done with this theme. I can FeelIt.

Probably you didn't set the themsDir properly
theme = "FeelIt"
themesDir = "themes"

You were right. The themesDir wasn't setup. I did set it up now and it's still broken. But I'm suspecting it might be a Hugo error because while checking on Edge browser if I got the same errors I realized I get the pages to display if I press "CNTRL + F5". If i reload the page using the reload button or just F5 I still see the broken page. It's really confusing.

You were right. The themesDir wasn't setup. I did set it up now and it's still broken. But I'm suspecting it might be a Hugo error because while checking on Edge browser if I got the same errors I realized I get the pages to display if I press "CNTRL + F5". If i reload the page using the reload button or just F5 I still see the broken page. It's really confusing.

Try to disable PWA for debugging

ok. Just did it.  With this in the config file
  # PWA config
  [params.pwa]
    # whether to enable PWA support
    enable = false
    # service-worker version
    version = "1.0.1"

the service worker stays alive in the browser. But after unregistering the service worker in the browser by pressing F12 then going to the Application tab and pressing "Unregister" in the service worker, everything is working smooth again. Same thing worked both in Firefox and Edge Browser. I guess the service worker's cache is messing with the preview when some changes happen. But I really don't know much. This works for me now, thank you for your knowledge. My blog is hosted in https://blog.sp-cy.com/ if you want to check it out, it's mostly goofy gaming posts but with your theme it looks lovely. I guess you can close the issue if you think that un-register the service worker in the browser while previewing is the ideal solution for now.  Thanks again!


Modified function checkCeaserCipher() in test.js

Removed all capital letters from test inputs and hard comparison strings in lines 648-670.

Thanks!


Add loose-envify browserify transform

Fixes https://github.com/facebook/react/issues/9641
This tells browserify to remove process.env.NODE_ENV conditionals during bundling.

Can you please verify 15.5.9 fixes it?

I am seeing if ("development" !== 'production') { in our builds again with 15.5.9. 👍

Awesome. Sorry for the trouble. Appreciate you sending a fix.


[oc_erchef] Correct bug where incorrect module name was used for update

DIalyzer found this one for us...

ping @chef/lob

@danielsdeleo might be the best reviewer for this.

If dialyzer said it, it must be true :stuck_out_tongue_closed_eyes:
:+1:


Can't make Angular Material 1 + Ionic 3 work together

Bug, feature request, or proposal:
I can't make Ionic 3 + Material angular work together.
What is the current behavior?
Error: Uncaught (in promise): Error: Template parse errors: 'mat-card' is not a known element: 1. If 'mat-card' is an Angular component, then verify that it is part of this module. 2. If 'mat-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
What are the steps to reproduce?
I've followed every stepped, installing angular/material, angular/cdk, angular/animation and bring BrowserAnimationsModule to app.module.ts. I've imported MatCardModule from '@angular/material' and added it to imports array. And I finally tried to use it with Simple card
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I am using Ionic 3 with Angular 4 on Windows 10 and Opera browser.
Thank you.

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.


config.json contains state

I was attempting to add cvdupdate to a config management tool.  We want to keep logs and db in a non-default location, so I need to edit those.  config.json has some config options, but also appears to be tracking application state?
Usually I try to just create the config file I want, then compare it to what's on the system (if any), and replace it with the desired one as necessary.  But if the config file changes periodically, that doesn't work.  Would you be willing to split the dbs portion out to something like ~/.cvdupdate/dbs.json?  I might be able to put together a PR with that.

Hm you're right that config.json tracks state. This probably wasn't the best design decision. If you're up for putting together PR, I'm definitely open to splitting the config as you suggest.  Maybe state.json or something more intuitive. The uuid field may also be considered "application state" because it should be unique for each system.

Ok, I'll take a deeper look and see if I can make that happen.

PR opened #28 - I've tested it locally a few different ways, but I would like to see some unit testing as well.  Would you have any issue if I added some unit tests with pytest?

PR opened #28 - I've tested it locally a few different ways, but I would like to see some unit testing as well. Would you have any issue if I added some unit tests with pytest?

Unit tests would be great 😍! I was in such a hurry when I first wrote cvdupdate that I didn't include any.

Ah, just realized you wanted UUID in the new file as well. I'll add that change.

Thanks!

Sorry for the lag, I was on vacation and trying to do something a bit more clever with the test fixture and an overlay filesystem in docker.
I've moved uuid to state.json and added some tests.  Please take a look and let me know.

Oh, and tests require pytest, and can be run with just pytest . in the root directory of the project.  I'd recommend doing it in a VM or docker container, as there is code which will delete ~/.cvdupdate/ between tests.  I added a fixtures lookup thing so it would be easy to automatically add other fixtures as needed.

Ping!

I'd recommend doing it in a VM or docker container, as there is code which will delete ~/.cvdupdate/ between tests. I added a fixtures lookup thing so it would be easy to automatically add other fixtures as needed.

I love that you're adding tests <3
But I'm not really a fan of the idea that the tests could modify/delete files from an existing installation. If you could please adjust the tests so they don't impact existing installations that would be ideal.

Merged your PR today. Thanks again!


Using pretrained ELMo with TorchText

Hi, thanks for the tutorial. I have one question, though.
I want to use ELMo instead of GloVe or other for embedding, and suppose I already have ELMo representation for every sentence in the shape (seq_len, elmo_dimension).
I want to either:

concat this representation with the embedding from embedding layer or,
use this representation before passing it to RNN/CNN.
Do you have any idea on how to use this with Torchtext? I am not sure how to add the elmo sentence representation to the batch and pass it to my model together with the input (which has been converted to indices) ?

Any advice/pointer would be greatly appreciated.
Thanks.

I haven't experimented with ELMo myself, but let's say you have your function that calculates ELMo embeddings on a batch of sentences called get_elmo_embeddings. Your training loop will look something like:
def train(model, iterator, optimizer, criterion):

    epoch_loss = 0
    epoch_acc = 0

    model.train()

    for batch in iterator:

        optimizer.zero_grad()

        #batch.text = [seq len, batch]

        #get elmo embeddings for batch of sentences
        embedded = get_elmo_embeddings(batch.text)

        #embedded = [seq len, batch, elmo embedding dim]

        #use embeddings as input to model
        predictions = model(embedded).squeeze(1)

        loss = criterion(predictions, batch.label)

        acc = binary_accuracy(predictions, batch.label)

        loss.backward()

        optimizer.step()

        epoch_loss += loss.item()
        epoch_acc += acc.item()

    return epoch_loss / len(iterator), epoch_acc / len(iterator)

Then, within the model (using the CNN one as an example), you can get rid of the embedding layer as the words have already been converted into ELMo embeddings:
class CNN(nn.Module):
    def __init__(self, vocab_size, elmo_embedding_dim, n_filters, filter_sizes, output_dim, dropout):
        super().__init__()

        #removed embedding layer as already have elmo embeddings

        self.convs = nn.ModuleList([
                                    nn.Conv2d(in_channels = 1, out_channels = n_filters,
                                              kernel_size = (fs, elmo_embedding_dim))
                                    for fs in filter_sizes
                                    ])
        self.fc = nn.Linear(len(filter_sizes) * n_filters, output_dim)
        self.dropout = nn.Dropout(dropout)

    def forward(self, embedded):

        #words are already elmo embedded, so no need to embed again

        #embedded = [sent len, batch size, elmo embedding dim]

        embedded = embedded.permute(1, 0)

        #embedded = [batch size, sent len, elmo embedding dim]

        embedded = embedded.unsqueeze(1)

        #embedded = [batch size, 1, sent len, elmo embedding dim]

        conved = [F.relu(conv(embedded)).squeeze(3) for conv in self.convs]

        #conv_n = [batch size, n_filters, sent len - filter_sizes[n]]

        pooled = [F.max_pool1d(conv, conv.shape[2]).squeeze(2) for conv in conved]

        #pooled_n = [batch size, n_filters]

        cat = self.dropout(torch.cat(pooled, dim=1))

        #cat = [batch size, n_filters * len(filter_sizes)]

        return self.fc(cat)

This is just replacing the learned embeddings with the ELMo embeddings, which is the way to go. I guess the other way would be to keep the embedding layer within the CNN module and concatenate it together with the ELMo embeddings making sure to have your kernel sizes be embedding_dim + elmo_embedding_dim.

Hi, thanks for the reply! Actually I did exactly that, but I was not sure in this part:
embedded = get_elmo_embeddings(batch.text)
the batch.text here is already converted into indices, and to get ELMo representation we need original sentences (or tokenized).
So what I did was converting the indices back to words to get the ELMo representation. It worked, but it seems inefficient (?)
I wonder if it is possible to do like this with TorchText:
-read the data and turn into panda dataframe/list/dict
-get the elmo representation and save it with the df/list/dict
-read and split the data from the df/list/dict and build the vocab
-do the batching
What do you think?

Sorry, I misunderstood your original question.
The only methods I can think of are doing it the way you have said was inefficient (transforming indexes back into words on the fly with TEXT.vocab.itos) or by doing something like your second idea, which would involve making a separate script that gets the ELMo embedding for each sentence and then writes the sentence, label and ELMo embeddings to a file which you can then read with TorchText instead of using datasets.IMDB.splits(TEXT, LABEL).

Thanks!


Preparing for v2.3

Will include avx512
Additional optimizations based on min. separations between cell-pairs

@lgarrison I will merge this PR in for now but we will need a proper review once this branch is ready to merge into master


INavigationFilters are not run through INavigationProvider-provided menus

NavigationManager.BuildMenu(string menuName) doesn't run the menu items through filters as NavigationManager.BuildMenu(IContent menu) does. Is this intentional?

Also the former does not use the Arrange method to build hierarchy.
I guess the reason is the NavigationManager.BuildMenu(string menuName) is used solely for the purpose of building an admin menu and it differs quite a lot from a "normal" menu.
Ideally we should have one logic for building any kind of menu, imho.

Yes, I think that too. E.g. content-backed menu would be just another INavigationProvider.

Exactly.

I also had this issue when I was trying to filter admin menus. Unfortunately, I couldn't do it because the BuildMenu(string menuName) doesn't call the Filter() method. Here is a solution for this and for Zoltán's and Piotr's idea as well.
We could make IMenuProvider and its default implementation to Obsolete and bring the IContent parameter from the GetMenu() method to the INavigationProvider.GetNavigation() method but it could be optional (with default null).
Create the DefaultMenuNavigationProvider (or sg named like that) based on the DefaultMenuProvider and we can keep the algorithm (maybe the menuName parameter can expected to be an empty string or "content" or "menu" I don't know).
In the NavigationManager we can merge the two methods and make the IContent menu parameter optional too. And of course don't forget to Filter() the menu items.
What's your opinion? @sebastienros ?

Let's try to add Arrange and Filter to BuildMenu.


Save as PDF/Print feature

It would be nice to save this view as PDF or print it out

uuu that sounds like a good idea! will look forward into it


Added comments to the CSS source codes

Added few comments to the CSS  source code file and tried to make it more comprehensible for anyone who goes through these codes

Hey @Sloth-Panda !
This is not how you create a PR.

You have to create an issue first, in the repo that your chosen topic falls under.
We will assign the issue to you.
You need to create a PR that looks like this in terms of the format.

Have a look at this to know how your content should be structured.
We will review this asap!

Closing this, since the proposed changes are irrelevant and of negligible usage.


Missing Alert Category information

there is nothing on this page that discusses the Alert Category filter. Please provide some explanation about which alert type is assigned to each Category.

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

ID: 70912b42-016b-d311-86cd-86f2e5e04a51
Version Independent ID: 1744f30c-af16-cf4a-6a91-043e6f92b330
Content: Manage alerts raised in Cloud App Security
Content Source: CloudAppSecurityDocs/managing-alerts.md
Service: cloud-app-security
Product: ****
Technology: ****
GitHub Login: @shsagir
Microsoft Alias: shsagir

@DeanGross Thanks for contacting Microsoft with feedback about our product documentation. Depending on the complexity, it could take from a few business days to a few weeks to look further into your question, issue, or suggestion. We'll contact you if we need further information, and you'll receive an email message each time we "@mention" you in a comment.
Thanks again for submitting your feedback. Your suggestions help improve our documentation.


Update requirements.txt

ethereum-utils library refuses to start in version >0.6.0 and
ethereum-abi-utils also raises an exception in version >0.4.0
The reason for this is rename of the library to eth-utils and
eth-abi-utils, respectively.
Because these two are dependencies of other libraries, we must
freeze versions until it's fixed upstream.

Looks good to me. When tests pass we can merge


CQ-4318446 Support in-form signing in case of asynchronous submission

@Review : @rismehta
@dod : none
Added some changes for redirect URL to sign in inline signing in formapp

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[ ] I ran all tests locally and they pass.

@devgurjar  There is an IT test case failure, please look into this.

@devgurjar I re-triggered https://github.com/adobe/aem-core-forms-components/pull/22 and found out that the test is not flaky, your changes seem to break the aem forms container component, please reverify and re-create a new PR.

@rismehta Okay I will fix it and re-raise the PR


add missing pow2_mul_shift function to pow2_test.wat

pow2_test.wat in Chapter9 is missing the pow2_mul_shift function

Yeah, unless I've misunderstood the import/exports here, you did on line 81 in Chapter9/benchmark_test.js
(Really enjoying the book by the way. An excellent read!)

I see it now, Chapter 9 page 216.
Thanks!


Icon background for flows

Description
Added component for icons in the tiles, activity list and debug panel for flows.
Note this only applies for flows and it doesn't apply for streams
How has this been tested?
Manually.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build/CI related changes
[ ] Documentation related changes
[ ] Other... Please describe:

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Alignment/styling issues:
For subflow tile the text looks misaligned:

For return tile the rounded corners are missing:

The default icon still looks off from the center, I think it needs to be aligned inside the svg,j ust changing the height won't do


Detect finished downloads on "Page.setDownloadBehavior

There is a way to detect when files are downloaded?
I use
await page._client.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: `${this.basePath}/temp/files/`});
await page.goto('http://website.com/file.mp4');

The problem is with page.goto. it waits until timeout and return an Exception and I don't want to wait 30 seconds every time..
Thanks!

This'll be part of #299


Assignment 4 generates empty output

after running $python run_experiment.py --plot
only output/report directory has params.csv,
other subdirectories - output/images, output/PI, output/Q, output/VI are empty...

Same here. I am running "python run_experiment.py --plot" with Python 3.7.2 on Windows 10.

There are other '--' options you can specify for command line. You may look more closely at run_experiment.py

Yes, after some digging, I found that the '--all' flag needed to be run first.

Thanks. My bad.


Move openapi

Copy the openapi package from kubernetes k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi to k8s.io/kubectl/pkg/openapi/.
@AlexKhotian has done pretty much everything. I've just simplified some of the history.

@apelisse Phil suggests moving all the content in this PR to a new repo (maybe called CLI-lib) under kubernetes-SIGs org. So kinflate and kubectl can vendor it.
Thoughts?

As discussed, we have a plan sort-of. We'll drop this pull-request (big thank you to @AlexKhotian for doing it, sorry it's not going anywhere :-/), Ellen already copied the openapi code because we needed to to move forward, so we have that in the mean time. And the final solution will probably be to move some of this client generic code into staging in kubernetes, so that it can be used from everywhere.

@apelisse can this be closed?

Good point. This has been done actually ...


Recent TXID pulling from different location than when broadcasting thorswap trade

Overview
When broadcasting a trade on thorswap, the view transaction link is different to the txid in the recent transactions
References and additional details

Log into app.shapeshift and connect to wallet that supports thor trades
Navigate to trade page and create a trade using thorswap
Broadcast tx and select the link to 'view transaction'
In the recent tx's select the txid. Note it takes you to different links.

Acceptance Criteria
Link to tx should be the same location
Need By Date
No response
Screenshots/Mockups
No response
Ownership

[X] If my bounty needs engineering or needs product I have added the respective labels on the right
[X] As the sponsor of this bounty I will review the changes in a preview environment (ops/product) or review the PR (engineering)

Estimated effort
No response
Sponsor / Stakeholder
No response
Bounty Hunters

Join our discord
Include an expected timeline for you to complete work in the work plan when you apply for this bounty!
Please refer to this link for some basic info
Please do not start work on this issue until you are approved in Gitcoin.

Incorrectly closed by https://github.com/shapeshift/lib/pull/1110.

@MBMaria another one

Still an issue.
tx from "view transaction": (missinf 0x) https://viewblock.io/thorchain/tx/1effb442501248fc6e07eb8682776b8385f645420d36a258a733ed97c9a91d2c
tx from recent transactions: https://etherscan.io/tx/0x1effb442501248fc6e07eb8682776b8385f645420d36a258a733ed97c9a91d2c

If we did want to provide the same explorer link, we could detect if we are on the trade page and change how we display recent transactions on that page only as a possibility. Otherwise it would probably fall more into the "activity/action" (not sure what name we have been referring to it) view that links multiple transactions together for a specific action (ex. eth tx + usdc tx as a single "swap" transaction view)
@twblack88 @0xean


Backend Exits Immediately

Description
After setting up 1.0.18 and running "docker compose up -d"  The frontend and backend start on docker, but the backend seems to exit immediately.
Steps to Reproduce the Bug

Instal 1.0.18 as per instructions and run the "docker compose up -d" command
When you look at Docker, see that backend has exited.

Expected Behavior
Expected frontend and backend to be running so I could open up the agent-llm interface in a browser.
Actual Behavior
Here is the log from the Docker backend:
2023-04-30 04:04:47 Traceback (most recent call last):
2023-04-30 04:04:47   File "/usr/local/bin/uvicorn", line 8, in
2023-04-30 04:04:47     sys.exit(main())
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1130, in call
2023-04-30 04:04:47     return self.main(*args, **kwargs)
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1055, in main
2023-04-30 04:04:47     rv = self.invoke(ctx)
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
2023-04-30 04:04:47     return ctx.invoke(self.callback, **ctx.params)
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
2023-04-30 04:04:47     return __callback(*args, **kwargs)
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 403, in main
2023-04-30 04:04:47     run(
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 568, in run
2023-04-30 04:04:47     server.run()
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 59, in run
2023-04-30 04:04:47     return asyncio.run(self.serve(sockets=sockets))
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/asyncio/runners.py", line 44, in run
2023-04-30 04:04:47     return loop.run_until_complete(main)
2023-04-30 04:04:47   File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 66, in serve
2023-04-30 04:04:47     config.load()
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/uvicorn/config.py", line 471, in load
2023-04-30 04:04:47     self.loaded_app = import_from_string(self.app)
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/site-packages/uvicorn/importer.py", line 21, in import_from_string
2023-04-30 04:04:47     module = importlib.import_module(module_str)
2023-04-30 04:04:47   File "/usr/local/lib/python3.8/importlib/init.py", line 127, in import_module
2023-04-30 04:04:47     return _bootstrap._gcd_import(name[level:], package, level)
2023-04-30 04:04:47   File "", line 1014, in _gcd_import
2023-04-30 04:04:47   File "", line 991, in _find_and_load
2023-04-30 04:04:47   File "", line 975, in _find_and_load_unlocked
2023-04-30 04:04:47   File "", line 671, in _load_unlocked
2023-04-30 04:04:47   File "", line 843, in exec_module
2023-04-30 04:04:47   File "", line 219, in _call_with_frames_removed
2023-04-30 04:04:47   File "/app/app.py", line 72, in
2023-04-30 04:04:47     async def add_agent(agent_name: AgentName) -> dict[str, str]:
2023-04-30 04:04:47 TypeError: 'type' object is not subscriptable
Additional Context / Screenshots
No response
Operating System

[X] Microsoft Windows
[ ] Apple MacOS
[ ] Linux
[ ] Android
[ ] iOS
[ ] Other

Python Version

[ ] Python <= 3.9
[ ] Python 3.10
[ ] Python 3.11

Environment Type - Connection

[X] Local
[ ] Remote

Environment Type - Container

[X] Using Docker
[ ] Not Using Docker

Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of Agent-LLM.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

A lot of back end changes were done over the past week in the branch that we just merged for v1.1.0-alpha.  Please try it and create an issue if ongoing.


Updates to Portuguese Language

Just an update to everyone that reads this repo: it worked perfectly in Portuguese for me.

Thanks alot


[5.7] Update Icon color for collectionGroup and sampleCode

Rationale: Icon color was not applying for collectionGroup and sampleCode pages
Risk: Low
Risk Detail: The change moved the color mapping logic to a different file, but is only changes affecting color and there's no change in the logic itself.
Reward: High
Reward Details: Fixes the issue where the icons on those pages are not visible at all.
Original PR: https://github.com/apple/swift-docc-render/pull/158
Issue: rdar://91450969
Code Reviewed By: @dobromir-hristov
Testing Details: Manually tested in the browser

@swift-ci test

@swift-ci test

@swift-ci test


doc: add manifests and improve readme

Signed-off-by: huanggze<EMAIL_ADDRESS>Doc Updates

Add manifests folder for quick start
Add missing links in API docs
Refine README
Add missing COPY pkg/ pkg/ in Dockerfile

Code Changes

Update cmd/doc-gen/main.go
Mount position db file only if fluentbit.spec.positionDB is specified
Add service section to the final config only if fluentbitconfig.spec.service is specified
Add missing kubebuilder comments for properly generating clusterroles/clusterrolebindings
To avoid potential conflicts, name clusterroles/clusterrolebindings as kubesphere:operator:fluentbit-operator, rather than fluentbit-operator. The same with Fluent Bit.

Seems that authorizing is a big problem. There is no need to grant exensive roles if the purpose for deploying Fluent Bit is not to collect container logs.

Great


Release notes for 0.3.0

Should we also handle his warning before the release?
https://github.com/zytedata/duplicate-url-discarder/blob/9bf8c0c1e16f89cb8a6a24af4bb39b50052dfc94/duplicate_url_discarder/_fingerprinter.py#L52 - in case the default rules are loaded, it shouldn't be a warning, right?

Yeah.


proposal: math/rand: Expose constructor for lockedSource

The math/rand library defines the Source interface to represent a source of pseudorandom numbers, and a constructor returning a concrete implementation, NewSource.  However, the implementation returned by NewSource is not safe for concurrent use by multiple goroutines.  The package also defines a thread-safe lockedSource implementation, but this implementation is not exposed.
The proposal is to expose a constructor for the lockedSource by adding the following function to math/rand:
// NewLockedSource returns a new pseudo-random Source seeded with the given value
// that is safe for concurrent use by multiple goroutines.
NewLockedSource(seed int64) Source

Benefits
Today, users who need a thread-safe implementation must duplicate the lockedSource implementation in their own code.  Apparently over 1,000 GitHub projects have done so (search).  Exposing the standard library implementation would avoid this duplicate code.
Why do users need a thread-safe source?  One reason is that such a source is necessary when implementing any object that (1) exposes thread-safe methods which use random numbers in their implementation and (2) supports dependency injection.
Incidentally, the proposed rand package for Go 2 (#21835) goes even further than this proposal and makes LockedSource a public type.
References
This proposal was originally raised in 2015 on golang-dev, but it appears not to have been resolved.  The lack of a constructor for a lockedSource was raised as issue #21393.

Isn't this basically the same as #21393?  I guess the difference is that you have a specific proposal?

Right, this is basically a proposal that would fix #21393 if given the go-ahead.

I think that we should consider all Go 2 math/rand proposals together to get a coherent picture. The home for that should probably be #21835. I think we should backlink here from #21835 and close this.
If we do something like this, I think a better API would be:
func NewLockedSource(src Source) Source

Then it could be usefully used with any input source.

One issue with considering all the math/rand proposals together is that some of them (like this one) are fully backwards compatible, while others (like switching to PCG) are not, and so have to wait for Go 2.

On hold for eventual consideration as part of "what do we do about math/rand", as @josharian said.
For now you can always put a lock around a source yourself.

@ChimeraCoder makes an articulate argument in #25057 for how exposing a locked source could lead to less contention issues by encouraging developers not to use the global one.

A locked source is literally a source plus a lock. It's not difficult. There's no need for this in the rand API. We don't published locked other types.

A locked source is literally a source plus a lock. It's not difficult. There's no need for this in the rand API.

As I wrote over in #21393, there may be some subtleties and/or optimizations that just throwing a mutex at won't help with, like batching core PRNG calls for rand.Read. But yes, it doesn't seem like a high priority.

A rand.Rand having hardcoded lockedSource type assertion just to implement default methods on package seems like interesting design choice.

A locked source is literally a source plus a lock. It's not difficult. There's no need for this in the rand API.

As I wrote over in #21393, there may be some subtleties and/or optimizations that just throwing a mutex at won't help with, like batching core PRNG calls for rand.Read. But yes, it doesn't seem like a high priority.

I think more serious than just subtleties. Anyone who copies the lockedSource implementation introduces the same race conditions fixed here and here:
This demonstration in the go playground shows that a locked source copied from the standard library can interleave Rand.Seed() and Rand.Read() resulting in duplicate generated sets of bytes: https://play.golang.org/p/2PrUkJUSw-M
As @orian pointed out:

A rand.Rand having hardcoded lockedSource type assertion just to implement default methods on package seems like interesting design choice.

IMO this choice prevents anyone from creating a completely thread safe rand.Source implementation. Instead developers must combine a lock with a rand.Rand similar to this:
type LockedRand struct {
	lk  sync.Mutex
	*rand.Rand
}

func (r *LockedRand) Seed(seed int64) {
	r.lk.Lock()
	r.Rand.Seed(seed)
	r.lk.Unlock()
}

func (r *LockedRand) Read(p []byte) (n int, err error) {
	r.lk.Lock()
	n, err = r.Rand.Read(p)
	r.lk.Unlock()
	return n, err
}

So solving this is clearly not just a rand.Source and a lock, and it is also not at all evident as seen by the fact that many people on Github and even Amazon AWS get it wrong: https://github.com/aws/aws-sdk-go/blob/v1.30.13/internal/sdkrand/locked_source.go#L28-L29
However, FWIW there are comments on both rand.Read and rand.Seed claiming they cannot be used concurrently so perhaps users should start creating locked rand.Rand types instead of locked rand.Seed types.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group


Allow more checksum algorithms for each file

At the moment, only one algorithm can be used at a time. Providing more checksum files can be useful when you want to provide one using a modern algo such as BLAKE2, along with a widely available one, such as SHA-256.

We can definitely look into this. It'll be a bit of a reorganization since we have a few things that currently assume there's only one checksum algorithm. Do you mind if I ask what your usecase is? Do you have something specific that wants BLAKE2?

I mainly provide BLAKE2 sums for Arch Linux packages. According to their documentation, BLAKE2 sums are to be preferred and should be provided by the upstream.
However, package managers from other distributions still rely on older algos (e.g., Debian, Alpine) and, in general, I'd like to keep providing SHA-256 for compatibility.


Error in output

Context: https://tour.golang.org/moretypes/15
your output:
len=0 cap=0 []
len=1 cap=2 [0]
len=2 cap=2 [0 1]
len=5 cap=8 [0 1 2 3 4]
to be:
len=0 cap=0 []
len=1 cap=1 [0]
len=2 cap=2 [0 1]
len=5 cap=6 [0 1 2 3 4]
Please check.

What is the error? I think the capacity 8 is correct, from what I know the default behavior is to have capacities as powers of 2.

OP is confused about the cap values being different on their machine (likely a 64 bits system). This is normal. The playground environment is 32bits and the runtime grows the slice's backing array differently. This is an internal implementation detail, so there's no bug. Closing here.


Frame and display aspect ratio

When you want to save Frame from video, where is SAR different from DAR output image is with wrong dimension.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/Storage/Upload/00003.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.19.102
  Duration: 00:01:32.92, start: 0.000000, bitrate: 3191 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 45:34 DAR 40:17], 1067 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: dts (DTS-HD MA) (mp4a / 0x6134706D), 48000 Hz, 5.1(side), fltp, 1536 kb/s
    Metadata:
      handler_name    : SoundHandler

Output dimension is 640x360 but not 847x360 as video.
This help me.
Index: Frame.php
===================================================================
--- Frame.php   (revision 94)
+++ Frame.php   (working copy)
@@ -91,19 +91,21 @@
          * might be optimized with http://ffmpeg.org/trac/ffmpeg/wiki/Seeking%20with%20FFmpeg
          * @see http://ffmpeg.org/ffmpeg.html#Main-options
          */
-        if (!$accurate) {
-            $commands = array(
+       $oDim = $this->getVideo()->getStreams()->videos()->first()->getDimensions();
+       $sRes = $oDim->getWidth() . 'x' . $oDim->getHeight();
+       if (!$accurate) {
+           $commands = array(
                 '-y', '-ss', (string) $this->timecode,
                 '-i', $this->pathfile,
                 '-vframes', '1',
-                '-f', 'image2'
-            );
+                '-f', 'image2', '-s', $sRes
+           );
         } else {
             $commands = array(
                 '-y', '-i', $this->pathfile,
                 '-vframes', '1', '-ss', (string) $this->timecode,
-                '-f', 'image2'
-            );
+                '-f', 'image2', '-s', $sRes
+           );
         }

         foreach ($this->filters as $filter) {

there is a DisplayRatioFixerFilter wich should solve your problem without editing original code.
just use:
$video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds(5)->filters()->fixDisplayRatio();

Hi I am having a similar issue with frame aspect ratio.
The following code:
$frame = $this->media
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds($start))
->filters()>fixDisplayRatio();
$frame->save('test.jpg');
Throws the following error:
Fatal error: Uncaught Error: Call to undefined method FFMpeg\Filters\Frame\FrameFilters::save()
What am I doing wrong?
thanks

@dovidgef Just do it like this:
$frame = $this->media->frame(FFMpeg\Coordinate\TimeCode::fromSeconds($start));
$frame->filters()->fixDisplayRatio();

$frame->save('test.jpg');

This way, you do not reference the filters itself.

It's working now.
Thanks for the quick reply.
On Nov 9, 2017 10:08 PM, "Jens Hausdorf"<EMAIL_ADDRESS>wrote:

Closed #129 https://github.com/PHP-FFMpeg/PHP-FFMpeg/issues/129.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PHP-FFMpeg/PHP-FFMpeg/issues/129#event-1334766480,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUQaIQ_tSn1ijp8Gj6GIXdOvt7XOXHwTks5s01vRgaJpZM4Cln4r
.


Handling of array values

If I push a ps::Key of { 0 } with a ps::Val of { 1, 3 }, the documentation made me believe the server should be storing 0 => [ 1, 3 ]. However, it looks to be storing  0 => (1 + 3) = 4. Is this intentional?
I'm going to extend KVWorker class to handle float arrays, but I was under the impression it would work out of the box. Thanks for your advice!

Example program:
`c
#include "ps.h"
typedef float Val;
int CreateServerNode(int argc, char *argv[]) {
ps::OnlineServer server(ps::IOnlineHandle(), 3, 0);
return 0;
}
int WorkerNodeMain(int argc, char *argv[]) {
using namespace ps;
std::vector key = {1};
std::vector val = {1, 2, 3};
std::vector recv_val;
KVWorker wk;
int ts = wk.Push(key, val);
wk.Wait(ts);
ts = wk.Pull(key, &recv_val);
wk.Wait(ts);
std::cout << "values pulled at " << MyNodeID() << ": " <<
Blob(recv_val) << std::endl;
return 0;
}
`
With output:
values pulled at W0: [3]: 6 6 6

After a little more poking around, I realized example_e contained a working handler for vectors. Sorry for the confusion. Perhaps the guide clarify this? I'd be happy to give you a PR on it if you think it's appropriate.

It will be fantastic if you can update the guide:) Thanks.


Ar,js Crash  only Safari  Iphone

the safari browser restarts by allowing camera access
To Reproduce
Take a test by opening the example on my iphone
https://codepen.io/nicolocarpignoli/pen/vMBgob
Result:

the camera loads and starts to zoom

and then it goes blank and this message comes out

iOS : 12.4
desktop safari on android chrome and desktop works fine, just pass this on on safari for iphone
I am using these scripts

which version of safari? it happened also with old safari version, or you first try Ar.js now?

@yuber1792 can you please debug Safari and see what the error is on Console? are you able to do that?

Ok, I have done some tests. Definitely not an error with AR.js. It's a restriction imposed by Apple.
Please, go on
Settings -> Safari -> Camera & Microphone Access
and activate the option if disabled.

Uploading video-1569022384.mp4.zip…

videooo.zip

@yuber1792 this is a completely new thing I never saw before. Is your entire phone crashing?
Is the behaviour consistent and you can reproduced exactly very time?
Do you experience the same with http://nicolocarpignoli.github.io/ar-playground/index.html ?

hello, before it just went blank and restarted the browser
http://nicolocarpignoli.github.io/ar-playground/index.html
That url works perfect, what version are you using?

mmmh don't think it's AR.js version, from that version (1.7.5) and the one I used (latest, 1.7.8) no big changes happened.
https://github.com/nicolocarpignoli/nicolocarpignoli.github.io/blob/master/ar-playground/index.html
this is the code above that works for you. let me know. I start to think it's something related to Codepen maybe?

No, in my example it didn't work either, I'm going. to review your example to see if it is solved.

hello look that I deploy with an ionic web project, that's the problem, I put the code in an angular project and it works.

Turn off  "Handoff" permission option on your Mac if you have iphone and mac on . It worked for me

I noticed it was only crashing while browsing in private mode in iOS safari. It appears from your screen shot that you are as well, albeit, still should not be crashing


Add "dark mode" support

Add support for a "dark mode" via the dark: TailwindCSS selector.

The dark/light mode must be auto-toggled based on the system setting.
The user must also retain the ability to manually override the setting via the header menu.
The impact of dark mode on illustrations, note backgrounds, buttons, and checkboxes must be researched.

Pushing this back to v1.2.0 to ensure v1.1.0 can go out sooner.
Implementing this needs further work to amend light/dark themes and provide manual overrides.

Closing. It will now be researched and completed as part of #25 .


[fix] [bookie] Enable kv logs in log4j configuration

Fixes #xyz

Master Issue: #xyz

PIP: #xyz

Motivation
We introduced DirectIO since BookKeeper 4.16.0, and the DirectIO classes use KV-based Slf4jSlogger. https://github.com/apache/bookkeeper/blob/master/bookkeeper-slogger/slf4j/src/main/java/org/apache/bookkeeper/slogger/slf4j/Slf4jSlogger.java
In order to print the KV out, we need to add %X flag in log4j2.yaml, otherwise the log will miss the detailed key and values.

Modifications
Add %X for log4j2.yaml Appender PatternLayout.
One Behavior change is that the command log will contain {} string if the key value is empty.
For example, between org.apache.bookkeeper.replication.Auditor and  - I'm starting as Auditor Bookie. ID: <IP_ADDRESS>:3181, it contains and extra {}
2023-06-14T16:36:32,563+0800 [AuditorElector-<IP_ADDRESS>:3181] INFO  org.apache.bookkeeper.replication.Auditor {} - I'm starting as Auditor Bookie. ID: <IP_ADDRESS>:3181
2023-06-14T16:36:32,566+0800 [AuditorElector-<IP_ADDRESS>:3181] INFO  org.apache.bookkeeper.replication.Auditor {} - Auditor periodic bookie checking enabled 'auditorPeriodicBookieCheckInterval' 86400 seconds
2023-06-14T16:36:32,566+0800 [AuditorElector-<IP_ADDRESS>:3181] INFO  org.apache.bookkeeper.replication.Auditor {} - Auditor periodic ledger checking enabled 'auditorPeriodicCheckInterval' 604800 seconds
2023-06-14T16:36:32,567+0800 [AuditorBookie-<IP_ADDRESS>:3181] INFO  org.apache.bookkeeper.replication.AuditorBookieCheckTask {} - Starting auditBookies

If the key value has items, the log will looks like:
2023-06-14T16:36:30,507+0800 [main] INFO  org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage {dirs=[data/bookkeeper/ledgers/current], durationMs=0, event=ENTRYLOG_IDS_CANDIDATES_SELECTED, maxId=2147483647, nextId=7}
- ENTRYLOG_IDS_CANDIDATES_SELECTED
2023-06-14T16:36:30,543+0800 [main] INFO  org.apache.bookkeeper.slogger.slf4j.Slf4jSlogger {directory=data/bookkeeper/ledgers/current, event=ENTRYLOGGER_CREATED, maxCachedReaders=32, maxCachedReadersPerThread=4, maxFileSiz
e=1073741824, maxSaneEntrySize=5252620, perThreadBufferSize=33554432, readBufferSize=8388608, singleWriteBufferSize=33554432, totalReadBufferSize=268435456, totalWriteBufferSize=268435456} - ENTRYLOGGER_CREATED

Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

@hangc0276 hi, can we only apply this config to mdc logger like below, most of pulsar logger did not use mdc
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <Console name="ConsoleWithMDC" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %X{myKey} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.mycompany.ClassWithoutMDC" level="info" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <Logger name="com.mycompany.ClassWithMDC" level="info" additivity="false">
            <AppenderRef ref="ConsoleWithMDC"/>
        </Logger>
        <Root level="error">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/90497

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/90713

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/99142

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/100875

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/108062


Add Fairy ring AIQ to mudskipper point clue

Fairy Ring: AIQ
Clue:

If am not mistaken this is already implemented?

Hmm, @MagicfTail ?

Looks like it is not

Hi if no one else is working on this could I give it a shot?

Ofc, go for it 😃

Can confirm that this is currently not in release version.

The fix for this regressed and broke the clue.


request arguments parsing issues

calling gp.query with arguments
metrics=["conversions:load_lobby"]
seems it was auto-parsed from x: y into x[y] format
traceback:
/usr/bin/python3 /Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py --multiprocess --qt-support=auto --client <IP_ADDRESS> --port 64789 --file /Users/v0/Py/sidus/airflow-dag/main_ga_visitors.py
Unable to load extension pydevd_plugins.extensions.types.pydevd_plugin_pandas_types
Connected to pydev debugger (build 223.8617.48)
Traceback (most recent call last):
File "/Library/Python/3.8/site-packages/google/api_core/grpc_helpers.py", line 72, in error_remapped_callable
return callable_(*args, **kwargs)
File "/Library/Python/3.8/site-packages/grpc/_channel.py", line 1030, in call
return _end_unary_response_blocking(state, call, False, None)
File "/Library/Python/3.8/site-packages/grpc/_channel.py", line 910, in _end_unary_response_blocking
raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Metric names must only contain letters, numbers, or _. Received a metric name = conversions[click_play.sidusheroes.com]"
debug_error_string = "UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:443 {created_time:"2023-08-21T11:50:19.239056+04:00", grpc_status:3, grpc_message:"Metric names must only contain letters, numbers, or _. Received a metric name = conversions[click_play.sidusheroes.com]"}"

The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Library/Python/3.8/site-packages/google/api_core/grpc_helpers.py", line 74, in error_remapped_callable
raise exceptions.from_grpc_error(exc) from exc
google.api_core.exceptions.InvalidArgument: 400 Metric names must only contain letters, numbers, or _. Received a metric name = conversions[click_play.sidusheroes.com]
python-BaseException

tbh not even sure its ur issue or google's one

ill go make issue on ga data analytics library github, i yhink issue doesnt belong here

ill go make issue on ga data analytics library github, i yhink issue doesnt belong here
https://github.com/googleapis/python-analytics-data/issues/379


Fix history element sent with mucJoin presence

The first argument for setAttribute was missing...

Thanks! Published as 1.2.1


Add "Synopsis" at the top of the README.md file

Is your feature request related to a problem? Please describe.
A critique of our README.md files is that we don't explain what the artifact produced by the repository does.
So perhaps near the top of the README.md file should be a section entitled
What does it do?

Pull requests

https://github.com/Senzing/template-python/pull/20


Feature/enable delegate methods

Fixes #11

[x]  ShouldAllowTouch
[x]  ShouldAllowScroll
[x]  ShouldAllowImageViewAnimate

[ ] Fix content misplacement when shouldAllowScroll is active (https://github.com/dzenbot/DZNEmptyDataSet/issues/11)

Did you resolve the blocking UI?

@lightsprint09 UI blocking is no problem on device.