AWS Marketplace Dshop container does not comply with policy

The AWS Marketplace team informed us that the dshop container needs to be updated to comply with their new policies:
Application use requires customer Access Keys or Secret Keys as the primary means of accessing AWS resources. AMIs must not request or use access or secret keys from users to access AWS resources. If your AMI application requires access to the user account, it must be achieved through an AWS Identity and Access Management (IAM) role instantiated through AWS CloudFormation, which creates the instance and associates the appropriate role https://docs.aws.amazon.com/marketplace/latest/userguide/product-and-ami-policies.html
When pressed for more details, they added:
AMIs must not request or use access or secret keys from users to access AWS resources. If your AMI application requires access to the user account, it must be achieved through an AWS Identity and Access Management (IAM) role instantiated through AWS CloudFormation, which creates the instance and associates the appropriate role. Upon testing your product we discovered a request for the customers AWS Access Key ID and AWS Secret Access Key. Please note that this goes against policy.
It is not clear to me exactly what changes need to be made to the AWS dshop container to comply... Anyone has an idea?

@franckc
I'm still studying the documentation on AWS CloudFormation. Here's what I know:
CloudFormation is a service provided by Amazon to "simplify infrastructure management". It is supposed to help AWS users bring different (AWS) resources under a single management framework called a stack. In the case of DShop, "resources" may translate into these two items:

The AWS dshop container
The Amazon S3 bucket used by that container

I will need more time to address

exactly what changes need to be made

Sincerely,
Rajath

While it may be possible to release a new version of the DShop AMI from Origin's AWS Marketplace Seller account (linked below), it seems more likely that we will be required to create a new AMI altogether, with one of the following two licensing models:

License name
Description

Single AMI with CloudFormation Stack
A single AMI that uses an AWS CloudFormation template with pay-as-you go pricing.

AMI with contract pricing
A single AMI product or single AMI with CloudFormation stack that the buyer pays an upfront fee for.

Do you know whose AWS Marketplace Seller account we will use to make and submit changes?
Link: https://aws.amazon.com/marketplace/pp/prodview-6vq37prq3244e

@franckc,
As detailed here, launching an updated Amazon Marketplace product for DShop will require that I co-ordinate with a support team at Amazon.
Could you respond to the question above, please?

Hi @franckc
We know that the problem with the DShop solution on AWS marketplace is that it "asks" for a user's AWS credentials to "access AWS resources". To work around this issue, we have been asked by AWS Marketplace to update our source code to use AWS CloudFormation - an automation tool - to create an "Identity and Access Management (IAM) role" associated with a customer of the DShop solution on AWS Marketplace, and use that role to access AWS resources instead.
You previously asked what changes need to be made (to the DShop source code) to comply with AWS' security policies. Here are my thoughts:

We must establish a policy that all shop admins who need to leverage AWS resources such as Amazon S3, AWS SES, etc., create an IAM role manually from their AWS Management console. We can include a guide to help them: https://github.com/OriginProtocol/dshop/blob/aws-container-compliance/docs/dshop/deployment/aws-iam-role.md

We should alter our source code to use an AWS SDK method called ChainableTemporaryCredentials to create a set of temporary user credentials (accessKeyId and secretAccessKey) associated with the IAM role. These credentials can take the place of ones DShop currently uses to access AWS resources.
For example, here's a code snippet I used to upload DShop data to Amazon S3:

async function configure({ networkConfig }) {
  //Creds of the IAM user
  AWS.config = new AWS.Config({
    accessKeyId: networkConfig.awsAccessKeyId,
    secretAccessKey: networkConfig.awsSecretAccessKey
  })

  tempCredentials = new AWS.ChainableTemporaryCredentials({
    params: {
      RoleArn: networkConfig.awsRoleARN,
      RoleSessionName: `DShop-aws-s3-session-${new Date().getTime()}`
    }
  })

  await tempCredentials.getPromise().then(() => {
    cachedClient = new S3({
      apiVersion: '2006-03-01',
      credentials: tempCredentials,
      region: networkConfig.awsRegion // Optional
    })
  })
}

Source code: https://github.com/OriginProtocol/dshop/blob/43904f989772e7847e5b680c6283293b99da164b/backend/logic/deploy/bucket/aws.js#L37-L44

Calling the ChainableTemporaryCredentials method is impossible without the request being "signed" by a set of "master (AWS) credentials". We can continue to use networkConfig.awsAccessKeyId and networkConfig.awsSecretAccessKey to sign these requests for DShop instances launched outside of AWS Marketplace. The DShop source code just needs a way to identify whether an instance is launched from the AWS Marketplace AMI (or outside of it). With this information, it can hide (or show) the
AWS Access Key Id
AWS Secret Access Key
fields on the Network Configuration page.

@franck,
I'm in need of advice to solve a problem relating to the creation of environment variables that can be used by DShop's FE.
Context:
The AWS Marketplace instance we're familiar with is generated using a script stored in DShop's repository. In the script, an ENV var called AWS_MARKETPLACE_DEPLOYMENT is first created with a value of true, before being stored in dshop/backend/.env
I'm not able to use this environment variable to show or hide the
AWS Access Key Id
AWS Secret Access Key
fields on the Network Configuration page of the FE:
https://github.com/OriginProtocol/dshop/blob/249b52df46139dbfa95979559e281d7fc02f23c7/shop/src/pages/super-admin/networks/_Form.js#L206-L225
Console-logging process.env resulted in the return of an empty object.

Careful guys. @franck is my github account and I'm not the Franck you're
trying to reach.
Cheers
Franck
On Mon, Jan 17, 2022 at 12:16 PM Rajath @.***> wrote:

@franck https://github.com/franck,
I'm in need of advice to solve a problem relating to the creation of
environment variables that can be used by DShop's FE.
Context:
The AWS Marketplace instance we're familiar with is generated using a
script stored in DShop's repository. In the script
https://github.com/OriginProtocol/dshop/blob/f65491f003fa96271f9b6f7c6554d05ae039e737/backend/scripts/aws/marketplace/startup_script.sh#L67-L68,
an ENV var called AWS_MARKETPLACE_DEPLOYMENT is first created with a
value of true, before being stored in dshop/backend/.env
I'm not able to use this environment variable to show or hide the
AWS Access Key Id
AWS Secret Access Key
fields on the Network Configuration page of the FE:
https://github.com/OriginProtocol/dshop/blob/249b52df46139dbfa95979559e281d7fc02f23c7/shop/src/pages/super-admin/networks/_Form.js#L206-L225
Console-logging process.env resulted in the return of an empty object.
—
Reply to this email directly, view it on GitHub
https://github.com/OriginProtocol/dshop/issues/1011#issuecomment-1014407568,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAABHW2SESHEHBN5VZNVH5TUWP3A7ANCNFSM5HULPALQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@franckc,
I've [edited the source code] (https://github.com/OriginProtocol/dshop/pull/1029) to make DShop's Amazon S3 integration compatible with AWS Marketplace's security policy. I've also had the chance to test those changes on a 'production' version of DShop running on AWS EC2.
Could you take a look at the PR, please?

As of this writing, I've implemented changes that bring two (2) of the four (4) AWS services integrated with DShop in close compliance with AWS Marketplace's security policy. The two services are:

AWS S3
AWS SES

The principle on which both sets of changes work is the same:
An application running on an AWS EC2 instance can programatically obtain a set of temporary credentials using the "EC2 instance metadata service", before using those credentials to create clients for other "AWS resources" like S3, SES, etc. For this to work, however, the shop admin will have to

Create an IAM role that allows access to the desired AWS resource
Associate that IAM role with the EC2 instance


Fix #627: Add feature to specify href for logo explicitly

Addresses https://github.com/Rebilly/ReDoc/issues/627

Coverage remained the same at 82.202% when pulling 2873b6a79aca7a885cb54631c5ca9b1f2c002778 on exoego:x-logo-href into ab98ab0cb23a94c79ab929e62fe45826ad294744 on Rebilly:master.

Can this be merged? I would very much like to have a href for the logo. :)


Don't set LC_TYPE

Setting LANG already defines a value for all locale purposes, so we
don't need to specifically set LC_TYPE (reference). Specially, not
to an invalid locale... :wink:
This fixes several warnings when using this gem in Linux. For example,
invalid byte sequence in US-ASCII While processing ...

or
Fontconfig warning: ignoring UTF-8: not a valid region tag

Hi @deivid-rodriguez, thanks for debugging this! We don't know how it got there, we need to investigate a little bit to be sure it won't break anything else. But I'm pretty confident it will be merged very soon :-)

@MichaelHoste Sounds good, thanks. Let me know if you need anything from my side.

Thanks a lot Deivid, it's merged and we'll release a new version of the gem ;-)

Nice, thank you! :tada:


Expose fork choice events

For Polkadot listening to actual fork choice events instead of block import events would make the implementation simpler and more importantly would improve performance considerably, if this would result in less forks that need to be considered when building blocks. See here for a short discussion.

What are fork choice events? Even reading the discussion is not revealing any more information.

My understanding is, that we get notified an what fork we would build another block, by the rules applied. E.g. max number of primary blocks, no disputes, ... With just block imports, we don't know for example if another imported block should supersede some other - e.g. because a primary block just arrived, so we can drop the already present secondary one. I have not really looked at that code yet, but that's my understanding so far. Other than that block import events should be pretty much the fork choice, I guess - as why would we import a block we don't want to build on? Anyhow, maybe @rphmeier can shed some more light.

I think https://github.com/paritytech/polkadot/pull/3104#issuecomment-849414148 this already covers what you want.

We have that already.


[vManageAuth] enhance logging message with text

Pull Request summary:
Include more informative logging in auth sequence.
According to https://github.com/CiscoDevNet/vManage-client/issues/256
Description of changes:
Include optional field to enable response.text log in auth sequence.
Change exception from InvalidCredentialsError to more general UnauthorizedAccessError.
Note: it will require work in the future if we would like to diagnose response.text: currently we catch situation when response.text is not empty, and assume that it will be InvalidCredentialsError:
        self.logger.debug(self._auth_request_debug(response, include_reponse_text=True))
        if response.text != "":
            raise UnauthorizedAccessError(self.username, self.password)
        return response.cookies

but it can also mean other problems - auth successful but e.g. session broke suddenly or any other issue relate to network problems.
Checklist:

