NoSuchAlgorithmException: SHA1PRNG SecureRandom not available

An exception occurred in the runtime environment.
Caused by: java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not available
I'm not sure if it's caused by FIPS being enabled.

An exception occurred in the runtime environment. Caused by: java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not available I'm not sure if it's caused by FIPS being enabled.

The same issue occurs in my application after enabling FIPS mode. It seems that the RandomSaltGenerator class defaults to using SHA1PRNG, and might not be supported in FIPS mode anymore.

https://github.com/tfredrich/jasypt/blob/master/jasypt/src/main/java/org/jasypt/salt/RandomSaltGenerator.java#L52

    /**
     * The default algorithm to be used for secure random number
     * generation: set to SHA1PRNG.
     */
    public static final String DEFAULT_SECURE_RANDOM_ALGORITHM = "SHA1PRNG";

    private final SecureRandom random;

    /**
     * Creates a new instance of <tt>RandomSaltGenerator</tt> using the
     * default secure random number generation algorithm.
     */
    public RandomSaltGenerator() {
        this(DEFAULT_SECURE_RANDOM_ALGORITHM);
    }


[Fix #1278] Fix a false positivie for Rails/SkipsModelValidations

Fixes #1278.
This PR fixes a false positive for Rails/SkipsModelValidations when using insert or insert! with a safe navigator.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
[ ] If this is a new cop, consider making a corresponding update to the Rails Style Guide.

Thanks!


Fix #1216, Update Directory Diagrams in App Developer Guide

Describe the contribution
Fixes #1216
Expected behavior changes
Used tree to provide a tree view of cFS, cFE, Build, and Apps.
Additional context
Did not add CS directory.
Contributor Info - All information REQUIRED for consideration of pull request
Ariel Adams, ASRC Federal

CCB:2021-09-01 APPROVED


Where is page with info for BC 16.3 release notes?

Hello,
Business Central, version 16.3 is released few days ago and is on production for new environments etc.
Please create / update documentation page with 16.3 version as soon as possible, so users, partners and MS support have materials for correctly working with information on changes.
Thank you,
Kind regards
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ff9b5ce2-1cf9-3cf5-6233-4f272e072202
Version Independent ID: 860598ee-65ab-350e-b7d0-df82ac49db65
Content: Update 16.2 for Microsoft Dynamics 365 Business Central 2020 Release Wave 1 - Business Central
Content Source: dev-itpro/whatsnew/whatsnew-update-16-2.md
Service: dynamics365-business-central
GitHub Login: @ManuelaHochstrasser
Microsoft Alias: solsen

Hello, the Minor update 16.3 topic can be found here: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/whatsnew/whatsnew-update-16-3. Thanks.


Take into account missing values in the check of the strongest lead

When _eventiv selects the lead of the differenced policy to use as an instrument, it does not check if there are missing values of the instrument. In short windows, the lead of the differenced policy may be missing for higher order leads, so comparing F-stats across regressions will be misleading.
Make sure that regressions in the loop take into account possible missing values of the instruments and use the same sample.
Derived from #109 https://github.com/JMSLab/xtevent/issues/109#issuecomment-1261608505

Per call, we won't modify this code to select the strongest lead. We'll keep using the current code that chooses the strongest lead regardless of changes in sample across the first stage regressions.


Delete last test dir after closing file handle.

Getting errors in CI due to having a handle open when we attempt to delete. Trivial patch to resolve that.

+1 Pending Jenkins results with this patch


#[40] Feature: Video

Codecov Report
Attention: Patch coverage is 0% with 54 lines in your changes missing coverage. Please review.

Project coverage is 0.00%. Comparing base (2327722) to head (5496281).
Report is 21 commits behind head on main.

Additional details and impacted files

Files
Coverage Δ

crates/framework/src/structs/media/options.rs
0.00% <ø> (ø)

crates/framework/src/features/video.rs
0.00% <0.00%> (ø)

... and 1 file with indirect coverage changes


Fix/simplify config loading

After running mookme init, the hooks kept failing with No .mmokme.json file found. Exiting. Did you run 'mookme init' ?. Upon closer inspection it looks like the logic around that was incorrect. I've fixed the logic and slightly simplified the config file loading code.

Thanks for the contribution, I've tested it and I definitely agree with these changes ! I will merge it
Nonetheless, this made me realize how badly I need some parts of the code to be tested. This is more of a personal note here for later, but here are the critical scenarios involved in configuration management:

mookme init
mookme run + legacy package.json file
mookme run + .mookme.json file
mookme run + no configuration -> error

If you feel that I might be missing some based on your own personal usage please let me know in the related issue !  :)


Show a core command's short text in ActiveHelp when completing arguments

What this PR does / why we need it
Setup a generic ValidArgsFunction to add a command's 'short' string as activeHelp when doing arg completion for any command.
Doing something like "tanzu context " will show normal shell completions but will now also print the short help for "tanzu context".
Note that activeHelp only gets shown for bash and zsh.
$ tanzu context <TAB>
Command help: Configure and manage contexts for the Tanzu CLI
--
create  -- Create a Tanzu CLI context
delete  -- Delete a context from the config
get     -- Display a context from the config
list    -- List contexts
unset   -- Unset the active context so that it is not used by default.
use     -- Set the context to be used by default

The prefix added before the help text is to deal with situation like the following:
$ tz context create tmc --endpoint unstable.tmc-dev.cloud.vmware.com <TAB>
Command help: Create a Tanzu CLI context

Without the prefix the text "Create a Tanzu CLI context" could be interpreted as an action the user must do, instead of the description of the command.
Because this change would affect most of the shell completion unit tests, each batch of such test was updated to disable this feature using TANZU_ACTIVE_HELP=no_short_help.
A unit test specific to this feature was added in root_test.go.
Which issue(s) this PR fixes

Fixes # N/A
Describe testing done for PR
Extensive unit test for shell completion show that nothing was broken.
New feature:
$ tz plugin <TAB>
Command help: Manage CLI plugins
--
clean            -- Clean the plugins
describe         -- Describe a plugin
download-bundle  -- Download plugin bundle to the local system
group            -- Manage plugin-groups
install          -- Install a plugin
list             -- List installed plugins
search           -- Search for available plugins
source           -- Manage plugin discovery sources
sync             -- Installs all plugins recommended by the active contexts
uninstall        -- Uninstall a plugin
upgrade          -- Upgrade a plugin
upload-bundle    -- Upload plugin bundle to a repository

$ tz plugin group <TAB>
Command help: Manage plugin-groups
--
get     -- Get the content of the specified plugin-group
search  -- Search for available plugin-groups

$ tz version
Command help: Version information
This command does not take any more arguments (but may accept flags).

Release note

Show a core command's short text in ActiveHelp when completing arguments

Additional information
Special notes for your reviewer
Although this feature was added as part of the PersistentPreRun so that it can affect all commands, it only applies to core commands.  To apply to plugins, we need to make a similar change in tanzu-plugin-runtime.  And the change would only affect plugins that have been re-compiled with this new tanzu-plugin-runtime.
Although I have actually coded the required change, I feel the change is too risky so late in the cycle.  This is because it mucks around replacing PersistentPreRuns and such.
If it is felt that the change for plugins must be available before merging this PR than we should delay this PR.

LGTM. Adding a comment on why this environment variable TANZU_ACTIVE_HELP was used in the Tests to reactive active help would be nice.

In the end you made me realize that it is very obscure that the variable TANZU_ACTIVE_HELP comes from Cobra and that its value is returned by cobra.GetActiveHelpConfig(cmd).
So I replaced the call do cobra.GetActiveHelpConfig(cmd) with the more explicit os.Getenv("TANZU_ACTIVE_HELP")


Added hiring in readme with better styling

added similar style in https://github.com/Agenta-AI/agenta/pull/1653


[prod-beta] Update RHEL and Ansible checksum (#131)

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Files
Coverage Δ

src/components/trial/constants.js
100.00% <100.00%> (ø)

src/components/trial/requirements.js
88.88% <100.00%> (ø)

src/components/trial/resources.js
100.00% <ø> (ø)

src/components/trial/success.js
55.55% <0.00%> (ø)

:loudspeaker: Thoughts on this report? Let us know!.


Let's set up the Debate model

TODO:

Figure out if I need a serializer
Make sure that debates are only accessible from the correct user

TODO for future branches:

Get the debate name to update for the user properly

TODO:

Make sure that debates are only accessible from the correct user.
Change error messages to "detail"

TODO for future branches:

Get the debate name to update for the user properly

TODO:

Figure out whether "pk" versus "debateID" matters, and if so, figure out what I need to update.
Change error messages to "detail"

TODO for future branches:

Get the debate name to update for the user properly


Feat/core.155 cli.add.get.cluster.ip

closes https://github.com/onepanelio/core/issues/155

@aleksandrmelnikov this worked. Let me know when you have the merge conflicts fixed and I’ll merge.

@rushtehrani Should be fixed


Fix the CI publishing to PyPI

Issue with python versions being old (travis). Tried out CircleCI but for now just manually building and publishing.

I'm happy to manually build and publish.


Not working on IOS

I'm just getting a blank screen, when navigating from a child in a tabbed page
If I download your demo project everything works fine, then when I remove the source code projects, and add in the carouselview from nuget, the android project fails with the following error
Severity	Code	Description	Project	File	Line	Suppression State
Error		Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Xamarin.Android.Support.Vector.Drawable, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'Xamarin.Android.Support.Vector.Drawable.dll'
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
   at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
   at Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver)	Demo.Droid

...but on the bright side ths ios project works!!
is there a problem with the nuget package for android?

ahh okay, forgot to add CarouselViewRenderer.Init(); in AppDelegate.cs

If my work is helping you, please help me back: https://xamarinhq.wufoo.com/forms/nominate-a-xamarin-mvp/
This is what i have done that is community visible:

Alex has been pretty active sharing his knowledge and answering questions in StackOverflow, GitHub and Xamarin Forums.
Alex has been open sourcing Xamarin components and plugin with the community, with more of 10 repositories being maintained on GitHub.
One of Alex's Xamarin.Forms plugin, the CarouselView, is currently being pulled into the Xamarin.Forms core (https://github.com/xamarin/Xamarin.Forms/pull/853). As an stable widget, this control has become the standard for Xamarin.Forms carousel screens with more that 16K downloads in NuGet and more than 100 solved and not open issues.
Another Alex's plugin, the SegmentedControl (https://github.com/alexrainman/SegmentedControl), is a big candidate to be also pulled into Xamarin.Forms core.
Plus Xamarin.Forms UI related plugins, Alex shares plugins to set app icon Badge, Google Analytics and KeyChain access.
Alex shares his knowledge about cutting edge technologies like Couchbase NoSQL and MobileIron integration with Xamarin Apps.


