null‐unsafe arbitrarily placed assignment expressions

It seems that considering assignment expressions that are placed arbitrarily in another expresson to definitely assign variables can lead to null being leaked:
variable String s;
noop({s=""});
print(s); // prints `"<null>"`

§5.3.7. Definite initialization:

TODO: an assignment expression occurring within a containing expression may or may not definitely initialize a value. Specify this!

So marking this as c-specification too.
How do we want to fix this? The simple solution would be to say that any value that is assigned within an expression is neither definitely assigned nor definitely unassigned, similar to s here:
String s;
for (arg in process.arguments) {
    s = "";
    break;
}
// both s = ""; and print(s); are illegal here

Alternatively, we could actually implement and specify the semantics various kinds of expressions that do definitely assign (positional arguments, non-iterable named arguments, sequential literals, …).

You should specify when an expression is definitely evaluated (modulo exceptions), which should be easy to do. I think all expressions (written in that part of the code) are possibly evaluated. These then give you definite assignment and unassignment.

Sure, this is pretty trivial to fix.

Fixed. In the end bug this affected:

iterable enumerations
comprehensions
the sequenced argument of a named argument list

It did not affect anonymous functions, which were already handled correctly.

No specification update?

@lucaswerkmeister there is already a TODO in the spec.


Causes issue with Chrome Inspector

When using prefixfree, when you inspect an element with Chrome Inspector, you will no longer see exactly which line number of your style sheet that the class or ID is being called from.  Real pain to have to search your style sheet every time you want to edit an element.

Same issue happened with me and its not limited to Chrome. All external styles are moved inline.

Yea... I loved it at first, but stopped using it as it ended up eating more time than saving time.... just from having to search for elements.

Unfortunately, that's unavoidable at the moment with any JS solution that modifies CSS, as it has to re-request the stylesheet.
Perhaps sourcemaps could help, though I haven't seen any such use of them.

Makes sense.  BTW, if you're only coding for modern browsers, is there still a use for prefixfree in 2016?

Certainly not as much as in 2012 when I made it. I still use it, but rarely.


fix(stoneinteg-761): update tag for integration grafana dashboard

Following to STONEINTG-761 , this is to update integration grafana pointing to the  latest integration-service

/retest-required

/retest-required

/retest-required


Implement 3 input adder with variable length inputs

This adds an example for a three input adder plus verilator lint wavier to allow the automatic extension of vectors for the + operation.

Closed via #36


Changes to add bulk api to public surface area

Added bulk api to the public surface area.
Added Patch API to the public surface area.
Added Bulk and Patch API test cases.

Please add test coverage

Added test coverage


Slippage setting resets when changing network

Describe the bug
Default slippage is 3%. When you change this and apply changes, these changes do not persist if you switch network. It resets to 3%.
To Reproduce
Steps to reproduce the behavior:

Go to https://amarok-testnet.coinhippo.io/
Click on Settings
Switch slippage from 3% to another number
Apply changes
Switch origin chain
Click on Settings
See error

Expected behavior
Slippage settings (and all special settings) should be persistent on origin chain changes.

fixed


Add additional actions to be logged by google analytics

@edlu77 do a pass and let me know what kind of events are being logged currently and add/suggest others to add to the logging.

Looks like nothing is getting logged right now. Will go through the app after the break and make a list.


Add support EL for WS checkTextMessage/checkBinaryMessage

https://github.com/gatling/gatling/issues/4135

Hmm ... Apparently I went the wrong way.
This should be done in WsSend, WsClose, etc., right?