[x] Make sure to run pre-commit before commiting changes
[x] Make sure all checks have passed
[x] PR description is clear and comprehensive
[x] Mentioned the issue that this PR solves (if applicable)
[ ] Make sure you test the changes

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/260


About loading the data

I want to know the datas of the Class 'VideoDataset' is the path of the filefolder of the video file? And how to label those video?  Would u like to show me the training code plz? thanks!

you just need to give it a pandas data frame that contain  2 col (the full file path  of video , the label of that video)
in my case there was 2 folders one for violence and the another for none-violence. I loop overtime store the files names with labels in pandas data frame and save it as csv for latter use

Ok thanks. One more question, I ran your Class 'VideoDataset' ,and load the csv, but there's an error:the variate 'label' is not defined, just like this here:
File "E:/violance-detection-in-video-with-pytroch-main/flaskapp/train.py", line 31, in getitem
sample = {'video': torch.from_numpy(video), 'label': torch.from_numpy(label)}
NameError: name 'label' is not defined
how to fix it?

hello ,  if you check the main page it is a trtoural on how to build these staff  so first i give skelton code than i give full code of the class which is
`
from torch.utils.data import Dataset
class VideoDataset(Dataset):
"""Video dataset."""
def __init__(self, datas, timesep=30,rgb=3,h=120,w=120):
    """
    Args:
        datas: pandas dataframe contain path to videos files with label of them
        timesep: number of frames
        rgb: number of color channels
        h: height
        w: width

    """
    self.dataloctions = datas
    self.timesep,self.rgb,self.h,self.w = timesep,rgb,h,w

def __len__(self):
    return len(self.dataloctions)

def __getitem__(self, idx):
    if torch.is_tensor(idx):
        idx = idx.tolist()
    video = capture(self.dataloctions.iloc[idx, 0],self.timesep,self.rgb,self.h,self.w)
    sample = {'video': torch.from_numpy(video), 'label': torch.from_numpy(np.asarray(self.dataloctions.iloc[idx, 1]))}

    return sample

`

Got it. Thanks!


Make weblog disableable in the Switchboard

This will need to be folded into a broader array of work that covers other omg.lol services (statuslog, pastebin, etc.).


Use SEO tab priority as Boost on search results

Description of problem
When searching my website, I would like to have more control over which pages are more relevant and which are not. In my particular use case, I have a site with a person directory and some other community pages. The community pages include a person name in the title so they appear on search results when searching for names.
Now, when searching for a person (using the search engine) I get the person detail result page and the community pages and the person page is ranked up in search results.
I have configured the priority (using SEO settings) of the pages so google understands that community pages are more relevant than persons pages.
I expected the internal search engine to also take the priority into account like it does with the title Boost.
Description of solution
I think that Tab priority could be used as a boost when adding search results to Lucene.
On the InternalSearchControllerImpl class, when adding TabId field to a search document, could we also set the field.Boost as other fields like Title, Tags.
internal class InternalSearchControllerImpl: IInternalSearchController
(...)
private void AddSearchDocumentParamters(Document doc, SearchDocument searchDocument, StringBuilder sb)
(...)
AddIntField(doc, searchDocument.TabId, Constants.TabIdTag); // <-- Set Boost on this field based on tab priority defined in SEO screen

After some more digging, the Lucene.Net Document class has a Boost property specifically for this use case that is not being set anywhere. Could this be set from the tab priority defined in the page settings?


Unable to see Omni Agent's Presence in Omnichannel for Customer Service

Hi Team,
I am not able to see agent's presence on the portal, probably it's unknown. Have tried the steps mentioned in the link, but it doesn't help.
PFB screenshot for yor reference.

Thanks,
Ankur

Hello @ankjain30,
Please try to access your instance with the latest version of Microsoft Edge. If the agent presence still does not appear, kindly visit the Get support for your Dynamics 365 product page for help with raising a support ticket.
Because this is not a doc issue, I will close it. However, do let know if you have further questions.
Thank you.
Neeraja

Closing the issue because no action is required for the content.


update chat data structure

This also adds a buildPackages script at the root which will only run build on projects in the /packages directory. (yarn buildPackages)

Main piece of feedback would be more creative branch names :p


It has huge delay to run , why?

Hello, hmmm!
@BahmanTimas do you have any idea bro?

@me-baneshi
Thank you for reporting this. Could you please provide more details about the delay you’re experiencing? For example, when does it happen and how long is the delay?

Thanks that was my network problem it resolved


This project needs to be finished

You need to finish this for all the Fallout fans. If you ever finish this project, you will definitely get some mods from me :) 👍

I'm thinking at this point it just needs started. Forgot to git push on dev machine maybe?


Android support

Adds Android support to the gamepad plugin.
@apecoraro @nir-ziv To test:

Build the example app in this package on your Android device.
Connect a Bluetooth gamepad to your device.
Right before the first registered button press, you should see a "connected gamepad" event in the example app.
Test all the buttons: A, B, X, Y, shoulders, stick buttons, Menu, and the directional pad. They should all produce log entries in the app. The B button should not close the app.

("Select/Back" will always perform a UI action on Android, I'm afraid.)

Test the joysticks and trigger buttons. Moving them should also produce log entries in the app.
Test the "Call gamepads()" button in the example app: your controller's name should show up.

Basically, you should see something like this:

 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.


Data flow UI

Flow-based user interfaces are increasingly available for data tools. Based on the modular design for ClydeIO filters, it might be possible to allow users to create data flows by connecting filter modules via a data flow user-interface.

Existing projects
There are several JavaScript UI projects with similar capabilities:

Dataflow WebAudio - Dataflow graph editor + Web Audio API + Tuna effects
Meemoo - data-flow visual programming
Node-RED - A visual tool for wiring the Internet of Things
NoFlo UI - offline-capable, client-side web application that helps users to build and run flow-based programs

UI Libraries

The Graph Editor - flow-graph UI component for NoFlo UI
WireIt - open-source javascript library, to create full-web graph editors for dataflow applications, visual programming languages, graphical modeling, or graph editors.
VivaGraph - JavaScript graph UI library with interesting demonstration

Video
Data-flow stream processing for Node.JS

That would be an awesome feature!!!
Right now I'm working on a core piece, called "butler", which offers a REST api to users (and a class to other filters), which allows to manage the whole configuration.
Thanks

Cool. I am very interested in contributing to this feature request, but need guidance. Perhaps we can choose one or more tools, based on your intuition and design intentions, to begin prototyping with?

Let me some time to finish a first version of Barkley, so we have an API over which create a UI app.

Hi @brylie at "dev-butler" branch is the https://github.com/clydeio/clydeio/blob/dev-butler/BUTLER.md document.
It tries to summarise all the concepts related to Clyde. They ides is to clyde reads that configuration and creates the corresponding data flow when initialised. It is a draft I'm working on (I'm currently implementing the API).
Please take a look and let me know your feedback, ideas, etc. And start thinking how we can join a UI app that helps creating configurations.
Cheers.

The 'staging' feature for configuration changes seems like a good idea. API Umbrella, for instance, lets you make multiple changes to your API system and then publish the changes as a second step.

Is there a place where we can work on annotated documentation? E.g. I want to add margin comments so we can discuss the documents in context.

I'm sorry no. You can create a wiki page in the clydeio project so we can
comment on it.
On Mon, Sep 28, 2015 at 9:09 AM, Brylie Christopher Oxley <
<EMAIL_ADDRESS>wrote:

Is there a place where we can work on annotated documentation? E.g. I want
to add margin comments so we can discuss the documents in context.
—
Reply to this email directly or view it on GitHub
https://github.com/clydeio/clydeio/issues/23#issuecomment-143657095.

--
|----------------------------------------------------------------
| The book of OpenLayers 3 - http://kcy.me/x29y
| OpenLayers Cookbook: http://kcy.me/ar2b http://kcy.me/ar2b
| Blog: http://www.acuriousanimal.com/blog

Twitter: @acanimal http://twitter.com/#!/acanimal

_      __