DB::transactional(); Depreciated

https://github.com/cartalyst/sentry/blob/develop/classes/sentry/user.php#L474
Also, not a 100% sure but i think DB::commit_transaction(); should be in try {} after the queries, since it returns a exception (in PDO only)
https://github.com/cartalyst/sentry/blob/develop/classes/sentry/user.php#L499

Wasn't aware of the deprecation, i'll give transactions another look at. thanks for the heads up.


Better handling of junk values with PARSE-INTEGER

It's possible for cat /sys/class/power_supply/BATnn/charge_now to yield an empty string. See the syslog excerpt below. Signalling a condition when this is encountered provides a starting point for handling the issue. The calling routine should catch the error, invoke something like (log-to-system (format nil "Junk value ~A for battery ~S" value bat)), and then settle down until the issue is addressed.
2024-12-23T09:08:29.595078-08:00 thomp3593 power-guard[1483870]: 3: (ERROR SB-INT:SIMPLE-PARSE-ERROR :FORMAT-CONTROL "no non-whitespace characters in string ~S." :FORMAT-ARGUMENTS (""))
2024-12-23T09:08:29.595484-08:00 thomp3593 power-guard[1483870]: 4: (PARSE-INTEGER "" :START 0 :END NIL :RADIX 10 :JUNK-ALLOWED NIL)
2024-12-23T09:08:29.595905-08:00 thomp3593 power-guard[1483870]: 5: (HARDWARE::GET-BATTERY-CHARGES ("/sys/class/power_supply/BAT0"))
2024-12-23T09:08:29.595946-08:00 thomp3593 power-guard[1483870]: 6: (HARDWARE:GET-REMAINING-CHARGE)
2024-12-23T09:08:29.596044-08:00 thomp3593 power-guard[1483870]: 7: (MAIN:MAIN)
2024-12-23T09:08:29.596069-08:00 thomp3593 power-guard[1483870]: 8: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
2024-12-23T09:08:29.596092-08:00 thomp3593 power-guard[1483870]: 9: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-IMPL::START-LISP))
2024-12-23T09:08:29.596117-08:00 thomp3593 power-guard[1483870]: 10: (SB-IMPL::START-LISP)
2024-12-23T09:08:29.596139-08:00 thomp3593 power-guard[1483870]: unhandled condition in --disable-debugger mode, quitting
2024-12-23T09:08:29.598835-08:00 thomp3593 systemd[1]: power-guard.service: Main process exited, code=exited, status=1/FAILURE

Thanks!


Investigate changes in image pull policy support when using latest docker desktop

imagePullPolicy: IfNotPresent does not seem to work anymore.

I investigate why the image for the app was not being created in the Docker Daemon for local kubernetes using jib-maven-plugin, and the problem was related to the DeploymentService Java implementation in lift itself. mvn package was not being executed when running the platform-deploy command, so the docker image never got built.
Consequently the k8s deployment failed on image pull policy, because the image was not there to begin with.
In the DeploymentService java code,  executing mvn  package was  disabled by this code:
				if (false) {
						if (maveDependencyService.containsDependency("kubernetes-spring-starter", "io.dekorate", null)) {
							System.out.println(ansi().fg(GREEN).a("Detected Dekorate dependency."));
							System.out.println(ansi().fg(GREEN).a("Running Maven build to generate Kubernetes resources."));
							String[] mavenBuildCommand = {"./mvnw", "clean", "package", "-P", platform.getProfile()};
							osService.executeCommand(mavenBuildCommand, true);
							//TODO can the output yml file location be customized?
							File k8syml = new File(IoUtils.getWorkingDirectory().getPath() + "/target/classes/META-INF/dekorate/kubernetes.yml");
							System.out.println(ansi().fg(GREEN).a("Using " + k8syml.getAbsolutePath() + "to deploy app to Kubernetes."));
							return this.kubeCtlDeployService.deploy(platformName, k8syml);
						}
					}

This is not a solution, but just for testing purpose, if I "enable" the mvn package bit above, simply by moving these two lines:
			String[] mavenBuildCommand = {"./mvnw", "clean", "package", "-P", platform.getProfile()};
							osService.executeCommand(mavenBuildCommand, true);

out of the if statement above so that it is executed, then the jib plugin is executed and consequently the image is built in the local Docker Daemon. Image pull policy now works when deploying to Kubernetes, and the k8s deployment is successful.
Since this is not a problem with the docker-dekstop or imagePullPolicy during K8s deployment, but rather a bug in the lift  Java code, I am closing this.


[Suggestion]: Some Random Suggestions

Suggestion (Required)
I will preface this by saying that the soul fire & respirator dont seem to do anything for me, probably some mod conflict, but I don't care much to figure that out. I still think most of my suggestions here stand even if they did work as intended.
Respirator Trinket
Allow the respirator to be placed in its own trinkets slot, when trinkets is installed. Allows for the player to use helmets as normal.
Netherite Bladder
Upgraded version of the bladder that greatly boosts its air capacity. In combination with Unbreaking, this would reduce the need to carry multiple bladders.
Bladder Trinket
Similar to the Respirator, it would be great if the bladder could be placed in its own trinket slot. It could automatically refill the player air (and its own, when in air) reducing the need for micromanagement. Perhaps only the Netherite Bladder can go into the slot, to restrict it to more late game use, if you think this would be to powerful.
Powered Bladder
A bladder which uses rf/fe/etc to create air. Would be a nice addition for tech packs.

Thanks for your suggestions! The Netherite Bladder has been added in v8.1.0 and so has optional support for Trinkets and Curios. A powered bladder would be something better fit for an addon, making the bladder a Curios or Trinket item can be reconsidered in the future.


mnemonic word not in default word list

Trying to restore a wallet by mnemonic leads to:
!!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!!

 FAIL !!! SOMETHING WENT WRONG:
[lncli] rpc error: code = Unknown desc = word tabacco isn't a part of default word list
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Press ENTER to retry ... or CTRL-c to EXIT

Typo!!!
should be tobacco, not tabacco!


Installation instructions for Colab environments

Description
I'm wondering if you could installation instructions optimized for Colab. Colab takes seconds to spin up, but cupy installation is >10 minutes, so it's a barrier to some quick experimentation.
I found the following works, but it takes >10 minutes, mostly due to cudatoolkot download. Cuda should already be available on Colab environments...
!python -m pip install -U setuptools pip
!python -m cupyx.tools.install_library --cuda 11.2 --library cutensor

!pip install -q condacolab
import condacolab
condacolab.install()

!conda --version
 !conda install -c conda-forge cupy cudnn cutensor nccl

Additional Information
No response

You don't have to install the optional packages (cudnn cutensor nccl) if you don't need them. That said, downloading cudatoolkit from conda-forge is probably the most time consuming part in the whole process due to its size.

colab has cupy-cuda111==9.4.0
You can do !pip install  cupy-cuda111 --upgrade and it should work, I just verified it.

BTW, I noticed that CUPY used to be part of Colab env -- https://github.com/chainer/google-colaboratory. I wonder who set up that collaboration/who the point person was on Colab side, maybe that can be resurrected

Are you changing the notebook runtime to be GPU backed? maybe that's why you didn't have cuda enabled.

You are right.....silly mistake on my part, it does have Cupy after all! Thanks for the upgrade command

The slowness turns out to be due to cuTensor install, not CuPY
!conda install -c conda-forge cutensor


Feature : Timeout independent toast + support for multiple line messages

I'm submitting a ...
[ ] bug report
[ *] feature request
[ ] question about the decisions made in the repository

Do you want to request a feature or report a bug?
Feature to **prevent auto close** of the toast. That is making it timeout independent. which cant be closed until user clicks 'close' or its closed programmatically.

plus

It would be great if we could change lines within error message.  escape character '\n'

What is the current behavior?
Currently , to prevent auto close , we need to set very large timeout. like random 50000.  that can     be closed programmatically whenever needed.

What is the expected behavior?
If timeout is set to 0 , it should prevent close untill user clicks close/programmatically.

What is the motivation / use case for changing the behavior?

Displaying validation errors in a toast. which should stay active until user notices/reads them. and  multiple validation errors on multiple lines.

Please tell us about your environment:

Angular version: 2.0.0-rc.4
Browser: all

Set the timeout equals 0 or null to prevent autoclose in ToastOptions or ToastConfig:
var toastOptions:ToastOptions = {
            title: "My title",
            msg: "The message",
            showClose: true,
            timeout: null, // <!-- Here is your changes
            theme: 'default',
            onAdd: (toast:ToastData) => {
                console.log('Toast ' + toast.id + ' has been added!');
            },
            onRemove: function(toast:ToastData) {
                console.log('Toast ' + toast.id + ' has been removed!');
            }
        };


Alignment error with member callback

The following example, where we try to execute a std::function member object, creates alignment errors on clang 6.0.0 according to the UndefinedBehaviorSanitizer.
#include <sol.hpp>
#include <functional>
#include <iostream>

struct Test{
  std::function<void()> callback = [](){ std::cout << "Hello world!" << std::endl; };
};

int main() {
  sol::state lua;
  lua.new_usertype<Test>("Test","callback",&Test::callback);
  Test test;
  lua["test"] = &test;
  lua.script("test.callback()");
  return 0;
}

when compiled using clang++ --std=c++14 -fsanitize=undefined ... a cascade of 'misaligned address' runtime errors is generated, beginning with
(a.out:x86_64+0x1000d8c48): runtime error: constructor call on misaligned address 0x7fc01c405518 for type 'sol::function_detail::functor_function<std::__1::function<void ()> >', which requires 16 byte alignment
0x7fc01c405518: note: pointer points here
 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00
              ^

Otherwise the program executes as expected.

Don't use clang 6. Would have to investigate memory address issues and how to correct alignment (is it even a real problem?), but I don't know the extent of this thing's effect.

