Make devices to be built configurable

The C++ code has become modular enough to consider making the devices to support/compile configurable. At least for some devices this is possible by just not compiling the device source file anymore and removing the device instantiation code from the device factory. This has already been tested with the host services device.
Potential approach:

Introduce preprocessor #defines, e.g. WITH_DEVICE or WITHOUT_DEVICE for any device type that is removable.
Based on these #defines in the C++ code do not include some header files and do not compile the device factory code instantiating removed devices.
easysetup gives the user a choice which devices to support

Note, though, that one cannot save much compile time with not compiling everything. Mode code is always needed for the disk devices. This is why this ticket may not be worh the issue.

@rdmark Do you remember the recent tickets which moved some code from the device factory to the respective devices? Having done that makes implementing this ticket more straightforward.


[FancyZones] UI testing

Summary of the Pull Request

Added projects for FancyZones and FancyZonesEditor testing with a sample test to try it on the CI pipeline.
Updated dev docs

PR Checklist

[x] Closes: #29246
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[x] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run


adds apiVersion option to Jira configuration

Took an initiative to add Support for Jira XRAY API version 2.0, which is missing from this package.
This package makes life so much easier, that it's better to contribute, over creating our custom solution.
Made final solution this way, to avoid introducing breaking changes for other users of this package.
Here is link to XRAY documentation about both API versions.

@inluxc Hi, will you have a moment to review this PR? If yes, it will be very much appreciated!

Sorry for the delay, merging now, thanks for the help.


code clean up && dont print extra stuff on main process

code clean up && dont print extra stuff on main process

@gandarez with this we will be able to run yarn start and it will work


Add SecuX showcase

Showcase addition

Name: SecuX Hardware Wallet
Description: SecuX hardware wallets V20, W20 and W10 natively support the receiving, sending and staking of Cardano ADA on its web application Ada Portal. SecuX wallets are equipped with an Infineon SLE solid Flash CC EAL5+ Secure Element chip to securely store your PIN and Private Key, and authorize transactions without the private key ever leaving the device. Such vault-grade and military level security enables zero transaction leakage, and surpasses those adopted by banking systems as protection from malicious online attacks. The Ada Portal is accessed via the SecuXess web application, and connection verification will be required while switching from one to the other for extra security measures.
Link:   SecuX
Source: null
Tags:

wallet

One more thing, we are trying to avoid writing ada in capital letters. To see more you can check out style guide on this topic.


Fix: revert addition of cypress-webpack-preprocessor

When I was trying to fix #2667 I found that cypress tests were not working anymore for the default--mode production, but they do work for --mode development.
Some testing found that it is related to the addition of cypress-webpack-preprocessor introduced in https://github.com/vuejs/vue-cli/commit/bd32daa2db44bc50a6bc14d9887b9debd05a727b to solve #2465
Removing that makes tests work again.
I tried to find out what about the production config breaks the preprocessor, but was unsuccessful.
Since it was only introduced to provide a convenience feature (@/ alias path support in cyprss test files) I submit this PR to revert the feature until we have found a proper fix for the problem.
Maybe we just have to remove some plugin from the production config that we load into the preprocessor, but so fa I haven't figured out which one it is.

Fixed in https://github.com/vuejs/vue-cli/commit/c0ca45cdaa24737e787c76f76d08e462f284addc & https://github.com/vuejs/vue-cli/commit/ab0503b19f09eebc835447531e6e1578583fe979


apps close when remove isTesting

Finally, I can run this plugin to my apps.. but the next error, when i try to remove "isTesting" i get the error.. my apps closed when I try to run in emulator. ( NOX ) Can you help..

just found in here :
https://github.com/floatinghotpot/cordova-admob-pro/issues/386
thanks


Updates to soccer apps to match new format