/)    ( ` _   _  ) o  _   _   _

/ /  o .__) (( ) ) (  ( (( (( (_)

_)

----------------------------------------------------------------


Pipeline installer should remove old Pipeline 2 installations

Look for old Pipeline 2 installations (the JavaFX GUI, for example) and offer to remove them (or just remove them silently) as part of the current Pipeline installation process.

From what I remember, I was going to work on macOS and @NPavie would take care of Windows.

Just putting here a recap of what whas said in meeting regarding uninstaller :
New versions of the installer should

Remove previous Pipeline 2 installs (from /Application and ~/Application ?)
Remove previous Pipeline 2 local files (preferences, caches)
Remove DAISY Pipeline (2023) installations and settings files

It is noted that the next release will likely have a name without "2023" in it.

WebUI should not be removed as the new UI does not yet replace it completely

Example provided by romain of nsis install script for the pipeline 1 : https://github.com/daisy/pipeline1/blob/main/gui/release/windows/pipeline-setup.nsi

On this point :

Remove DAISY Pipeline (2023) installations and settings files

It is noted that the next release will likely have a name without "2023" in it.

On windows, the application data folder and installation folder is not based on the display name :
it uses the project name (pipeline-ui) for installation and data folders.
I'll do a quick test with renaming the product in dev to see if it does the replacements by default without having to cleanup with the nsis script.

Confirmed : on Windows, as long as we don't change the name: "pipeline-ui" field in package.json, the previous install of the app would be automatically replaced.

On macOS, we said we wanted to:

Remove DAISY Pipeline (2023)

The postinstall script removes "DAISY Pipeline (2023)" from "/Applications".
This does not get automatically overwritten as the app name has changed to "DAISY Pipeline" and we have isRelocatable: false in the pkg settings (otherwise the install location is hard to work with as the pkg installer will try to update the first version it finds, e.g. the one in the development directory).

clean up old settings:

not required for the same reason mentioned above

Remove the DAISY Pipeline Java FX version

@bertfrees I forget - was there ever a mac installer that installed this? If so, can I download it to see what the app was called?

This commit is for this issue too 4d614fdf2ee751afecef024336c637cbcc611f5f


[Investigation] Identify main time sinks in CI checks

What
Determine where the time is going in the various CI checks in order to define next steps to optimize build/test times. This could include experimental implementation of various tricks/improvements.
See #484
ACs

Summary of where the time is going and what we can do!
Issues for specific Tasks added to #484
PRs for low-hanging fruit fixed during investigation.

Time boxed to: 2 days

Looking at this recent run (for #601) the "Code quality / C++ linters" and "Code quality / Sanitizers (pull_request)" actions are both bottlenecks, taking 9 mins in total. Most of this time (more than 8 mins) is spent in the "Build and lint" step.
The difference between the two is the CMake preset used - "lint" vs. "sanitize".  The "lint" preset differs in that it enables cpplint, clang-idy, and clang-format.  The "sanitize" preset differs in that it enables ASan and UBsan and runs tests.
The "Tests / ubuntu-20.04" action also builds and runs tests, but took 4 mins.  So linting and sanitizers coincidentally take a similar amount of time (5 mins).
From this we can conclude a rough top three bottlenecks

Executing tests with sanitizers enabled
C++ linting during a build
Building

The last one of course affects both actions.

Quick dirty timings of a local build, testing some low-hanging fruit in the form of build flags:

Vanilla "lint" preset: 6m20.159s
With O0 and no LTO: 6m5.330s
With j2: 3m33.346s

So optimisation flags have little impact on build times, especially when compared to the effect of a parallel build.
Github runners give us 2 cores for Ubuntu and Windows and 3 for MacOS.  So parallel builds are a no-brainer.

The common "Install dependencies" step on CI, i.e. our OS bootstrap script, takes up to a minute and could be ripe for optimisation. Looking at the same run as above, choosing the quickest 44 sec example ("C++ Linters"), we have

26 sec apt update + install
10 sec pip install
6 sec conan install (cached)
<1 sec update-alternatives
3 sec --version reports (2 secs for clang-tidy alone)

Parallelised the bootstrap script:

apt update and apt install rolled into a single line and suffixed with & to run as a child process.
Similarly suffixed pip install with &.
Then wait before doing the conan install (since it needs both the apt step and the pip step to complete).

It seems to help, but timings are very noisy so it's difficult to be conclusive.  I.e.:
Parallel: 32s, 1m47s, 54s, 1m0s, 32s
Serial: 1m22s, 44s, 41s, 1m2s, 1m6s

Parallel build jobs for "C++ linters" check:
Unlike the local build case, Github CI does not give a near-linear speed-up when doing two parallel builds:
: , ...
1: 5m55s
auto: 4m43s, 4m38s
2: 4m46s
4: 6m33s
Also tried removing optimisations with, which only saved a few seconds, similar to previous result (4m15s in this case).
Additionally tried to build a static library, rather than shared, to see if the linker introduced much overhead. Unfortunately not much effect (4m28s)

Unity build
This is interesting. CMake has a "unity build" feature, whereby it concatenates .cpp files into one or more files, resulting in shorter compilation times.
To make this work with our codebase needs a fair bit of work.
But once (hackily) working the "C++ linters" build step took only 1m36 - more than 3x speed boost!
The caveats are non-trivial, though

Since it concatenates files, locating any linter warnings in the original source is more difficult.
Since it concatenates files, it is easy to have a symbol collision for symbols that are file scoped (only one such collision occurs in our codebase, at least).
Since we're no longer compiling the original source files, but rather a set of generated files, the .clang-tidy config file search path is affected, since the search path is relative to the file being compiled. This almost works out on CI, since the generated file is under ${PROJECT_ROOT}/build/... and .clang-tidy in under ${PROJECT_ROOT}.  However, the C API override .clang-tidy is no longer picked up, since it is in ${PROJECT_ROOT}/src/..., i.e. not an ancestor of the build directory.

ccache
After far too much pain, I eventually discovered that actions/cache is immutable.  With that revelation aside, applying ccache reduces the "build" step for linting and sanitizers as follows:
Linters: 4m57s to 3m32s
Sanitizers: 5m54s to 3m5s
A much better result than when used locally and worth doing.

Linters: 4m57s to 3m32s Sanitizers: 5m54s to 3m5s
A much better result than when used locally and worth doing.

🎉 🎉 🎉 🎉 nice one @feltech - good to see how much the difference is on a massively overworked VM vs locally.


Run 100 property tests instead of 1000.

This is a simple first attempt at fixing the timeout issue we sometimes
see in CI running on linux.

Closing as this does not seem to be the issue


Does morph-net have an operation to build a new model with it's FLOP/Latency optimized outputs?

Just wanted to confirm. Once we have trained our initial model we have a json file containing the optimized output sizes of the different layers. When I want to retrain a new model with these newly optimized output sizes I have to create a new model from scratch with these newly optimized output sizes, correct? I've been looking through the documentation to see if there is some kind of function that will do it for us, but haven't been able to find anything.

In a nutshell instead of having in your code
net = conv2d(inputs, 64,3, scope='conv1')
net = conv2d(net, 128,1, scope='conv2')

you will need to rewrite it to work with a learned parametrization (the json dict of learned sizes):
size_dict = {'conv1': 64, 'conv2': 128}
if parametrization_file:
  size_dict = ... # read dict from file.
net = conv2d(inputs, size_dict['conv1'],3, scope='conv1')
net = conv2d(net, size_dict['conv2'], scope='conv2')

We plan to release a tool that provides this functionality soon.

We released the configurable_ops module which should allow easy configuration of existing (and new networks).
Will be happy to hear if it works for you.

Just want to ask, does any update of configurable_ops?

If I use configurable_ops, does I need to add it before every net?
Can you show some sample? thanks a lot

If I use configurable_ops with trained model of morphnet, do I need to add it before every op, or just add once?
Can you show the example? thanks a lot.
Here is my part of the code below:
`
inputs = ConfigurableOps(inputs)
inputs = conv2d_fixed_padding(
inputs=inputs, filters=filters, kernel_size=3, strides=strides,
data_format=data_format)
inputs = batch_norm(inputs, training, data_format)
inputs = tf.nn.relu(inputs)
inputs = conv2d_fixed_padding(
inputs=inputs, filters=filters, kernel_size=3, strides=1,
data_format=data_format)
inputs = batch_norm(inputs, training, data_format)
inputs += shortcut
inputs = tf.nn.relu(inputs)
`

hello, dose this work?


extension host terminated unexpectedly.

Issue Type: Feature Request

extension host terminated unexpectedly.
VS Code version: Code 1.50.1 (d2e414d9e4239a252d1ab117bd7067f125afd80a, 2020-10-13T15:06:15.712Z)
OS version: Windows_NT x64 6.1.7600

[ ]

I guess this is related to #108989

/needsMoreInfo


Update Python worker to 1.0.0b4

Corresponding core-tools PR: https://github.com/Azure/azure-functions-core-tools/pull/1066
Release notes: https://github.com/Azure/azure-functions-python-worker/releases/tag/1.0.0b4

Also, please tag core tools PR here.

which version of the runtime is this for btw? There has been few versions flying around as of late.

which version of the runtime is this for btw? There has been few versions flying around as of late.

It should be going with this one: https://github.com/Azure/azure-functions-host/releases/tag/v2.0.12309


Suppress false positive in gosec

New versions of gosec implemented stricter type conversion. Since the integer values will be small in the conversions in this codebase, it is safe to suppress these gosec warnings.

@denyeart maybe it's better to do it this way.
Add a section in .golangci.yml:
linters-settings:
gosec:
excludes:
- 'G115'


Update the multi-tenancy default status in Dashboards multi-tenancy documentation

Description
Clarify the sentence relating to multi-tenancy being enabled by default in the section Disable or enable multi-tenancy.
Issues Resolved
Fixes one of the items in the Security topics issue #4314
Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Closed this because I need to set up the DCO sign off properly, so will do it again when all set up.


Dev Integration Tests

The tests under tests/integration are essential to making sure SDK modules are working together correctly, and interacting with the EdgePi hardware as intended. Merging to dev should require a check to make sure the integration tests are passing.
The virtual environment used to run these tests should not rely on installing the SDK from TestPyPi, as we currently only publish on push to staging, or manually at infrequent intervals. The published code quickly becomes out of date with dev. It is recommended to use this sort of test environment for locally running the integration tests as well, to avoid errors with out of date SDK versions.

@flavius-t
I'm trying to do a integration test before merging my PR to dev branch. After enabling the venv_integration, I see EdgePi-SDK package is installed in pip list. Do we want this, I thought we are running the test locally using the source file?

@flavius-t I'm trying to do a integration test before merging my PR to dev branch. After enabling the venv_integration, I see EdgePi-SDK package is installed in pip list. Do we want this, I thought we are running the test locally using the source file?

@sjpark608 to run the integration tests locally: https://github.com/EdgePi-Cloud/edgepi-python-sdk/blob/main/tests/README.md#virtual-environment-using-local-sdk

integration test work flow is added to trigger on PR and push on dev branch


Http headers

New Pull Request with only HTTP headers additions from original fork.
Please ignore previous pull request from this fork.

@keniwhat Thanks for your contribution.
Could you please describe your use case for that? It seems headers are indeed in the RFC6455.
Could you add the relevant tests? Thanks.

I use the headers for applicationa and client.  I'm sure other people would find other uses.


Update Helsinki Python logo

Also fix data generation command.
I tried changing the URL from https://www.meetup.com/helpy-meetups/ to our general homepage at https://helsinki-python.github.io/ but the whole entry disappeared. I didn't check why.

Thanks! The URL is currently used to point to the event platform and only Meetabit and Meetup are supported. I plan to add a separate attribute for the community home pages, if those are available. Will update the one for your meetup then as well.

Support for general homepages added and the info for Helsinki Python updated.


Add Types for Data

This is for ZuInnoTe/spark-hadoopcryptoledger-ds#10

@jornfranke I'm not sure how to fix the issue the automated build is facing.

A couple more notes while I'm here:

I created a type per permutation of options (BitcoinBlock, EnrichedBitcoinBlock, BitcoinBlockWithAuxPOW, etc.), rather than having the extra data as Option[T], because I wanted the types to accurately describe what data exists and make sure it exists when converting the dataframe to the dataset. Fail early, et al.
I refrained from converting the Array[Byte] data to anything else (with helper methods on the new types) because that would require a lot more logic and should be contained in a different issue, if needed.
I would love to help canonicalize the Scala code if @jornfranke would agree. Some of the code in the repository is not idiomatic and reading it is not intuitive for Scala coders. Your call, Jörn :)

I will check the issue with the build later.

is fine
originally this was on purpose to have access to the raw data without costly conversion routines so you can do what it want. I agree that an additional enriched layer can make sense.
I agree with you. Can you please create another issue - maybe propose some formatting rules or an IDE functionality that we can use. Then I can help as well.

Thank you a lot.

On 29. Nov 2017, at 09:06, Omer van Kloeten<EMAIL_ADDRESS>wrote:
A couple more notes while I'm here:
I created a type per permutation of options (BitcoinBlock, EnrichedBitcoinBlock, BitcoinBlockWithAuxPOW, etc.), rather than having the extra data as Option[T], because I wanted the types to accurately describe what data exists and make sure it exists when converting the dataframe to the dataset. Fail early, et al.
I refrained from converting the Array[Byte] data to anything else (with helper methods on the new types) because that would require a lot more logic and should be contained in a different issue, if needed.
I would love to help canonicalize the Scala code if @jornfranke would agree. Some of the code in the repository is not idiomatic and reading it is not intuitive for Scala coders. Your call, Jörn :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

ok it is fine, i think the issue with the token is not related to the PR itself, it will in version 1.1.3


Bossbar visible method require arg of incorrect type

visible method of bossbar takes the argument of type number, but it should take argument of type boolean.
I have changed the type from number to boolean.
bossbar.set('timer_lvl_4').visible(true); : correct function
bossbar.set('timer_lvl_4').visible(1); : incorrect function
modified:   src/commands/implementations/Bossbar.ts

To be Resolved in #184


Color Chooser

### Tasks
- [ ] https://github.com/jpmorganchase/salt-ds/issues/162
- [ ] https://github.com/jpmorganchase/salt-ds/issues/4190

+1 stakeholder from Sigma. One feature mentioned is the need to not display color/hex code on the trigger element, but rather color block + custom label (e.g. Cat 1), so likely an API like Menu or Date Picker is needed


chore: don't query prometheus if disabled

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1370
#1369  👈 (View in Graphite)
#1368
#1367
#1366 : 1 other dependent PR (#1363 )
#1365
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


add temp reactor

Add the temporary reactor address for e2e testing dutch v2 orders

An alpha release would be preferable since this is a pre release contract address

updated @marktoda


Remove tenancy/referral validations

Remove validations that only let internal referral to be selected for secure tenancy and vice versa. This validation seemed to be created by mistake and could not be located in the validations sheet

That's super weird, where did this come from?

@baarkerlounger No idea, but there's a reasoning behind the decision to remove it in the CLDC-465


 ref prop has type of HTMLElement instead of HTMLDialogElement

Describe the bug
A TypeScript typing error.
The title described the issue in full.
Your Example Website or App
https://stackblitz.com/edit/vitejs-vite-qztpd4?file=src/App.tsx
Steps to Reproduce the Bug or Issue
Try consuming the  element ref prop as a HTMLDialogElement. TypeScript will complain, it thinks it's an HTMLElement.
Expected behavior
 ref prop is typed as HTMLDialogElement.
Screenshots or Videos
No response
Platform
TypeScript 4.7.4.
Additional context
No response

We can update it but more info here: https://github.com/microsoft/TypeScript/issues/48267
I think I removed it thinking it was deprecated at some point because that is what TypeScript says. Looks like that is an upstream issue and we should just change to it.


Make sure that existing tags/releases aren't created more than once

There's a possibility that tags/releases will update if the revision hasn't changed, although I'm fairly sure this'll only happen with the GitHub Releases stage, so only the binaries would update, which is not too big of a deal.
That said, it's still a good idea to guard against this.

Fixed.


Raise early if circuit uses faulty qubits or gates

What is the expected feature or enhancement?
Currently, if a user submits a circuit which uses gates or qubits which are marked as faulty, they will get an opaque IBMJobFailureError due to an error in transpilation.
It should be possible, when backends have faulty qubits or gates, to scan submitted circuits and raise early if there is an instruction on a faulty gate or qubit. This can help users avoid waiting in the queue for jobs which cannot run successfully, and gives an opportunity to inform the user to either use different physical qubits, or re-transpile their circuit with a different seed or settings .
N.B. https://github.com/Qiskit/qiskit-ibm-provider/issues/568 raises the same concern for qiskit-ibm-provider, but as far as I can tell, this would have to be addressed in both the provider and the runtime. Feel free to close one of them if that's not the case.
Acceptance criteria

I believe we should do this check whenever skip_transpilation=True for either the Sampler or Estimator.


Bacterial genomes?

Hi, quick question, is it possible to use SigProfilerExtractor on bacterial genomes?
Thank you.

Hi @cyrusmallon,
Do you have a specific genome that you would like to use?
Thanks!

Please reopen this issue for further support.


configAPI: Implement waitForPodsReady validations

What type of PR is this?
/kind feature
What this PR does / why we need it:
I implemented the .waitForPodsReady validations.
Also, I consolidated the valid test cases for the waitForPodsReady into one case, and added fields to the defaulting tests.
Which issue(s) this PR fixes:

Part-of https://github.com/kubernetes-sigs/kueue/issues/2084
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Added validations for the "waitForPodsReady.timeout" in the Configuration.

/lgtm


Please invite me to the GitHub Community Organization

Name
David Morgan
Discord Username (if applicable)
~ David ~
Additional Context
github: devstar0202
name: David Morgan
Discord: ~WebDev0202
Let's work together.
Thanks.

It's great having you contribute to this project
If you would like to continue contributing to open source and would like to do it with an awesome inclusive community, you should join our Discord Server and our GitHub Organisation - we help and encourage each other to contribute to open source little and often 🤓 . Any questions let us know.

Invitation sent for the GitHub Organisation. Welcome to the community 🎉#
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see, you can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/jaidevstudio/people
Like this

Tips for practising:
Remember contributing to open source is not just about code, its about collaboration, communication and adding value
I hope that helps

Please check your email or organisation page 🙏


Features/typescript

📝Changed routes:

/country/[country]
/

(view full size)
(view full size)

Commit d787c2c186c92769ca16742471ce3b70a52cf99d (https://coronito-git-features-typescript.pachoclo.now.sh).


latest update breaks standard checklist behaviour

Expected Behavior

When inside a standard obsidian checklist, pressing ENTER creates a newline and a new checklist item.
Current Behavior

When inside a standard obsidian checklist, pressing ENTER creates a newline. no new checklist item is created.
Steps to Reproduce

Start a checklist by starting the line with - [ ] some text, then press ENTER
I would expect a new line starting with - [ ]
Context (Environment)

Obsidian version: 0.14.15
Tasks version: 1.8.0
[ ] I have tried it with all other plugins disabled and the error still occurs

Possible Solution

Hi @mschroettle sorry to hear this. It works for me, so I’m going to need more information to fix it.
Firstly, please test it

should have tested other recently updated plugins first, sorry .. :-)
the updated outliner plugin is the culprit here and updating those settings fixed this "error".

Hi @mschroettle sorry to hear this. It works for me, so I’m going to need more information to fix it.
Firstly, please test it

oops I submitted that by mistake when I saw you had closed It… thanks for the update and info!


Problem with implementation of setState functions in

Reported by julien.bonifay on 23 Jan 2012 17:32 UTC
This ticket is in relation with some points mentioned in #85 (Re-Design and simplification of Modelica.Media) but only a small modification of the current Modelica.Media seems here to be enough to solve the problem.
The fixedX=true option for mixture media(Media.IdealGases.Common.MixtureGases) is sometimes very useful in fluid models to switch off some performance costing mass fraction equations or simply to not have to write them. Unfortunately the setState functions are not adapted to this eventuality.
The setState functions are often used in fluid models with ports data as inputs. If fixedX is set to true the mass fraction vector at ports will have a size null. However if we look inside the setState functions this case is not being investigated:
state := if size(X,1) == nX then ThermodynamicState(p=p,T=T, X=X) else
ThermodynamicState(p=p,T=T, X=cat(1,X,{1-sum(X)}));
A way to solve this seems simply to test if the size of vector X is null and if yes use then the reference_X vector:
state := if size(X,1) == 0 then ThermodynamicState(p=p,T=T,X=reference_X) else if size(X,1) == nX then ThermodynamicState(p=p,T=T,X=X) else  ThermodynamicState(p=p,T=T, X=cat(1,X,{1-sum(X)}));
In the attachements you will find one test with a simple fluid model using an original mixture medium (extended from Media.IdealGases.Common.MixtureGases) with fixedX=true (not working) and one test with the same fluid model but using a modified mixture medium as suggested above (working).
A correction of this problem could be done before Modelica.Media is entirely revised as suggested in ticket #85. It’s furthermore not easy for a Modelica user to bypass this problem without copying the all Media.IdealGases.Common.MixtureGases package as the setState functions are not replaceable anymore.

Migrated-From: https://trac.modelica.org/Modelica/ticket/690

Comment by julien.bonifay on 23 Jan 2012 17:40 UTC
This ticket can be deleted (it's´a duplicate of ticket #691)

Modified by hubertus on 23 Jan 2012 20:45 UTC

Modified by dietmarw on 24 Jan 2012 07:07 UTC


[libzip] Update to 1.8.0

Describe the pull request

What does your PR fix?
Updates libzip to 1.8.0. Closes https://github.com/microsoft/vcpkg/issues/13985

Which triplets are supported/not supported? Have you updated the CI baseline?
As before, Yes

Does your PR follow the maintainer guide?

Yes

All features are tested successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static


Initial rename of package popgetter to poppusher

This PR renames the core python pipeline package from popgetter to poppusher. It touches many files within the repo, but is a minimal set of changes to achieve the package name change.
There is a small change to the version bounds of one dependency, which is necessary to ensure that the unittest pass.
The documentation needs to be updated to reflect the changed components of the popgetter suite and their updated names. This PR does not cover the documentation changes. Because this PR is already complex, it is recommended that the documentation changes are handled in a separate PR.

@sgreenbury Please could you review this? I believe it is ready to merge.

Thanks @sgreenbury - All useful comments. I've applied the changes and will merge once (assuming) the CI checks pass.


[BUG] Locally defined polymorphic operators cannot reference parent operator's type variables

Description
Whenever a polymorphic operator defines a local LET-IN operator, which is also polymorphic, the inner operator's type annotations are treated as separately quantified and not as references to the parent operator's type variables .
Input specification
---------- MODULE test ----------

EXTENDS Integers, Apalache

\* @type: (a, a) => a;
F(x,y) ==
  \* @type: Set(a);
  LET A == {x}
  IN IF y \in A THEN x ELSE y

Init == TRUE

Next == TRUE

Inv == F(1,1) = 1
====================

The command line parameters used to run the tool
--inv=Inv --length=1
Additional context
Tool will not throw, because the operator in question gets removed by inlining, but combining such operators with e.g. folds would result in the same behavior as in #1085.

Your understanding is consistent with e.g. Ocaml. This code compiles in OCaml:
let f: 'a -> 'a -> 'a = fun x -> fun y ->
    let g: 'a -> 'a list = fun z ->
        [z]
    in
    if List.mem y (g x) then x else y

Will fix Snowcat.

Reporting a summary of a discussion on our internal slack.
Iiuc, the OCaml code snippet given by @konnov, does not given an example of a type variable inside a function body referencing the type variables in the function head. Rather, this code snippet compiles because g is (correctly) annotated as a function which will take a term of any type 'a to list of terms of type 'a. Since the function works for arguments of any type, it will of course also work when applied to x, regardless of what type it is. We can make this clear by making the universal quantification over the type variables in g's annotation explicit:
# let f: 'a -> 'a -> 'a = fun x -> fun y ->
    let g: type b. b -> b list = fun z ->
        [z]
    in
    if List.mem y (g x) then x else y
;;
val f : 'a -> 'a -> 'a = <fun>

I am unfamiliar with any convention in ML-family languages that allows "normal" (i.e., universally quantified implicitly) type variables used in annotations of subexpressions to refer to universally quantified type variables annotating their parent expression. But after, a bit of research, I now know of two examples where special syntax is introduced to enable this kind of thing:

The "scoped typed variables" extension of GHC:  https://wiki.haskell.org/Scoped_type_variables
Ocaml's explicit universal type annotation (probably implemented following the previous):

utop # let f: type a. a -> a -> a = fun x y ->
  let g: a list = [x] in
  if List.mem y g then x else y
;;

If we do introduce this kind of behavior, I suggest we follow that example, otherwise we're liable to end up with behavior that is surprising for anyone used to HM style type annotations.
As Igor noted, this kind of pattern is syntactically familiar to languages that use generics.

But also, I would expect the example given in the issue body to work anyhow, just as this example works in OCaml:
 # let f: 'a -> 'a -> 'a = fun x y ->
  let g : 'b list = [x] in
  if List.mem y g then x else y
;;
val f : 'b -> 'b -> 'b = <fun>

I.e., not because the a in \* @type: Set(a); refers to the type variable in the annotation of the head (which I'd find surprising), but because they are both universally quantified, and the type variables can be unified during checking here.

Have a look at #1104. Your test goes through there.


refactor(papyrus_storage): add append_events function that writes the events of a block to storage

This change is


Adaptive Server Selection: address review comments

This PR addresses comments received in #9311

@Jackie-Jiang  please review.

Codecov Report

Merging #9462 (83a8a29) into master (e2d8aaa) will decrease coverage by 34.68%.
The diff coverage is 45.45%.

@@              Coverage Diff              @@
##             master    #9462       +/-   ##
=============================================
- Coverage     69.83%   35.15%   -34.69%
+ Complexity     5127      185     -4942
=============================================
  Files          1909     1909
  Lines        101749   101749
  Branches      15440    15439        -1
=============================================
- Hits          71059    35769    -35290
- Misses        25674    62941    +37267
+ Partials       5016     3039     -1977

Flag
Coverage Δ

integration1
26.06% <45.45%> (+0.10%)
:arrow_up:

integration2
?

unittests1
?

unittests2
15.51% <18.18%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...routing/instanceselector/BaseInstanceSelector.java
99.11% <ø> (ø)

...instanceselector/ReplicaGroupInstanceSelector.java
42.85% <0.00%> (-2.05%)
:arrow_down:

...org/apache/pinot/core/transport/QueryResponse.java
100.00% <ø> (ø)

...ing/instanceselector/BalancedInstanceSelector.java
84.61% <33.33%> (ø)

...a/org/apache/pinot/core/transport/QueryRouter.java
72.82% <50.00%> (-10.87%)
:arrow_down:

...ntroller/helix/core/PinotHelixResourceManager.java
69.76% <100.00%> (-1.85%)
:arrow_down:

...pache/pinot/core/transport/AsyncQueryResponse.java
84.00% <100.00%> (-8.00%)
:arrow_down:

...in/java/org/apache/pinot/spi/utils/BytesUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/BaseRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/NoOpRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1104 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


HTML Semantic Language

HTML Semantic Language
When the source code is viewed, then I would like it to contain semantic HTML elements to increase its accessibility.

Added HTML semantic language, corresponding CSS, and added helpful notes to distinguish new sections.


empty image hash fix

Q
A

issue or Enhancement
issue

What's in this PR?
import images without hash

HI,
I don't understand the changee in Adapter/PlentymarketsAdapter/ResponseParser/Product/Image/ImageResponseParser.php on  line 111
 'name' => $entry['names'][0]['name'],
on lines 63-67 is the logic, that handles $name:
        if (!empty($entry['names'][0]['name'])) {                 $name = $entry['names'][0]['name'];             } else {                 $name = $texts[0]['name1'];             }
This is but in catch block not respected:
The solution shoould be:

separate getting name to method and on both places this method call
The solution, that is im https://github.com/plentymarkets/plentymarkets-shopware-connector/commit/35cb55820aa05ec94bfb39716140ef36f62de9ee

There is no index name in $entry. (PHP Notice:  Undefined index: name)

We should use the id here, as implemented and merged an hour ago :)

;)


Updated buildkit, starter site, demo objects, workbench, and solr config

Updates everything in the build to current releases.

Also noticed rights field is being rendered as plain text rather than HTML.

Everything else I checked seemed to work well.

Weird - it looks like you still have the old Solr config and the old template file for the workbench config file.
Did you re-run the build command?

I did rerun the build command, it seems like there was some caching issue though. I wiped my docker build cache and then it worked as intended!

Thanks @nigelgbanks !


UseDatabaseErrorPage Not is 3.0

This is not available in 3.0:
app.UseDatabaseErrorPage();

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

ID: 0e03fdf4-b19b-17c3-04f4-336ab6d2ee06
Version Independent ID: 38515dfb-91a5-b395-db9d-084bbaf095c8
Content: Handle errors in ASP.NET Core
Content Source: aspnetcore/fundamentals/error-handling.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

It's there. Click on the link and add Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore


Missing 100.79.67 release notes

Where can I find 100.79.67 release notes / changes? they are not on the app neither on this website this is for Mac.

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

ID: 287292d6-355f-5ad8-b29d-3fcc4b2604ca
Version Independent ID: 1bcc491b-3736-6a85-3551-7aade2ff5f8a
Content: What's new in Microsoft Defender Advanced Threat Protection for Mac - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/mac-whatsnew.md
Product: w10
Technology: windows
GitHub Login: @Dansimp
Microsoft Alias: dansimp

@officedocsbot assign @jvsam

New version out 100.80.42 and no release notes or list of changes included.

Thanks you can close i see the new ones have been added

Any idea what changed on 100.85.54

@annerajb Thank you for providing feedback.
The issues section of this repository is intended for product documentation issues only.
Please consider opening a product support ticket by the following link below for your problem so that it gets resolved quickly.
Windows 10 Support
Thank you.


authentication error using wasm-pkg-loader

I just downloaded wasm-pkg-loader for the first time, and tried the example from the README:
wasm-pkg-loader wasi:preview1-command-adapter

For some reason this doesn't seem to work, and I'm met with an authentication error:
Error: error listing wasi:preview1-command-adapter releases

Caused by:
    0: OCI error: Authentication failure: {"errors":[{"code":"DENIED","message":"requested access to the resource is denied"}]}

    1: Authentication failure: {"errors":[{"code":"DENIED","message":"requested access to the resource is denied"}]}

I'm not sure what is causing this failure, but I assume the intent was for this to succeed? Is there something users should be configuring or installing before executing this command so it works?

I reorganized the packages and omitted the adapters for now because it wasn't clear to me if those should live under wasi: or something like ba:.
The fact that a missing package results in an auth error is I think an annoying implementation quirk of ghcr.io? Definitely a UX bug that we should address either way.


Space Elevator not working

Hi
I don't think that the space elevator is working. I set up two one on the base and the other on the space station.
The first problem is that when building the Elevator facing north the capsule was about 5 blocks from the centre. When building it facing east the capsule was in the correct place.
The next problem was that the Elevator chip seems to have existing coordinates programmed in. I shift-right clicked the elevator on earth with the linker and then went to the space station and shift-right clicked the elevator, cleared the coordinates and shift-right clicked the elevator on the station and it had the Dim -2 coordinates. Went back to earth and the elevator chip already had two sets in even though I'd not right clicked it yet.
Now everything seems to be correct, the two coordinates match my elevators and they both have full power. I get in either one and the count down begins but nothing happens except the count down goes negative.
AdvancedRocketry-1.10.2-1.2.0c.jar and LibVulpes-1.10.2-0.2.3-universal.jar

I'll look into the capsule being off center, somebody else had reported it a while ago but neglected to mention direction when asked.
The Earth based space elevator having the coordinates of the other elevator is intended.  The idea is that linking one automatically linked the other because each base is two halves of a whole so when one tries to 'connect' to another, the second basestation must know where it's coming from so the coordinates are stored.  Plus it makes it a bit easier on the users.
Three conditions I know that cause the negative countdown to appear is the space elevator not being turned on in the UI, being out of power (but I think we can cross that one out because you said it was fully powered), and not being able to connect to the remote station.  So I'd suggest double checking the on/off state of the machine in the UI, I'll go and try to make the feedback for the machine more user friendly so if that doesn't work we can at least figure out the cause.

Upon testing, north seems ok, but west does not

Hi,
Thanks again for your quick response. If you would like me to test anything like newer version then it will be my pleasure to help out.
I'm wondering it this has something to do with the different motors and coils used. I like to swap the components a bit to see what affect they have. I've only tried different coils and motors but not yet the blocks.

Doesn't seem to be the cause, I changed to coils to gold on both elevators and the motors to elite.

Everything seems to be fine, the coordinates match too.

This was the other side and I also changed the base from slabs to blocks. I noticed that slabs are not considered air tight for floors or ceilings on the space station.

Currently the motors and coils have no effect on the operation of the space elevator, in the future they will increase the speed of the capsule and reduce energy cost respectively.

I die, it was night and mobs were everywhere! Just joking - I nearly died, lighting was with painted Glowstone and it was night.
It didn't seem to make a difference. However I only had the power stored, all the enderio cables and capacitors and Nether star generators were gone - LOL

Alright, what if you break and replace the control blocks for the space elevator?  I'm kinda running out of ideas >.>

What I've tried is:

breaking and replacing the control block
move the elevator to a different position,
rotated it 90 degrees
connected it up to a microwave receiver providing 300 RF/t, using energy pipes.
removing 9 blocks underneath the capsule.

Alright then.  Debug build it is I guess, give me a few minutes...

AdvancedRocketry-1.10.2-1.2.1.jar.zip
http://<IP_ADDRESS>:8080/job/LibVulpes/job/libVulpes/job/unstable1_10/lastSuccessfulBuild/artifact/output/LibVulpes-1.10.2-0.2.4-16-universal.jar
Try this build.  All the debug into should appear in the log.  So I guess run this, let it count down to zero, and let me know what prints.

I'm seeing a lot of these:
[22:37:15] [Server thread/INFO]: Elevator status in attemptLaunch(): Complete: true Enabled: true Energy: false
[22:37:15] [Server thread/INFO]: Tile zmaster587.advancedRocketry.tile.multiblock.TileSpaceElevator@1d918d4d at location Dimension 0 Location: 167 69 -1188 is not valid
[22:37:15] [Server thread/INFO]: Elevator status in attemptLaunch(): Complete: true Enabled: true Energy: false
[22:37:15] [Server thread/INFO]: Tile zmaster587.advancedRocketry.tile.multiblock.TileSpaceElevator@1d918d4d at location Dimension 0 Location: 167 69 -1188 is not valid

A bit of a dumb picture, standing on the space elevator block

So it looks correct.

Looks like it just doesn't have enough energy for some reason.  If you open the control block, how much energy does it say it has out of how much?

Does this make sense, I think 30,000 is too little if it requires 50,000 per trip. The other images show how it is connected.

The power inputs should have a storage of 100,000, not 10,000.  I'm going to see what's up with that.

If you run this version of libvulpes and replace the power inputs, does that work?
LibVulpes-1.10.2-0.2.4-universal.jar.zip

I'll test this in the morning, if you don't mind waiting (bedtime and the kids will be up in six hours. ;-))
It did work with creative power plugs.

Alright, that's fine.

Awesome it works just fine. Many thanks
Just a quick question, so with this release the building blocks and coils don't make a difference to the speed, just the motors?

In this release neither the motors nor coils make a difference to the speed of the space elevator.


support restore custom dim of EV

support restore custom dim of EV

 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.lingtong.si seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

What is the purpose of this features?

At the scene of recommendation, we often use train data of several months, which cause the result that it takes too long to train the model from scratch. Therefore, a better way to train a new recommendation model is loading the old model and keep training the new model. But it may appear that the dims of the same feature between the old model and the new model are different. Due to this situation, it's very necessary to make ev support loading different dims feature.

What is the purpose of this features?

It is convenient for new models to reuse EV and reduce training time

What is the purpose of this features?


Scriptable working

This is the first draft of moving over to project-permanent brushes. (properly branched this time.)
It shows in the menu under:
Tools/GameObjectBrush
Changes

Instead of storing the brush list as an OnGUI property, it's stored as it's own asset (ScriptableObject).
This allows it to be stored with the project, instead of only when the UI is open.
When you first open the GO Brush panel, it checks for a BrushList.asset.
If no BrushList.asset is found, a default empty BrushList is created, and linked to the panel.
The BrushList path then gets stored in the AssetDatabase.
This creates a directory Brushes in your Assets folder.
If a BrushList is found, it's path is read from the AssetDatabase and it's loaded into the panel.

There is a new field in the panel for swapping mulitple brush lists. Since a BrushList is now its own asset, it can be duplicated, moved and prefabed, just like any other asset.

The spawnedObjects list is now a property of BrushObject.
This allows each brush to manage its own list. So, even if you accidentally clear all spwned objs, it's only one brush, not an entire map.

BrushList.asset
This is really just an empty object that holds List<BrushObject>(). It's referenced as the GameObjectBrush.brushes property. It allows the brushes list to be stored as separate Asset. Really it's the entire 'meat' of everything, yet stupidly simple.  Because there was already a UI in place to handle the BrushObjects as a List (Bravo!), It only had to be pointed to the external List instead of storing it in the Inspector panel. Now, it has permanence.
As soon as you duplicate a BrushList.asset and start editing, the additional power of moving to a ScriptableObject becomes evident. Now brushes can be organized for bioms, faction influence, etc... then you can simpley browse through them.
Todo
There is still some work to do to make it 'user-friendly'.

[ ] Add UI controls for created new / deleting BrushList assets. (Only way to get new ones currently is duplicate the existing in Project tab.)
[ ] Add UI for browsing BrushList assets. (Only way to browser currently is to drag new Brush to Inspector.)

Ultimately, there was very little work to make this shift. Because the the GUI and the brush management where already separated logically, edits were more 'pointing' properties someplace new. But almost nothing was done to the underlying mechanics of managing the brushes, and the UI to do so.
Something is probably missing feature-wise... but this iteration is ready for review.

Another great addition, your work is really appreciated.
I have already reviewed the code and am going to have a closer look at it thomorrow. This also includes some work on the two tasks you described regarding the ui.
The changes from your lastpull request are already pending for a review from the asset store team.

thanks!


secrets created by certificated are not removed using kubectl delete -k

Describe the bug:
When deleting the whole kustomize overlay using kubectl delete -k, secrets created by certificate resource are not deleted
Expected behaviour:
All resources created should be deleted after executing kubectl delete -k
Steps to reproduce the bug:

Deploy the following kustomize config using kubectl apply -k

---
apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
  name: auth-ca-issuer
  namespace: test
spec:
  ca:
    secretName: ca-cert
---
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: auth-ca-cert
  namespace: test
spec:
  secretName: tls
  issuerRef:
    name: auth-ca-issuer
    kind: Issuer
  commonName: test.example.com
  organization:
    - example inc
  dnsNames:
    - test.example.com
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: test
namePrefix: a-
nameSuffix: -b
commonLabels:
  app: test

resources:
  - deployment.yaml
  - service.yaml
  - issuer.yaml
  - certificate.yaml

Delete previously deployed config using kubectl delete -k
Secret tls will still be deployed

Anything else we need to know?:
Environment details::

Kubernetes version (e.g. v1.14.7):
docker-desktop (macOS)
cert-manager version: v0.11.0
Install method: static manifests

/kind bug

makes sense, thanks @munnerz !


Error as BootstrapVueNextResolver not found (BootstrapVue3Resolver exists)

BootstrapVueNextResolver as described on https://bootstrap-vue.github.io/bootstrap-vue-next/getting-started/#installation-vue-js)
cannot be found. There is however a BootstrapVue3Resolver in
https://github.com/antfu/unplugin-vue-components/blob/main/src/core/resolvers/bootstrap-vue-3.ts
but no
https://github.com/antfu/unplugin-vue-components/blob/main/src/core/resolvers/bootstrap-vue-next.ts
I am using the latest version<EMAIL_ADDRESS>To reproduce, follow the instruction on https://bootstrap-vue.github.io/bootstrap-vue-next/getting-started/#installation-vue-js) and run
user@host:~/vue3/vite-project$ npm run dev

><EMAIL_ADDRESS>dev
> vite

failed to load config from /home/user/vue3/vite-project/vite.config.ts
error when starting dev server:
file:///home/user/vue3/vite-project/vite.config.ts.timestamp-1673807439426.mjs:5
import { BootstrapVueNextResolver } from "file:///home/user/vue3/vite-project/node_modules/unplugin-vue-components/dist/resolvers.mjs";
         ^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: The requested module 'file:///home/user/vue3/vite-project/node_modules/unplugin-vue-components/dist/resolvers.mjs' does not provide an export named 'BootstrapVueNextResolver'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:181:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:281:24)
    at async loadConfigFromBundledFile (file:///home/user/vue3/vite-project/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:62084:21)
    at async loadConfigFromFile (file:///home/user/vue3/vite-project/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:61969:28)
    at async resolveConfig (file:///home/user/vue3/vite-project/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:61590:28)
    at async createServer (file:///home/user/vue3/vite-project/node_modules/vite/dist/node/chunks/dep-5e7f419b.js:60910:20)
    at async CAC.<anonymous> (file:///home/user/vue3/vite-project/node_modules/vite/dist/node/cli.js:729:24)

https://github.com/antfu/unplugin-vue-components/pull/587

I faced the same issue after moving to bootstrap-vue-next from bootstrap-vue-3

this issue is important, because written on documentation
but after 2 weeks has no progress of merge, I see the commit on unplugin-vue-component is 1 day ago
I just want to remind the maintainers to not ignore the pull request @VividLemon

Anyone is capable of replicating the code I had written over there as a temporary measure.

@VividLemon
In line 31, I think it needs to be lowercase "v" for directives to work.
return { name: `v${name}`, from: 'bootstrap-vue-next' }

@VividLemon
In line 31, I think it needs to be lowercase "v" for directives to work.
return { name: `v${name}`, from: 'bootstrap-vue-next' }

I'll have to review the code a bit further. The code was originally copied from the original bootstrap vue resolver, but I don't think its compatibility (the regex statement seems incompatible)


Sheets fixes

Fix hash column (the current code is fragile because it assumes the which column is the hash column. Will think of a way to make this safer)
Throw clear error if no sheet with the expected name exists

OK, no big change, but note that with the Frontend I already implemented, I have an option to create a new Spreadsheet, so of course if you're creating a new one, you will not have even the Spreadsheet.

Thats true but in any case, the spreadsheet is something the user can change and if deletes/renames the sheet we will fail and I would like to get a clear error so I think it is still relevant.


Error thrown within useContext is swallowed

With envelop it is possible to handle such errors:
const plugin = {
  onPluginInit(args) {
    args.registerContextErrorHandler(...)
  }
}

https://github.com/dotansimha/graphql-yoga/pull/808


chore(main): release 0.1.2

:robot: I have created a release beep boop
0.1.2 (2024-03-24)
Bug Fixes

handle white vs cream backgrounds for forms (f1e6663)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/commonhorizoncommun/design-system/releases/tag/v0.1.2 :sunflower:


should process_packet_function receive the endpoint in its parameters?

Not an issue but more of a philosophical question.
When processing a packet, it would be a normal operation to reply on the same endpoint using reliable_endpoint_send_packet.  As of now we receive a <context,index> pair (btw, not sure what is the index utility).

Alternatively, reliable_rendpoint_receive_packet could return 1 if it called the processing function. This allows to take a decision to send a reply right there. This would be ABI-compatible with the current implemention.
Just a feeling that something is lacking for a very smooth and natural operation of these functions. Basically, if some data is received, it should be super easy to send back data on the same endpoint.
Let me know what you think.

The general idea is that you have the endpoint stored internally inside the context, so you can get it if needed. Usually, the endpoint is not the only thing you need, to reply right away.
Can you explain your use case more?

ps. utility of index is that it lets you support a server, with multiple data per-client, it tells you which client index this packet corresponds to.

Yes I understand your point of view. I have a server with a pool of endpoints. I managed to do things a bit differently. Although I think that having a extra "local context" when calling the receing_packet would have helped me have a cleaner implementation. Not a biggie.

Yes, at this point I acknowledge it would be better to have both, it's best not to be backwards incompatible for such a small fix.

I agree.


[Bug]: When many users wait for their notebook to be scheduled, the dashboard gets overloaded

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When running the large scale test with an under-sized cluster, the Dashboard may overload the APIServer.
Test result 1: 1741/2000 users succeeded
Most of the failures were due to the cluster being unable to start the notebooks.
But multiple failures are due to APIServer timeouts
Test result 2: 863/2000 users succeeded
Most of the failures were due to the cluster being unable to accommodate the notebooks.
But many of them are due to APIServer timeouts.
Expected Behavior

The dashboard does not overload the APIServer when Pods cannot be scheduled. We need to work on it together to better understand what's happening and how to prevent it
The dashboard steps should be constant, as when the notebook nodes are prepopulated:

Steps To Reproduce

run the notebook scale test with 300 users and auto-scaling enabled, see that the Dashboard takes more and more time to be accessed

Workaround (if any)
No response
What browsers are you seeing the problem on?
No response
Open Data Hub Version
No response
Anything else
No response

After some investigation, these are the two outcomes:

Change useFetchState to dynamically  change the polling time (refreshRate) based on polling conditions to solve the polling flood
Wait on websocket implementation to watch the notebook status  with websockets

https://issues.redhat.com/browse/RHOAIENG-825


Add potential member edge incremental test

This case tests that adding, and then removing, an association between
types resets the incremental state to the same as before the association
was made.

This test currently fails, but I wanted to submit it to validate CI fails as well, before ideally trying to find a fix

@swift-ci please test

Interesting catch!
@swift-ci please test

It should still fail, I haven't had the chance to go digging to try and fix just yet

Maybe confirming the obvious, but still: the issue seems to be the fact that the first whenAddRemovePrivateLet compile adds an edge to the module dependency graph of A (for example) from the interface of C to source-file of A. Which is expected. But after the second whenAddRemovePrivateLet compile that undoes the change, dependency graph of A still contains this edge, which is causing the extra recompiles.
Screenshot top-down are module dependency graphs of A:

After step 3 (second whenUpdatingConstant compile)
After step 5 (first whenAddRemovePrivateLet compile)
After step 6 (second whenAddRemovePrivateLet compile)


Add joshuatcasey as contributor

Hi! I'd like to be added as a contributor. I'm helping to maintain CF buildpacks and CI on behalf of VMware. Past contributions include UAA (https://github.com/cloudfoundry/uaa/graphs/contributors).

@cloudfoundry/wg-app-runtime-interfaces-buildpacks @Gerg: Since Joshua's intending to contribute to the Buildpacks area in the App Runtime Interfaces, can you please give some approvals for his request, as per https://github.com/cloudfoundry/community/blob/main/toc/ROLES.md#promotion-to-contributor? Thanks!

Endorsing the nomination

Per RFC 0008, you need 2 existing approvers to review your application (this PR) to confirm you meet the criteria. I see @arjun024 volunteered, so you will need their review and one more.
Once that criteria is met, I'll happily merge this PR.

@Gerg I volunteer for a second review.


Media queries throwing error: Unsupported style property

Getting this error when I use a media query:
Warning: Unsupported style property @media (min-width: 60rem). Did you mean @media (minWidth: 60rem)?

However, when I change it to minWidth, the media query doesn't work :X

Ok found the problem:
Using regular html child components works great:
export default Radium(() =>

Child div

)

But when I use my own component, it doesn't work:
export default Radium(() =>

    <MyCustomComponent style={styleWithMediaQuery} />

// MyCustomComponent

const styles = {
  myCustomComponent: {...}
}

export default ({ style }) =>

}

This of course doesn't work because MyCustomComponent is merging the styles and passing them to div without being wrapped in Radium. You can get it to work either by wrapping MyCustomComponent in Radium OR by not merging styles and passing up an unstyled div.
Would be nice if Radium could support these merged styles somehow :) For now I'll have to create a fork of material-ui and wrap all the components in Radium.

I've experienced similar issues when using Radium in conjunction with material-ui. I was actually wondering if there was a way to manually invoke the Radium generation of a prefixed style object + class name for media queries. That way we could manually pass the style and className attributes to third-party components.
For example, I'd like to have something in the likes of:
getStyle() {
  return {
    fontSize: 16,
    '@media (min-width: 768px)': {
      fontSize: 24,
    }
  };
},
render() {
  const { style, className } = Radium.generate(this.getStyle());
  return <MyComponent style={style} className={className} />;
},

Why does Component.render() only render one level deep? If we could get resolve-styles to render the whole tree, you could put Radium in the StyleRoot and not even worry about putting it on individual components.
Just a thought :o)

I encountered this issue today as well - couldn't get custom components to size correctly using media queries.

@tuckerconnelly it certainly is possible to make Radium work by only applying it at the top level. It does, however, break component encapsulation. See https://github.com/elierotenberg/react-traverse if you are curious how.
@rynti it's not really possible to invoke Radium manually; your component would never update with :hover styles, and any JS media query listeners would never fire.

@tuckerconnelly I'm going to close this issue for now. If there is some specific action we can take to clear this up, comment here and we can reopen.

Know this is a closed issue, but wanted to throw out a question/thought/general spitballin'.
My team is running up against this same issue, specifically the case where we're using Material UI and attempting to apply media queries to MUI components.
I'm wondering why Radium suggests and only allows hyphenated media query conditions? One thing I noticed in my testing was that MUI components specifically allow for camelCased media query conditions. I'm not sure of the exact mechanism there, but it did work in our case.
I don't want to just outright suggest switching to or allowing for camelCase media query conditions, but was just curious as to why Radium went down the hyphenated path for those while other libs–and all other properties in Radium–went the camelCase direction.
At the moment, we're just choosing to ignore the unsupported property error, because that's the only negative side-effect and it doesn't happen in production builds. The styles are applied just fine.

Reopening for visibility (I'm not familiar with the issue at hand, but at least this way we won't lose track of it!)

Encountered the same issue.
Ignoring the warning for now.

Hey guys, encountered the same problem - any solution / workaround?

Hey everyone,
@tylergaw how did you manage to make it work with material-ui ? Where did you put the  and what did you encapsulate with Radium() ? Can't manage to make my media queries work :/

Hi, this is a really weird issue : I had no problem till now. But it fires the same error message, for one line only. Other lines using the exact same property has no problem et works like a charm :
const select = {
  default: {
    borderColor: Colors.primary,
    height: '50px',
    lineHeight: '50px',
    borderRadius: '2px',
    '@media only screen and (max-width: 767px)': { // not ok
      marginBottom: '10px'
    }
  }
}
// further
const button = {
  default: {
    display: 'block',
    width: '100%',
    maxWidth: '360px',
    margin: '4rem auto',
    '@media only screen and (max-width: 767px)': { // ok
      margin: '1rem auto'
    }
  }
}

Has any one else meet this case ?
Thx

So what about passing mysterious function Radium.generate in Component context, to provide style
as any props directly for child component, like in MUI we do? For example Drawer
                    <Drawer
                        zDepth={0}
                        open={this.state.open}
                        width={240}
                        containerStyle={this.context.Radium.generate(styles.nav_menu)}>
                            <NavLinksList linksTree={this.state.linksMap} />
                    </Drawer>

And my sexual fantasy: why not  to enhance component events through hidden prototypes right in Styles object, and use .valueOf for raw styles data?

Still running into this error, ignoring it for now, but would be nice to clear it with a fix!

Still running into this error, ignoring it for now, but would be nice to clear it with a fix!


[Enhancement] "Merge" xct viewmodel to vs' tool

Description in preview release note,
Improved MVVM Support: In this release, we introduced a new dialog that allows you to quickly create a view-model and declare it as the DataContext for the XAML page. Setting the DataContext will enhance IntelliSense when working with data bindings – such as the ability to create properties in the view-model, Go To Definition, and completions.
I think it's possible to add xct viewmodel to this feature.

@jingliancui I didn't follow your idea, can you rephrase that?

@jingliancui I didn't follow your idea, can you rephrase that?

@pictos ,The vs' preview MVVM support feature like the "prop tab tab", the viewmodel it create by the operation maybe is created from vs , and I know xct support DelegateWeakEventManager, so is it possible to "embedded" the DelegateWeakEventManager feature to the vs' mvvm feature?

@pictos ,The vs' preview MVVM support feature like the "prop tab tab", the viewmodel it create by the operation maybe is created from vs , and I know xct support DelegateWeakEventManager, so is it possible to "embedded" the DelegateWeakEventManager feature to the vs' mvvm feature?

I see now, well I believe that we can't do that on this project, that should be something done by VS team. @jfversluis @jsuarezruiz thoughts?

I see now, well I believe that we can't do that on this project, that should be something done by VS team. @jfversluis @jsuarezruiz thoughts?

Maybe it like the vs code snippet feature , or the aspnetmvc controller create dialog etc...

Maybe it like the vs code snippet feature , or the aspnetmvc controller create dialog etc...

And I suddenly remember the .net 5 code generator feature.

And I suddenly remember the .net 5 code generator feature.

Yeah I think this is more of a tooling thing than anything we can do :)
If I understand your idea correctly a number of things need to happen. First, the Toolkit needs to become a part of the templates to be installed whenever someone creates a new project and then they need to add the logic to generate this code.
I highly doubt that we will ever get that far with this project, but I appreciate your big plans! For now I don't see how this will happen anytime soon and it's definitely not something we can do ourselves. Closing this for now.

Yeah I think this is more of a tooling thing than anything we can do :)
If I understand your idea correctly a number of things need to happen. First, the Toolkit needs to become a part of the templates to be installed whenever someone creates a new project and then they need to add the logic to generate this code.
I highly doubt that we will ever get that far with this project, but I appreciate your big plans! For now I don't see how this will happen anytime soon and it's definitely not something we can do ourselves. Closing this for now.


drivers: use codegen for device instantiation

Overview
Use Codegen #10885 for device instantiation.
This PR includes parts of PR #10885. It is the successor to #9163.
Motivation for or Use Case
Demonstrate the usage of Codegen and the included devicedeclare module for device instantiation.
Design Details
The following drivers are adapted to use codegen for device instantiation:

I2C: i2c_ll_stm32.c (commit: drivers: i2c: stm32: use codegen driver instantiation)
SPI: spi_ll_stm32.c (commit: drivers: spi: stm32: use codegen driver instantiation)
SERIAL: uart_stm32.c: (commit: drivers: serial: stm32: use codegen driver instantiation)
CAN: stm32_can.c: (commit: drivers: can: stm32: use codegen driver instantiation)
PWM: pwm_stm32.c (drivers: pwm: stm32: use codegen driver instantiation)
INT: exti_stm32.c (drivers: interrupt: stm32: use codegen driver instantiation)

Codegen #10885  provides two device declaration functions in it's devicedeclare module.

devicedeclare.device_declare
Provides a sophisticated device declaration API. It is transferred from @erwango 's work in #8561.
devicedeclare.device_declare_single/multi
Provides a more raw device declaration API that allows for a fine grained control of the device instantiation template. It is the basis also for devicedeclare.device_declare.

All drivers above except INT are adapted to use the devicedeclare.device_declare_multi API.
The interrupt driver uses the devicedeclare.device_declare API. It is a minimal conversion to show the feasibility. For elaborated examples of the devciedeclare.device_declare API see #8561.
Codegen's device declaration is done using a device info template with placeholders that is used for every device instance. The placeholders are replaced by the respective device tree or device instance values:

Device tree property placeholder are defined by the property path; either ${[property path]} for properties of the actual device instance or ${[device id]:[property path]} for another device instance property.
The device instance placeholders ${device-[xxx]} provide device instance specific info that is autogenerated eg. device name, driver name, name of the data structure ...

/**
 * @code{.codegen}
 * codegen.import_module('devicedeclare')
 *
 * device_configs = ['CONFIG_I2C_{}'.format(x) for x in range(0, 5)]
 * driver_names = ['I2C_{}'.format(x) for x in range(0, 5)]
 * device_inits = 'i2c_stm32_init'
 * device_levels = 'POST_KERNEL'
 * device_prios = 'CONFIG_KERNEL_INIT_PRIORITY_DEVICE'
 * device_api = 'api_funcs'
 * device_info = \
 * """
 * #if CONFIG_I2C_STM32_INTERRUPT
 * DEVICE_DECLARE(${device-name});
 * static void ${device-config-irq}(struct device *dev)
 * {
 * #ifdef CONFIG_I2C_STM32_COMBINED_INTERRUPT
 *         IRQ_CONNECT(${interrupts/combined/irq}, ${interrupts/combined/priority}, \\
 *                     stm32_i2c_combined_isr, \\
 *                     DEVICE_GET(${device-name}), 0);
 *         irq_enable(${interrupts/combined/irq});
 * #else
 *         IRQ_CONNECT(${interrupts/event/irq}, ${interrupts/event/priority}, \\
 *                     stm32_i2c_event_isr, \\
 *                     DEVICE_GET(${device-name}), 0);
 *         irq_enable(${interrupts/event/irq});
 *         IRQ_CONNECT(${interrupts/error/irq}, ${interrupts/error/priority}, \\
 *                     stm32_i2c_error_isr, \\
 *                     DEVICE_GET(${device-name}), 0);
 *         irq_enable(${interrupts/error/irq});
 * #endif
 * }
 * #endif
 * static const struct i2c_stm32_config ${device-config-info} = {
 *         .i2c = (I2C_TypeDef *)${reg/0/address/0},
 *         .pclken.bus = ${clocks/0/bus},
 *         .pclken.enr = ${clocks/0/bits},
 * #if CONFIG_I2C_STM32_INTERRUPT
 *         .irq_config_func = ${device-config-irq},
 * #endif
 *         .bitrate = ${clock-frequency},
 * #if defined(CONFIG_SOC_SERIES_STM32F3X) || defined(CONFIG_SOC_SERIES_STM32F0X)
 *         .ll_clock_source = LL_${driver-name}_CLOCKSOURCE,
 * #endif
 * };
 * static struct i2c_stm32_data ${device-data};
 * """
 *
 * devicedeclare.device_declare_multi( \
 *     device_configs,
 *     driver_names,
 *     device_inits,
 *     device_levels,
 *     device_prios,
 *     device_api,
 *     device_info)
 * @endcode{.codegen}
 */
/** @code{.codeins}@endcode */

Test Strategy
This PR extends the SPI loopback test for the NUCLEO F091RC board. It was tested using this test and some
sample applications.
Signed-off-by: Bobby Noelte<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master   #10888   +/-   ##
=======================================
  Coverage   53.32%   53.32%
=======================================
  Files         215      215
  Lines       25886    25886
  Branches     5705     5705
=======================================
  Hits        13803    13803
  Misses       9763     9763
  Partials     2320     2320

Continue to review full report at Codecov.

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

@b0661 some drivers of QMSI uses DEVICE_DEFINE() instead of DEVICE_AND_API_INIT() macro  to initialize drivers providing power management support via the PM control function. The codgen by default substitues DEVICE_AND_API_INIT(). Is there any way to specify codegen to substitute DEVICE_DEFINE() macro instead of DEVICE_AND_API_INIT() macro?

@SavinayDharmappa

Is there any way to specify codegen to substitute DEVICE_DEFINE() macro instead of DEVICE_AND_API_INIT() macro?

Not implemented at the moment. But should not be a problem to switch between DEVICE_DEFINE() and   DEVICE_AND_API_INIT() based on pm_control value.
device_declare_multi() may become
def device_declare_multi(device_configs,
                         driver_names,
                         device_inits,
                         device_pm_controls,
                         device_levels,
                         device_prios,
                         device_api,
                         device_info,
                         device_defaults = {}):

device_pm_controls maybe a list of pm_control functions or a single pm_control function or None.

@b0661
We've been trying to formalize requirements for driver devices generation here: https://github.com/zephyrproject-rtos/zephyr/issues/10904 (still open for debate, if you want to).
To my view, what is missing to the various PR you've been proposing is adherence to above requirements (which were not written down until now, I hope having a formalized version makes things clearer now). This is why Iv'e been pushing https://github.com/zephyrproject-rtos/zephyr/pull/8561.
Though, I don't want to push this despite you, so if you feel interested, feel free to push your own version of a codegen solution that could work with requirements.

@erwango
Thank you for the comments. I am not quite shure what to do with the comments that relate to driver functions and not to code generation from DTS.

If codegen does not get merged all this will not be necessary.
If codegen is merged the authors of the drivers should do the changes looking at here to have it as a starting point.

My goal for all drivers is to show Codegen works and the driver passes CI and sometimes some other tests.

@b0661 thanks for the PR. During my discussions with the rest of Zephyr TSC members, most of us expressed a dislike for having the generated code embedded in the actual .c file. Instead we would prefer to have a clean separation between generated code (i.e. instantiation) and the actual driver code.
Is this something that would be possible with codegen? I assume it is, because I believe this came up before, but just double-checking here.

. ...Instead we would prefer to have a clean separation between generated code (i.e. instantiation) and the actual driver code.
Is this something that would be possible with codegen? I assume it is, because I believe this came up before, but just double-checking here.

Yes it is possible. For codegen you simply define the template file and the destination file. It the template file happens to be called my_file.h.in and the destination file my_file.h codegen will produce it the way you are expecting it.

@carlescufi

As mentioned by @erwango this should be rebased on top of the topic branch.

Will do - but I have to finish some work yet.
What about the build system integration of codegen (btw. as you asked that: I wrote that - not @SebastianBoe). @anangl somehow hijacked the codegen build system integration - will that be changed?


Avoid Data Too Long SQL error when saving log description

Hi,
This is only a proposal. I've been using this package for some time now and I always used the description field to provide an admin user with some feedback about the activity that happened. Using the template feature is great, but it sometimes creates a very long description that will eventually result in a "Data too long" SQL error. I could change the "string" field type to make it larger but I feel this would be an overhead. So my idea was simply to cut the description text using Laravel's str_limit function to limit it to the Schema Builder's default string length.
Thanks!
Xavier

that will eventually result in a "Data too long" SQL error.
If you hit that error, I recommend changing the datatype of the description column in the migration.

Thanks for your suggestion!


[FEATURE] <Test to run on CI (Github Actions)>

Description
Tests are not running on push or pull requests. Added to Github Actions
Screenshots
No response
Additional information
No response

 name: Tests`
on: [push,pull_request]
jobs:
test:
runs-on:  ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
  with:
    node-version: 14
- name: install deps
  run: npm ci
- name: run tests
  run: npm test`

I want to do it

This has been completed here https://github.com/EddieHubCommunity/EddieBot/pull/642