The problem is likely due to the fact that sol uses std::allocator to allocate the block of memory, and std::allocator doesn't have any alignment guarantees afaik.
https://github.com/ThePhD/sol2/blob/5816c6c34b1386c8bd852b5515199952cd51a5b8/sol/raii.hpp#L34
It would probably make sense to switch to new/delete instead, since that is supposed to allocate with the correct alignment. Alternatively maybe implement a aligned allocator, that takes std::alignment_of(T) into consideration.

Scrap that last comment, allocation is done with lua_newuserdata, and that needs to take the alignment into consideration.
I think the only fix is to supply a custom lua_Alloc function in lua_newstate that returns aligned memory. Otherwise you would have to manually add sufficient padding after calling lua_newuserdata.

is it even a real problem?

I haven't given data alignment much thought until now, however many sources indicate that dereferencing misaligned pointers is indeed undefined behaviour or at least a heavy performance impact. See for example this Stackoverflow post or even Apple's developer documentation.
Additionally, it renders clangs UndefinedBehaviorSanitizer useless as the noise created from this issue can hide other problems elsewhere in the code.
As @mrgreywater mentioned, the problem should be straightforward to solve by taking the alignment into account when allocating new objects and retrieving the pointers from lua.

Only now do I realize what "Don't use clang 6" sounds like. I meant "I don't use clang 6, so I have no idea".
I'll look into alignment-adjusting the whole framework.

So this really sucks.
std::align works with a current memory pointer. lua_newuserdata returns its own pointer, after I already request a size. There's no way for me to have perfectly aligned, un-over-allocated data without allocating something with lua_newuserdata, and then performing std::align on it, because if the data is too small then it just won't fit, and if that's the case then I nede to do lua_newuserdata again with a larger value.
BUT, there's no guarantee that the new alignment will work inside the second lua_newuserdata, because it can be a COMPLETELY DIFFERENT section of memory that doesn't behave the same with respect to alignment. In other words: holy cow this SUCKS.

Unfortunately, if we have no control over where the data is allocated, we need to over-allocate to be able to always match the alignment requirement. For most data types with no strong alignment this extra space alignof(T) - 1 should be negligible or at least very small. For users with strong memory requirements, maybe a macro such as SOL_NO_USERDATA_ALIGNMENT could be disable the alignment requirement.
Unfortunately I know nothing about the inner workings of sol, but maybe this mockup code can help.
template <class T> T * align(void * ptr){
  size_t address = size_t(ptr);
  auto offset = address % alignof(T);
  auto aligned_address = reinterpret_cast<T*>(offset == 0 ? address : address + alignof(T) - offset);
  return reinterpret_cast<T*>(aligned_address);
}

template <class T> size_t maximum_space_needed_to_align(){
  return sizeof(T) + alignof(T) - 1;
}

template <class T,typename ... Args> void * construct_aligned(Args ... args){
  void * pointer = lua_newuserdata(maximum_space_needed_to_align<T>());
  T * aligned = align<T>(pointer);
  new (aligned) T(args...);
  return pointer;
}

We can now allocate a perfectly aligned std::function and call it.
void example(){
  // f_ptr is the pointer we get from Lua
  auto f_ptr = construct_aligned<std::function<void()>>([](){ std::cout << "Hello aligned World!" << std::endl; });
  // f is the actual aligned data
  std::function<void()> &f = *align<std::function<void()>>(f_ptr);
  f(); // -> "Hello aligned World!"
}

Of course if caching doesn't matter, another simple possibility is to allocate and free the memory manually with new and delete (which already take care of alignment), and only store the pointer as lua userdata.

@ThePhD It will work, i'm sure of it. Give me a day or so, i'll prepare a PR.

A quick and dirty fix of this specific issue would be to remove the 16 bit alignment dependency of functor_function , which is created by implicitly including a std::function member object. If we instead keep a pointer to the member, the above code runs fine.
template <typename Func>
struct functor_function {
	typedef std::decay_t<meta::unwrap_unqualified_t<Func>> function_type;
std::unique_ptr<function_type> fx;

	template <typename... Args>
	functor_function(function_type f, Args&&... args)
: fx(std::make_unique<function_type>(std::move(f), std::forward<Args>(args)...)) {
	}

	int call(lua_State* L) {
		return call_detail::call_wrapped<void, true, false>(L, *fx);
	}

	int operator()(lua_State* L) {
		auto f = [&](lua_State*) -> int { return this->call(L); };
		return detail::trampoline(L, f);
	}
};

Of course, the general problem with the alignment of arbitrary user types remains. However, users may be able to work around this by providing their own factory methods that return smart pointers.

Uh, if try to access unaligned adresses, it will crash on some platforms though, e.g all ARM before ARMv6, some PowerPC processors etc. Also SIMD instructions will fail on x86, and generally it's slower. It's just not a good idea overall.

I completely agree, the alignment issue needs to be fixed asap. This was only meant as a temporary suggestion/fix/input as this definitely leads to a misaligned read (without even creating a usertype in lua)  that cannot be prevented until alignment is fully fixed.

Do pointers themselves need to be aligned? 🤔

@ThePhD malloc is guaranteed to return memory aligned for pointers. So it'll work fine as long as you don't supply a totally broken lua_Alloc.

Sounds like I need to write a test case where I supply a totally broken lua_Alloc, then.

Na, then even lua_lightuserdata and the lua internals will be broken.

While we're here, bikeshedding names that turn this off. Or should it be to turn it on? It should probably be on by default, turned off explicitly. Here are some "turn me off" names we could use:

SOL_UNALIGN(ED)_MEMORY
SOL_USE_UNALIGNED_MEMORY
SOL_NO_ALIGN_MEMORY
SOL_UNALIGNED_READS_IN_CURRENT_YEAR_QUESTION_MARK

Last one may or may not be serious.

I don't even think it needs a makro. If the user passes a type that has an alignment as requirement, it should be properly aligned. In all other cases, std::alignment_of() will be '1' and then there is no memory wasted.

I have no Idea what Lua does internally, but in my tests lua_newuserdata always returned 8-byte aligned pointers. If this is guaranteed somewhere (probably the result is just direct output from malloc/realloc or something similar) we can even avoid over-allocation for all types where alignof(T) <= alignof(void*). This is because the alignment must be a power of two. As most usertypes will probably be 8-aligned or less and there will be a good reason if they are not, I agree that we don't need a macro.
Regardless, I will go with SOL_NO_MEMORY_ALIGNMENT.

The alignment of malloc is always >= sizeof(void*) and usually exactly that (8bytes on 64bit machines). I could change it in the PR so that it doesn't try to align in such cases, but hat just requires the same fallback alignment as I had previously afterwards, incase lua_newuserdata didn't actually return an 8 byte aligned pointer. I don't think it's worth it it.

Pull the latest and try it, your members should be aligned, even with a misbehaving allocator.
Thanks for reporting this issue.

Unfortunately, I cannot confirm that the issue is fixed. The alignment errors persist and the program segfaults. Using the latest commit and the code above I the first alignment issue I get is
sol.hpp:8326:11: runtime error: reference binding to misaligned address 0x7f92fe404f58 for type 'std::remove_reference_t<functor_function<function<void ()> > >' (aka 'sol::function_detail::functor_function<std::__1::function<void ()> >'), which requires 16 byte alignment
0x7f92fe404f58: note: pointer points here
 00 00 00 00  00 00 00 00 00 00 00 00  c0 85 97 05 01 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00
              ^

which corresponds to the following line in the getter<user<T>> method.
return *static_cast<std::remove_reference_t<T>*>(lua_touserdata(L, index));

As the memory created by the 'dumb pusher' is aligned now, I think that we also need to re-allign the memory returned by lua_touserdata.
Sure enough, when I naively fix the getter, the sanitiser reported no issues and the code above runs fine. Running the included tests target however shows a ton of alignment errors related to usertype_metatable and segfaults at the end (before and after applying my fix).

I'll be honest, but I feel like the commit that fixes the issue needs a review. It looks overly complicated and obscure in what it wants to accomplish. If you want to align the pointers aswell, just put it all in a inline struct, and let the compiler work it's magic.
e.g
struct userdata_t {
T* obj;
T val;
};
auto data = lua_newuserdata(L, sizeof(userdata_t) + alignof(userdata_t) - 1);
data = align(data, alignof(data))
auto user = (T)userdata_t*
user->obj = &user->val;

The usertype metatables are being run through the same alignment code, so it's odd that they're being reported as mis-aligned...
I fixed the getter: my apologies, I had overlooked that one. I'm going to need you to pull from the latest and give me a good sample of the sanitize errors you get, so I can check them against the implementation again.