Indeed. Meaning you would have to duplicate the WsFrameCheckSequenceBuilder, WsTextFrameCheck and WsBinaryFrameCheck classes :(
Could you please explain your use case?

My use case is that I add a unique ID to the name of each request: build number + launch uniqueness. I add this through the EL. The need for this is that I then compare the metrics for different launches.
The problem is that checkTextMessage is written to logs / metrics and I cannot change its name through EL

Stéphane, hello again!
I followed your advice and moved resolving to Actions.
But it seems to me that my decision is still "dirty"...

I don't know how to handle Failure correctly - https://github.com/gatling/gatling/pull/4136/files#diff-9b0ea77b65d56feb4d08135246b7be1851ca4d9fcd61a88d5a104246e3478572R43
Сonfuses with cast (asInstanceOf) - https://github.com/gatling/gatling/pull/4136/files#diff-9b0ea77b65d56feb4d08135246b7be1851ca4d9fcd61a88d5a104246e3478572R33

If you can give a hint or advice - I will be very grateful.

My use case is that I add a unique ID to the name of each request: build number + launch uniqueness. I add this through the EL. The need for this is that I then compare the metrics for different launches.

With unique IDs in the check name, you're going to flood the reporting engine and make the reports unusable. I guess you expect the parse the log file yourself, which I definitely don't recommend as this file is an internal, subject to change anytime.

@Amerousful sorry I took so long to review. Do you think you'll be able to tackle my comments in the next days. We're drawing near the 3.7.0 release (probably the week after next week).

As the release is drawing near, I cherry-picked your commit, fixed rebasing and did a little clean up.
See https://github.com/gatling/gatling/commit/46eb42ec22e075f6a8e7b484f368a0ce79ce9b68
Thanks a lot for contributing!

@slandelle
Wow, that's cool!
Big thanks for your time to review the pull request.
I will take time to check the clean-up in detail so I'll be able to write more beautiful code in the future.


License File Missing from Source Distribution

On pypi, <IP_ADDRESS> and <IP_ADDRESS> have the license file included in the source distribution, but <IP_ADDRESS> does not include it. I'm having trouble tracking down what changed. Any ideas? It's breaking the conda-forge release since the recipe expects it.

That's odd, and thanks for letting me know.  I'm looking into this.

This still appears to be an issue.

Thanks for pinging this again. How do I remedy this?


remove need to run cmake during build and corresponding rules [phab:D1134]

Created by shahms at 2016-11-03 20:25:50:
Updates to make it no longer necessary to run CMake via Bazel

zarko accepted this revision at 2016-11-03 20:30:25

shahms wrote at 2016-11-03 20:31:23:

Update Rust visitor to pass unit tests

shahms closed via commit ea826de4f89eda18e4cb7a8639dbc9597ec9e226 at 2016-11-03 20:32:12


TEP-0090: Get ChildReferences for Runs

Changes

TEP-0090: Matrix proposed executing a PipelineTask in parallel TaskRuns and Runs with substitutions from combinations of Parameters in a Matrix.
This change implements fetching of ChildReferences for Runs created from a matrixed PipelineTask.
/kind misc
Related PR: https://github.com/tektoncd/pipeline/pull/5008
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[n/a] Docs included if any changes are user facing
[x] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Release notes block below has been filled in (if there are no user facing changes, use release note "NONE")

Release Notes

NONE

cc @abayer @dibyom @lbernick please take a look

/approve

level=error msg="Timeout exceeded: try increasing it by passing --timeout option"
/test pull-tekton-pipeline-build-tests
/test tekton-pipeline-unit-tests


Updated documentation

Code was refactored, updating documentation to reflect that

 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.

Thanks for noticing that. I've cherry-picked it into our internal review & merge queue.

Thanks for the PR, it has been cherry-picked as 66191fc.


Comic Number and Comic Date

Added two functions to the Comic class:
Get Date
getDate(dateType="MDY")

Returns the comic's date in one of three formats, defaulting to Month/Day/Year
Possible formats:

Month/Year/Day MYD
Day/Month/Year DMY
Month/Day/Year MDY

More formats are easily added, I just chose the most used ones globally.
Edit: Now the date is returned as datetime
Get Comic Number
getNumber()

Pretty simple, returns the comic's number. Just a nice quality of life thing for people who use the API.
Further Changes:
Moved function definitions before class definitions, mostly to make my editor stop screaming at me.
Formatting
My formatting might be off, as I usually use spaces, but if there are any problems that I missed, they'll be easy enough to fix

Thanks for the interest!
For getDate(), I think it would probably be better to return a datetime object (and then have the user decide how to format it)-- does that make sense to you? I think this module probably does not need its own list of date formats.

Thanks for the interest!
For getDate(), I think it would probably be better to return a datetime object (and then have the user decide how to format it)-- does that make sense to you? I think this module probably does not need its own list of date formats.

I converted it to datetime now, the only thing is that I had to import the datetime module

Hi @Kixiron,
I believe these changes look okay. However, a few general stylistic comments.

It's usually better to break a pull request up instead of adding new, unrelated changes to an existing one (I prefer to work in branches for this reason, rather than working on the master branch of a fork). This is fine for now, but I'd ask you to avoid adding on more new changes for now.

It's unfortunate that you moved things around in the source file too. It makes it much harder to review what's actually been changed. Again, though, this is okay for now since the changes are pretty simple anyway.

It would be nice if you could squash commits together to make a cleaner git history; for example, things like this commit probably should be squashed into a neighboring commit. I can squash the entire branch manually when I merge ("squash and merge"), but then your master branch and my master branch won't agree. It it isn't too much trouble, it would be really nice if you could go through your commits with git rebase -i, combine some of them (especially the ones with very barebones commit messages), and then force push.

I'm really sorry, but I have no idea what to do with git bash, as I usually use the desktop app.


Facebook's persistent menu doesn't work fine when button postback is selected

when a button postback is selected from the persistent menu, the chatbot shows the typing animation for 20~ seconds before failing with no message. Typing the exact message works fine.
I'm using the same persistent menu found in documentation :
controller.api.messenger_profile.menu([{
"locale":"default",
"composer_input_disabled":false,
"call_to_actions":[
{
"title":"My Skills",
"type":"nested",
"call_to_actions":[
{
"title":"Hello",
"type":"postback",
"payload":"Hello"
},
{
"title":"Hi",
"type":"postback",
"payload":"Hi"
}
]
},
{
"type":"web_url",
"title":"Botkit Docs",
"url":"https://github.com/howdyai/botkit/blob/master/readme-facebook.md",
"webview_height_ratio":"full"
}
]
},
{
"locale":"zh_CN",
"composer_input_disabled":false
}
]);

The same issue reported here #1010, can you switch to discute in other thread ?

Closing in favor of #1010


Usability layer

There are a lot of pitfalls when using S3. Most of them are in bucket names and object keys. For example, Amazon has deprecated path style buckets with limits the valid characters for buckets since they now have to be valid DNS labels.
This means it is possible for a user to create a bucket via path style, that can't be deleted using virtual host style. The same problem is evident in object keys, as it is possible to PUT objects with 0x01 in the name, but impossible to delete using DeleteObjects since object keys have to be valid XML 1.0 characters.
For this reason, there should be a usability layer based on validation that ensures that any bucket or object created through the library is possible to copy and delete later on.

This has been implemented.


CAP-215: Setup Travis CI and Checkstyle with Google Code Style

CAP-215
Setup Travis CI build to include Checkstyle configured to use the Google Code Style
Example Output: https://travis-ci.org/ChristianMurphy/CalendarPortlet/builds/199443715

Error appears to be unrelated to linting https://travis-ci.org/Jasig/CalendarPortlet/builds/199758716#L2410


CHECKTABLE integrity check fails if there is a single quote mark (') in table/schema name

When you run DatabaseIntegrityCheck with @DatabaseIntegrityCheck = 'CHECKTABLE' and one of the table has a single quote mark (') in the name or schema then the generated DBCC CHECK command will be invalid and fail.
--// Version: 2019-04-28 16:40:00

I have tested this, but I am not able to reproduce it.
Could you post the complete output?

Sure.
CREATE DATABASE Test
GO
USE Test
CREATE TABLE [Test'Table](id INT)
GO
Use master
EXEC dbo.DatabaseIntegrityCheck @Databases = 'Test', @CheckCommands = 'CHECKTABLE'
Output:
Date and time: 2022-01-07 09:36:16
Command: USE [Test]; DBCC CHECKTABLE ('[dbo].[Test'Table]') WITH NO_INFOMSGS, ALL_ERRORMSGS, DATA_PURITY
Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'Table'.
Msg 105, Level 15, State 1, Line 7
Unclosed quotation mark after the character string ') WITH NO_INFOMSGS, ALL_ERRORMSGS, DATA_PURITY'.
Outcome: Failed
Duration: 00:00:00
Date and time: 2022-01-07 09:36:16

This issue has been fixed. Thank you for reporting it.


failed to enable bpfLsmEnforcer

I tried to enable bpfLsmEnforcer with this command:
helm install varmor varmor-0.5.4.tgz  --namespace varmor --create-namespace --set image.registry="elkeid-cn-beijing.cr.volces.com" --set bpfLsmEnforcer.enabled=true

However, I found vamor-agent failed to start:
kubectl get pod -n varmor

NAME                              READY   STATUS             RESTARTS   AGE
varmor-agent-5prn9                0/1     CrashLoopBackOff   8          16m
varmor-agent-d78l4                0/1     CrashLoopBackOff   8          16m
varmor-agent-xq6sf                0/1     CrashLoopBackOff   8          16m
varmor-manager-599f6fd885-5frk5   1/1     Running            0          16m
varmor-manager-599f6fd885-jqmp7   1/1     Running            0          16m
varmor-manager-599f6fd885-p8z4b   1/1     Running            0          16m

This is the error log:
kubectl describe pod -n varmor varmor-agent-5prn9

Events:
  Type     Reason     Age                  From                 Message
  ----     ------     ----                 ----                 -------
  Normal   Scheduled  <unknown>            default-scheduler    Successfully assigned varmor/varmor-agent-5prn9 to k8s-master
  Warning  Failed     16m (x4 over 17m)    kubelet, k8s-master  Error: failed to start container "agent": Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: open /proc/self/attr/apparmor/exec: read-only file system: unknown
  Normal   Pulling    15m (x5 over 17m)    kubelet, k8s-master  Pulling image "elkeid-cn-beijing.cr.volces.com/varmor/varmor:v0.5.4"
  Normal   Pulled     15m (x5 over 17m)    kubelet, k8s-master  Successfully pulled image "elkeid-cn-beijing.cr.volces.com/varmor/varmor:v0.5.4"
  Normal   Created    15m (x5 over 17m)    kubelet, k8s-master  Created container agent
  Warning  BackOff    2m9s (x66 over 16m)  kubelet, k8s-master  Back-off restarting failed container

It seems runc failed to open apparmor profile?
open /proc/self/attr/apparmor/exec: read-only file system: unknown

vArmor will enable the AppArmor enforcer by default. If your system does not support the AppArmor LSM, it may lead to startup failure. You can use the flag --set appArmorLsmEnforcer.enabled=false to manually disable the AppArmor enforcer.

Hi @Danny-Wei , thanks for your answer! However,  I think my system supports AppArmor LSM, as I've tried default installation with AppArmor enforcer enabled, everything is OK, so I don't know why :(
helm install varmor varmor-0.5.4.tgz  --namespace varmor --create-namespace --set image.registry="elkeid-cn-beijing.cr.volces.com"

NAME                              READY   STATUS    RESTARTS   AGE
varmor-agent-4pnqh                1/1     Running   0          7s
varmor-agent-f27j4                1/1     Running   0          7s
varmor-agent-nnckt                1/1     Running   0          7s
varmor-manager-599f6fd885-8vsdz   1/1     Running   0          7s
varmor-manager-599f6fd885-pjn8z   1/1     Running   0          7s
varmor-manager-599f6fd885-tw2hl   1/1     Running   0          7s

Hi @Danny-Wei , sorry there's no logs of varmor-agent, I think it's because the container of these agents even can't be created.

It might be because the kubelet is attempting to restart the agent container, making it difficult to retrieve logs for the deleted container. You can try quickly retrieving logs with this command: kubectl logs -n varmor $(kubectl get Pods -n varmor | grep varmor-agent | head -n 1 | awk '{print $1}')

Hi @Danny-Wei , thanks for your advice
I've tried the command you suggested, but still got nothing :(

Here is K8s version:

Here is Linux version:

Please provide the output of the following commands:
kubectl describe Pods -n varmor $(kubectl get Pods -n varmor | grep varmor-agent | head -n 1 | awk '{print $1}')
containerd --version
runc --version

You can reinstall apparmor and reboot to see if it resolves this issue.
apt install apparmor
reboot

Hi @Danny-Wei ,  sorry for my delayed response, here are the output of the commands:
kubectl describe Pods -n varmor $(kubectl get Pods -n varmor | grep varmor-agent | head -n 1 | awk '{print $1}')

Name:         varmor-agent-5q98c
Namespace:    varmor
Priority:     0
Node:         k8s-master/<IP_ADDRESS>
Start Time:   Fri, 08 Dec 2023 18:40:43 +0800
Labels:       app.kubernetes.io/component=varmor-agent
              app.kubernetes.io/name=varmor
              controller-revision-hash=799f46d74
              pod-template-generation=1
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  DaemonSet/varmor-agent
Containers:
  agent:
    Container ID:  docker://531a2a42064278f368e4980741a783f76c956ca02557aee6b6353d1fa93bc3f7
    Image:         elkeid-cn-beijing.cr.volces.com/varmor/varmor:v0.5.4
    Image ID:      docker-pullable://elkeid-cn-beijing.cr.volces.com/varmor/varmor@sha256:42a2c4971af65fe75306ae6ce8e1d4ae11b687421d9df668d81a73c0a87b606b
    Port:          <none>
    Host Port:     <none>
    Command:
      /varmor/vArmor
      --agent
    Args:
      --enableBpfEnforcer
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       ContainerCannotRun
      Message:      failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: open /proc/self/attr/apparmor/exec: read-only file system: unknown
      Exit Code:    128
      Started:      Thu, 14 Dec 2023 17:29:14 +0800
      Finished:     Thu, 14 Dec 2023 17:29:14 +0800
    Ready:          False
    Restart Count:  1679
    Limits:
      cpu:     200m
      memory:  200Mi
    Requests:
      cpu:        100m
      memory:     100Mi
    Environment:  <none>
    Mounts:
      /etc/apparmor.d from apparmor-dir (rw)
      /proc from procfs (ro)
      /run/containerd/ from containerd (rw)
      /sys/kernel/btf/vmlinux from btf (rw)
      /sys/kernel/security from securityfs (rw)
      /sys/module/apparmor from apparmor (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from varmor-agent-token-9xnv8 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  securityfs:
    Type:          HostPath (bare host directory volume)
    Path:          /sys/kernel/security
    HostPathType:  Directory
  apparmor:
    Type:          HostPath (bare host directory volume)
    Path:          /sys/module/apparmor
    HostPathType:  Directory
  apparmor-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/run/varmor/apparmor.d
    HostPathType:  DirectoryOrCreate
  containerd:
    Type:          HostPath (bare host directory volume)
    Path:          /run/containerd/
    HostPathType:  Directory
  procfs:
    Type:          HostPath (bare host directory volume)
    Path:          /proc
    HostPathType:  Directory
  btf:
    Type:          HostPath (bare host directory volume)
    Path:          /sys/kernel/btf/vmlinux
    HostPathType:  File
  varmor-agent-token-9xnv8:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  varmor-agent-token-9xnv8
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     :NoSchedule
                 node.kubernetes.io/disk-pressure:NoSchedule
                 node.kubernetes.io/memory-pressure:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute
                 node.kubernetes.io/pid-pressure:NoSchedule
                 node.kubernetes.io/unreachable:NoExecute
                 node.kubernetes.io/unschedulable:NoSchedule
Events:
  Type     Reason   Age                      From                 Message
  ----     ------   ----                     ----                 -------
  Warning  BackOff  90s (x38568 over 5d22h)  kubelet, k8s-master  Back-off restarting failed container

containerd --version

containerd containerd.io 1.6.14 9ba4b250366a5ddde94bb7c9d1def331423aa323

runc --version

runc version 1.1.4
commit: v1.1.4-0-g5fd4c4d
spec: 1.0.2-dev
go: go1.18.9
libseccomp: 2.5.1

I alse tried to reinstall apparmor and reboot, the issue is still not solved with the same error
Events:
  Type     Reason     Age                    From                Message
  ----     ------     ----                   ----                -------
  Normal   Scheduled  <unknown>              default-scheduler   Successfully assigned varmor/varmor-agent-fvh2v to k8s-node1
  Warning  Failed     2m48s (x4 over 3m29s)  kubelet, k8s-node1  Error: failed to start container "agent": Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: open /proc/self/attr/apparmor/exec: read-only file system: unknown
  Warning  BackOff    2m13s (x6 over 3m13s)  kubelet, k8s-node1  Back-off restarting failed container
  Normal   Pulling    2m (x5 over 3m30s)     kubelet, k8s-node1  Pulling image "elkeid-cn-beijing.cr.volces.com/varmor/varmor:v0.5.4"
  Normal   Pulled     119s (x5 over 3m29s)   kubelet, k8s-node1  Successfully pulled image "elkeid-cn-beijing.cr.volces.com/varmor/varmor:v0.5.4"
  Normal   Created    119s (x5 over 3m29s)   kubelet, k8s-node1  Created container agent

Hi, thanks for your response. We haven't adapted vArmor for a k8s + Docker environment for now. Could you install vArmor in a k8s + containerd environment? We will then create an environment with k8s + Docker to investigate the root cause of this issue.

Hi @Danny-Wei thanks for your advice! I will try to install vArmor in containerd env


Draft type no longer handles nested readonly objects with mixed property value types correctly

🐛 Bug Report
The fix in https://github.com/immerjs/immer/pull/990 does not seem to properly fix https://github.com/immerjs/immer/issues/839 and also breaks other scenarios. It should probably be reverted.
That PR "fixes" the issue of recursive types by bailing out of the recursion if the property's value type does not extend object. This "works" in the case of JsonObject because JsonObject's property's value type is a union of objects and primitives, and so it doesn't recurse on the object's properties because the property's value type does not extend the object type.
This is problematic because it won't remove the readonly modifier from nested objects if they have mixed property value types (both in the case of the JsonObject type and in other cases).
Link to repro
import { produce } from 'immer';

interface TestReadonlyObject {
    // The property value type does not extend object, so it will not recursively make the object writable.
    readonly testObjectOrNull: { readonly testProperty: number } | null;
}

const input: TestReadonlyObject = { testObjectOrNull: null };

produce(input, (draft) => {
    if (draft.testObjectOrNull) {
        // Errors because `testProperty` is still readonly, even though it shouldn't be.
        draft.testObjectOrNull.testProperty = 5;
    }
});

Playground Link
To Reproduce
See above.
Observed behavior
There is a TypeScript error.
Expected behavior
There should be no TypeScript error.
Environment
We only accept bug reports against the latest Immer version.

Immer version: 9.0.18
[x] I filed this report against the latest version of Immer
[x] Occurs with setUseProxies(true)
[x] Occurs with setUseProxies(false) (ES5 only)

Hi,
Can you release this change? The break went out patch release that has a tendency to automatically get pulled in.
Thanks!


Example of testing HttpTrigger with body

Trying to create a test for an HttpTrigger with a body, I am able to create a DefaultHttpRequest with a body, but when I make the call to the function, the body is not there.
Anyway, maybe an example of testing an HttpTrigger with a body would be helpful.

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

ID: a571957f-41ce-e7ea-5f0b-1aefb8b219fa
Version Independent ID: 6c676eb8-581c-c5c5-0047-c7a7531fa423
Content: Testing Azure Functions
Content Source: articles/azure-functions/functions-test-a-function.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Hi @mattruma Thank you for your feedback! We will review and update as appropriate.

@mattruma you can refer this repo for samples.
https://github.com/jeffhollan/functions-test-helper/blob/master/FunctionApp.Tests/HttpFunction.cs
https://github.com/jeffhollan/functions-test-helper/blob/master/FunctionTestHelper/Helpers/HttpTestHelpers.cs#L55

Thank you @KetanChawda-MSFT! I will check those samples out!

@mattruma sure, I will followup with you tomorrow.

@KetanChawda-MSFT that worked! Thank you! Might be nice to include the links you provided in this article.

@mattruma I am glad that it worked. We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Production breaks, dev mode works (Apollo client with id default not found.)

Describe the bug
When using the latest version of @vue/apollo-composable in dev mode everything works as expected, but when building the project using running the build the following error occurs in the console:
Apollo client with id default not found. Use an app.runWithContext() or provideApolloClient() if you are outside of a component setup.

To Reproduce
// main.js [simplified]
import { createApp, h } from "vue";
import {
  ApolloClient,
  createHttpLink,
  InMemoryCache,
} from "@apollo/client/core";
import { provideApolloClient } from "@vue/apollo-composable";

// HTTP connection to the API
const httpLink = createHttpLink({
  // Url is handled by proxy and application runs on same domain as graphql server
  uri: "/graphql",
});

// Cache implementation
const cache = new InMemoryCache();

// Create the apollo client
const apolloClient = new ApolloClient({
  link: httpLink,
  cache,
});

provideApolloClient(apolloClient);

app.mount("#app");

Versions
vue: ^3.3.13
vue-apollo: ^4.0.2
@apollo/client: ^3.7.16
Additional context
This worked on 4.0.0-beta.11 but something has changed with the release of 4.0.0-beta.12 that makes this break the application and therefor we're unable to upgrade to a non beta version

provideApolloClient does something else, it's returning a function that lets you use composables outside of setup functions.
How are you creating the app? I'm interested in how you do provide(DefaultApolloClient, apolloClient)

@nickmessing an (simplified) example of how it's used in one of our composables:
import { useLazyQuery, type UseQueryOptions } from "@vue/apollo-composable";

export function useProductPricing(
  variables: { products: string[] },
  options: UseQueryOptions = { fetchPolicy: "cache-and-network" }
) {
  const { load, error } = useLazyQuery<PriceQueryResult>(
    priceQuery,
    variables,
    options
  );

  const fetch = async (): Promise<Pricing[]> => {
    try {
      const result = await load();

      if (result !== false) {
        const { Price } = result;
        return Price;
      } else {
        console.error('oops something went wrong');
      }

    } catch (error) {
		console.error(error)
    }
  };

  return {
    error,
    fetch,
  };
}

@mmeester That doesn't show how you are providing the default client. Somewhere you should have provide(DefaultApolloClient, apolloClient) in code.
useQuery and useLazyQuery rely on DefaultApolloClient to be available (by using provide/inject), that's why in the setup part of the composition API docs that provide is in the app's setup function.


feature: Transparent encoding and decoding of Go strings to and from CBOR byte strings

Is your feature request related to a problem? Please describe.
I am attempting to add a CBOR encoding to an existing project that serves many API resources and supports JSON and Protobuf. API object types are primarily defined as Go struct types. Clients of the API that are written in Go can import and use these type definitions directly. Some clients can't use them because they don't know until runtime exactly what type they'll be handling, but are still able to perform useful work by relying on strict API conventions. Those clients are written to operate on "encoding/json"-compatible map[string]interface{} objects.
The existing encoders don't require that Go strings contain valid UTF-8 sequences, and I would like the proposed CBOR encoding to reject CBOR inputs that contain validity errors. This presents a few challenges:

Encoding a Go string that doesn't contain a valid UTF-8 sequence produces CBOR with validity errors (i.e. we can potentially encode something that we refuse to decode).
We can't change existing stable API types to use cbor.ByteString in place of string, since it would be a breaking change for consumers of the API types.
In dynamic clients, an object may have been encoded to CBOR from a Go struct but is decoded into map[string]interface{}. For compatibility with JSON, untagged CBOR byte strings need to decode into interface{} as string and not []byte.

Describe the solution you'd like
I thought it would be most effective to group this proposal under one issue since it comes from a single use case. I hope that's OK.

Add a new encode option controlling the CBOR string type of Go strings. The default would be "text string" and preserve the current behavior, and a second value would be "byte string".
Add a new decode option controlling the Go type when decoding a CBOR byte string into interface{}. The default would be "[]byte", preserving the current behavior, but with the ability to select "string".
Add a new decode option controlling whether or not to allow a CBOR byte string to be decoded into a destination value of type string. By default this can preserve the existing behavior.

Describe alternatives you've considered

Pre-validating and rejecting input strings containing invalid UTF-8 would make the CBOR encoder refuse to encode certain objects that the other supported encoders can encode.
Sanitizing invalid input strings in advance (as encoding/json does) incurs runtime overhead and isn't required by the existing Protobuf encoding.

Additional context
I'm happy to contribute all changes necessary to support this use case.

Hi @benluddy, thanks for opening this issue!  Please feel free to open a PR to add the proposed 3 non-default options!  :+1:
If my understanding is correct, you want to:

avoid overhead of checking/sanitizing UTF-8 string before encoding it, and
prevent encoding string containing invalid UTF-8 to CBOR text string

To achieve this, you want to add 3 options for Go strings <--> CBOR byte string:

encode Go string to CBOR byte string
decode CBOR byte string as a Go string when decoding to interface{}
allow decoding CBOR byte string directly to Go string

Currently, the UTF8DecodeInvalid option allows decoding CBOR text strings containing invalid UTF-8 to Go string (invalid UTF-8 strings are well-formed but not valid).
Thanks again!

This feature has been completed.
/close

Closed by #465


Add Faker for Famous Last Words

Add a Faker Module for Famous Last Words - phrases from People who passed away from a variety of causes but left us with some great last Phrases. Test and Documentation included.

@susiirwin are you still interested in working in these changes? If not, we could assign to another contributor.

I would really like to :) sorry I have left it dormant for so long! I will start working on it again soon.

@vbrazo - i made some updates. Would you mind reviewing and letting me know? Thanks in advance!

Will be working on this PR this week :) thanks for the encouragement!

Awesome @susiirwin 💯
Well, I'm here to help, so if you need someone to review your changes, have doubts, want to discuss something or I'd like to do a pair programming with me, let me know.

Could you rebase with master and fix the Rubocop violations? After rebasing, you'll need to install the new gems and then just run bundle exec rubocop -a. Let me know if you need help while rebasing @susiirwin

@vbrazo - a second set of eyes would be AMAZING :)  I am pretty sure i did the rebase and fixed the extra line errors that Rubocop was angry about. BUT i am not sure that it is correct still? Can you take a look and offer some suggestions? Thanks in advance....

Thanks for all of your help @vbrazo! 💯

I saw that you created a new branch to work on the desserts API. Great :)
You should update your master branch. You should have the latest merged PRs there. Once it's up-to-date, you can create a new branch based in your new file structure.
 Fix the conflicts and commit them
git add .
git commit -m 'something'
git push -f [your remote address] SusiIrwin-Dessert-Faker

I made a few changes. Notice that

the changelog.md has changed. Now we include the PR + name at the top. In the HEAD section.
locales changed a bit too. Now you have a file for them.

Notice that we are using Rubocop right now. I'm not sure if you are familiar with this gem, but now if you run rake, you'll run the tests and after that rubocop will be executed. Most rubocop issues are fixed with bundle exec rubocop -a, others you need to google and fix. Rubocop is great to control the code quality of your code.

I think this PR looks good and is good to go. Thanks for the hard work 👍

I just updated the contributors.md based on our discussions. Thanks a lot.


fix german translation for firstNameFieldRequired

1. Why is this change necessary?
The german translation for the contact form config field firstNameFieldRequired label is wrong
2. What does this change do, exactly?
Correct german translation
3. Describe each step to reproduce the issue or behaviour.
With the german user interface language go to:
Einstellungen -> Shop -> Stammdaten -> Sicherheit und Datenschutz
The Label "Telefonnummer in Kontaktformularen als Pflichtfeld behandeln" appears twice
4. Please link to the relevant issues (if any).
https://issues.shopware.com/issues/NEXT-12707
5. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

 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.

You were faster. Related issue: https://issues.shopware.com/issues/NEXT-12707

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-12745
Please use this issue to track the state of your pull request.

Hey @nexxome, thanks for your contribution 💙


wasmtime-debug assertion failure

What are the steps to reproduce the issue?

cargo run -- run -g --enable-simd --disable-cache codecbench-simd.wasm (see attached file at bottom)

What do you expect to happen? What does actually happen? Does it panic, and if so, with which assertion?

thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`', crates/debug/src/transform/expression.rs:330:13
stack backtrace:
...
12: std::panicking::begin_panic_fmt
             at src/libstd/panicking.rs:326
  13: wasmtime_debug::transform::expression::compile_expression
             at crates/debug/src/transform/expression.rs:330
  14: wasmtime_debug::transform::unit::clone_unit
             at crates/debug/src/transform/unit.rs:302
  15: wasmtime_debug::transform::transform_dwarf
             at crates/debug/src/transform/mod.rs:90
  16: wasmtime_debug::emit_debugsections_image
             at crates/debug/src/lib.rs:82
  17: wasmtime_jit::compiler::Compiler::compile
             at crates/jit/src/compiler.rs:215
  18: wasmtime_jit::instantiate::RawCompiledModule::new
             at crates/jit/src/instantiate.rs:83

Which Wasmtime version / commit hash / branch are you using?

https://github.com/abrown/wasmtime/tree/additional-i8x16-shift

If relevant, can you include some extra information about your environment? (Rust version, operating system, architecture...)

I built the attached Wasm file with /opt/wasi-sdk/bin/clang++ tools/codecbench.cpp src/vertexcodec.cpp src/vertexfilter.cpp src/overdrawanalyzer.cpp src/indexgenerator.cpp src/vcacheoptimizer.cpp src/indexcodec.cpp src/vfetchanalyzer.cpp src/spatialorder.cpp src/clusterizer.cpp src/allocator.cpp src/vcacheanalyzer.cpp src/vfetchoptimizer.cpp src/overdrawoptimizer.cpp src/simplifier.cpp src/stripifier.cpp -O3 -DNDEBUG -g -fno-exceptions -Wl,--initial-memory=268435456 -msimd128 -o codecbench-simd.wasm
codecbench-simd.txt

I think it is important to note that if I don't build codecbench-simd.wasm with clang++ ... -g ... then I get the following:
$ cargo run -- run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm
    Finished dev [unoptimized + debuginfo] target(s) in 0.07s
     Running `target/debug/wasmtime run -g --enable-simd --disable-cache ../meshoptimizer/codecbench-simd.wasm`
source: vertex data 32064032 bytes, index data 24000000 bytes
pass 0: vertex data 18518385 bytes, index data 2332680 bytes
Error: failed to run main module `../meshoptimizer/codecbench-simd.wasm`

Caused by:
    0: failed to invoke `_start`
    1: wasm trap: out of bounds memory access, source location: @22a4
       wasm backtrace:
         0: <unknown>!meshopt::decodeVertexBlockSimd(unsigned char const*, unsigned char const*, unsigned char*, unsigned long, unsigned long, unsigned char*)
         1: <unknown>!meshopt_decodeVertexBuffer
         2: <unknown>!benchCodecs(std::__2::vector<Vertex, std::__2::allocator<Vertex> > const&, std::__2::vector<unsigned int, std::__2::allocator<unsigned int> > const&)
         3: <unknown>!__original_main
         4: <unknown>!_start

Where the Wasm code for that offset is:
$ wasm-objdump -d ../meshoptimizer/codecbench-simd.wasm | grep -B5 -A5 22a4
 002297: fd 06 00                   |                     i8x16.extract_lane_u 0
 00229a: 6a                         |                     i32.add
 00229b: 20 17                      |                     local.get 23
 00229d: 41 f0 b0 80 80 00          |                     i32.const 6256
 0022a3: 6a                         |                     i32.add
>0022a4: 2d 00 00                   |                     i32.load8_u 0 0
 0022a7: 6a                         |                     i32.add
 0022a8: 21 00                      |                     local.set 0
 0022aa: 0c 02                      |                     br 2
 0022ac: 0b                         |                   end
 0022ad: 20 0f                      |                   local.get 15


With FD2.0 perf report can fail on wrong device op counts

@cglagovichTT provided the following info and log files on the fail:
2024-05-06 13:54:00.661 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 0
2024-05-06 13:54:00.860 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 7
2024-05-06 13:54:00.910 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 6
2024-05-06 13:54:00.961 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 1
2024-05-06 13:54:01.013 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 2
2024-05-06 13:54:01.254 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 5
2024-05-06 13:54:01.305 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 4
2024-05-06 13:54:01.359 | INFO     | tt_metal.tools.profiler.process_device_log:core_to_device_timeseries:352 - Importing Data For Device Number : 3
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/cglagovich/tt-metal/tt_eager/tracy.py", line 325, in <module>
    main()
  File "/home/cglagovich/tt-metal/tt_eager/tracy.py", line 309, in main
    generate_report(options.output_folder, options.name_append)
  File "/home/cglagovich/tt-metal/tt_eager/tracy.py", line 158, in generate_report
    process_ops(outFolder, nameAppend, True)
  File "/home/cglagovich/tt-metal/tt_metal/tools/profiler/process_ops_logs.py", line 400, in process_ops
    deviceOps = append_device_data(ops, PROFILER_LOGS_DIR)
  File "/home/cglagovich/tt-metal/tt_metal/tools/profiler/process_ops_logs.py", line 170, in append_device_data
    assert len(deviceOps[device]) == len(
AssertionError: Device data mismatch. Expected 57 but received 58 ops on device 0

profiler.logs.zip

With FD2.0 it looks like GO message is shifted causing misaligned FW starts, making a single multi-core OP to look like multiple OPs

FYI @johanna-rock-tt @uaydonat

@mo-tenstorrent you mean the start time of go messages are shifted?

More info on the staggered start and how it can look like 2 back to back op starts
https://github.com/tenstorrent/tt-metal/assets/109363418/2c9d81a3-1b33-42e1-ad79-d3b486714396
Staggered start on ERISC looking like around 5us

Confirmed stagger start on all_gather unit test as well.
Test command:
pytest tests/tt_eager/python_api_testing/unit_testing/misc/test_all_gather.py::test_all_gather_on_t3000_post_commit[mem_config0-input_dtype0-8-1-input_shape1-0-layout1]

This is still considered as one op by profiler as FW zones of the cores as still barely overlapping.

@aliuTT Will be trying write packed to see if the stagger GO msg gets better.

Definitely less staggering but I still see core (1,1) BRISC starting after core (9,1) BRISC has finished. Is that going to be a problem?

Just double checked, the staggering here makes sense, since the test is using 8 separate CoreRanges, each with one core. They are all different kernels, so this isn't really a multicast to 8 cores.

@mo-tenstorrent is this resolved now, can we close?

I pushed go signal changes to main already. No more actionables on my end

I was able to collect device perf locally, I'm fine to close

Great, Closing this ticket.
FYI: Assigning IDs to BRISC/ERISC FWs to determine OPs is tracked under : #3764


"disablePathToLower" does not work as expected in 0.21

# commit<PHONE_NUMBER>63c0984f1a1b1a6ee5744b560d78d0

$ grep -i tolower config.yaml
disablePathToLower: true

$ find content/Test/
content/Test/
content/Test/Post
content/Test/Post/index.md

$ find public/Test/ public/test/
public/Test/
public/Test/index.html
public/Test/index.xml
public/test
public/test/post
public/test/post/index
public/test/post/index/index.html

I can confirm this problem in 0.21

Dug a little more, this only affects the directory part of the path. When using uglyURLs, if disablePathToLower is set to true, content/Test/Toto.md generates public/test/Toto.html; and public/test/toto.html if disablePathToLower isn't set.
I know nothing about Go, but I suspect the problem could be coming from this code line
HTH

The following hack fixes the issue for me, so this line is effectively the source of the issue.
diff --git a/hugolib/page_paths.go b/hugolib/page_paths.go
index 1fe8ea5..0f5add2 100644
--- a/hugolib/page_paths.go
+++ b/hugolib/page_paths.go
@@ -85,7 +85,7 @@ func (p *Page) initTargetPathDescriptor() error {
                Kind:     p.Kind,
                Sections: p.sections,
                UglyURLs: p.s.Info.uglyURLs,
-               Dir:      filepath.ToSlash(strings.ToLower(p.Source.Dir())),
+               Dir:      filepath.ToSlash(p.Source.Dir()),
                URL:      p.URLPath.URL,
        }

I'm unable to tell whether this is a sufficient fix or if something else was meant to happen here.
HTH

I'm unable to tell whether this is a sufficient fix or if something else was meant to happen here.

As I'm assuming you have tested only your concern, I would assume not.

As I said I know nothing about go. All I can provide is a clue where the problem is (took me a quick git grep to find that out) and confirm that the problem is really coming from here, which I did.
I tested both states of disablePathToLower and both states of uglyURLs, and it seems to work as intended now.
I'm merely trying to make progress with this issue which affects the website I wanted to convert to hugo...
Hope that helps still.

I posted a little quick there -- your patch looks sensible, I will have a look.


Rename output image file

Hey! Great tool you've made. One small thing I'd like to see would be a way to rename the final image. Just as an example, I wanted to run one image through all of the available themes and get one file per theme:
for theme in (gwall list)
  gowall convert -t "$theme" "$image"
end

But since gowall doesn't do any renaming, it just overwrites the output image file over and over. I had to adjust my script to copy the original image file, give it a unique name based on the theme, and then convert it with gowall. It wasn't difficult, but it'd be nice if gowall had some kind of -o [filename] option when working with one of the commands that writes files to the filesystem:
gowall convert -t "catppuccin" -o "my_catppuccin_image.png" "$image"
# I'm not sure how Go does string templates
gowall convert -t "$theme" -f "png" -o "$theme.{ext}" "$image"
gowall convert -t "$theme" -f "png" -o "$theme_{filename}.{ext}" --batch file1.png,file2.png

Hello there, thank you for the kind words
just having an -o option to specify the output name  on  convert,invert,pixelate etc...  is pretty easy to add.
Something like this:
  gowall convert ~/img.png -t rose-pine -o out

for theme in (gwall list)
  gowall convert "$path" -t "$theme" -o "$theme"
end

And the output should be :
1. catppuccin.png
2. nord.png
3. rose-pine.png
....

I will push it on main on Saturday probably, because i dont have any time this week, thanks for the suggestion.

Side note btw : I have already implemented color correction locally with Hald CLUT'S with rbf interpolation meaning
so the color correction algorithm will become a lot better removing artifacts rough color transistions etc...  and the time taken for converting an image will drop to ms from seconds.
So don't get discouraged if you dont like any conversions or if you see artifacts, i already have the solution i just need time to implement it in gowall

@nozzlegear just added it in this commit : b4956bf
You can now simply do

#!/bin/bash

themes=$(gowall list)

input_path="/home/achno/Pictures/NOBORDER.png"

while IFS= read -r theme; do
  gowall convert "$input_path" -t "$theme" -o "$theme"
done <<< "$themes"

And the output should be :
1. catppuccin.png
2. nord.png
3. rose-pine.png
....

Awesome, thanks for the quick turnaround!


[BUG] get_timeline_feed ignores max_id

Describe the bug
Trying to simulate scroll. It seems that get_timeline_feed ignores max_id, it returns always the same objects,
I tried different reasons but it returns always the same.
To Reproduce
cl = Client()
cl.login(ACCOUNT_USERNAME, ACCOUNT_PASSWORD)
timeline1 = cl.get_timeline_feed("cold_start_fetch")
print(timeline1['next_max_id'])
timeline2 = cl.get_timeline_feed('pull_to_refresh',max_id = timeline1['next_max_id'])
print(timeline1['feed_items'][0]['media_or_ad']['pk'],timeline2['feed_items'][0]['media_or_ad']['pk'])
print(timeline1['feed_items'][1]['media_or_ad']['pk'],timeline2['feed_items'][1]['media_or_ad']['pk'])
#timeline1 and timeline2 have the same feed_items

Can't seem to resolve this. anyone have any luck? I also get the same values for timeline1 and timeline2

Up


Clarify what Azure Applications is/are

What is meant by Azure Applications is ambiguous. Its says Virtual Machines, Networking, Storage, Other Azure Services, which on a Venn diagram that last one would include everything. So Azure Applications are anything on Azure?
I've been working with Azure since 2009 and I've never heard this term.
Then this:
"For Virtual Machines and Azure Applications, the Azure infrastructure usage fees are billed to the customer’s Azure subscription."
If Azure Applications includes things like Azure Search or Cosmos DB then what "infrastructure" would I be using? The use of the term infrastructure has a specific meaning in cloud, and it means old-skool IT that we deal with on-prem. PaaS resources don't use infrastructure (not from my point of view, at least). So by invoking this term you raise doubts in my mind as to my understanding of what Azure Applications are.
Maybe they're not PaaS services, maybe they're something else that runs on IaaS. The name is capitalized, too, so maybe its thing larger than just a category. And why use this term when you could say PaaS Resources.
Maybe they're Office 365 extension apps, but why then would they have infrastructure (VM) costs? Or maybe you're talking about the infrastructure costs on your side that are hidden from us when we use PaaS. In which case, be consistent and keep it hidden. Say platform usage costs, or resource usage costs.
I can't really make sense the documentation because I don't understand this key term. I cannot Google it either because its two general words.
I'm lost.

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

ID: 9f499c98-2693-d8e4-22cf-f3214d9f06f8
Version Independent ID: 3d2d7df1-2792-af03-9033-5a6af4ae7554
Content: Marketplace Commercial Transaction Capabilities and Considerations
Content Source: articles/marketplace/marketplace-commercial-transaction-capabilities-and-considerations.md
Service: marketplace
GitHub Login: @yijenj
Microsoft Alias: pabutler

@lukepuplett Thanks for your comment. We are actively investigating and will get back to you shortly. Thanks for your patience.

reassigning to @qianw211 to review

@lukepuplett Hi, here's the answer to your question:
Using solution templates built on Azure Resource Manager (ARM) templates, you can define resources to provision automatically within a customer’s Azure subscription. Any Azure resource supported by ARM can be configured as part of an Azure Application (solution template), and they are in Azure Marketplace and not Microsoft AppSource due to the dependency on an Azure subscription.
The solution template is not monetized itself, and Azure Applications charge based on the underlying resources. First, create a VM image offer, set the consumption price for the VM, and optionally set the VM offer to “hidden.” Then, configure your Azure Application’s solution template to deploy the hidden VM offer.
Learn more about Azure Resource Manager templates https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates or watch this video about VM images and Azure Apps in the commercial marketplace https://www.youtube.com/watch?v=Wxs5P4d6LQc&feature=youtu.be.

thanks @qianw211.
@lukepuplett hope the above answer helps. We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.

Thank you. Its occurring to me that Azure Applications are Microsoft's name for the customer's marketplace application - or at least one of the three types of marketplace apps/value-props customers can setup.
Wow. I thought by Azure Applications you meant like, Azure resources/services/things like Cosmos DB or Azure Search.
It's funny how when you chat informally to people they're better at explaining something than official documentation which, in its attempts to sound professional, actually ends up stiff and hard to understand.
The MS docs have always been pretty good and are better than ever, but the goal should be that the official docs are easier to comprehend than personal blog sites. Personal blogs work so well because people chat normally.
Anyway, thanks.

Thanks for sharing! We'd love your feedback on this guide, which is written to be a little more casual and conversational (nicely put in your terms 😊).
https://www.microsoftpartnercommunity.com/t5/Microsoft-AppSource-and-Azure/Simplified-Commercial-Marketplace-Guide-Sell-through-Microsoft/m-p/13770#M539


hide columns

i know that there are some other cases that are having issues with hiding columns. But the following does not work as well when using material design 1.0.1:
"td hide-lt-md  md-cell>{{message.sender}}</td"
So all the media type hid and show also are not working. BUT ng-show does work....

After upgrading to 0.9.x I actually noticed a regression concerning hiding columns with ng-show. Hiding the first column results with a new first column that has no padding to the left.
Can see this in the following code pen: http://codepen.io/Koslun/pen/KVZKWa?editors=101, where I added two check boxes for hiding and showing the "calories" and "dessert" columns respectively. Hiding the "calories" column works fine while hiding the "dessert" column however leaves you with the "type" column that shows no padding to the left of table. Either touching the selection boxes or the containing card.

actually after further research it seems that i cant get hide-lt-md to work at all.... think this is an angular issue.
I do know what you are saying about the padding though on the first column... if hidden the second column gets pushed up against, in my case the checkbox.

@scriptsure see my response to @Koslun here.
Yes I believe some of the media query directives in Angular Material do not behaving as expect. In the example Codepen you'll notice that I am using some on the last few columns and they work.
ng-show and Angular Material media directives are only going to be an issue if you hide the first or last cell because these cells have different padding then the rest. You can always manually fix the padding when you hide the first or last cell.


RTC slow memory issues (IDFGH-4706)

Module or chip used:  ESP32-WROOM-32D
IDF version: v4.1
Build System: Make
Compiler version : xtensa-esp32-elf-gcc (crosstool-NG esp-2020r2) 8.2.0
Operating System: Linux
Power Supply: external 3.3V

Problem Description
As reported here: 10526 the length of the rtc_slow_reg looks like is incorrect!
The Igrr's reply does not make sense to me since the RTC slow memory length is 8k which is 0x2000 in hex.
In our config we have CONFIG_ULP_COPROC_RESERVE_MEM=7936 since the ULP code stores a lot of data.
Also, we have variables marked with RTC_SLOW_ATTR which needs to be preserved during the deep sleep.
So, which one is incorrect KConfig or ld script?
Edit: Add @igrr
Best regards

https://github.com/espressif/esp-idf/commit/ef10c2576ff14afa033ef22105406399abc570af

@igrr
This report is against v4.1, but v4.1 (and v4.2) does not include the fix.

Fix is available on 4.2 now.


make screens and components compatible with the updated button

Addresses:
#5376

Overall looks good, but misses a few screens (there might be more so you could search the code for <Buttons to check)


Debugging C++ package when running Flutter app

Is it possible to use the Android Studio debugger or the one in VS Code when running a Flutter app on Dart, which depends on a C++ package that I created and I'm using through dart:ffi?

With standalone Dart (not Flutter), you can debug your C++ shared library using the C++ debugger on the Dart exectuable.
In launch.json:
        {
            "name": "ccpdbg",
            "type": "cppdbg",
            "request": "launch",
            // path to the Dart executable (in the downloaded/installed SDK).
            "program": "${workspaceFolder}/out/DebugX64/dart",
            "args": [
                // Path to the standalone Dart file that invokes your shared library.
                "${workspaceFolder}/tests/ffi_2/vmspecific_handle_test.dart",
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb", // Provided that your host OS is Linux.
            "sourceFileMap": {
                // When building the SDK locally, this gives source locations of  the stuff in the Dart
                // executable. A downloaded SDK probably does not have symbols. But if you're
                // only trying to debug your shared library that should be fine.
                "../../out/DebugX64/../../": "${workspaceFolder}/"
            },
        },

As you can see, the C++ debugger does not understand Dart frames so they show up as
[Unknown/Just-In-Time compiled code] (Unknown Source:0)

But you can set a break point in your shared library and step through it as I did in this screenshot.
More info https://code.visualstudio.com/docs/cpp/launch-json-reference.
On MacOS, you should be able to achieve the same with lldb instead of gdb.
On Windows, you should be able to load the dart executable into visual studio and launch it with the path to the Dart file you want to execute.
Debugging in Flutter directly is much more complicated, because you are compiling to another architecture (your phone).

Thanks for the help, I appreciate it. The C++ package that I'm trying to debug depends on Google Oboe, which is a low latency audio library for Android, and therefore I have my doubts on whether I can compile the project for something other than Android.

With standalone Dart for Android arm/arm64 you can use gdbserver. Though, I'm not sure how many of those tools are shipped with the Flutter SDK.
I have the dart sdk source and the flutter engine source both checked out and ran gclient sync to get all the large files, and then built the dart (standalone) arm. My debugging on device setup in that case is as follows.
setup gdbserver on the phone
adb root
adb push ~/flt/engine/src/third_party/android_tools/ndk/prebuilt/android-arm/gdbserver/gdbserver data/local/tmp/gdbserver
adb push ~/flt/engine/src/third_party/android_tools/ndk/prebuilt/android-arm64/gdbserver/gdbserver data/local/tmp/gdbserver64
adb shell "cd /data/local/tmp; chmod 777 gdbserver; chmod 777 gdbserver64"

build dart standalone
$ tools/build.py -m debug -a arm --os=android create_sdk

run a test with -k which keeps the files on the phone (this is just a shorthand so that I don't have to type all the adb commands):
$ tools/test.py -n dartk-android-debug-arm -k -v tests/ffi_2/vmspecific_handle_test.dart

--- Command "vm_compile_to_kernel []" (took 04.000417s):
DART_CONFIGURATION=DebugAndroidARM /usr/local/google/home/dacoharkes/dart-sdk/sdk/pkg/vm/tool/gen_kernel --no-aot --platform=out/DebugAndroidARM/vm_platform_strong.dill -o /usr/local/google/home/dacoharkes/dart-sdk/sdk/out/DebugAndroidARM/generated_compilations/dartk/tests_ffi_2_vmspecific_handle_test/out.dill /usr/local/google/home/dacoharkes/dart-sdk/sdk/tests/ffi_2/vmspecific_handle_test.dart --packages=/usr/local/google/home/dacoharkes/dart-sdk/sdk/.packages -Ddart.vm.product=false -Ddart.developer.causal_async_stacks=true

exit code:
0

--- Command "adb_precompilation" (took 39.000819s):
Steps to push Dart VM and Dill file to an attached device. Uses (and requires) adb.

exit code:
255

stdout:
Executing adb -s 00bbd0419fc34dcd shell rm -Rf /data/local/tmp/testing/test ; echo AdbShellExitCode:  $?
Stdout:
AdbShellExitCode: 0
ExitCode: 0
Time: 0:00:00.056065

Executing adb -s 00bbd0419fc34dcd shell mkdir -p /data/local/tmp/testing/test ; echo AdbShellExitCode:  $?
Stdout:
AdbShellExitCode: 0
ExitCode: 0
Time: 0:00:00.031617

Executing adb -s 00bbd0419fc34dcd push out/DebugAndroidARM/dart /data/local/tmp/testing/dart
Stdout:
out/DebugAndroidARM/dart: 1 file pushed, 0 skipped. 5.2 MB/s (191879640 bytes in 35.497s)
ExitCode: 0
Time: 0:00:35.932885

Executing adb -s 00bbd0419fc34dcd push /usr/local/google/home/dacoharkes/dart-sdk/sdk/out/DebugAndroidARM/generated_compilations/dartk/tests_ffi_2_vmspecific_handle_test/out.dill /data/local/tmp/testing/test/out.dill
Stdout:
/usr/local/google/home/dacoharkes/dart-sdk/sdk/out/DebugAndroidARM/generated_compilations/dartk/tests_ffi_2_vmspecific_handle_test/out.dill: 1 file pushed, 0 skipped. 9.4 MB/s (6179472 bytes in 0.626s)
ExitCode: 0
Time: 0:00:01.082450

Executing adb -s 00bbd0419fc34dcd push out/DebugAndroidARM/libffi_test_functions.so /data/local/tmp/testing/test/libffi_test_functions.so
Stdout:
out/DebugAndroidARM/libffi_test_functions.so: 1 file pushed, 0 skipped. 9.8 MB/s (4884936 bytes in 0.476s)
ExitCode: 0
Time: 0:00:00.870706

Executing adb -s 00bbd0419fc34dcd shell export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/testing/test;/data/local/tmp/testing/dart --android-log-to-stderr --enable-testing-pragmas --ignore-unrecognized-flags --packages=/usr/local/google/home/dacoharkes/dart-sdk/sdk/.packages /data/local/tmp/testing/test/out.dill ; echo AdbShellExitCode:  $?

And then we modify the last adb command to start the dart executable with gdbserver:
$ adb forward tcp:5039 tcp:5039;adb shell "export SHELL=/system/bin/sh; export LD_LIBRARY_PATH=:/data/local/tmp/testing/test:/data/local/tmp/testing/test:/data/local/tmp/testing/test:/data/local/tmp/testing/test:/data/local/tmp/testing/test;cd /data/local/tmp/testing; /data/local/tmp/gdbserver --once :5039 ./dart --android-log-to-stderr /data/local/tmp/testing/test/out.dill"
Process ./dart created; pid = 14336
Listening on port 5039

To which we connect with the gdb provided by Flutter (that pairs with the gdbserver that we uploaded to the phone).
$ ~/flt/engine/src/third_party/android_tools/ndk/prebuilt/linux-x86_64/bin/gdb
GNU gdb (GDB) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) target remote localhost:5039
Remote debugging using localhost:5039
Reading /data/local/tmp/testing/dart from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /data/local/tmp/testing/dart from remote target...
Reading symbols from target:/data/local/tmp/testing/dart...

(This takes a while, setting the sysroot makes this faster, but sometimes that also breaks the debugger for me.)
And instead of using commandline gdb, you can also use it from VSCode. Enabling you to set breakpoints in your own shared library from the IDE.

        {
            "name": "arm android",
            "type": "cppdbg",
            "request": "launch",
            "miDebuggerPath": "${workspaceFolder}/../../flt/engine/src/third_party/android_tools/ndk/prebuilt/linux-x86_64/bin/gdb",
            "miDebuggerServerAddress": ":5039",
            "program": "${workspaceFolder}/out/DebugAndroidARM/dart",
            "cwd": "${workspaceFolder}/out/DebugAndroidARM",
            "environment": [],
            "linux": {
                "MIMode": "gdb",
            }
        },

I guess it's gonna take some time for me to process all of that information, because I think some of it is a bit over my current level of understanding. For now, thank you for the detailed information!

Someone also answered me with an incredible workaround here


[Style] Hover Effect for the button on the navbar

What's the style idea?
The current hover effects and animations for the nav-bar do not look complete or proper. I can improve the nav-bar drastically in terms of look and feel.
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[X] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100 can you assign me this issue?

@Rakesh9100  can i work on this?

Proceed @deboneil07

PR status pls @deboneil07

assign me under JWOC

What enhancements will you do @AftabMankapure

@Rakesh9100 Can you assign me this issue

Proceed @bhavya-anand19

Status of your PR @bhavya-anand19

Provide your PR by today @bhavya-anand19

@Rakesh9100 Assign me this issue under JWOC 2024

@Rakesh9100 I'm currently working on the issue. Will create a PR by today

@Rakesh9100  assign me under JWOC

Proceed and implement a good hover effect @AftabMankapure


[Snyk] Security upgrade @angular-devkit/build-angular from 13.0.4 to 16.1.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

packages/node/base/package.json
packages/node/base/package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

658/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-JS-SEMVER-3247795
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages

Package name: @angular-devkit/build-angular
    The new version differs by 250 commits.

29f2c17 release: cut the v16.1.0 release
f0a4ce6 build: bump versions for minor release
72629bd refactor: move esbuild index generator, code bundle option and execution results
15e0a88 refactor(@ angular-devkit/build-angular): update code base structure to facilitate future builders
abc49bd build: update angular
8424ab0 fix(@ angular-devkit/build-angular): support proxy configuration array-form in esbuild builder
a0e3ae9 docs: removed the duplicate words
32e2b22 refactor: removed unused import statements
0e25fec refactor: replaced the String wrapper object with primitive type string
78084aa build: update all non-major dependencies
1aa9fb4 docs: updated the i tag to the em tag in the html and docs
0fa1167 build: update all non-major dependencies
cd7c825 fix(@ angular-devkit/build-angular): correctly handle sass imports
ef384f3 build: update angular
8772b62 release: cut the v16.1.0-rc.0 release
bc48a0d build: update all non-major dependencies
15c14f7 docs: release notes for the v16.0.5 release
bc5b7d5 refactor(@ angular-devkit/build-angular): improve initial file analysis for esbuild builder
7155cbe fix(@ angular-devkit/build-angular): ignore folders starting with a dot in browser-esbuild watcher
772fe84 fix(@ angular-devkit/build-angular): ignore .git folder in browser-esbuild watcher
e2954d2 build: update angular
dfc052a refactor(@ schematics/angular): deprecate private standalone utilities
b14b959 feat(@ schematics/angular): add bootstrap-agnostic utilities for writing ng-add schematics
b36effd refactor(@ schematics/angular): add utility to find top-level identifiers

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Regular Expression Denial of Service (ReDoS)

Checkmarx One – Scan Summary & Details – 37403c7c-667a-4c22-af61-a5a2d3ae7199
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

AD Admin Not Configured For SQL Server
/sql.tf: 9
The Active Directory Administrator is not configured for a SQL server

AKS Private Cluster Disabled
/aks.tf: 1
Azure Kubernetes Service (AKS) API should not be exposed to the internet

App Service Managed Identity Disabled
/app_service.tf: 43
Azure App Service should have managed identity enabled

App Service Managed Identity Disabled
/app_service.tf: 22
Azure App Service should have managed identity enabled

App Service Not Using Latest TLS Encryption Version
/app_service.tf: 29
Ensure App Service is using the latest version of TLS encryption

Authentication Without MFA
/iam.tf: 29
Users should authenticate with MFA (Multi-factor Authentication) to ensure an extra layer of protection when authenticating

Azure App Service Client Certificate Disabled
/app_service.tf: 22
Azure App Service client certificate should be enabled

Azure App Service Client Certificate Disabled
/app_service.tf: 43
Azure App Service client certificate should be enabled

Azure Instance Using Basic Authentication
/instance.tf: 9
Azure Instances should use SSH Key instead of basic authentication

BigQuery Dataset Is Public
/big_data.tf: 24
BigQuery dataset is anonymously or publicly accessible

CMK Rotation Disabled
/kms.tf: 1
Customer Master Keys (CMK) must have rotation enabled, which means the attribute 'enable_key_rotation' must be set to 'true' when the key is enabled.

Cloud Storage Bucket Logging Not Enabled
/gcs.tf: 1
Cloud storage bucket should have logging enabled

Cloud Storage Bucket Versioning Disabled
/gcs.tf: 1
Cloud Storage Bucket should have versioning enabled

Cluster Labels Disabled
/gke.tf: 6
Kubernetes Clusters must be configured with labels, which means the attribute 'resource_labels' must be defined

Cx347a3da7-ba99
Npm-node-forge-0.10.0
Vulnerable Package

Cx4615fedd-34f3
Npm-validator-8.2.0
Vulnerable Package

Cx89601373-08db
Npm-debug-3.2.7
Vulnerable Package

Cx89601373-08db
Npm-debug-2.6.9
Vulnerable Package

Cx8bc4df28-fcf5
Npm-debug-4.3.3
Vulnerable Package

Cx8bc4df28-fcf5
Npm-debug-4.3.2
Vulnerable Package

Cx8bc4df28-fcf5
Npm-debug-4.3.1
Vulnerable Package

Cx8bc4df28-fcf5
Npm-debug-3.2.7
Vulnerable Package

Cx8bc4df28-fcf5
Npm-debug-2.6.9
Vulnerable Package

Cxc7705965-e0f0
<EMAIL_ADDRESS>Vulnerable Package

Cxd312845a-fedc
Npm-validator-8.2.0
Vulnerable Package

Cxdca8e59f-8bfe
Npm-inflight-1.0.6
Vulnerable Package

Cxf6e7f2c1-dc59
Npm-yauzl-2.10.0
Vulnerable Package

DB Instance Publicly Accessible
/db-app.tf: 21
RDS must not be defined with public interface, which means the field 'publicly_accessible' should not be set to 'true' (default is 'false').

DB Instance Storage Not Encrypted
/db-app.tf: 18
AWS DB Instance should have its storage encrypted by setting the parameter to 'true'. The storage_encrypted default value is 'false'.

EBS Volume Snapshot Not Encrypted
/ec2.tf: 53
The value on AWS EBS Volume Snapshot Encryptation must be true

EC2 Instance Has Public IP
/ec2.tf: 1
EC2 Instance should not have a public IP address.

EC2 Instance Has Public IP
/db-app.tf: 242
EC2 Instance should not have a public IP address.

EKS Cluster Encryption Disabled
/eks.tf: 117
EKS Cluster should be encrypted

GKE Legacy Authorization Enabled
/gke.tf: 12
Kubernetes Engine Clusters must have Legacy Authorization set to disabled, which means the attribute 'enable_legacy_abac' must not be true

Geo Redundancy Is Disabled
/sql.tf: 80
Make sure that on PostgreSQL Geo Redundant Backups is enabled

HTTP Port Open To Internet
/ec2.tf: 77
The HTTP port is open to the internet in a Security Group

IAM Database Auth Not Enabled
/db-app.tf: 1
IAM Database Auth Enabled should be configured to true when using compatible engine and version

IP Aliasing Disabled
/gke.tf: 6
Kubernetes Clusters must be created with Alias IP ranges enabled, which means the attribut 'ip_allocation_policy' must be defined and, if defined, ...

KMS Key With Vulnerable Policy
/kms.tf: 1
Checks if the policy is vulnerable and needs updating.

Key Expiration Not Set
/key_vault.tf: 33
Make sure that for all keys the expiration date is set

MSSQL Server Public Network Access Enabled
/mssql.tf: 58
MSSQL Server public network access should be disabled

MSSQL Server Public Network Access Enabled
/mssql.tf: 20
MSSQL Server public network access should be disabled

MSSQL Server Public Network Access Enabled
/mssql.tf: 115
MSSQL Server public network access should be disabled

MSSQL Server Public Network Access Enabled
/mssql.tf: 77
MSSQL Server public network access should be disabled

MSSQL Server Public Network Access Enabled
/mssql.tf: 134
MSSQL Server public network access should be disabled

MSSQL Server Public Network Access Enabled
/mssql.tf: 39
MSSQL Server public network access should be disabled

MSSQL Server Public Network Access Enabled
/mssql.tf: 96
MSSQL Server public network access should be disabled

Missing User Instruction
/Dockerfile: 1
A user should be specified in the dockerfile, otherwise the image will run as root

MySQL SSL Connection Disabled
/sql.tf: 60
Make sure that for MySQL Database Server, 'Enforce SSL connection' is enabled

MySQL Server Public Access Enabled
/sql.tf: 59
MySQL Server public access should be disabled

Network Policy Disabled
/gke.tf: 6
Kubernetes Engine Clusters must have Network Policy enabled, meaning that the attribute 'network_policy.enabled' must be true and the attribute 'ad...

Network Watcher Flow Disabled
/networking.tf: 126
Check if enable field in the resource azurerm_network_watcher_flow_log is false.

Node Auto Upgrade Disabled
/gke.tf: 24
Kubernetes nodes must have auto upgrades set to true, which means Node 'auto_upgrade' should be enabled for Kubernetes Clusters

OSS Bucket Public Access Enabled
/bucket.tf: 7
OSS Bucket should have public access disabled

Passwords And Secrets - AWS Access Key
/providers.tf: 10
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - AWS Access Key
/lambda.tf: 44
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - AWS Access Key
/ec2.tf: 15
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - AWS Secret Key
/ec2.tf: 16
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/mssql.tf: 64
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/mssql.tf: 140
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/mssql.tf: 83
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/mssql.tf: 26
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/mssql.tf: 102
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/sql.tf: 15
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/sql.tf: 83
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/mssql.tf: 121
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Password
/mssql.tf: 45
Query to find passwords and secrets in infrastructure code.

Passwords And Secrets - Generic Secret
/lambda.tf: 45

More results are available on AST platform


Publish can't "zip-it-and-ship-it"

I'm able to successfully "Export" and "Preview" a site as configured, yet when clicking "Publish", after a long pause I'm seeing "Preparing functions..." then after another long pause while npm runs, I'm getting this exception:
Done in 3649ms.
"Elapsed time: 24667.785 msecs"

Preparing functions...
"...AFTER npm install"
[qtp772154516-23] ERROR com.biffweb.impl.middleware - Exception while handling request
java.io.IOException: Cannot run program "zip-it-and-ship-it" (in directory "storage/deploys/4b8f7ba1-cc01-4b87-9a71-23389182e111"): error=2, No such file or directory
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
        at java.base/java.lang.Runtime.exec(Runtime.java:615)
        at clojure.java.shell$sh.invokeStatic(shell.clj:113)
        at clojure.java.shell$sh.doInvoke(shell.clj:79)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invokeStatic(core.clj:667)
        at clojure.core$apply.invoke(core.clj:662)
        at com.biffweb.impl.util$sh.invokeStatic(util.clj:63)
        at com.biffweb.impl.util$sh.doInvoke(util.clj:62)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invokeStatic(core.clj:667)
        at clojure.core$apply.invoke(core.clj:662)
        at com.biffweb$sh.invokeStatic(biffweb.clj:61)
        at com.biffweb$sh.doInvoke(biffweb.clj:56)
        at clojure.lang.RestFn.invoke(RestFn.java:482)
        at com.platypub.netlify$deploy_BANG_.invokeStatic(netlify.clj:15)
        at com.platypub.netlify$deploy_BANG_.invoke(netlify.clj:10)
        at com.platypub.feat.sites$publish.invokeStatic(sites.clj:156)
        at com.platypub.feat.sites$publish.invoke(sites.clj:152)
        at com.platypub.util$wrap_signed_in$fn__35716.invoke(util.clj:96)

Oh, it's an oversight on this line: https://github.com/jacobobryant/platypub/blob/master/src/com/platypub/netlify.clj#L14. Quick fix is to install zip-it-and-ship-it globally: sudo npm install @netlify/zip-it-and-ship-it -g.
To avoid the need for a global install, we could include zip-it in themes/default/package.json and invoke with npx zip-it-and-..., however that'll make the npm install at https://github.com/jacobobryant/platypub/blob/master/src/com/platypub/netlify.clj#L13 even slower since it'll have to install every time you publish. Ideal solution is probably to add a package.json file to platypub's root folder and include a one-time npm install as part of platypub's setup process.
While we're on the topic, that npm install line linked above should probably be changed to omit dev dependencies, which are only needed for local theme development. That'll speed up publishing. (https://stackoverflow.com/questions/9268259/how-do-you-prevent-install-of-devdependencies-npm-modules-for-node-js-package). Though looks like for the default theme I do have at least one dev dependency that should be a production dependency (@tailwindcss/forms, https://github.com/jacobobryant/platypub/blob/master/themes.TEMPLATE/default/package.json#L17), so that would need to be fixed as well...

Thanks. As you've indicate, globally installing @netlify/zip-it-and-ship-it solves the issue.  It still takes a significant time to publish.


MOAR NICK ALL THE THINGS

YOU WANT MORE NICK CAGE

Hey Scott: Thanks so much for your interest and love of Nick Cage! Unfortunately we don't need this. :)

OK, my pleasure.


No upper bound on quotas created for roles

Description
Removed upper bound verification of quotas that are specified when creating or updating a role for powerflex.
Issues
List the issues impacted by this PR:

Issue ID

#73

Checklist:

[x] I have performed a self-review of my own changes.

@LJ-Software: Thank you for submitting your pull request!
Please make sure you have followed our contributing guidelines. We will review it as soon as possible.

We want your feedback! If you have any questions or suggestions regarding our contributing process/workflow, please reach out to us at<EMAIL_ADDRESS>


Reboot when a change is made

Fixes issue #5

Hi @TravisEz13, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Travis Plunk). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


⚡ Fix site release version

Updated the latest version number on the Picturefill site to 2.3.0 as reported in #474.

+1


Question around mock setup - how to pass mock instances to inst. vars?

Hi Denis! @dionisiydk
As part of my activities on Exercism project, where your Mocketry library is used, I have some question around running code with mock instances:
I want to have following statement (simplified):
testExecuteDownloading

	| cmd exercise  mockHttpClient mockReader baseUrl  |

	Any strictMocks: false.
	mockHttpClient := ExercismHttpClient asMock.
	mockReader := TonelReader asMock.

	[
	cmd := (ExercismDownloadCommand
		from: mockHttpClient track: 'pharo' exercise: 'test-exercise')
		yourself.

	exercise := cmd execute. "tonel reader used in this code"

	self assert: exercise notNil description: 'Get a result'.

	sourceCode := exercise contentsFor: 'test1.st' ifAbsent: [''].
	self assert: sourceCode equals: 'Some source1'

	] runWithMockSetup: [

	mockHttpClient expect verifyToken atLeastOnce.
	"... + some other stub sessages for mockClient"

	(mockReader expect loadDefinitions) willReturnYourself.
	].

Code above is kind-of integration test, that execution is done properly (I have some more dedicated unit tests on objects/classes used in command execution).
Problem is that I don't know how to stub just certain instance side method of TonelReader that is used in code of execution of command above. TonelReader is instantiated as one of local variables of method executed on other object of download command (so it is internal implementation that shouldn't be really exposed as part of command interface).
Should I just stub constructor method (class side) of TonelReader class that would return an instance of TonelReader mock (with dedicated stub instance side method)?
Thanks much for your answer!
David

I've resolved it by stubbing the constructor of tonel reader class. Closing this issue.

Sorry @Bajger . I missed the notification.
Stubbing a class is a possible approach. But IMHO it indicates/drives the change in the design.
I would refactor a command to have a reader and a client as an instance variables and then the test will be much simpler.
Anyway I am not familiar with Mocketry extensions from the Exercism project (and in readme here you will not find used expressions). So I don't understand all details.


process.on('warning') does not work inside tests

🐛 Bug Report
Listening to process warning events does not work inside test files.
To Reproduce
describe('example', () => {
  it('example', () => {
    process.on('warning', error => {
      console.log('Caught warning', error)
    })
    // This is caught by the listener
    process.emit('warning', 'Warning one')
    // This uses the default Node.js `warning` listener instead (which prints on the console)
    process.emitWarning('Warning two')
  })
})

$ jest
(node:22210) Warning: Warning two
 PASS  test/jest.test.js
  example
    ✓ example (4ms)

  console.log test/jest.test.js:4
    Caught warning Warning one

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        0.664s, estimated 1s
Ran all test suites.

Expected behavior
There should be a predictable way to catch any warning events on the current process in Node.js. To keep the issue simple, I am only mentioning warning, but the same issue happens with multipleResolves and rejectionHandled process events.
Link to repl or repo (highly encouraged)
https://github.com/ehmicky/jest-warning-bug
Run npx envinfo --preset jest
Paste the results here:
  System:
    OS: Linux 4.18 Ubuntu 18.10 (Cosmic Cuttlefish)
    CPU: (12) x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
  Binaries:
    Node: 11.13.0 - ~/.nvm/versions/node/v11.13.0/bin/node
    npm: 6.9.0 - ~/.nvm/versions/node/v11.13.0/bin/npm
  npmPackages:
    jest: ^24.5.0 => 24.5.0

Unfortunately I suspect this is another artifact of https://github.com/facebook/jest/issues/2549. Because Node allows emitting strings and Errors as warnings, they are doing instanceof Error checks in emitWarning / onWarning that will behave unexpectedly.
Another thing that makes this issue more visible is that
process.emitWarning(new Error('Warning two'))

results in
TypeError [ERR_INVALID_ARG_TYPE] [ERR_INVALID_ARG_TYPE]: The "warning" argument must be one of type Error or string. Received type object


Feature/did 4 add week activity reporting

I added a report page of week activity. The activity is grouped by tags in order to make it more meaningful

This PR close the issue #4


MWPW-160741 Update favicon for Project Red

Update favicons

Resolves: MWPW-160741
Test URLs:

Before: https://main--bacom-blog--adobecom.hlx.live/?martech=off
After: https://favicon-red--bacom-blog--meganthecoder.hlx.live/blog/?martech=off

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (stage@408c897). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff            @@
##             stage      #75   +/-   ##
========================================
  Coverage         ?   99.26%
========================================
  Files            ?        2
  Lines            ?      272
  Branches         ?        0
========================================
  Hits             ?      270
  Misses           ?        2
  Partials         ?        0

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


Allow specifying 'all' for process auto restarts

This closes #153
I ended up going with the suggestion for specifying that all processes should auto restart by passing in all, i.e. overmind start -r all rather than adding another flag that is specifically for auto restarting all, i.e. overmind start --auto-restart-all. I thought this was slightly more intuitive, especially since this is how setting formation is already handled.
Let me know what you think!

Hey @DarthSim! If you have a chance could you look this over? Thanks!

@dunkmann00 Thanks for this pr!
Look at line 96 https://github.com/DarthSim/overmind/blob/7d970570e9208812eaf3782d695bc13700bee48e/start/command.go#L96
They use a boolean to indicate all can do, not all string. Maybe you should make it a boolean so it's consistent.

Thanks @oofdog! Like I said in my initial comment of this PR, after seeing the suggestion in #153, I thought using all made more sense.
There is also precedent for this in Overmind. Setting the number of instances of a process (formation) uses all as well.
From the Readme:

There is a special name all that you can use to scale all processes at once:

$ overmind start -m all=2,worker=5
$ OVERMIND_FORMATION=all=2,worker=5 overmind start

IMHO, I think changing can-die to support all (or any if preferable) would be better for consistency and simplicity.
P.S. Here is where formation is handled in the code:
https://github.com/DarthSim/overmind/blob/7d970570e9208812eaf3782d695bc13700bee48e/start/procfile.go#L43-L48

Hey @DarthSim! Just wanted to reach out again and see if this PR looks good to you. Thanks!

Thanks!


you should make a android  version

I don't know what the owner's original intention is, maybe just sharing his learnings, if you want an android version, make one yourself.


Fix redundant std::move().

This commit removes the following warnings.
redisclient/src/redisclient/impl/redisclientimpl.cpp:263:24:
warning: moving a temporary object prevents copy elision
[-Wpessimizing-move]
data.push_back(std::move(makeCommand(command)));
^

The compiler I got the warning is clang version 5.0.0.

Thank you!


Implement MDC Drawer Component

Reference: https://github.com/material-components/material-components-web/tree/master/packages/mdc-drawer

PR incoming..


Croatian certificate change

Brought over from https://github.com/alphagov/smart-answers/pull/3575 as I needed to update the checksums.
https://trello.com/c/tKdaGAAn/286-check-if-you-need-a-uk-visa-croatian-outcome-smart-answer-change-request

Content approved by Steph Wilson.


Unable to Access

I have deployed this application in linux and started using npm start and tried to access from my local browser it is not accessible.
i typed http://ipaddress:port/index.html.
When  i do  npm start in my local and app is accessible from browser as http://localhost:port/index.html.
below are the modifications i have tried when deployed in linux
in package.json
from
"start": "http-server -a localhost -p 8000 -c-1 ./app"
to
"start": "http-server -a <IP_ADDRESS> -p 8000 -c-1 ./app".
Can someone  help me how to access this application when deployed in Linux?

This sounds like a general support question. Please, use one of the appropriate support channels for these types of questions.
GitHub issues are reserved for bug reports and feature requests.
Thx!


[roi] Create an highlighted style for ROIs

This PR reuse concept from Curve and the CurveStyle object to custom the highlighted state of ROIs.
I wanted to make obvious which ROI was selected. So now it's the case.
If it's fine, i still have to update the profile with it.
Possible improvements:

Make the shapes selectable
Make the shapes draggable

Tests fail... I feel like the inheritance from PyQt5 or PySide2 are not done the same...

Yes, that can be expected....

I have tested on my side with PySide without problem.
It's maybe related to python version. It fails on 3.5 and 3.6.

core.HilightedMixIn.__init__ was not called... which make me feel i just don't understand anything to python...

I will rework the commits. And it will be fine.

It fine now

I think this behavior is better

This LGTM but for the typo in the class name HilightedMixIn -> HighlightedMixIn.
The getCurrentStyle could even move to HighlightedMixIn, but let's keep that for later.

The class name have been fixed.


[Bug] Searching languages in lang selection modal doesn't work

Describe the bug
Language selection modal just closes once you tap on the 'Search languages' field
How to Reproduce

Make a query that will bring the in-built translator
Tap on either language
On the modal tap 'Search languages'

Expected behavior
You can just search for a language like usual
Environment
- DDG App Version: 5.116.0
- Device: Xiaomi Redmi 8
- OS: Android 10

Thanks for reporting this bug. I've been able to reproduce it using DDG browser, but also using other browsers as well. I've reported this bug to our frontend team, and they will take care of the issue.
For now, I'm closing this bug report, since it doesn't seem related to our Android app,


Body – Commercial Video Production

Created by Olivia Boldt via monday.com integration. 🎉

Commercial video production can include video advertisements, TV commercials, YouTube pre-roll ads, online advertisements, or digital campaigns.  With our experience in both video production and animation, there are no limits to what we can produce for your brand.
@jordanlambrecht