@cmarkham20  - for soccermens & soccerwomens - you've removed a whole bunch of functionality (days forward, days back for api results) I have added in the app with this merge you did - plus for some leagues - the feed will cause the app to break - because there's no logo in the API results for some teams at lower levels of soccer (plus I've removed some display options for this reason as well) - these 2 apps aren't just copies of your app - there's more to it.    at this point, I'd rather revert it back (for my 2 apps) & I'll look at merging in the new league name display inside the code with the new functionality.

Sure, whatever you want do.


Create virtual network interface like in LINUX, 1 static, 1 DHCP (IDFGH-7826)

Is your feature request related to a problem? Please describe.
So, when you use a ESP32 device e.g. with Ethernet.
it would be nice to have a Interface eth0 which is DHCP Enabled,
so the DHCP Server gives the ESP32 a Address and Gateway.
this is most easy on most Networks to get Internet Acces.
then it would be nice to have a Second, Alias Interface eth0:0 with a STATIC IP Address.
so when the Service Techican comes and want to connect to the Device he does not need to find out the DHCP Assigned IP, but he can use the fixed one.
Describe the solution you'd like
make Alias Interfaces working, prefferrably for Wifi and Ethernet,
but at least for Ehternet.
Describe alternatives you've considered
not yet done a lot research on it.
a Google on "virtual network interfaces in ESP32" did not bring up any solution.
Additional context
none.

This is probably a request that should be directed towards the LWIP repository. The ESP port of LWIP shouldn't be diverging from the main branch in ways this significant.

Do you know their issue Tracker?
Holen Sie sich Outlook für Androidhttps://aka.ms/AAb9ysg

From: Nathan Phillips @.>
Sent: Thursday, July 14, 2022 1:53:16 PM
To: espressif/esp-idf @.>
Cc: Franz Höpfinger @.>; Author @.>
Subject: Re: [espressif/esp-idf] Create virtual network interface like in LINUX, 1 static, 1 DHCP (Issue #9326)
This is probably a request that should be directed towards the LWIP repository. The ESP port of LWIP shouldn't be diverging from the main branch in ways this significant.
—
Reply to this email directly, view it on GitHubhttps://github.com/espressif/esp-idf/issues/9326#issuecomment-1184355482, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQSZUH7QKTFRH7WRP4JZFFDVT75SZANCNFSM53G4O5MA.
You are receiving this because you authored the thread.Message ID: @.***>
[https://www.meisterschulen-mchn.de/images/meisterschulen/allgemein/4-logos/logofc.jpg]
Meisterschulen am Ostbahnhof
Mühldorfstr. 6
81671 München
Tel.: 089 416002 - 0
Fax: 089 416002 - 111
Internet: www.meisterschulen-münchen.dehttp://www.meisterschulen-mchn.de

Thanks for reporting, fix is available at https://github.com/espressif/esp-idf/commit/88525d1ec6cc69e22f61f32868910ff7bb817d08, feel free to reopen.


Jimp constructor with buffer data throws exception.

I'm trying to create new image with another images' buffer data.
As per docs this code should work
new Jimp({ data: buffer, width: 1280, height: 768 }, (err, image) => {
  // this image is 1280 x 768, pixels are loaded from the given buffer.
});

however this throws following error.

No matching constructor overloading was found. Please see the docs for how to call the Jimp constructor.

Jimp version 0.6.4
My buffer is another images's bitmap.data

having the same issue as this, is there any known workaround?

I way hoping to use this in the way described in the comment below, but ran into this bug too.
https://github.com/oliver-moran/jimp/issues/303#issuecomment-417991976

merging into #303


Upgrade web-token dependency to version ^2.0

This breaks BC with PHP 7.1, as web-token 2.0 requires PHP >= 7.2.
Release minishlink/web-push:6.0.0?

👍

@Minishlink, can you please merge this PR?

I see travis seems to be on a go slow...

Good day. Has this been fixed :D ?

+1


[v1.7] test: Replace managed etcd test with generic etcd test

Direct backport of https://github.com/cilium/cilium/pull/11544. The first 2 commits are a backport, and other commits are direct commits (considering applying them to v1.8 & master).
Once this PR is merged, you can update the PR labels via:
$ for pr in 11544; do contrib/backporting/set-labels.py $pr done 1.7; done

test-backport-1.7

test-focus K8sDatapathConfig.*Etcd

test-focus K8sDatapathConfig.*Etcd

Looks like Cilium pods are failing because of
2020-10-15T08:13:30.501124813Z level=fatal msg="Timeout while waiting for initial allocator state" subsys=allocator

@gandro do you think that failure will be fixed by https://github.com/cilium/cilium/pull/13514? or it's not even related?

I am not able to reproduce this locally.

test-focus K8sDatapathConfig.*Etcd

test-me-please

test-backport-1.7

test-backport-1.7

test-backport-1.7

test-backport-1.7

test-backport-1.7

test-backport-1.7

test-backport-1.7

test-backport-1.7

@gandro do you think that failure will be fixed by #13514? or it's not even related?

Sorry for the late response. I don't think it's related (the above timeout happens in NewAllocator, I don't see how that would be impacted by the checks in lookup).

test-missed-k8s


error TS2345: Argument of type 'BigNumber' is not assignable to parameter of type 'BigNumberish'

i get this error when try to test
``
npx hardhat test
Creating Typechain artifacts in directory typechain for target ethers-v5
Successfully generated Typechain artifacts!
An unexpected error occurred:
test/AccessControlTest.ts:45:39 - error TS2345: Argument of type 'BigNumber' is not assignable to parameter of type 'BigNumberish'.
Type 'import("/root/Desktop/amm-arbitrageur/node_modules/@ethersproject/bignumber/lib/bignumber").BigNumber' is not assignable to type 'import("/root/Desktop/amm-arbitrageur/node_modules/ethers/node_modules/@ethersproject/bignumber/lib/bignumber").BigNumber'.
The types returned by 'toBigInt()' are incompatible between these types.
Type 'BigInt' is not assignable to type 'bigint'.
45     await weth.mint(flashBot.address, wethAmount);
~~~~~~~~~~
test/AccessControlTest.ts:58:59 - error TS2345: Argument of type 'BigNumber' is not assignable to parameter of type 'BigNumberish'.
58     expect(wethBlanceAfter).to.be.eq(wethBlanceBefore.add(wethAmount));
~~~~~~~~~~
``

This might be caused by wrong deps version. Try cleaning up the node_modules and reinstall by:
yarn install -D

I tried to delete the node_modules and cache folder and give the command again:
yarn install -D
but have the same error
i try to redo all git clone and test


Updated vagrant box, ubuntu/vivid64 was remove from atlas.hashicorp.com

This PR updates the Vagrantfile to use a box available at atlas.hashicorp.com
$ vagrant up
Bringing machine 'consul-server' up with 'virtualbox' provider...
Bringing machine 'net-1' up with 'virtualbox' provider...
Bringing machine 'net-2' up with 'virtualbox' provider...
==> consul-server: Checking if box 'ubuntu/trusty64' is up to date...
==> consul-server: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> consul-server: flag to force provisioning. Provisioners marked to run always will still run.
==> net-1: Box 'ubuntu/vivid64' could not be found. Attempting to find and install...
    net-1: Box Provider: virtualbox
    net-1: Box Version: >= 0
The box 'ubuntu/vivid64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Atlas, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://atlas.hashicorp.com/ubuntu/vivid64"]
Error: The requested URL returned error: 404 Not Found

Signed-off-by: Ty Alexander<EMAIL_ADDRESS>

LGTM

LGTM


infra: update to pathspec for 'git grep' in lint check

Description: Update to the pathspec for 'git grep' in lint check in the Makefile
Issue: The pathspec {docs/docs,templates,cookbook} is not handled correctly leading to the error during 'make lint' -
"fatal: ambiguous argument '{docs/docs,templates,cookbook}': unknown revision or path not in the working tree."
See changes made in https://github.com/langchain-ai/langchain/pull/18058

@efriis Please check when convenient


Ensure that generator-langium and langium:generator are in sync

The Langium extension generator generator-langium is scaffolding new Langium projects. In particular, it generates the Langium configuration read by the langium generate CLI command.
generator-langium and langium are different packages. As a Langium maintainer, I want to ensure that both packages don't break their common contract (e.g. the Langium configuration format).
A solution could be that we add an additional CI task in the form of a GitHub Action that runs generator-langium as an integration test. More specifically, the Action could install Yeoman and npm link the package generator-langium in order to be able to run yo langium. Within the resulting hello world project, we could run the langium:generate script and check the generated output.

A first smoke test could be to check if the langium:generate script runs with exit code 0.
A more sophisticated test could check if generated contents match expected contents (via snapshots?)

A big challenge here is that the generated npm package pulls langium and langium-cli from the npm registry, but its contents may be already using new API from the next version (main branch). I tested the current state and it fails because it uses the old version 0.2.0. If you change that to use the local version from the repository, everything works fine. So an integration test needs to ensure that the local version is used instead of a published version.

@danieldietrich @spoenemann
I've added a yeoman-generator test that will fail if for example generated source files can not be compiled. See #843

We have compile tests for generator-langium now.


initial version to open source the Isochrone API

This was already announced a long time ago some other things are moving now and so this might not be the latest and greatest solution, but we have the plan to improve this afterwards step by step :)
TODOs

[x] rename package stuff from 'reach' to 'isochrone'
[ ] write tests for error messages and codes
[ ] include documentation #1303
[ ] dropwizardify #1333
[x] make polygon creation faster as creating the points is already super fast! later

This code has been working quite well for us so far, thanks so much! Do all five of these steps on the to-do need to happen before this can be merged into the project? How much information do you want documented? It seems like ReachServlet is an excellent contained example of how to use and generate a full isochrone.

Do all five of these steps on the to-do need to happen before this can be merged into the project?

Not finally decided

How much information do you want documented?

Also not sure yet. But I want some more javadocs, docs in Java and for the web API.

Have created #1333 with work from @michaz.


Rationale for using native implementation of WebView

Why did you choose to implement the WebView in native code on Android and iOS?
From my perspective there is no real advantage there. It would be better to use the flutter_inappwebview package which supports Android, iOS, macOS and the web. Windows and Linux support could be added using the desktop_webview_window package.
IMHO the main disadvantage of the current solution is the usage of the system's default browser. There you have no control over cookies (that is especially bad when you want to log out from 3rd party provider using the SDK) and you have no fullscreen mode. Even worse on iOS you have to confirm that you really want to open the Casdoor website on the first attempt.
If this appears useful to you I want to offer my help in migrating the SDK to use the packages mentioned above.

@fischermario sounds good. Can you make a PR?

@hsluoyz Great! I can get started on it right away. Might take a few days as this is a spare-time thing for me. I will open a PR somewhere next week. Please keep this issue open until then.


Mention saltside/await in misc related projects

Close #2005
I added the "Misc" section for lack of better idea.

Thanks!


Choose technology

Choose technologies stack

js
node.js
websockets
nunuStudio
heroku
see this technologies
we can make cool game with many players

Angular 6 for Front
Go services for highly loaded points

What about database? I suggest PostgreSQL


Fixed a case where coerce type was being called with a None value.

Fixed it to return None instead of raising an exception checking the type

Coverage decreased (-0.05%) to 89.225% when pulling 545f8f0ad2fab9419e452512583f56b196ff717b on fixed_bug_coerce_none_type into f0c21a5a1402e859bd5de2c4233ede541af49930 on master.

Coverage decreased (-0.05%) to 89.225% when pulling 545f8f0ad2fab9419e452512583f56b196ff717b on fixed_bug_coerce_none_type into f0c21a5a1402e859bd5de2c4233ede541af49930 on master.


Add support for macros

One of my favorite features in vim is macros.  Recording with q+letter, executing the commands you want recording, then hitting q again.
Having this feature in Atom would be awesome!

+1

+1

+1

+1
ctrl+alt+l
'Convert space to tabs'
'Toogle soft tabs'
This is what I want to.

+1
On Jan 27, 2015 8:58 PM, "sangwoojoo"<EMAIL_ADDRESS>wrote:

+1
ctrl+alt+l
'Convert space to tabs'
'Toogle soft tabs'
This is what I want to.
—
Reply to this email directly or view it on GitHub
https://github.com/atom/vim-mode/issues/161#issuecomment-71767856.

+1
In the process of making a few atom plugins which could easily be macros.

+1

Not to pop in just to say "+1," but...
+1!

+1

Whohoo..umm..
+1

+1

+1

+10 :D  Atom is already awesome, as is VIM. But without Macros support, still regularly need to switch between the two text editors. With macros support, Atom would reach a point where for most day to day needs Vim is no longer required.

+1

Based on this I compiled a list of features that should be included in this fix:

ability to record command sequences to registers  using

q<letter><commands>q

ability to replay macros using

<number>@<letter>

where number is optional

ability to execute the last used macro again using

@@

ability to run a single-line macro on each line of a visual selection using

:normal @<letter>

ability to view all 26 registers' contents using

:registers

or
:reg

ability to view one or more registers' contents using

:reg <letter><letter>...

ability to save macros for use in a subsequent vim session
ability to disable saving macros or control their length using

:set viminfo=...

ability to read macros from a vimrc file in the format

let @<letter>='<commands>'

(or using that syntax at runtime)

ability to append to an existing macro using

q<capital-letter><commands>q

ability to insert the contents of a register using

<Ctrl-R><Ctrl-R><letter>

However, I don't see how many of them would work if Atom doesn't let you see commands as you type them like Vim does. Are there any plans to include this feature?

:+1:

+1

+:100:
Without macros atom vim-mode is severely hamstrung :(

+1

To package maintainers:
I have written a personnal Macro package, not published because it is not production-level, but it still works as I expect it to work.
I would like to know if you would be open to a PR on this.
The implementation consists of a KeyboardEvent listener, which is activated upon corresponding command; it listens for events on <atom-workspace>. Once command is called again, it removes the listener and transform the KeyboardEvents in a string of keys (vim-notation). The string is then stored for further usage.

@romgrk I would be open to a PR for this, but since it is a big change, I'd prefer that you maintain it as a separate package for a little while. Is your package published? If so, maybe some people participating in this thread would like to give it a try, or help you develop it!

Yes, I'd like to have a look, @romgrk ; can't promise to do anything quickly though. Is it in any way related to, or similar to, https://atom.io/packages/atom-macros (which I also have yet to look at)?

Looking at atom-macros, it's definitely not what any vim user is thinking about when you mention an editor macro. With vim, you start recording a sequence of actions, so you can repeat the same editor commands multiple times.
With the atom-macros package, you have to write coffeescript in .atom/macros.coffee ahead of time to be able to run a command from the command pallette. To be honest, I'm not sure how that's different than just defining a function in init.coffee, but whatever. It's not what we're looking for at all.

Oh, how mistaken I've been about that package! Yes, I'd like to have a look at yours.

Ok, it might take a week or two; it's not actually a package, but a set of files I require from my init.coffee. A real mess, but it works; I'll put some order in there first.

On the one hand, I can really see how macros are something that atom should support outside of vim-mode - it's useful to you even if vim isn't. On the other hand, it doesn't have macros anywhere right now, so if vim-mode can make it happen it's still sort of a win.
I can see a lot of far future-reorganization happening though - one day pulling ex-mode into this package (Insha'Allah), and another pulling vim-macros out :)

Yes, macros should be more general, not specific to vim-mode. I can imagine that the recording and replay functionality would be quite generic; the only real ties between macros and vim-mode would be key bindings, and the fact that in vim-mode, the macro should be recorded in a register, while without vim-mode, it's possible a macro package would need to replicate some form of registers.
Oooh, cool, how about we spin off vim registers into a separate package? When, oh when, will we have package sets to make this possible? :grinning:

+10? :smile:

@PandaWhisperer, does it mean you have a team of ten, waiting for this
feature?

Need this!

:+1:

+1

+1

+1

+1

+1

+1

+1

+1!

+1

+1

+1

Any progress on this?

+1

+1

It is evident this is a very popular feature request. I already voted back on 1st July :)
@jacekkopecky - sorry, I didn't understood whether the comments you have made above are a commitment to providing this feature. Please may I ask directly - Are any contributors from atom/atom or atom/vim-mode actively working on providing macros / vim register support for a generic macros solution in Atom?
In any case, keep up the excellent work, and thanks for everything provided to date.

@arcseldon I don't know of anybody working on this, but I've been occuppied by my day job since October and can't spend any time on vim-mode at all, so I could easily have missed it. I expect to do more vim-mode work (which could include macros) in the spring and summer, so don't hold your breath. 8-)

@jacekkopecky Thank you for your reply and clarifying status. Appreciate everyone is doing what they can and when they can afford the time etc. Wish I could offer to help out too, but just not possible right now either for much the same reasons  :(   Cheers.

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

That would be awesome! I use notepad++ for macros when i need, but i use linux, so wine is needed.

+1

+1

+1

+1

+1

+1

Hi, all.
I've tried to make keyboard macro package, but this is or become useless?
atom-keyboard-macros-vim
I usually use emacs key-bindings, so I'm not familiar about the vim.

+1

+1

As it stands, all the +1's are only adding noise and causes 62+ people to get notified. Therefore I'm locking this issue for the time being.

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use the vim-mode-plus package instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!


Do we have to have AD Connect to provide a success deployment of LTI?

Thank you so much for so useful and detailed guide! It's very cool.
I have some trouble with a deployment process, please help me as you can )
At the first Guide "Deployment Guide" https://github.com/microsoft/Learn-LTI/blob/main/docs/DEPLOYMENT_GUIDE.md at the requirements section I see only this prerequisites: Prerequisites
To begin, you will need:
Azure CLI
DotNet Core SDK
Node.js
Powershell
Git
An Azure subscription
There is no one words about AD Connect
When I started to execute third step "Educator Guide" https://github.com/microsoft/Learn-LTI/blob/main/docs/USER_GUIDE.md#Customize-Review-and-Publish-the-assignment I couldn't to execute Microsoft Learn LTI application. I have the same error like in this section LTI Application Login error: You are not enrolled in this course https://github.com/microsoft/Learn-LTI/blob/main/docs/TROUBLESHOOTING.md
I look at the follow comment:
User not registered on the LMS or logged into Web Browser with the incorrect account
-Ensure you are using an Azure AD connected account and logged into their web browser with the same account they used to sign into the LMS.
-Please ensure that AAD sign for your LMS is enabled and you are signing into your LMS with a AAD account.
-The emails of the users in the LMS and AAD should match.
-Ensure the users are active on the course.
It's a problem for because I have no AD Domain to setup AD Connect and synchronize the users. Is it possible to use this scenario "Microsoft Learn LTI Application" without AD Connect.
What can I change (Maybe some thing of Microsoft Identity, App Registration or something else) in my deployment without AD Connect?
Thank you!
The best regards,
Anastasia V

Hi @nastya2090
So you simply need an Azure Activity Directory for the app to registered
As stated, the failure is in Users Function App which is not being able to find the user (signed-in via AAD) enrolled into the current course. To prove this theory, please check that the return code for /me API in the Chrome DevTools network tab is http204 (i.e. No-Content).
As a quick question, could you please let us know whether your tool is onboarded using LTI1.1 or LTI1.3?
In our experience, as I remember, the only case when this happens is when user signs into Learn-LTI app with an onmicrosoft.com account which does not map to the email of any of the enrolled users of the course.
Additionally, you could use the following steps to understand the Azure function behavior and help us with the more details on your issue.
Troubleshooting
Azure Function Traces
This should provide details related to the execution context and state of the function execution when it would've returned http204.
Goto your Resource Group inside Azure and select Function App matching users-XXXXXXX.
Select Functions Blade in Left Hand Pane. Select GetUserDetails afterwards.
Choose Monitor Blade in LHP and you should see the Invocation Traces.
Clicking on the failing trace should provide more details related to Server logs for that function invocation to help you.

Failures (Exceptions) in App Insights
Go to your Resource Group inside Azure and select Application Insights resource matching users-XXXXXXX.
Select Failures Blade in LHP and then choose Exceptions Tab.
The subsequent screen should indicate any exceptions that were thrown as a part of function execution and should provide more insights into what might've gone wrong on server when executing GetUserDetails api.

Thanks for the answer! I'm using LIT 1.3.
Actually i deployed resource Bitnami LMS powered by Moodle™ LMS in Azure.
At this Moodle Console I created a new course and added resource to the course by guide Configure the tool (https://github.com/microsoft/Learn-LTI/blob/main/docs/CONFIGURATION_GUIDE.md#Moodle-LMS)
Dev
Failed to load resource: the server "myservername" responded with a status of 500 (Internal Server Error)
Failed to load resource: the server "myservername" responded with a status of 404 (The requested content does not exist.)
At the Mooldle Console i see the course and before I assigned users to this course (their emais - is exect like AAD, and it has a part  "onmicrosoft.com"
About Azure Function user-xxxxxxxx and Application Insights user-xxxxxxx
the log contains information about users on my AAD and ip server ) How can I send it only to you without everyone's attention?
Can I input logs to this text chat? Is it secure?
Thank you so much for the help,
Anastasia

@nastya2090
So the issue is your not using as SSL certificate on the server your Moodle (LMS) environment requires a valid SSL certificate and Domain name.
I can see from the logs your using http://xxx.xxx.xxx.xxx IP address
The installation looks like a Bitnami moodle implementation so follow these guidelines to use a lets encrypt SSL https://docs.bitnami.com/azure/how-to/generate-install-lets-encrypt-ssl/
If you using a standard web server there a great tool for supporting installing SSL certs https://certbot.eff.org/lets-encrypt simply choose the web server and platform and it will give you instructions.
If your LMS is hosted on moodle you can add a static DNS name which you can use to register the SSL against. https://docs.microsoft.com/azure/virtual-machines/create-fqdn
Reach out if you have any other issues<EMAIL_ADDRESS>is the email to send private details including screen shots with confidential data.

@nastya2090  As discussed updating your apache config based on the error your getting https://github.com/microsoft/Learn-LTI/blob/main/docs/TROUBLESHOOTING.md#error-unauthorized-401-when-using-moodle resolved your issue. Thanks for the feedback I have made changes to https://github.com/microsoft/Learn-LTI/blob/main/docs/TROUBLESHOOTING.md and glad this is now working.

Thank you very much for the help!


mqttproxy: despite providing component with access controls, publishing to IoT Core fails

Describe the bug
Despite having wildcard access controls in the component recipe.yaml:
ComponentConfiguration:
  DefaultConfiguration:
    accessControl:
      aws.greengrass.ipc.mqttproxy:
        com.setmixer.heartbeat:mqttproxy:1:
          policyDescription: Allows access to publish to the heartbeat topic.
          operations:
            - "*"
          resources:
            - "*"

Trying to publish a message to IoT Core MQTT topic via greengrass v2 IPC:
from awsiot.greengrasscoreipc.clientv2 import GreengrassCoreIPCClientV2
ipc_client = GreengrassCoreIPCClientV2()
ipc_client.publish_to_iot_core(
        topic_name="setmixer/recorders/My_Thing/heartbeat",
        qos=QOS.AT_LEAST_ONCE,
        payload=json.dumps(heartbeat_message).encode('utf-8')
)

Fails with the following error:
2024-07-13T21:49:24.700Z [INFO] (Thread-9) software.amazon.awssdk.eventstreamrpc.RpcServer: New connection code [AWS_ERROR_SUCCESS] for [Id 292, Class ServerConnection, Refs 1](2024-07-13T21:49:24.700633Z) - <null>. {}
2024-07-13T21:49:24.701Z [INFO] (Thread-9) software.amazon.awssdk.eventstreamrpc.ServiceOperationMappingContinuationHandler: aws.greengrass#GreengrassCoreIPC authenticated identity: com.setmixer.heartbeat. {}
2024-07-13T21:49:24.701Z [INFO] (Thread-9) software.amazon.awssdk.eventstreamrpc.ServiceOperationMappingContinuationHandler: Connection accepted for com.setmixer.heartbeat. {}
2024-07-13T21:49:24.701Z [INFO] (Thread-9) software.amazon.awssdk.eventstreamrpc.ServiceOperationMappingContinuationHandler: Sending connect response for com.setmixer.heartbeat. {}
2024-07-13T21:49:24.704Z [INFO] (Thread-9) com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent: Not Authorized. {error=Principal com.setmixer.heartbeat is not authorized to perform aws.greengrass.ipc.mqttproxy:aws.greengrass#PublishToIoTCore on resource setmixer/recorders/My_Thing/heartbeat}

To Reproduce
Not doing anything special. Just following the doc https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-iot-core-mqtt.html with a Python component that published a message to iot core topic every minute.
Expected behavior
Publishing to IoT Core topic succeeds because correct permissions have been provided according to the docs: https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-iot-core-mqtt.html
Actual behavior
Publishing to IoT Core topic fails with Not Authorized error despite the correct permissions being provided.
Environment

OS: Ubuntu 22.04
JDK version: 11.0.23+9-post-Ubuntu-1ubuntu122.04.1
Nucleus version: 2.12.6

Additional context
Publishing to IoT core succeeded once when I tried to isolate a single thing in a group and perform deployment on that group.
However, I wasn't able to tell in the end why it succeeded and trying it with other things didn't work.
Also I've verified that my greengrass token exchange role has correct permissions:
  const ggTokenExchangeRole = new CfnRole(stack, "GGTokenExchangeRole", {
    roleName: ggTokenExchangeRoleName!,
    assumeRolePolicyDocument: {
      Version: "2012-10-17",
      Statement: [
        {
          Effect: "Allow",
          Principal: {
            Service: ["credentials.iot.amazonaws.com"],
          },
          Action: ["sts:AssumeRole"],
        },
      ],
    },
    path: "/",
    policies: [
      {
        policyName: `${ggTokenExchangeRoleName!}Access`,
        policyDocument: {
          Version: "2012-10-17",
          Statement: [
            {
              Effect: "Allow",
              Action: [
                "iot:DescribeCertificate",
                "iot:Publish",
                "iot:Subscribe",
                "iot:Connect",
                "iot:Receive",
                "iot:GetThingShadow",
                "iot:UpdateThingShadow",
                "iot:DeleteThingShadow",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:DescribeLogStreams",
                "s3:GetBucketLocation",
                "cloudwatch:PutMetricData",
              ],
              Resource: "*",
            },
            {
              Effect: "Allow",
              Action: [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetObjectAttributes",
              ],
              Resource: `arn:aws:s3:::${greengrassComponentBucket.bucketName}/*`,
            },
          ],
        },
      },
    ],
  });

Hello,
Please make sure you are deploying your component with reset to update the default configurations.
https://docs.aws.amazon.com/greengrass/v2/developerguide/troubleshooting.html#update-component-configuration-to-default-configuration

Thanks, this resolved it!
Will be more thorough with consulting the docs in the future.


Upload mobile.css

According to the update info below, it seems like kintone will support CSS files for mobile devices.
2019/06/09の定期メンテナンスにおける cybozu.com 共通、kintone API更新情報 (2019/05/10)

kintone-customize-uploader should be able to handle mobile.css as well.

@mmiyahara
Yeah, I've already added mobile CSS support by https://github.com/kintone/customize-uploader/pull/139.
You can try this as an alpha version.
Please try it 👍
npm i -D @kintone/customize-uploader@next

@koba04
I didn't notice that you already implemented it! Awesome!
I don't have any kintone environments to try this feature right now, but I'll do as soon as I get one.
Let me close this issue then. Thanks always!


Go through list in reverse order in shift

In the shift method of the List class, the memory is iterated starting at the 0 index. This forces the code to have a separate previous variable so data is lost.
If instead the loop started iterating from the end of the memory, it wouldn't have to have this extra variable:
for(var address = this.length; address <= 0; address++) {
    this.memory[address] = this.memory[address - 1];
}
this.memory[0] = value;

(or something like that) Sorry I couldn't make a proper PR; I'm not currently in a good environment for that.

The algo seems perfectly correct ...The error could arise due to for loop
for (var address = 0; address < this.length; address++) {       // replacing the "current" value with the "previous" value and storing the       // "current" value for the next iteration.       var current = this.memory[address];       this.memory[address] = previous;       previous = current;     }

The algo is fine. However error can occur in for loop.
For the last iteration in loop memory is trying to access an element out of list .
The condition for loop should be  address<this.length-1
for (var address = 0; address < this.length-1; address++) {      this.memory[address] = this.memory[address + 1];     }


[Piapro] Unable to extract description

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS> (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Description
Piapro module is unable to extract description while quering for available formats from https://piapro.jp/t/9cSd
Verbose log
[debug] Command-line config: ['-vU', 'https://piapro.jp/t/9cSd', '-F']
[debug] Encodings: locale cp1251, fs utf-8, out utf-8, err utf-8, pref cp1251
[debug] yt-dlp version 2<IP_ADDRESS> [c0c2c57] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] exe versions: ffmpeg 2021-10-18-git-d04c005021-full_build-www.gyan.dev (setts), ffprobe 2021-10-18-git-d04c005021-full_build-www.gyan.dev
[debug] Optional libraries: brotli, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [Piapro] Extracting URL: https://piapro.jp/t/9cSd
[Piapro] 9cSd: Downloading webpage
[Piapro] 9cSd: Downloading player webpage
WARNING: [Piapro] unable to extract description; please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using  yt-dlp -U

I wasn't caring about break lines in description field :sweat_smile:


fix: applied the required changes Hiring card

closes: #2576

Hi @akshatnema @derberg @Mayaleeeee @AnimeshKumar923 . Please have a look. Thanks!

Looks good to me @sagarkori143 :+1:
Let's wait for Akshat's review...

@akshatnema Please have a look. Thanks.

@sagarkori143 Can you please specify with whom, you have discussed this issue?
Reference - https://github.com/asyncapi/website/issues/2576#issue-2089947751

@akshatnema It was a suggestion from Sambhav gupta on slack.

/rtm

/rtm


Optimize ONNX model based on encoder-decoder

First of all, thank you very much for making our lives easier with the work you do at huggingface, congratulations!
We have a model based on the encoder-decoder architecture, made up of 2 RoBERTa. The model works quite well, but unfortunately its inference time is quite high (about 400ms to generate a sentence of about 7 tokens). We would like to reduce that time, and have opted for ONNX and Optimum.
We have managed to export the model to ONNX, generating an encoder_model.onnx, a decoder_model.onnx, and a decoder_with_past_model.onnx. We can load this exported model using ORTModelForSeq2SeqLM.from_pretrained(·), and therefore, it allows us to use the generate(·) method. The problem is that the model in ONNX format is 2 times slower than the model without exporting.
We have seen some similar issues: #365, #362. We believe that the exported model is simply in another format, and therefore does not necessarily have to be faster than the base model. Because of all this, our last step has been to use ORTOptimizer.from_pretrained(·) to apply graph optimization (operator fusion and constant folding) to speed up latency and inference. Unfortunately, we have not achieved the latter. The ORTOptimizer.from_pretrained(·) method expects, in addition to the ONNX model, a config.json file. We do not have this file, since it is not generated when exporting the model to ONNX. We have made several attempts to generate and save configuration files, even with the base model's config.json, but not even crossing our fingers we have succeeded 😢
We would appreciate if someone (@lewtun?) could point us to some lines so we can continue...
Thank you very much. Best,
Jesus.

Hi @jesusSant could you please the script or code used to generate the onnx model for Roberta encoder decoder please?

Hello,
When I try roberta2roberta encoderdecoder model using ORTModelForSeq2SeqLM, I get an error like "encoder-decoder is not supported yet". How can I resolve this error?

Hi @burakaytan, could you share a code snippet to reproduce this error please?

While the part EncoderDecoderModel line is working properly, but ORTModelForSeq2SeqLM part gives the error.  This is a local model from local path
#roberta_shared = EncoderDecoderModel.from_pretrained('Model/557500')
roberta_shared = ORTModelForSeq2SeqLM.from_pretrained('Model/557500', from_transformers=True)

@burakaytan Could you share the complete error message here?
It is likely that your custom model doesn't correspond to a model type that is supported in Optimum for ONNX export. You may need to convert it using a custom ONNX config.

@regisss I've uploaded the model to the huggingface environment so you can test it, and I'm sharing the code snippet below. If you activate the EncoderDecoderModel part, you can see it working, the ORTModelForSeq2SeqLM part gives an error, I am sharing the error below.
`from transformers import RobertaTokenizerFast
from transformers import EncoderDecoderModel
from optimum.onnxruntime import ORTModelForSeq2SeqLM
Loading the RoBERTa Tokenizer
tokenizer = RobertaTokenizerFast.from_pretrained('burakaytan/encoder_decoder_test',  max_len=128)
Setting the BOS and EOS token
tokenizer.bos_token = tokenizer.cls_token
tokenizer.eos_token = tokenizer.sep_token
#roberta_shared = EncoderDecoderModel.from_pretrained('burakaytan/encoder_decoder_test')#/checkpoint-1142500
roberta_shared = ORTModelForSeq2SeqLM.from_pretrained('Model', from_transformers=True)
Generate a text using beams search
def generate_text(text,num_return=3):
# Tokenizer will automatically set [BOS]  [EOS]
# cut off at BERT max length 512
inputs = tokenizer([text], padding="max_length", truncation=True, max_length=128, return_tensors="pt")
input_ids = inputs.input_ids#.to("cuda")
attention_mask = inputs.attention_mask#.to("cuda")
outputs = roberta_shared.generate(input_ids, attention_mask=attention_mask,
                              num_beams=3,
                              repetition_penalty=3.0,
                              length_penalty=2.0,
                              return_dict_in_generate=True,
                              output_scores=True,
                              num_return_sequences = num_return,
                              pad_token_id=2
)
#print(outputs)
#print(outputs.get('sequences_scores'))
#print(len(outputs.get('scores')))
outputs = outputs.get('sequences')
# all special tokens including will be removed
output_str = tokenizer.batch_decode(outputs, skip_special_tokens=True)

return output_str

print(generate_text('nlp'))`
The error:
KeyError: "encoder-decoder is not supported yet.  If you want to support encoder-decoder please propose a PR or open up an issue."

@burakaytan EncoderDecoderModel returns a model of type encoder-decoder with many potential encoders and decoders. You could try it with a custom ONNX config as presented here: https://huggingface.co/docs/optimum/exporters/onnx/usage_guides/export_a_model#customize-the-export-of-official-transformers-models

@regisss Although encoder decoder models may contain many variations. The EncoderDecoderModel class can decode all of these, doesn't that mean it's converting related models to a standard format? Can't it be done onnx format of ORTModelForSeq2SeqLM class with the same logic?
I looked at the link you shared, but in order to convert a roberta2roberta model to that format, I need to read and understand the onxx infrastructure and apply it to the end. It doesn't have an easily available method like ORTModelForSeq2SeqLM.
will be there a quick solution that can be applied to onxx for the EncoderDecoderModel in the future, I wonder how can I convert the roberta2roberta model to onnx format in the fastest way?
Many thanks for your quick replies and directions.


Add support for dynamically growing content

Hi this fixes https://github.com/eddiemf/vue-affix/issues/44
You still are required to call the onScroll function when the content is changed. I also think it might be worth looking into changing the onScroll function to something like refresh but I didn't want to over impose.
I also set the CSS style to scoped.
Thanks!

@eddiemf Is this PR sufficient to fix the issue described in #44?

Hey @Stormtv, sorry for the delay, I currently don't have a lot of free time to maintain my repos, but I'll recap everything related to them this weekend and check if everything is cool, thanks a lot for the help :)

No problem I’m still touching things up. I think there is one small edge case that isn’t perfect. I’ll make a list of any bugs I can find or try to fix them.

Closing this for now, hopefully I will find time to come back and finish the small bugs but I haven't had an opportunity to work on it. If anyone is looking into this in the future it might be a good starting point. The version here works for my use cases but there are outliers in the implementations that would be buggy in certain contexts.


Update index.html

Hi, I've made a change to this file!

@InsiyaK110  contribute here https://github.com/Ishaan28malik/Get-Dev-Resources


Add busy indicator until ready

Not sure if this is needed, there's an equivalent loading inside the webview..

Not sure if this is needed, there's an equivalent loading inside the webview..

I agree, perhaps it would make more sense to move this feature to the cover page.

Like this? :)

I love it!


Not file playground.apk

When use "weex build android" I not see file playground.apk

Please support me, Thanks.

@MinhPhuong1310 It should be in the release/android folder.

@erha19 Yes, I see the file app-release-unsigned.apk, but it does not install on android, as I know when build will be 2 files app-release-unsigned.apk and playground.apk but i have only file app-release-unsigned.apk

@MinhPhuong1310 right, there should be two files, maybe you can see your file on projectpath/platforms/android/app/build/outputs/apk/ folder or there has some error while you build the project.

thanks @erha19 , I only "weex create awesome-app" -> " add platform android" -> "build android".


Fix/cli error formatting

error.errors can be undefined which will lead to a TypeError, swallowing the actual error message in the process
Signed-off-by: Max Falk<EMAIL_ADDRESS>Hey, I just made a Pull Request!
Before, actual error message does not get displayed:

After, error message is shown:

You can reproduce/verify this issue by modifying the tsconfig.json in the backstage root directory with invalid syntax. yarn build will then always spit out a useless error message about error.errors. Spent too many hours tracking this down ...
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

I took the liberty to rebase this past a fix to the main branch that affected end-to-end tests through no fault of yours

@freben: Great, thank you. I really appreciate how well-structured and easy the contribution process is.


🤖 Sync error for commit b65cf8

We hit an error trying to sync the latest commit (b65cf84250b5aeeb038af3c8c8b07a59a8ed1de0) to the website.
The error was:
undefined method `uuid' for #<Hash:0x000055e3522de1b0>

/usr/src/app/app/models/git/track.rb:84:in `block in concepts'
/usr/src/app/app/models/git/track.rb:84:in `select'
/usr/src/app/app/models/git/track.rb:84:in `concepts'
/usr/local/bundle/gems/mandate-1.0.0.beta1/lib/mandate/memoize.rb:47:in `block (2 levels) in __mandate_memoize'
/usr/src/app/app/commands/git/sync_track.rb:71:in `sync_concepts!'
/usr/local/bundle/gems/mandate-1.0.0.beta1/lib/mandate/memoize.rb:47:in `block (2 levels) in __mandate_memoize'
/usr/src/app/app/commands/git/sync_track.rb:37:in `call'
/usr/local/bundle/gems/mandate-1.0.0.beta1/lib/mandate/call_injector.rb:17:in `call'
(irb):9:in `irb_binding'
/usr/local/lib/ruby/2.6.0/irb/workspace.rb:85:in `eval'
/usr/local/lib/ruby/2.6.0/irb/workspace.rb:85:in `evaluate'
/usr/local/lib/ruby/2.6.0/irb/context.rb:385:in `evaluate'
/usr/local/lib/ruby/2.6.0/irb.rb:493:in `block (2 levels) in eval_input'
/usr/local/lib/ruby/2.6.0/irb.rb:647:in `signal_status'
/usr/local/lib/ruby/2.6.0/irb.rb:490:in `block in eval_input'
/usr/local/lib/ruby/2.6.0/irb/ruby-lex.rb:246:in `block (2 levels) in each_top_level_statement'
/usr/local/lib/ruby/2.6.0/irb/ruby-lex.rb:232:in `loop'
/usr/local/lib/ruby/2.6.0/irb/ruby-lex.rb:232:in `block in each_top_level_statement'
/usr/local/lib/ruby/2.6.0/irb/ruby-lex.rb:231:in `catch'
/usr/local/lib/ruby/2.6.0/irb/ruby-lex.rb:231:in `each_top_level_statement'
/usr/local/lib/ruby/2.6.0/irb.rb:489:in `eval_input'
/usr/local/lib/ruby/2.6.0/irb.rb:428:in `block in run'
/usr/local/lib/ruby/2.6.0/irb.rb:427:in `catch'
/usr/local/lib/ruby/2.6.0/irb.rb:427:in `run'
/usr/local/lib/ruby/2.6.0/irb.rb:383:in `start'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/commands/console/console_command.rb:70:in `start'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/commands/console/console_command.rb:19:in `start'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/commands/console/console_command.rb:102:in `perform'
/usr/local/bundle/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
/usr/local/bundle/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/bundle/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/command/base.rb:69:in `perform'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/command.rb:48:in `invoke'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/commands.rb:18:in `<main>'
/usr/local/bundle/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/usr/local/bundle/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/usr/local/bundle/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:332:in `block in require'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:299:in `load_dependency'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:332:in `require'
bin/rails:4:in `<main>'

Please tag @exercism/maintainers-admin if you require more information.

@exercism/maintainers-admin Is there any action needed from us here?

There isn't, which is why I closed it. Sorry!


better way to get digest

At the moment we are getting digest from push logs (since it's the only way to do it). If docker changes output, we are screwed.
docker inspect contains field RepoDigests since docker 1.9. In the future, we could hopefully use it to get info about the digest. Unfortunately, I have never seen it populated (not sure why, I tried to build an image, pull it for docker hub, tried 1.9, 1.10 and it was always empty).
(very low prio, just to track the issue)

$ ./docker push localhost:5000/rhel7:7.1-23
The push refers to a repository [localhost:5000/rhel7]
13cde7f2a483: Pushed
7.1-23: digest: sha256:3c1c83382dcb66e56fbcd3eff5096a284c45f9d0430c87ef03ddd60b4d5fe719 size: 1539

This is the output of docker push of git master docker engine. To me it looks like it will fail our digest detection (while looking at https://github.com/projectatomic/atomic-reactor/blob/c0e4c0742760acdcff5b4c9d283085752b0d81d4/atomic_reactor/plugins/post_tag_and_push.py#L77)

Should we just fix the regexp? The line kinda suggests that we might get multiple digests for multiple tags at once.

I think RepoDigests only gets populated when you pull by digest.

FWIW it looks like it might be possible to get several such lines in the output, yes, although I don't quite follow how it would be triggered:
https://github.com/docker/docker/blob/98be580794923df223ea623c55311c290d402c54/distribution/push_v2.go#L52
But we know what tag we're expecting to see the manifest for, so we can just verify that the matching line contains the right tag.

I think RepoDigests only gets populated when you pull by digest.

Very nice Tim! You are right.
$ docker pull localhost:5000/rhel7@sha256:3c1c83382dcb66e56fbcd3eff5096a284c45f9d0430c87ef03ddd60b4d5fe719
Trying to pull repository localhost:5000/rhel7 ...
sha256:3c1c83382dcb66e56fbcd3eff5096a284c45f9d0430c87ef03ddd60b4d5fe719: Pulling from rhel7
704b81d96ecd: Already exists
Digest: sha256:3c1c83382dcb66e56fbcd3eff5096a284c45f9d0430c87ef03ddd60b4d5fe719
Status: Downloaded newer image for localhost:5000/rhel7@sha256:3c1c83382dcb66e56fbcd3eff5096a284c45f9d0430c87ef03ddd60b4d5fe719

$ docker inspect 03687a5565ea
    "Id": "sha256:03687a5565ea7e1b5bd8feb89b50550dad6ee50b443bd104fa69ab77a724e9dc",
...
    "RepoDigests": [
        "localhost:5000/rhel7@sha256:3c1c83382dcb66e56fbcd3eff5096a284c45f9d0430c87ef03ddd60b4d5fe719"
    ],
...

(those new IDs are nightmare)

No idea how you can push multiple repositories (thus getting multiple lines) since it looks like that CLI takes only a single argument:
./docker push -h

Usage:  docker push [OPTIONS] NAME[:TAG]

Push an image or a repository to a registry

  --disable-content-trust=true    Skip image signing
  --help                          Print usage

same for API: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.21/#push-an-image-on-the-registry

OK to close? IIUC RepoDigests is not something we can currently use for this.

It's still a pretty fragile mechanism, liable to break without notice.
I guess in theory we could get the digest back from the Distribution registry we just pushed to. It would mean analysing the Docker-Content-Digest header from fetching the manifest by tag.
We'd need our own V2 client code for that, but it's doable. Can we rely on Docker-Content-Digest though?

It shouldn't be too difficult, though it's prone to race condition where another push to the same tag happens after our push but before we retrieve the digest. Not sure if it's a problem. Can we detect that this happened?

Only by parsing the manifest, comparing fsLayers[0].blobSum, and relying on content addressing.
Would be much simpler if docker.Client.push() would just tell us what the digest was. :-)

I vote for closing - once docker comes up with something, we can adapt. I feel like we did as much as we could atm.

Would be much simpler if docker.Client.push() would just tell us what the digest was. :-)

This is so true.

So, this is how the client trusted push code gets the digest from a pull:
https://github.com/docker/docker/blob/master/distribution/push_v2.go#L196
Here's where it is set:
https://github.com/docker/docker/blob/master/api/client/trust.go#L375
Can we use that?

This is the commit that introduced it:
https://github.com/docker/docker/commit/65370be888d940899593a001024f53d6b83b4bb0

@twaugh I'm kind of confused. Is the json part streamed response from push?

Yes I think so. I haven't investigated in detail yet but the commit message indicates there might be an extra json field to examine.

docker 1.10 rc 1
{"status":"The push refers to a repository [localhost:5000/busybox]"}
{"status":"Preparing","progressDetail":{},"id":"5f70bf18a086"}
{"status":"Preparing","progressDetail":{},"id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":33792,"total":1113436},"progress":"[=\u003e                                                 ] 33.79 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":66560,"total":1113436},"progress":"[==\u003e                                                ] 66.56 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":99328,"total":1113436},"progress":"[====\u003e                                              ] 99.33 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":132096,"total":1113436},"progress":"[=====\u003e                                             ] 132.1 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":164864,"total":1113436},"progress":"[=======\u003e                                           ] 164.9 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":197632,"total":1113436},"progress":"[========\u003e                                          ] 197.6 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":230400,"total":1113436},"progress":"[==========\u003e                                        ] 230.4 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":263168,"total":1113436},"progress":"[===========\u003e                                       ] 263.2 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":295936,"total":1113436},"progress":"[=============\u003e                                     ] 295.9 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":328704,"total":1113436},"progress":"[==============\u003e                                    ] 328.7 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":361472,"total":1113436},"progress":"[================\u003e                                  ] 361.5 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":394240,"total":1113436},"progress":"[=================\u003e                                 ] 394.2 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":427008,"total":1113436},"progress":"[===================\u003e                               ]   427 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":459776,"total":1113436},"progress":"[====================\u003e                              ] 459.8 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":492544,"total":1113436},"progress":"[======================\u003e                            ] 492.5 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":525312,"total":1113436},"progress":"[=======================\u003e                           ] 525.3 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":558080,"total":1113436},"progress":"[=========================\u003e                         ] 558.1 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":590848,"total":1113436},"progress":"[==========================\u003e                        ] 590.8 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":623616,"total":1113436},"progress":"[============================\u003e                      ] 623.6 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":656384,"total":1113436},"progress":"[=============================\u003e                     ] 656.4 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":689152,"total":1113436},"progress":"[==============================\u003e                    ] 689.2 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":721920,"total":1113436},"progress":"[================================\u003e                  ] 721.9 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1024},"progress":"1.024 kB","id":"5f70bf18a086"}
{"status":"Pushing","progressDetail":{"current":754688,"total":1113436},"progress":"[=================================\u003e                 ] 754.7 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":787456,"total":1113436},"progress":"[===================================\u003e               ] 787.5 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":820224,"total":1113436},"progress":"[====================================\u003e              ] 820.2 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushed","progressDetail":{},"id":"5f70bf18a086"}
{"status":"Pushed","progressDetail":{},"id":"5f70bf18a086"}
{"status":"Pushing","progressDetail":{"current":852992,"total":1113436},"progress":"[======================================\u003e            ]   853 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":885760,"total":1113436},"progress":"[=======================================\u003e           ] 885.8 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":918528,"total":1113436},"progress":"[=========================================\u003e         ] 918.5 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":951296,"total":1113436},"progress":"[==========================================\u003e        ] 951.3 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":984064,"total":1113436},"progress":"[============================================\u003e      ] 984.1 kB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1016832,"total":1113436},"progress":"[=============================================\u003e     ] 1.017 MB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1032408,"total":1113436},"progress":"[==============================================\u003e    ] 1.032 MB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1043968,"total":1113436},"progress":"[==============================================\u003e    ] 1.044 MB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1055232,"total":1113436},"progress":"[===============================================\u003e   ] 1.055 MB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1066496,"total":1113436},"progress":"[===============================================\u003e   ] 1.066 MB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1077760,"total":1113436},"progress":"[================================================\u003e  ] 1.078 MB/1.113 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1117184,"total":1113436},"progress":"[==================================================\u003e] 1.117 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1149952,"total":1113436},"progress":"[==================================================\u003e]  1.15 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1165587,"total":1113436},"progress":"[==================================================\u003e] 1.166 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1177088,"total":1113436},"progress":"[==================================================\u003e] 1.177 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1188352,"total":1113436},"progress":"[==================================================\u003e] 1.188 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1199616,"total":1113436},"progress":"[==================================================\u003e]   1.2 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1210880,"total":1113436},"progress":"[==================================================\u003e] 1.211 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1222144,"total":1113436},"progress":"[==================================================\u003e] 1.222 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1233408,"total":1113436},"progress":"[==================================================\u003e] 1.233 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1244672,"total":1113436},"progress":"[==================================================\u003e] 1.245 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1255936,"total":1113436},"progress":"[==================================================\u003e] 1.256 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1267200,"total":1113436},"progress":"[==================================================\u003e] 1.267 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1278464,"total":1113436},"progress":"[==================================================\u003e] 1.278 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1289728,"total":1113436},"progress":"[==================================================\u003e]  1.29 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1300992,"total":1113436},"progress":"[==================================================\u003e] 1.301 MB","id":"9508eff2c687"}
{"status":"Pushing","progressDetail":{"current":1310720,"total":1113436},"progress":"[==================================================\u003e] 1.311 MB","id":"9508eff2c687"}
{"status":"Pushed","progressDetail":{},"id":"9508eff2c687"}
{"status":"Pushed","progressDetail":{},"id":"9508eff2c687"}
{"status":"latest: digest: sha256:bf32363ea25eb0c1c9301e2f8778fa4507894d7ed777089e7a12993a5fde8759 size: 1920"}
{"progressDetail":{},"aux":{"Tag":"latest","Digest":"sha256:bf32363ea25eb0c1c9301e2f8778fa4507894d7ed777089e7a12993a5fde8759","Size":1920}}

So if there is an aux field with Tag and Digest, we can compare the tag with what we expect, and use the digest if it is.
We could continue to support docker < 1.10 by continuing to parse the status messages, but preferring the aux data if present.

Nice!

I'm happy to call this fixed now. Any objections?

+1


ORT Scanner: invalid spec

Adding scanner into the run parameter results in
 Running ORT Scanner...
docker: invalid spec: :/ssh.socket: empty section between colons.
See 'docker run --help'.
Error: Process completed with exit code 125.

Used configuration as
name: Ort
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
permissions:
  contents: read
jobs:
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 5
    steps:
      - uses: actions/checkout@v4
      - run: git config --global url.https://github.com/.insteadOf<EMAIL_ADDRESS>      - uses: oss-review-toolkit/ort-ci-github-action@v1
        with:
          run: 'cache-dependencies,analyzer,scanner,evaluator,advisor,reporter,upload-results'

I guess it's because of the usage of SSH_AUTH_SOCK that hadn't been set

Same here. How do we fix it?

I guess it's because of the usage of SSH_AUTH_SOCK that hadn't been set

Right, which in turn means that ssh-agent was not started. Please give https://github.com/oss-review-toolkit/ort-ci-github-action/pull/38 a try.

It works. Thanks.


Update copy constructor of AtlasClassification

Fix shallow copy issue; align other copy constructors; fix NPE.

@TomDu  - thank you for the fix. Can you please file a JIRA at https://issues.apache.org/jira/issues/?jql=project%3DATLAS, and include the JIRA # in commit message?

Thank you @mneethiraj. I just created a JIRA account so as to open an issue, now waiting for apporval. Will update then.

@mneethiraj - just updated with JIRA issue https://issues.apache.org/jira/browse/ATLAS-4763


Add Bylls BTC/CAD rates

Adds CAD support for Bylls exchange rates.

Thanks for the PR.
I may be missing something, but why add an exchange source with single currency? Seems to be a poor functionality to maintenance tradeoff. Is there something that the exchange sources do not provide wrt CAD?

Hey - thanks for the quick response!
Bylls/Bull is a non-custodial Canadian exchange. Their FAQ is pretty extensive if you have a moment.
The CEO (Francis) previously added Bylls BTC to Electrum in 2019 - I am using the same route he used then, so I believe the API route is stable.
A use case that isn't great: If a user is going through all the exchanges on any currency other than CAD, (say "USD" or "JPY") when they select Bylls the currency will switch to CAD - now switching back to coinbase the currency will still be CAD.
This PR is very much just me sharing a patch of some functionality I put together this weekend, I won't be upset if it doesn't fit within the repository!

Thanks, appreciate the share. I'll certainly keep Bylls in mind should additional exchange sources be required in future, but I think it's probably not a great fit for Sparrow today.


Creating a Modern, Responsive Landing Page for Madara Website

Feature Description
We are seeking contributors to help create a modern, responsive landing page for the Madara website. This landing page should present all relevant information about Madara in a comprehensive and attractive manner.
Requirements

Modern and Responsive Design: The landing page should follow contemporary design principles and should be responsive to ensure compatibility across various device types and screen sizes.

Comprehensive Information: The page should contain all relevant information about Madara, including but not limited to:

Overview of Madara
Key features and benefits
Use cases
Any latest news or updates

Highlighting Appchain Potential: The main focus of the landing page should be to highlight Madara's potential for projects that want to run as an Appchain. It should effectively communicate the benefits and features of running as an Appchain.

Preferred User Flow

User visits the Madara website.
User is greeted with an attractive and informative landing page.
The user can navigate through the page to understand more about Madara, its features, and the benefits of running as an Appchain.

Who Can Help?
Contributors with experience in web development, particularly in creating modern, responsive web pages, are invited to contribute. Having a good understanding of Madara and its potential for projects wanting to run as an Appchain would be beneficial for this task.
Thank you!

I can help with this

@abdelhamidbakhta
Can we create a new empty repo called madara-web or madara-landing-page for this?

@abdelhamidbakhta Can we create a new empty repo called madara-web or madara-landing-page for this?

assigned to you

This can be closed


Update dependent numpy version from 1.21.4 -> 1.26.4

Numpy version 1.21.4 is giving out medium level vulnerabilities while the whitesource testing.
In my code i am using opencv-python-headless:<IP_ADDRESS> as i only need it in the backend code. and this is giving out the vulnerability during the github whitesource testing.
Can we get it working with the latest LTS version i.e. 1.26.4.

OpenCV defines minimal version of the dependencies. You can mention newer version of numpy in your requirements.txt and it'll work. I'll take a look if it's reasonable to raise minimal versions for the next release.

the issue i am facing is during the white source testing of the code in the github right before merging, it is showing vulnerability in numpy 1.21.4 and asking for update, the opencv-python-headless is working absolutely fine with that version of numpy but it is the vulnerability with the version which is causing problem, please look into it.
Thank you

https://github.com/opencv/opencv-python/pull/992/files


Collect built JDKs in PR tester

Closes: #2264
Signed-off-by: Morgan Davies<EMAIL_ADDRESS>

Artifacts have been created on the summary page of GitHub actions (as per the linked document in my changelist).


Unable to run wall of flippers

I am running debian on arm64 host. Each time I try to boot wof, I receive this in console:
[!] Wall of Flippers >> Starting Wall of Flippers
Traceback (most recent call last):
  File "/home/debian/Wall-of-Flippers/WallofFlippers.py", line 638, in <module>
    ble_adapters = [adapter for adapter in os.listdir('/sys/class/bluetooth/') if 'hci' in adapter]
FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/bluetooth/'

Honestly, no clue how to fix this.

Do you have a BT adapter?
Check: systemctl status bluetooth

@K3YOMI
Unit bluetooth.service could not be found.

Does this mean I need to purchase a USB Bluetooth adapter, and use that in addition to the VM?

@K3YOMI
Unit bluetooth.service could not be found.

Does this mean I need to purchase a USB Bluetooth adapter, and use that in addition to the VM?

@K3YOMI
Unit bluetooth.service could not be found.

Does this mean I need to purchase a USB Bluetooth adapter and use that in addition to the VM?

This can happen if your system doesn't have Bluetooth support, or if the Bluetooth service is not properly installed or configured. I would double check your current chipset or if you have BT support. This could also be linked to a driver.

@K3YOMI
Unit bluetooth.service could not be found.

Does this mean I need to purchase a USB Bluetooth adapter and use that in addition to the VM?

This can happen if your system doesn't have Bluetooth support, or if the Bluetooth service is not properly installed or configured. I would double check your current chipset or if you have BT support. This could also be linked to a driver.

@K3YOMI I found out that UTM, my VM service, does not support Bluetooth passthrough. It would work if I was to use a Bluetooth USB adapter and pass that through. I appreciate your help though.


fix: script runner for new reserved community type (#4380)

This PR addresses #853 and pulls in the changes from core

[x] Addresses the issue in full
[ ] Addresses only certain aspects of the issue

Description
Please include a summary of the change and which issue(s) is addressed.
How Can This Be Tested/Reviewed?

Reseed the backend and start it up
Log in as a admin user (either through the partner UI or directly in the swagger doc)
In the swagger doc http://localhost:3100/api#/scriptRunner/createNewReservedCommunityType run the script using the following data:
id : jurisdiction id (need to get it from the db)
name: "schoolEmployee"
description: "Employee of the school district"
The new community type should be in the database and also selectable in the partner UI

This works for one jurisdiction but I imagine reserved communities might need to be added to multiple jurisdictions, which with how the script is naming it's runs, would not be possible.

@mcgarrye good call out, I meant to add the jurisdiction to the script name. I can do that here and HBA PR and then back port it to core


Move handle on mousemove

The WebFlow team has implemented a custom desktop-only comparison slider that is pretty hot:
https://webflow.com/#features
It would be sweet to bring this functionality into TwentyTwenty as an option. Specifically:

On mousemove event the handle should move to match where the mouse is located
On mouseleave event the handle should animate back to its starting position

Any update about this enhancement?

How about this? https://github.com/zurb/twentytwenty/tree/move_slider_on_hover


Add vercel config to ignore gh-pages

Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Current dependencies on/for this PR:

main

PR #8590   👈

This comment was auto-generated by Graphite.


Fix metrics for component creation and gitlab url

What does this PR do?:
This PR tries to fix the metrics for component creation for cases of gitlab URLs by returning a user error on the component_controller.go
Which issue(s)/story(ies) does this PR fixes:
https://issues.redhat.com/browse/DEVHAS-628
PR acceptance criteria:

[ ] Unit/Functional tests

[ ] Documentation

[ ] Client Impact

How to test changes / Special notes to the reviewer:

Agreed with Maysun's concern.
What about just not incrementing any metrics for components that have a GitLab repo in their source? We might be losing some metrics, but given that HAS doesn't support GitLab components, I don't think we'd be losing much?

Yes I think if we don't want to return an error in case of a gitlab URL at all it makes sense only to take care of the metrics. Will try to update the PR early next week. Thanks for the help!


[Test] Resolve the problem when hard disk reaches a high watermark in ElasticSearch

Codecov Report

Merging #4671 into master will decrease coverage by 49.09%.
The diff coverage is n/a.

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

No File change detected?

No File change detected?

The first commit is to confirm that the failure is stably reproduced, and the second one fixes it.
FYI @dmsolr , I've removed all the images in E2E in this pull request, please remember to remove all the images in plugin tests, and any other resources that are possible to occupy disk spaces in the plugin tests, we'd rather spend some (short) time to pull images instead of suffering this kind of problems in the future, painful enough

The disk space seems back to normal, 8.3GB/10GB available now,


linedit and .sbcl_history file

Hi nikodemus
I tried to add these following lines in my .sbclrc file. Unfortunately, it doesn't work. I just want to load the content of .sbcl_history file before the sbcl repl.
Why do I get the  error "There is no applicable method for the generic function #<STANDARD-GENERIC-FUNCTION LINEDIT::%BUFFER-LIST (1)> ?  when called with arguments ...? "
The code :
(if (member "--no-linedit" sb-ext:posix-argv ....
....
(require :linedit)
(funcall (intern "INSTALL-REPL"  ....)
(defun load-sbcl-history ()
(with-open-file (str
(merge-pathnames ".sbcl_history" (user-homedir-pathname))
:direction :input)
(do ((line (read-line str nil 'eof) (read-line str nil 'eof)))
((eql line 'eof))
(linedit::buffer-push line linedit::history))))
(load-sbcl-history)
faithfully

I can't tell because you're not actually showing me the bit that causes the error, or the backtrace, or the complete error message.
I can, however, tell that LOAD-SBCL-HISTORY won't work like that.


added install and import check

Hi @aidancrilly
Many thanks for making NeSST open source
I'm keen to make use of this nice package you have made.
I was wondering if the project is open to pull requests as there are a few tiny things I would be keen to contribute?
Here is a very minimal pull request that attempts to add some simple checking of the package. I'm making this first because I would be keen to update the package install process in subsequent pull requests and this test will show that the install process remains functional.
You can see the CI running successfully over here on the fork

Hi @shimwell,
It is great that you are keen to contribute to NeSST and I am very welcome to PRs.
I think CI is a good idea and I can think of a few good tests that could be included.
Feel free to add issues if there are features you'd be keen to see as well.
I look forward to future contributions


Error when testing out the plugin

Below is a recording of what I am experiencing upon installation of the plugin inside of backstage.
https://vimeo.com/manage/videos/884063972/a8f1be9c5a?extension_recording=true
Any idea why?

This video shows a chat gpt plugin, not sure how this issue relates to this repository :|


Upgrade to for Statamic 5.x, and provide as an addon

This is a first attempt at upgrading Wikilinks to Statamic 5.x, and providing it as an addon.
Becoming an addon provides an easier installation route, but also opens up the possibility of extending the functionality.
At the moment, this upgrade provides exactly the same functionality as the previous version.

Awesome! Totally forgot about this little bad boy. Blind merging so I can test it easier, but a quick glance looks pretty 👌 to me! Thanks Steve <3

Thanks Jack.
It's working fairly nicely for me in test. But I'm a (1) a writer rather than a developer, and just know enough code to be dangerous; (2) a complete Statamic & Laravel newbie, so may have made some silly mistakes. It's worth checking!
I've also got some ideas for improving this, but not much knowledge of how. I'll open an issue with some ideas. If any of them appeal to you, I'm happy to keep contributing as far as my ability (and learning ability) goes.


sleuth: converts to webmvc to allow eureka discovery

This converts the sleuth example back to WebMVC because reactive strangely affects the ability to look up zipkin via eureka. We need two examples that work with Eureka to ensure zipkin server doesn't have bugs in it.

thanks for the look. I will add this to the zipkin release notes. Effectively we need two different client codebases in order to verify Eureka discovery works ;)


⚠ ClamAV has degraded performance

In 8e7f9c9, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 75 ms

Resolved: ClamAV performance has improved in 0f247fc.


Create a place where custom rules can be stored

As the idea sparked in the comments of #680, here is a follow-up issue to discuss the topic and how it can be achieved.
The idea
A centralized place for the rules that do not fit into the core of Robocop, from where the users can easily download them and use in their projects.
The reasons why a rule may not fit into the core of Robocop:

it reports something that is possible/allowed in Robot Framework, but not very common
it reports a very specific issue with the code, which is not a general problem
it requires reading the context (more than one file) or importing the libraries/resources and so on
?

I imagine this in 3 ways (but there may be more, and even better than these):

A separate repository serving as a storage for custom rules, where users can suggest adding new ones by PR. Each rule may need to have basic tests to ensure that it's working properly for the scope it affects, and a meaningful documentation.
Custom rules located in a separate directory in this project and available for the users by running pip install robotframework-robocop[extra-rules] which will install them to their local Robocop instance (proposed by @bhirsz here).
Maybe just a documentation page where the working examples will be presented and available to download/copy, with examples and documentation?

Things for further investigation

Who would decide which rule should be added to the storage? Authors? Community (by voting)? Or anything that meets minimum requirements (tests, docs, etc.) would be accepted?
The custom rules should be specifically marked, to not misguide people this is a built-in rule (some extra field or maybe just the ID convention - like 5-digit 1XXYY or 99YY)?
Should all the custom rules be downloaded and turned on (off?) locally by default, or should they be picked individually by the users before downloading? I imagine an issue when a user downloads all custom rules and some may actually be failing in his project, or maybe report too many issues, or just didn't apply to their specific case.

Rule candidates
I'll just mention the issues where the users asked for a specific rule to be added, which we rejected, due to various reasons.

#680 - inform the user that Test Teardown/Setup and Teardown/Setup are used within the same test suite
#766 - detect unusual symbols in keyword name / test case name
#688 - detect case where built-in keyword was not properly separated with the arguments (not enough spaces)
#778 - detect Sleep keyword
#666 - detect if each word is capitalized in the test case name
#566 - detect when the keyword is called with an acceptable but a non-standard way of writing its name
detect if JIRA key (or other project issue id) is present in the comment or test case name

Let's see where we can get with this idea.

Separate directory is more "welcoming" to the users (afraid they could break anything with their own custom rules :D), but it will be harder to integrate it with testing/generating the documentation. With the same repository it would be easier to, for example, generate sub page "community rules" in the docs. I need to think about this.

pip installation with pip install robotframework-robocop[extra-rules] can be achieved with both separate and them same project. If our separate projest is python module called robotframework-robocop-extra-rules then we just need to add it to our dependencies.

For me anything that meets basic criteria - and if we are flooded, we can start adding special rules (but I doubt it will be the issue).
I believe selecting issues could be easier if we add "disabled" feature to the rules - allowing rules to be disabled by default and only included if there are enabled (maybe similarly to Robotidy with -c rule-name:enabled=True, or --enable). Thanks for that we can avoid situation where users include two contradicting rules to the project. With this feature we could set all issues in this project as disabled.
The other way of dealing with it would keeping every rule in the separate file (or group of rules). Users would use robocop --ext-rules robocop_extra.filename to load the rules (names are temporary).
I agree on id convention. To make adding the rules easier we should have precommit that would warn if rule with such id or name already exists (and maybe even propose next free id).

2. pip installation with pip install robotframework-robocop[extra-rules] can be achieved with both separate and them same project. If our separate projest is python module called robotframework-robocop-extra-rules then we just need to add it to our dependencies.

A man learns his entire life :)
Good idea with disabled by default.
We can also provide a default .robocop file (like a template) that will contain all the custom rules marked as disabled, with some comment explaining quickly what each rule does. That way, people would not need to go through documentation of all the rules, they will just quickly skim through the configuration file, and they should at least has some basic understanding if they need it.

1. Separate directory is more "welcoming" to the users (afraid they could break anything with their own custom rules :D), but it will be harder to integrate it with testing/generating the documentation. With the same repository it would be easier to, for example, generate sub page "community rules" in the docs.

I agree that having people frequently contributing to the core repo may increase the risk of some errors and bugs. On the other hand, it will only increase the popularity of the package. If there would be a separate repository, it would be hard to promote it in the community, I think. I'm not saying we should go this way, just pointing out a "marketing" side of it. 😃

I agree on id convention. To make adding the rules easier we should have precommit that would warn if rule with such id or name already exists (and maybe even propose next free id).

What would be better?

Reserving one checker type for all custom rules like 99XX? This will disallow people to sort the custom rules by checker type, which is not the best way I think. Also, someone can already use these IDs with their custom rule.
Reserving a range of checker types from the end of the ID convention, e.g. from 90XX to 99XX? This will allow people to sort the new rules by type, but it leaves them with only 10 categories. And again there is a risk of conflict with already existing custom rules on the local computers of the users.
Reserving a 5-digit IDs for all official custom rules, like 1XXYY? I think this is the best approach, because we no longer risk any local conflicts, and this will also be an explicit indicator, that these are the official custom Robocop rules.

I think I have answered myself, but let's hear from you.

This default configuration file is very good idea - maybe we can provide something like that for default rules as well? There was similar idea (to generate config file from current config) but maybe we can just provide "generate default as config file, together with short description as comment". It would make it easy to see what rules are active, and to enable/disable them if necessary.
Yeah, it's easier to markete something that we already have (just 'extension' or extra place for rules in our place) and have already some recognition.
I'm also in favour of 3 option - we avoid risk of confliccts and it will be easier to see that given rule is "custom offical" one.

Summing up...

We are going to add community rules directly to the Robocop project (this repository).
We need to differentiate between these new rules, so I suggest naming them "Community rules", and the ones that we already have to start naming "Built-in rules".
The community rules will be stored in a separate directory to indicate they are special rules, not the built-in ones.
The community rules will have 5-digit IDs that follow the pattern 1XXYY, where 1 is static, XX is the checker type and YY is the rule ID.
The community rules will be turned off by default, because there is a risk that they can interfere with other rules or even be contradicting to them.
The users will be able to install community rules by installing extra dependencies for Robocop, e.g. pip install robotframework-robocop[extra-rules] or pip install robotframework-robocop[community-rules].
The documentation will have an extra menu entry that will list the community rules separately from the built-in rules.
We need to define the minimum requirements for the community rules to be accepted and merged into the core (more info above), e.g. basic tests, some documentation, etc.
We need to advertise this change, when it's ready to be utilized by the community.
We will add a default configuration file that will list all the community rules with a short comment describing their purpose, so that it's easy for the users to select which rules they need and turn them on by editing the configuration file.

On the 6th point, I am not entirely sure. Maybe we should install the community rules by default as well, but just keep them disabled until the users explicitly allow them in their configuration files?
Let me know if all of the above is true and agreed or we need some more discussion.
If anything is missing, feel free to extend the list.

Very good summary.

We need to see how our test framework can be easily utilised for new rules,  and our documentation updated so it is clear how the users can (easily) create their own tests.

We can install them by default. If they are disabled by default and will go by review process it should be fine.

There's one more thing that needs to be decided. How we are going to handle these community rules from the CLI?

How a community rule can be enabled? Only through a configuration file (I don't like this option, because configuration files just support all CLI options)? Or through an extra CLI option (supported in configuration files as well)?
Are we going to add a new option that will allow enabling all community rules at once? For example, do we want to have something like robocop --community-rules <src> which will enable all the rules at once? Is it safe to allow for something like this, since some may be contradicting?
Or maybe we want the users to enable them one-by-one? For example, the user would configure them like robocop -c 10101:disabled:false -c 10102:disabled:false (alternatively by enable RuleParam)? Or (based on the previous example) to list them like this robocop --community-rules 10101,10102,10103 <src>?
Do the CLI options like --list, --list-configurable should support displaying the community rules by default, or only when the option to enable them explicitly is called within the same command?
Should CLI options --include and --exclude support the community rules by default, or only when they are explicitly enabled in the same command?

My idea of community rules are optional rules, that can be easily enabled by the users if they want to. They should work the same as built in rules but only be disabled by default.
With that, I think:

They could be enabled using enabled= True parameter (its the same convention as in robotidy for non default transformers, so it will be easier for some users). Both from cli or config file.
I would not add option to enable them all at once - I would prefer users to consciously select their rules. Hovewer we should option to enable multiple rules at once - maybe --enable? I'm not using --community-rule name because we could allow users to use "disabled by default" rules in their own custom rules too and they could use the same options to enable them.
--list should display them only when they are enabled or if user wishes so (ie like we can do --list ENABLED we could do --rules COMMUNITY or smth)
Since they should work the same as other rules, include and exclude should work on them - the main difference is that --enable would add community rules to default ones, and include would only run included rules, no matter if default or custom

I agree, all that makes sense.
Although, I am not able to start working on that for the next month, as I have some other stuff to do and I will be unavailable for some time also. Just letting you know :)
It's good that we have established the requirements and the concept is now clear.

We should start implementing it from creating the place for the rules. If we're going with installed by default rules, where they should be stored? I was thinking about creating separate directory inside robocop/checkers directory, ie robocop/checkers/community_rules.
Then:

we can use our existing test framework the same way we are doing for default rules
we can add test that would ensure that all rules inside community_rules are in fact not enabled by default

I could add some simple example rule inside.
Next step would be docs creation - we should have separate section/page listing community rules. Maybe since we have:

It could be "Community Rules" page, with exact same design as Rules.
And then the next step would be creating a way of generating the configuration with all rules commented our and simple description comment. We discussed it in the thread but then forgot about it. I have noticed some of our users create such file when trying to integrate our tools in their projects (and then they uncomment/remove lines from configuration as they go and fix the issues).

We should start implementing it from creating the place for the rules. If we're going with installed by default rules, where they should be stored? I was thinking about creating separate directory inside robocop/checkers directory, ie robocop/checkers/community_rules.
Then:

we can use our existing test framework the same way we are doing for default rules
we can add test that would ensure that all rules inside community_rules are in fact not enabled by default

I could add some simple example rule inside.
Next step would be docs creation - we should have separate section/page listing community rules. Maybe since we have:  It could be "Community Rules" page, with exact same design as Rules.
And then the next step would be creating a way of generating the configuration with all rules commented our and simple description comment. We discussed it in the thread but then forgot about it. I have noticed some of our users create such file when trying to integrate our tools in their projects (and then they uncomment/remove lines from configuration as they go and fix the issues).

Yes to all :)
Do you think we should create more issues to make the work on it more granular and easier to be split? This issue started being a bit too big and I am afraid that we would miss something important.

Yes, we should create more issues, I already forgot about some tasks here and I had to reread it all :)

Ok, I will create them by the end of tomorrow 👍🏻


Update SMAC imports

We have renamed the "smbo" package to "optimizers". Therefore, the imports are failing here. Please update!

Fixed in latest pull request


dead link

At
https://github.com/freme-project/Documentation/blob/master/_pages/knowledge-base/how-to-add-documentation.html
there is a dead link with the target
src="../img/screenshot_pos.png"

@josauder please fix it.


setup initial component nudges with pullspecs in redhat-user-workloads

/retest

/ok-to-test

/ok-to-test