So with the latest pull the code above runs Fien with no issues. Still crashes when running the last target though (also I had to add #include <set> to test_gc.cpp to compile). I dumped the full output from the debugger with sanitiser enabled into this pastebin.
The program then exits with a EXC_BAD_ACCESS (code=EXC_I386_GPFLT). Stack trace is here.
Don't think I mentioned my Setup yet for reproducability: 2017 MacBook Pro on OSX 10.12.6 and Xcode 9 (they include special version of clang, but the sanitiser output should be reproducible on any system with clang 6.0.0).

A quick google of the error code found this possible cause

Another likely causes is unaligned access with an SSE register - in other word, reading a 16-byte SSE register from an address that isn't 16-byte aligned.

From which I assume that the crash is actually linked to the previous alignment errors.

This is odd. It's calling out light<T> and its data-getting operations. This doesn't make any sense, because all we do is store a pointer using lua_pushlightuserdata, which only accepts a void* pointer. This would mean that Lua's allocator is screwing up on the inside....???
Or we're putting that light userdata reference in bad somewhere from a real userdata reference. Time to go digging...

Stepping through the code reveals that on my architecture std::alignment_of<T>, where T is the metatable implementation, says 8. For your platform, it's saying 16: I need someone with a step-through debugger to add a breakpoint here:
https://github.com/ThePhD/sol2/blob/develop/sol/stack_core.hpp#L370
Then, I need them to step into the align function and tell me what the std::size_t alignment parameter's value is. As of right now, my implementation correctly aligns the metatable's stuff to the 8 byte boundary.

As you weren't clear for which specific type you needed the alignment, I added
std::cout << "std::alignment_of<" << detail::demangle<T>() << ">::value = " << std::alignment_of<T>::value << std::endl;

right before said line. Until the crash only four distinct types had alignment other than 8:
std::alignment_of<sol::function_detail::functor_function<std::__1::function<int ()> >>::value = 16
std::alignment_of<sol::function_detail::functor_function<std::__1::function<void ()> >>::value = 16
std::alignment_of<sol::function_detail::functor_function<std::__1::function<unsigned long ()> >>::value = 16
std::alignment_of<sol::usertype_metatable<test_t, std::__1::integer_sequence<unsigned long, 0, 1, 2, 3>, char const (&)[2], std::__1::function<unsigned long ()>, char const (&)[2], sol::property_wrapper<double (*)(), void (*)(int)>, char const (&)[4], sol::constructor_list<sol::types<> > &, char const (&)[5], const sol::destructor_wrapper<void> &>>::value = 16

The last line is also the last output before the crash.

I did a test and forced the alignment value to be 16, then 32, then 64. All of those values get properly padded and fit into memory when I run through the code. I don't know what to tell you here: as far as I can tell I'm forcing alignment and doing everything right. Modulus on the addresses of the adjusted pointers returns 0, every time.
Do you have an older clang version? 6.0.0 is still an in-progress product, and I don't trust clang's tuple implementation for even half a second: does this still explode on 5.x ?

As a side note, before the "adjusted" return, try putting a print out that prints the address, and then the modulus of static_cast<std::uintptr_t>(address) % std::alignment<T>::value, and see what that puts out for you. If it looks weird then we know it's a sol2 problem: if not, then clang's doing something dumb.

So size_t(adjusted) % std::alignment_of<T>::value is always zero, as it should be. I did't inspect the pointer addresses closer. I will check out the fishy clang behaviour later when I have some spare time (and see what compiling with version 5.x does).
If it is actually a clang bug this will hopefully be addressed soon as clang 6.0.0 is the new default compiler for Mac and iOS (its bundled with the standard IDE Xcode 9).

Ooh, I think I found it. There was a disconnect between how I stored the usertype table user<T>, wherein I used the proper alignment, and how I retrieved it just after storing it light<T>. It worked before because before alignment, light<T> == user<T> in terms of memory addressing. Alignment changed that.
Try the latest.

Assertion failed: (!"initialized()"), function operator(), file /Users/lars/Documents/Development/sol2-thephd/sol/optional_implementation.hpp, line 602.

Sanitiser output looks good though.

Well, one problem down. No idea why that optional issue is firing, though, I'll have to check through it all later...

If you can give me some sample code that triggers that assertion failure, I can get to looking into it.

So as I said, the failure occurs when running the test target of the sol library (target created with CMake).  The line that crashes is line 558 in tests.cpp.
TEST_CASE("proxy/equality", "check to make sure equality tests work") {
	sol::state lua;
	REQUIRE((lua["a"] == sol::lua_nil));
	REQUIRE_FALSE((lua["a"] == nullptr)); // Boom!
	REQUIRE_FALSE((lua["a"] == 0));
	REQUIRE_FALSE((lua["a"] == 2));

	lua["a"] = 2;

	REQUIRE_FALSE((lua["a"] == sol::lua_nil)); //0
	REQUIRE_FALSE((lua["a"] == nullptr));  //0
	REQUIRE_FALSE((lua["a"] == 0));	   //0
	REQUIRE((lua["a"] == 2));		    //1
}

Backtrace:
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00007fffc0aadd42 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x0000000114bcf7a0 libsystem_pthread.dylib`pthread_kill + 90
    frame #2: 0x00007fffc0a13420 libsystem_c.dylib`abort + 129
    frame #3: 0x00007fffc09da893 libsystem_c.dylib`__assert_rtn + 320
  * frame #4: 0x000000010d7c1bb0 tests`sol::optional<std::nullptr_t>::operator*(this=0x0000000118697aa0) const &::'lambda'()::operator()() const at sol.hpp:3498
    frame #5: 0x000000010d7c1905 tests`sol::optional<std::nullptr_t>::operator*(this=0x00000001186978e0) const & at sol.hpp:3498
    frame #6: 0x000000010d7c15ce tests`bool sol::operator==<std::nullptr_t>(x=0x00000001186978e0, v=0x00007fff5fbfcc80) at sol.hpp:3818
    frame #7: 0x000000010d7c00ea tests`bool sol::operator==<sol::basic_table_core<true, sol::basic_reference<false> >&, char const (&) [2], std::nullptr_t>(right=0x00007fff5fbfcc60, left=0x00007fff5fbfcc80) [2]> const&, std::nullptr_t&&) at sol.hpp:13512
    frame #8: 0x000000010caaf70d tests`____C_A_T_C_H____T_E_S_T____45() at tests.cpp:558
    frame #9: 0x000000010c9c8115 tests`Catch::TestInvokerAsFunction::invoke(this=0x000060200000a7b0) const at catch.hpp:8848
    frame #10: 0x000000010c92e871 tests`Catch::TestCase::invoke(this=0x000062e000016180) const at catch.hpp:8749
    frame #11: 0x000000010c92e4ba tests`Catch::RunContext::invokeActiveTestCase(this=0x0000000118b89130) at catch.hpp:7791
    frame #12: 0x000000010c90e14f tests`Catch::RunContext::runCurrentTest(this=0x0000000118b89130, redirectedCout="", redirectedCerr="") at catch.hpp:7763
    frame #13: 0x000000010c900e49 tests`Catch::RunContext::runTest(this=0x0000000118b89130, testCase=0x000062e000016180) at catch.hpp:7558
    frame #14: 0x000000010c94b8e7 tests`(anonymous namespace)::runTests(config=std::__1::shared_ptr<Catch::Config>::element_type @ 0x0000611000009b58 strong=4 weak=1) at catch.hpp:7998
    frame #15: 0x000000010c940468 tests`Catch::Session::runInternal(this=0x00000001189cb020) at catch.hpp:8172
    frame #16: 0x000000010c93f1fc tests`Catch::Session::run(this=0x00000001189cb020) at catch.hpp:8132
    frame #17: 0x000000010c93ec0f tests`Catch::Session::run(this=0x00000001189cb020, argc=1, argv=0x00007fff5fbff750) at catch.hpp:8100
    frame #18: 0x000000010ca75a30 tests`main(argc=1, argv=0x00007fff5fbff750) at catch.hpp:11508
    frame #19: 0x00007fffc097f235 libdyld.dylib`start + 1

When the macro NDEBUG is defined the assertion is removed and everything seems to run fine. Including alignment :) . So maybe the check was unnecessary.

Anyways, it appears to me that the actual alignment issues are finally fixed!
Thanks for the quick response guys!

Oh. We don't actually run the test suite with CMakeLists, but I'm actually really glad somebody used it and it almost worked, since I am going to be making our tests run by generating that and running it at some point!
You're welcome.


added ipython environment check in accelerator connector

What does this PR do?

Fixes #5966
Raise an exception rather than a warning to force users to use compatible accelerators.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified
[ ] Check that target branch and milestone match!

Did you have fun?
Make sure you had fun coding 🙃

Hello @ifsheldon! Thanks for opening this PR.

In the file pytorch_lightning/accelerators/accelerator_connector.py:

Line 503:1: W293 blank line contains whitespace
Line 518:1: W293 blank line contains whitespace
Line 521:13: E122 continuation line missing indentation or outdented
Line 522:13: E122 continuation line missing indentation or outdented
Line 523:13: E122 continuation line missing indentation or outdented
Line 524:1: W293 blank line contains whitespace

Do see the Hitchhiker's guide to code style

Could you comment on the robustness of this approach?
Can there be instances where IPython is loaded but we're not in a notebook? We should make sure we don't raise any false positive error messages

I would say it is reliable in my several tests on Linux, Windows and macOS with different distributions of IPython(x64 and aarch). And the code is given by the maintainers of IPython, which, I think, add more reliability.
And I dinged into the code a bit. The code calls get_ipython() that returns a InteractiveShell instance. That seems to be indeed reasonable way to check IPython environment, although I cannot find when the attribute kernel is attached to a InteractiveShell instance. Maybe @minrk can be so kind as to comment on that.

Can you please detail which kinds of IPython kernel are not compatible? I just found out that Jupiter-lab and Jupyter-notebook use zmqkernel, which means get_ipython() will return an instance of ipykernel.zmqshell.ZMQInteractiveShell that has a kernel attribute. However, if I run get_ipython() in terminal inside ipython, I got an instance of IPython.terminal.interactiveshell.TerminalInteractiveShell that has no kernel attribute, and ddp works well with that interactive shell, testing on the boring model with 2 GPUs.

get_ipython() explicitly check IPython environment. If python codes is run in IPython, it will return a shell instance. And the following getattr(ip, 'kernel', None) is not None only detects whether a kernel is present and implicitly infer whether python code is run with Jupyter, since Jupyter uses zmq interactive shell that has kernel attribute.
So, if we want to just check IPython, get_ipython is not None should suffice. But, if we want to detect Jupyter frontend, there is no way(as IPython aims to separate frontends and backends) but to infer that from shell types.

Can you please detail which kinds of IPython kernels and shells are not compatible? Or can you be more specific on what went wrong with Jupyter-lab and Jupyter notebook that causes such incompatibility?

DDP incompatibility is not strictly just with "notebooks". Our observation is simply that it doesn't work with them.
A script that contains Trainer(accelerator=ddp, gpus=4) must be launched with a python command, i.e.
python train.py.
Under the hood, the process (call it main process) will then launch other processes (in the example here 3) using subprocess.Popen, so essentially:
LOCAL_RANK=1 {... other env vars} python train.py
LOCAL_RANK=2 {... other env vars} python train.py
LOCAL_RANK=3 {... other env vars} python train.py

This can't work with notebooks, because notebooks can't be launched this way. Same with interactive shell I guess...

I see, and I checked again and I saw some weird issue when I run the boring model with ddp in IPython interactive shell. So, then only checking ipython should suffice, and I modified my code as the new commit. This should work as long as get_ipython() works.

Thanks for sending in the PR @ifsheldon and also @carmocca for the help polishing it


Update dependencies for the next release

Related to

esmpy, xesmf (https://github.com/XCDAT/xcdat/pull/164)
cftime
python>=3.8

We might need to include numba per https://github.com/pangeo-data/xESMF/issues/170

Hey Tom, since we are so close to the next release. Can you consider to merge this PR, for facilitate testing?

Hey Tom, Sorry about the confusion. I meant to comment here: https://github.com/xCDAT/xcdat_test/issues/35
In any case, I have a working version of xcdat_test env, so its all good.


Flow Classification Rules: add primary assessments to list table

Description
Similar to the approach taken for flows and licences.
Resourcing
We would like to add this request to the Waltz team's feature backlog

We recently added support for assessments on Flow Classification Rules, however these assessments can currently only be seen if the associated classification rule page is openend.  It would be good to see these assessments from the list on the data types page.  We should only show assessments flagged as primary in their definition.
Bonus - perhaps create a flow calssification index page which shows the table in more detail.

Need to create a FlowClassificationRuleView object which looks something like:
flowClassificationRules()
assessmentDefinitions()
ratingSchemeItems()
assessmentRatings()

The colums are added dynamically based on primary assessments.  Comments are shown as a tooltip.  The rating can be searched over.


Software crash when quit Desktop property popup with the 'ok' button

Bug desciption
When you go to your files manager and try to see property for a file or a folder, the popup comes,
but when you want to kick it away when clicking on the ''OK'' button, the files manager crash and close himself.
To reproduce

Right click on Desktop
Click on property
Click on ''OK'' button
See the error

Expected behavior
The files manager should be close the popup and not close himself.
Logfile
debug_fulltrust.txt
debug.txt
System Information

OS Version: [e.g. Windows 10 20H2 19042.804]
App version: [e.g. v<IP_ADDRESS>]

Thanks for this report. Probably same as #2714.
Does it happen all the times? Or is it random?

Thanks it's the usual issue then.


Previous projects not showing up

Describe the bug
I cant see any of my previous projects that i was working on this is very frustrating!!!!
Link to the Bolt URL that caused the error
https://bolt.new/
Steps to reproduce
i clicked login
then went to the projects sidebar
and nothing shows up
Expected behavior
my previous projects should show up
Screen Recording / Screenshot
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

same here

@IntownNFT the workaround for this can be found in issue #39 as @verbitski mentioned. A full fix is coming soon.


Hotfix/qj add default network priviliges

这个 PR 实现什么功能/修复什么问题:
修正：为用户缺省加上network的项目查询权限
是否需要 backport 到之前的 release 分支:

release/2.10.0
release/2.11.0

/area region

Codecov Report

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

@@            Coverage Diff            @@
##           master   #1619      +/-   ##
=========================================
- Coverage    7.68%   7.65%   -0.03%
=========================================
  Files         411     411
  Lines       63033   63033
=========================================
- Hits         4842    4826      -16
- Misses      57783   57796      +13
- Partials      408     411       +3

Flag
Coverage Δ

#aFlag
7.65% <ø> (-0.03%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/util/rbacutils/rbac.go
70.4% <0%> (-4.37%)
:arrow_down:

pkg/appsrv/response.go
66.15% <0%> (-3.08%)
:arrow_down:

Continue to review full report at Codecov.

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

/lgtm
/approve


feat: introduce async interface for the LinuxFile

Also, kill virtual inheritance for LinuxFile and just make it concrete. Finally a trivial test is added for covering some of the uring_file code.

Codecov Report
Attention: 16 lines in your changes are missing coverage. Please review.

Comparison is base (abca417) 79.07% compared to head (d82cc8f) 77.53%.
Report is 1 commits behind head on master.

Files
Patch %
Lines

util/fibers/uring_file.cc
52.94%
16 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #206      +/-   ##
==========================================
- Coverage   79.07%   77.53%   -1.54%
==========================================
  Files         100      103       +3
  Lines        7521     7812     +291
==========================================
+ Hits         5947     6057     +110
- Misses       1574     1755     +181

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


Demo_MultiCrypto_Trading.ipynb cannot run because of RLlib

Describe the bug
Importing from agents.rllib_models import DRLAgent as DRLAgent_rllib results in a RLlib error
To Reproduce
Run Demo_MultiCrypto_Trading.ipynb on Colab.
Error message
ImportError                               Traceback (most recent call last)
[<ipython-input-11-c2f4f1f1ce9a>](https://localhost:8080/#) in <module>
      1 from agents.elegantrl_models import DRLAgent as DRLAgent_erl
----> 2 from agents.rllib_models import DRLAgent as DRLAgent_rllib
      3 from agents.stablebaselines3_models import DRLAgent as DRLAgent_sb3
      4 from meta.data_processor import DataProcessor
      5

[/FinRL-Meta/agents/rllib_models.py](https://localhost:8080/#) in <module>
      5 from ray.rllib.agents.ddpg import td3
      6 from ray.rllib.agents.ppo import ppo
----> 7 from ray.rllib.agents.sac import sac
      8
      9 MODELS = {"a2c": a2c, "ddpg": ddpg, "td3": td3, "sac": sac, "ppo": ppo}

ImportError: cannot import name 'sac' from 'ray.rllib.agents.sac' (/usr/local/lib/python3.7/dist-packages/ray/rllib/agents/sac/__init__.py)

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
--------------------------------------------------------------------

Hi @HadiSDev
Yes, in Ray 2.0+, they have shifted all the RL algos to the algorithms folder. So that's why it is showing this error. This will require more than a few edits in the tutorial.

Yes but the error comes from the agents folder not the tutorial it self. So I cant really edit it before editing whats in the agents folder

Yes, now in RLlib all the algorithms are inside the algorithms folder. Probably they have standardized the directory structure. So I am working on it and also on some feature additions like Ray tune.

@Athe-kunal
we can  revise the install commands by adding the version.

Hi @zhumingpassional
I checked with
pip install ray==1.3.0

Because the default ray install is 2.0.0, but installing 1.3.0 will resolve this

@Athe-kunal
Ok. good.
could you pls submit a PR?

1.3.0 won't work in python 3.9

Ohh, I didn't check that. I was able to run it on colab. I need to check that.


RuntimeError: Could not find cloud plugin

I have following manifest file:
---
name: bosh
releases:
- name: bosh
  url: https://bosh.io/d/github.com/cloudfoundry/bosh?v=215
  sha1: f86d4cec1baff641287e069619d7ed4dfa578b13
- name: bosh-openstack-cpi
  url: https://bosh.io/d/github.com/cloudfoundry-incubator/bosh-openstack-cpi-release?v=15
  sha1: 5d92bc58c23e95745c17fa768566e061327b9367
resource_pools:
- name: vms
  network: private
  stemcell:
    url: https://bosh.io/d/stemcells/bosh-openstack-kvm-ubuntu-trusty-go_agent?v=3012
    sha1: e92f3bd5081301652005bdc3dd11bff545a304ef
  cloud_properties:
    instance_type: 1C-2GB-50GB
disk_pools:
- name: disks
  disk_size: 20_000
networks:
- name: private
  type: manual
  subnets:
  - range: <IP_ADDRESS>/24 # <--- Replace with a private subnet CIDR
    gateway: <IP_ADDRESS> # <--- Replace with a private subnet's gateway
    dns: [<IP_ADDRESS>] # <--- Replace with your DNS
    cloud_properties: {net_id: MY_PRIVATE_NETWORK_ID} # <--- # Replace with private network UUID
- name: public
  type: vip
jobs:
- name: bosh
  instances: 1
  templates:
  - {name: nats, release: bosh}
  - {name: redis, release: bosh}
  - {name: postgres, release: bosh}
  - {name: blobstore, release: bosh}
  - {name: director, release: bosh}
  - {name: health_monitor, release: bosh}
  - {name: registry, release: bosh}
  - {name: cpi, release: bosh-openstack-cpi}
  resource_pool: vms
  persistent_disk_pool: disks
  networks:
  - name: private
    static_ips: [<IP_ADDRESS>] # <--- Replace with a private IP
    default: [dns, gateway]
  - name: public
    static_ips: [MY_FLOATING_IP] # <--- Replace with a floating IP
  properties:
    nats:
      address: <IP_ADDRESS>
      user: nats
      password: nats-password
    redis:
      listen_address: <IP_ADDRESS>
      address: <IP_ADDRESS>
      password: redis-password
    postgres: &db
      listen_address: <IP_ADDRESS>
      host: <IP_ADDRESS>
      user: postgres
      password: postgres-password
      database: bosh
      adapter: postgres
    registry:
      address: <IP_ADDRESS> # <--- Replace with a private IP
      host: <IP_ADDRESS> # <--- Replace with a private IP
      db: *db
      http: {user: admin, password: admin, port: 25777}
      username: admin
      password: admin
      port: 25777
    blobstore:
      address: <IP_ADDRESS> # <--- Replace with a private IP
      port: 25250
      provider: dav
      director: {user: director, password: director-password}
      agent: {user: agent, password: agent-password}
    director:
      address: <IP_ADDRESS>
      name: my-bosh
      db: *db
      cpi_job: cpi
      max_threads: 3
      user_management:
        provider: local
        local:
          users:
          - {name: admin, password: admin}
          - {name: hm, password: hm-password}
    hm:
      director_account: {user: hm, password: hm-password}
      resurrector_enabled: true
    openstack: &openstack
      auth_url: https://identity1.citycloud.com:5000/v3/ # <--- Replace with OpenStack Identity API endpoint
      project: MY_PROJECT_NAME # <--- Replace with OpenStack tenant name
      username: MY_USERNAME # <--- Replace with OpenStack username
      api_key: MY_PASSWORD # <--- Replace with OpenStack password
      default_key_name: grape
      default_security_groups: [open]
      domain: MY_DOMAIN_NAME
      region: Lon1
    agent: {mbus: "nats://nats:nats-password@<IP_ADDRESS>:4222"} # <--- Replace with a private IP
    ntp: &ntp [0.pool.ntp.org, 1.pool.ntp.org]
cloud_provider:
  template: {name: cpi, release: bosh-openstack-cpi}
  ssh_tunnel:
    host: MY_FLOATING_IP # <--- Replace with a floating IP
    port: 22
    user: vcap
    private_key: ./grape.pem # Path relative to this manifest file
  mbus: "https://mbus:mbus-password@MY_FLOATING_IP:6868" # <--- Replace with a floating IP
  properties:
    openstack: *openstack
    agent: {mbus: "https://mbus:mbus-password@<IP_ADDRESS>:6868"}
    blobstore: {provider: local, path: /var/vcap/micro_bosh/data/cache}
    ntp: *ntp

When running bosh-init deploy bosh.yml:

Virtual machine with bosh is created
Additional disk is attached
Error:

[main] 2015/11/18 14:09:30 ERROR - Command 'deploy' failed: Deploying: Building state for instance 'bosh/0': Rendering job templates for instance 'bosh/0': Rendering templates for job 'registry/e1c8281e38f4f36aa17f15deecd952c711480736': Rendering template src: registry.yml.erb, dst: config/registry.yml: Rendering template src: /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/bosh-init-release791564600/extracted_jobs/registry/templates/registry.yml.erb, dst: /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/rendered-jobs812434315/config/registry.yml: Running ruby to render templates: Running command: 'ruby /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-context.json /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/bosh-init-release791564600/extracted_jobs/registry/templates/registry.yml.erb /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/rendered-jobs812434315/config/registry.yml', stdout: '', stderr: '/home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb:180:in `rescue in render': Error filling in template '/home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/bosh-init-release791564600/extracted_jobs/registry/templates/registry.yml.erb' for registry/0 (line 73: #<RuntimeError: Could not find cloud plugin>) (RuntimeError)
	from /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb:166:in `render'
	from /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb:191:in `<main>'
': exit status 1

Command 'deploy' failed:
  Deploying:
    Building state for instance 'bosh/0':
      Rendering job templates for instance 'bosh/0':
        Rendering templates for job 'registry/e1c8281e38f4f36aa17f15deecd952c711480736':
          Rendering template src: registry.yml.erb, dst: config/registry.yml:
            Rendering template src: /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/bosh-init-release791564600/extracted_jobs/registry/templates/registry.yml.erb, dst: /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/rendered-jobs812434315/config/registry.yml:
              Running ruby to render templates:
                Running command: 'ruby /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-context.json /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/bosh-init-release791564600/extracted_jobs/registry/templates/registry.yml.erb /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/rendered-jobs812434315/config/registry.yml', stdout: '', stderr: '/home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb:180:in `rescue in render': Error filling in template '/home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/bosh-init-release791564600/extracted_jobs/registry/templates/registry.yml.erb' for registry/0 (line 73: #<RuntimeError: Could not find cloud plugin>) (RuntimeError)
	from /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb:166:in `render'
	from /home/pawel/.bosh_init/installations/2e68c4ed-b6ba-4bc5-53b5-085fb21ced63/tmp/erb-renderer965315061/erb-render.rb:191:in `<main>'
':
                  exit status 1

Hey, Pawel.
Looks like registry.yml.erb of your version of BOSH expects you to have following properties in your properties.openstack section:
properties:
  openstack:
    auth_url: ...
    username: ...
    api_key:  ...
    tenant:   ...

I am sure that you need to change project field name to tenant and it should fix the issue.

In the same time the latest version of BOSH accepts both tenant and project, so you can also update version of BOSH possibly (which I would not recommend because lots of existing manifest generators are not compliant with some state of the art BOSH features).

wow, I never thought that this could be the reason... Thanks a lot!
I have 1.3104.0 bosh version and when I replaced project to tenant there was an error about lack of 'project' property. Finally when I specify both project and tenant everything is OK.
Thanks a lot again:)


Fix for execution header gap

For SNO-443
Introduce Ringbuff for FinalizedBeaconState
Improve relayer

Move syncLaggingExecutionHeaders before syncLaggingSyncCommitteePeriods so to allow ExecutionHeader to catch up
Always retrieve checkpoint and verify it exist on chain since cache missing is likely to happen since https://github.com/Snowfork/snowbridge/pull/842

Some more context https://github.com/Snowfork/snowbridge/pull/842#issuecomment-1560778241

E2E setup working for more than 8 hours, check storage as following make sure beacon sync works as expected

ExecutionHeader is synced with FinalizedHeader in light client and no latency found
FinalizedHeader in light client is synced with FinalizedUpdate from lodestar and no latency found

Just add one more improvement in https://github.com/Snowfork/snowbridge/pull/844/commits/20ed6e782ab2952bd8e12d2f59f1ff81ce21aaa6 for syncing ExecutionUpdate with Utility.batchAll, to limit scope of this PR I'll stop here execept for bug fix.


Client

New module to create a stand-alone executable jar file for VLog4j

Coverage remained the same at 81.38% when pulling 2b10dd8dbd3ebceb2c1461b5636c37fb922c501c on client into 489923ea329ea04bb2c60d98250908978cd08332 on master.

I suppose this code still needs some Maven configurations to build the jar, right? Here is an example of how I did this in the past:

WDTK client module pom; note the packaging jar
WDTK distribution module; this "virtual" module was used to keep the build configuration for the client (not sure why this cannot be in the client pom; note that this also builds library jars for the other modules, which we do not really need, so maybe one could simplify this; feel free to do it differently if there are other options).
WDTK parent pom; the corresponding parent pom, not sure if we need anything from there

If everything is set up correctly, it should be possible to build the jar as follows:
  change into "wdtk-distribution" directory
  mvn -Pclient install
  mvn -Plibrary install
  sign jars manually:
     change into "target" directory
     gpg --detach-sig wdtk-client-0.5.0.jar

I see. Many thanks.
I just exported an executable jar from Eclipse. I'll look into these Maven configurations.

I've implemented the requested changes. Could you please check them?


Subgraph composition : TriggersAdapter wrapper

This PR introduces a wrapper around the TriggersAdapter to support subgraph triggers from other subgraphs. Previously, the TriggersAdapter was chain-specific, handling triggers only for individual chains. With subgraph data sources, we need a higher-level adapter to fetch entity triggers from source subgraphs without depending on any specific chain.
This PR lays the groundwork for enabling the new subgraph data source type. The changes include:
Allow subgraph datasource in manifest
A wrapper for TriggersAdapter
A wrapper for TriggerFilter
A new trigger type specific to subgraph data sources

Would be good to address some of the comments, particularly around docs and comments. I also didn't see much in the way of testing. Would be great to see some test coverage around the new paths.

Just addressed the comments, and the suggestion for not using the WriteStore


MSW fails to intercept GraphQL queries when using vi.mock in Browser Mode

Describe the bug
I am encountering an issue where MSW is unable to intercept GraphQL queries when using vi.mock from Vitest in my test setup.
Regardless of which module is being mocked using vi.mock, MSW cannot intercept the requests when vi.mock is active.
Reproduction
A minimal reproduction of the issue can be found here. https://github.com/ytoshiki/repro-msw-vitest-browser
Steps To Reproduce

Run npm install to install dependencies.
Run npm run test:browser to start the test in the browser.
In components/index.test.ts, MSW fails to mock the GraphQL queries. However, when pressing the refetch pokemon button in the browser, the mock works as expected.
Comment out the vi.mock section in the test file, kill the running task in the terminal, and rerun npm run test:browser

  vi.mock("anyModuleToMock", () => ({
    default: {
      key: "value",
    },
  }));

Now, MSW successfully mocks the GraphQL queries without the vi.mock.

System Info
System:
    OS: macOS 14.5
    CPU: (8) arm64 Apple M2
    Memory: 70.97 MB / 24.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.nodebrew/current/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 10.5.0 - ~/.nodebrew/current/bin/npm
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  Browsers:
    Chrome: 130.0.6723.58
    Safari: 17.5
  npmPackages:
    @vitest/browser: ^2.1.3 => 2.1.3
    vitest: ^2.1.3 => 2.1.3

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Hi, @ytoshiki. Thanks for reporting this.
We've looked into the issue, and the setup and usage on your side look correct. There was a bug in MSW that prevented it from correctly forwarding the requests from the test frame to the respective worker instance (the one you create in tests).
Just upgrading msw to 2.5.0 in Vitest should fix the problem.
@sheremet-va also proposed moving the Vitest's worker to the test frame, which will also eliminate the problem by keeping all workers in a single context.

@kettanaito
I upgraded msw to 2.5.0, and it worked perfectly!
I truly appreciate the effort and responsiveness from the team.

Thank you for addressing the bug. However, after upgrading to version 2.1.4, MSW is once again unable to intercept requests when using vi.mock in tests.
The steps to reproduce are the same, and a small reproduction can be found here: https://github.com/ytoshiki/repro-msw-vitest-browser

@sheremet-va
Thank you for addressing the bug. However, after upgrading to version 2.1.4, MSW is once again unable to intercept requests when using vi.mock in tests.
The steps to reproduce are the same, and a small reproduction can be found here: https://github.com/ytoshiki/repro-msw-vitest-browser

I added an example to catch this regression in the future: https://github.com/vitest-tests/browser-examples/tree/main/examples/vue-msw-graphql
You can run it with
pnpm install
cd examples/vue-msw-graphql
pnpm test


DBeaver doesnt start on RHEL 7.5

Hi team,
i have installed the latest version of Dbeaver on my RHEL 7.5 VM. However , i am unable to start it and facing the error. Please refer the attachment log for details
./dbeaver

Start DBeaver Standalone [org.jkiss.dbeaver.ui.app.standalone <IP_ADDRESS>009201907]
Start Eclipse Jobs Mechanism [org.eclipse.core.jobs 3.10.700.v20200106-1020]
Dbeaver:
An error has occurred. See the log file
/usr/share/dbeaver/configuration/1601062494453.log.

1601062494453.log
java version
java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
Please let me know how to proceed
Regards,
Sachin S
Hewlett Packard Enterprise RnD

You need GTK3 in order to run DBeaver on RHEL.
What GTK version do you have?

there is no update on the issue for a long time.
If the issue is still actual for you - feel free to reopen it with additional info.


Connect to cosmos and create database errors out when used within Teams webhook

Package Name: @azure/cosmos
Package Version: 3.6.3
Operating system: MacOS
[x] nodejs

version: 12.16.3

[ ] browser

name/version:

[x] typescript

version: 3.3.4

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
Following exactly what documentation has to create a database in a cosmos db azure resource. Using this function inside of an outgoing webhook code block for Teams.
This error is produced: TypeError [ERR_INVALID_ARG_TYPE]: The "options.agent" property must be one of Agent-like Object, undefined, or false. Received function agent
import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://SOMEDOMAIN.documents.azure.com:443/";
const key = "SOME_KEY";
const client = new CosmosClient({ endpoint, key });

@OutgoingWebhookDeclaration("/api/webhook")
export class SnowDragonOutgoingWebhook implements IOutgoingWebhook {
      public async requestHandler(req: express.Request, res: express.Response, next: express.NextFunction) {
   foo().catch((error) => {
      log("ERROR creating database: " + error);
    });
  }
}

helper.ts
export  async function foo() {
    const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
    log(database.id);
  }

To Reproduce
Steps to reproduce the behavior:

Create a teams webhook (you can follow their documentation here)
Add the code above in your webhook implementation
Run

Expected behavior
A cosmos db should be created with no error. Or if the error described should be a warning, process should continue.

@OutgoingWebhookDeclaration("/api/webhook")
export class SnowDragonOutgoingWebhook implements IOutgoingWebhook {
      public async requestHandler(req: express.Request, res: express.Response, next: express.NextFunction) {
   foo().catch((error) => {
      log("ERROR creating database: " + error);
    });
  }
}

@beth-panx Can you clarify what is going on in this code? What is @OutgoingWebhookDeclaration and where does it come from?

@beth-panx Are you still seeing this issue with the latest SDK?

Nope I am all good. Thanks for helping out!!

I am still facing the same issue, and I am using @azure/cosmos: ^3.9.5 and @azure/storage-blob: ^12.5.0
I am using express and typescript and getting the same error with the function createIfNotExists
@beth-panx @southpolesteve


Validation

Fix mentioned in https://github.com/mayeaux/nodetube/issues/396#issuecomment-751444124.

@mayeaux
Correct me if I am wrong, but channelName, channel description and comment are only affected by these endpoints:

POST /:channel/:media - comments
POST /account/profile - ChannelName and channel description
So I've added validation and sanitization to middleware of these endpoints.

Looks really good! I like the JSDocs usage I was planning to start that soon so I'm glad you got the ball rolling.
Quick question what's this for:
const express = require("express"); //JSDoc types only
Other than that I can merge this right away, thanks my friend!

Quick question what's this for:
const express = require("express"); //JSDoc types only

It's for better type inference. VSCode comes pre-bundled with Typescript which adds a lot of type info and tooltips and also infers types off JSDoc comments.

@BassOfBass : check the review:
this works for you? it throws an error for me
TypeError: req.sanitize(...).trim(...).escape is not a function
at exports.postSignup (/Users/anthony/Development/nodetube/controllers/backend/account.js:148:37)

@mayeaux Guess this version of validator can't into chaining.

@mayeaux please review again.

@mayeaux please review again.

@mr-winson
The newest version works as collection of functions instead of middleware, so it will require complete rewrite of every req.assert() instance. But more importantly there should be a single source of truth in regards to validation constraints in the first place,

@mr-winson
The newest version works as collection of functions instead of middleware, so it will require complete rewrite of every req.assert() instance. But more importantly there should be a single source of truth in regards to validation constraints in the first place,


SDK2: Remove old SDK from Dynamic/ValidateQuota

Which issue this PR addresses:

Fixes https://issues.redhat.com/browse/ARO-4665
What this PR does / why we need it:

This PR replaces the old SDK to the new SDK2.
It affects Dynamic pkg (used in validateResources step) and ValidateQuota.go (used in openshiftcluster_putorpatch.go).
Test plan for issue:

e2e, ci
e2e creates a cluster, which verifies the validateResource step and ValidateQuota.
Is there any documentation that needs to be updated for this PR?

na
How do you know this will function as expected in production?

Cluster creation will verify the change

/azp run

it's better to keep the code as it is because the PR aims to replace the usage of mgmt clients, and changes of the way of testing (or change the way of listing) is out of scope.
Also this is just a migration, so it's dangerous to change the test code at the same time though it's not necessary.
We should keep the test code the same as much as possible otherwise we can't ensure that the behaviour hasn't been changed.

/azp run


Handle package entry compression

There are some details about the compression of the entries of 3D Tiles packages (.3dtiles and .3tz files) that are not yet fully specified, and where the implementation may have to be updated, based on the decisions that are made for the specification.
This PR covers a tiny detail that came out of a real-world example:
A 3TZ file may contain entries that are compressed. And they may be compressed with ZSTD or with DEFLATE. For now, this PR changes the behavior of the 3TZ-based TilesetSource implementation: When it encounters entries that are compressed with DEFLATE, then they will be uncompressed transparently.
Whether or not this should also happen for ZSTD- or GZIP compressed entries is not yet decided.

This PR covers two things:

Handle the case that entries of .3tz files are compressed with DEFLATE. These entries will be uncompressed transparently, and the corresponding method will always and only return the uncompressed data.
Fix some issues for large ZIP files in the "legacy" ArchiveFunctions3tz class. The latest state there did not properly handle certain data layouts for the extras block of ZIP entries (details from the spec added as a comment). Also, some method used the number type where it is safer to use bigint - so now the implementation is using bigint wherever possible.

Some details about the handling of compressed entries in packages are not yet defined. I tried to summarize them in https://github.com/CesiumGS/3d-tiles-tools/issues/56 .


RFC: Add optional arg to require_oauth

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[X] Feature
[ ] Code style update
[ ] Refactor
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[X] No

[X] You consent that the copyright of your pull request source code belongs to Authlib's author.

This PR is a request for comments and does not yet contain tests, etc.
@lepture would you accept some API that validates the access token and makes it available in current_token but does not cause an error if no token was found or validation failed.
Open questions:

An optional parameter or another decorator?
Allow the absence of a token, but do return an error if a provided token was invalid?

What is the use case? I can't figure out a use case.

What is the use case? I can't figure out a use case.

The use case would be an API resource that can be accessed both by anonymous and authenticated users, and that changes its behavior based on that. For example, I have a HAL resources that adds some links to other resources if the request is authenticated to access those resources.

It's weird to see @require_oauth(required=False), but I'll take it. :-) Thanks!

I decided to change it to optional.

Sounds good, thanks @lepture


Fix Cards Scoial icons hover overlap

Fixes #711
I have give proper margin right and left also add some style.
Basically i have give box shadow to social link so that part looks like one separate div and when you hover on that you can feel hover effects on that div also with some scale and shadow effect.
If you don't want I will remove it.

@mdazfar2 Please check my PR ?

hey @zalabhavy the hover effect should not be cover all as shown in the below screenshot try to do like that in every icons of every founder and maintainer card

@mdazfar2  changes done !

Hey @zalabhavy, sorry for the late reply! Remove the div and in the current website, try to adjust that hover. Don't add any div with extra shadow and all.

Try to do adjust only this card of hover

@mdazfar2 Done !

@zalabhavy you exceed the gap from right and left which looks strange than current deployed website

@mdazfar2 Please check new PR #719


Format start.sh

just run a shell linter on start.sh

why?

the inconsistent indentation hurt my eyes


chore(deps): update commitlint monorepo to v9 (major)

This PR contains the following updates:

Package
Type
Update
Change

@commitlint/cli
devDependencies
major
8.3.5 -> 9.0.1

@commitlint/config-conventional
devDependencies
major
8.3.4 -> 9.0.1

Release Notes

conventional-changelog/commitlint
v9.0.1
Compare Source
Bug Fixes

update dependency chalk to v4 (#1275) (a5d8fa1)
update dependency conventional-changelog-conventionalcommits to v4.3.0 (#1816) (f99aeda)
update dependency regenerator-runtime to v0.13.5 (#1017) (9c4fdf1)
update dependency semver to v7.3.2 (#1369) (3c09722)
update dependency tar-fs to v2.1.0 (#1103) (7882036)
update dependency tmp to v0.2.1 (#1817) (0ff72f4)

Features

add local plugins support (#1692) (7b29c48)
enable multiple scopes in scope-enum and scope-case rules (#901) (73632ce)

9.0.1 (2020-05-26)
Bug Fixes

add missing @babel/runtime dep #1738 (#1754) (09afcd6)

v9.0.0
Compare Source
Bug Fixes

cli: add missing regenerator-runtime to dependencies (#919) (ee5eac9)
#840 add caret to lodash versions (#843) (ffc0bac)
drop support for 'improvement' type (#899) (b27ab08)
config-lerna-scopes: correct lerna in peerDependencies (#980) (f88f00d)
ignore empty commit messages #615 (#676) (c3eb1a7)
incorrect use of when in getForcedCaseFn (#993) (34c11b8)
update dependency semver to v7.1.3 (#995) (4ee307a)

Features

add async promise based rules methods into lint (#976) (4443062)
add possibility to extend from string (#865) (056c6fe)
passdown argv to lint command (#891) (c49a57c)
config-conventional: footer/body-max-line (#436) (8b394c9)
config-conventional: increase header-max-length to 100 (#860) (ff11998), closes #859

BREAKING CHANGES

'improvement' type will now be rejected by this config.

8.3.5 (2020-01-15)
Bug Fixes

is-ignored: move types to dev dependencies (#897) (aabc549)
resolve-extends: move node types to dev dependencies (#883) (b131a18), closes #874

8.3.4 (2020-01-03)
Bug Fixes

commitlint: use new read pkg syntax (#888) (6b3b9a9)

8.3.1 (2019-10-16)
Bug Fixes

load: resolve nested parser preset factories (#831) (73a7df7)

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.

:tada: This PR is included in version 5.1.5 :tada:
The release is available on:

v5.1.5
GitHub release

Your semantic-release bot :package::rocket:


Update smartmeter to 3.4.0

https://github.com/Apollon77/ioBroker.smartmeter/issues/387#issuecomment-1869152000

3.4.0 created 25.11.2023
380 user
OK


Allow empty App-BusinessService link in CSV import

Application CSV import have BusinessService field which could be empty and that should not result to creation a new BusinessService record with empty name, but should make an Application without linked BusinessService.
Part of code making BusinessService association on Application with pointer comes from @mansam's closed PR https://github.com/konveyor/tackle2-hub/pull/127
Fixes https://issues.redhat.com/browse/TACKLE-719

The update of BusinessService model needs to be agreed by Jeff and Sam before merging.

Replaced with https://github.com/konveyor/tackle2-hub/pull/140


Update README.md

added hacktoberfest and  gssoc banner to the readme file.

@c0sm0void  kindly review and merge my PR. thankyou. :)

@c0sm0void  can you please add hacktoberfest and gssoc labels


Raise puppetlabs/concat upper limit to < 9.0.0

Pull Request (PR) description
Raise puppetlabs/concat upper limit to < 9.0.0

#171 will resolve test failure.

#171 will resolve test failure.

Feel free to merge into here.


adding rpm spec file and sysv init script

adds build_rpm target to Makefile
adds rpm spec file suitable for Fedora 22 - should be easy for someone to adjust for EL systems
adds .travis.yaml which builds the rpm inside docker on travis (so that we can specify the build os)
adds a sysv init script suitable for fedora/el

FYI. rpm build succeeds https://travis-ci.org/timhughes/webhook/builds/88250977

Thanks! :+1:

Accidentally merged it into master, #43 reverts it. Could you please make a pull request to development branch. :-( Sorry for the inconvenience...


Create Network Access Control Lists

https://github.com/Azure/azure-content/blob/master/articles/virtual-network/virtual-networks-acl-powershell.md

Hi @MAYAKARYA, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

@MAYAKARYA : Thanks for your contribution to the Azure documentation! The author, @azdocprs, has been notified to review your proposed change.

@jimdial - Looks like you're the author for this article. Please review the proposed change. Thanks!

@MAYAKARYA : I haven't done a side-by-side comparison of what you're proposing versus the original, but I see that what you're proposing has 46 lines less than the original.  It appears maybe you pasted text over the original, because the proposal appears as though all the text is new, rather than showing changes.  Can you provide a brief description of what you're proposing and why?  --Thanks

@MAYAKARYA: If I don't hear back from you over the next few days I will close this request, but you're of course, welcome to open another one at a later time too.  Please let me know what you're wanting to change and why so I can evaluate.  --Thanks

#please-close.  Closing this request since I haven't heard back from the proposer.  They're welcome to propose it again though with additional information.


Use local dependencies & add commands

This PR removes the need for global project dependencies and updates the documentation in README. Changes outlined below:

Removes need for global install of Gulp and Electron by using local dependencies
Add deploy script to npm scripts
Add documentation for new commands and building binaries

Edit: This addresses question in #204

Thanks @davibe! Love this project and hope to contribute more soon 😄


cannot create directory with Plaster 1.0.1

  <file source=''
        destination='tests\private\'
        condition='$PLASTER_PARAM_Options -contains "Pester"'/>

doesn't work

Sorry, my mistake


terraform plan fails

Hi,
Terraform plan job fails with error:
Error: Invalid index
on wordpress.tf line 34, in resource "oci_core_instance" "WordPress"
34:     source_id   = data.oci_core_images.InstanceImageOCID.images[0].id
|----------------
| data.oci_core_images.InstanceImageOCID.images is empty list of object
The given key does not identify an element in this collection value.
Fails with "Deploy to Oracle Cloud" button.
It fails at two tenancies (Frankfurt) tested.

Hi @kalju,
Thanks for testing and feedback. :) Today I have tested the latest release 1.1 with terraform plan and it works fine in FRA region. Could deploy the latest release? It is based on OL8.3.
Best,
Luke

Hi @lfeldman
Was testing with oci-wordpress-micro @ FRA
First test with uploaded ssh pub key:
Plan OK
Apply results with error:
Error: timeout - last error: SSH authentication failed (opc@:22): ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
Second test with auto generated public key
Plan OK
Apply OK
Best,
Kalju

@jeevanjoseph could you please take a look at the micro-deployment part. Looks like there is an issue with uploading the customer SSH public key.

@kalju - what format was the key you used in ? Or how was the key generated ?
The error indicates that the the ssh connection failed - the likely reason for this is the key format or typos when you pasted your public key.

@jeevanjoseph
ssh-rsa format created on my mac with usual ssh-keygen -t rsa command.
Tried both copy-paste as well as attaching as .pub file. Received same error.
I'm using same key at home setup as well as with OCI so I doubt it's the key format issue.

Got it - I’ll update after I run some more tests .

@kalju - Yes you are right - I found the issue and PR #6  should fix it. This introduces a change that will let you specify multiple SSH keys while provisioning, and  terraform will add self generated one as well to the list. This allows for post install tasks to run and can potentially be removed after bootstrap

Hi @jeevanjoseph
Just tested with oci-wordpress-micro @ FRA withh uploaded ssh key
Still receiving same error
Error: timeout - last error: SSH authentication failed (opc@<IP_ADDRESS>:22): ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

@kalju  - Sorry I was updating you of the code fix - the release had not been updated.
Its updated now and you should be able to test and verify :

@jeevanjoseph
Verified - works as expected
Thanks!


Text exercises: Remove affected submissions by feedback warning and automatic feedback tracing

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage). (removed features and tests)
[x] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I documented the Java code using JavaDoc style.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I followed the coding and design guidelines.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines. (removed features and tests)
[x] I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

With Athena not currently working and the upcoming integrating with the Athena-New repository we want to reduce coupling between Artemis and Athena. This includes features that depend on text_block and text_cluster information like: The number of affected submissions warning when assessing text exercises and the automatic feedback tracing features.
They might provide some interesting insights but ultimately, the tutor should grade submission similarly without necessarily paying extra attention on a text block feedback that might affect automatic feedback in the future. As discussed with @krusche, we are therefore removing those two features.
Description

Changes affect the text exercise assessment mode:

Remove number of affected submissions warning in the textblock feedback editor
Remove automatic feedback tracing modal and the button that opens it in the textblock feedback editor

❗Potential impacts on the database:

Remove TextAssessmentEventType enum case: HOVER_OVER_IMPACT_WARNING and VIEW_AUTOMATIC_SUGGESTION_ORIGIN
Remove TextBlock transient property numberOfAffectedSubmissions

=> As far as I understand this PR does not require a migration and is safe to use on test servers. The old assessment events with that type just continue to exist.
Steps for Testing

Prerequisites:

1 Instructor
1 Text exercise

Ideally we would test it with Athena running and working which it currently does not (http://artemis-staging.artemis.in.tum.de) -> Use any test server and play around with dev tools

Log in to Artemis
Participate in a text exercise or find a participation to assess somewhere
Go to Course Management
Go to the course
Go to the text exercise detail
Press "Exercise Dashboard"
If not already done press "Start participating in this exercise" to see all submissions to be assessed
Press "Start Assessment" or "Open Assessment" on a submission
Check if everything looks good when giving feedback
Open dev tools webapp/app/exercises/text/assess/textblock-feedback-editor/textblock-feedback-editor.component.ts
Set a breakpoint at line 89
Add feedback or navigate back and forth to trigger breakpoint (feedback has to exist in that case)
Number of affected submissions warning -> Dev tools set this.feedback.credits = 10 and this.textblock.numberOfAffectedSubmissions = 100
Warning should be removed (c.f. screenshots)
Trigger the breakpoint again
Automatic feedback tracing -> Dev tools set this.feedback.type = "AUTOMATIC"
Only the automatic badge should be visible now and the search icon button should be removed (c.f. screenshots)

Review Progress

Performance Review

[x] I confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[x] I confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Client

Class/File
Line Coverage
Confirmation (assert/expect)

textblock-feedback-editor.component.ts
95.52%
✅ (removed tests)

Server

Class/File
Line Coverage
Confirmation (assert/expect)

TextAssessmentService.java
100%
✅ (removed tests)

Screenshots

Number of affected submissions
Before: (when giving manual feedback with textblock.numberOfAffectedSubmissions !== 0 and feedback.credits !== 0)
Hard to reproduce without Athena working -> I set textblock.numberOfAffectedSubmissions = 100 and feedback.credits = 10 using the dev tools.

After: (removed the warning)

Automatic feedback tracing
Before: (Screenshot from a thesis, hard to reproduce)

After: (No button with search icon next to the automatic badge, associated modal was removed)
Hard to reproduce without Athena working -> I set feedback.type = "AUTOMATIC" using the dev tools.

Codecov Report

Merging #6765 (755edb8) into develop (4ebc09b) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #6765      +/-   ##
=============================================
- Coverage      80.38%   80.37%   -0.01%
+ Complexity     13946    13938       -8
=============================================
  Files           2448     2448
  Lines          93440    93399      -41
  Branches       13118    13112       -6
=============================================
- Hits           75112    75071      -41
- Misses         10099    10102       +3
+ Partials        8229     8226       -3

Impacted Files
Coverage Δ

.../java/de/tum/in/www1/artemis/domain/TextBlock.java
100.00% <ø> (ø)

...in/www1/artemis/service/TextAssessmentService.java
90.62% <ø> (-0.81%)
:arrow_down:

.../tum/in/www1/artemis/service/TextBlockService.java
94.28% <ø> (-1.55%)
:arrow_down:

.../webapp/app/entities/text-assesment-event.model.ts
94.44% <ø> (-0.56%)
:arrow_down:

src/main/webapp/app/entities/text-block.model.ts
72.72% <ø> (ø)

...is/domain/enumeration/TextAssessmentEventType.java
100.00% <100.00%> (ø)

...back-editor/textblock-feedback-editor.component.ts
83.58% <100.00%> (-0.33%)
:arrow_down:

... and 4 files with indirect coverage changes

Flag
Coverage Δ

client
76.14% <100.00%> (-0.01%)
:arrow_down:

server
84.93% <100.00%> (-0.02%)
:arrow_down:

Continue to review full report in Codecov by Sentry.

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


[SHIPA-1386] Enable the Use of Cloud Native Buildpacks

Description
wip
Fixes # (issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Chore (documentation addition or typo, file relocation)

Testing

[ ] New tests were added with this PR that prove my fix is effective or that my feature works (describe below this bullet)
[ ] This change requires no testing (i.e. documentation update)

Documentation

[ ] All added public packages, funcs, and types have been documented with doc comments
[ ] I have commented my code, particularly in hard-to-understand areas

Final Checklist:

[ ] I followed standard GitHub flow guidelines
[ ] I have performed a self-review of my own code
[ ] My changes generate no new warnings

Additional Information (omit if empty)
Please include anything else relevant to this PR that may be useful to know.

Implemented in https://github.com/shipa-corp/ketch/pull/90


Add Github Action

Added Github action to test package automatically  on various OS/PHP version.

@SadeghPM  thanks

@SadeghPM  hello can you make a pr for  support php 8.0  on github workflow action on os(windows,ubuntu,macos) ?


fix: remove unnecessary scrollbars on website when using firefox

This trick is used so that tailwind typography plugin doesn't add backticks around inline code, however it was adding a tiny bit of vertical scroll to code blocks unnecesarily when using firefox. Instead of setting content: "" !important we can use content: unset !important instead.
Before:

After:

Thank you!


Add Controls for Advanced Light Features

Add controls (either inline controls or use the default modal) for advanced light features like brightness, color temperature, color, and potentially other features like color loop and fading.

This was effectively addressed by adding a click action that brings up the modal on all light entities. Will close for now and reconsider a tile or other UI implementation later.