DropdownMenu don't change border color when it's focused/opened

Steps to reproduce

Run the code sample
Open/close the DropdownMenu

Expected results
The border color should change when the menu is open. Notice in the video/code below, how using the same property the TextField changes the border color.
Actual results
The border color don't change
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const DropdownMenuExample());
}

class DropdownMenuExample extends StatefulWidget {
  const DropdownMenuExample({super.key});

  @override
  State<DropdownMenuExample> createState() => _DropdownMenuExampleState();
}

class _DropdownMenuExampleState extends State<DropdownMenuExample> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        useMaterial3: true,
        colorSchemeSeed: Colors.green,
      ),
      home: Scaffold(
        body: SafeArea(
          child: Column(
            children: <Widget>[
              Padding(
                padding: const EdgeInsets.symmetric(vertical: 20),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    DropdownMenu<int>(
                      inputDecorationTheme: InputDecorationTheme(
                        border: MaterialStateOutlineInputBorder.resolveWith(
                          (states) => states.contains(MaterialState.focused)
                              ? const OutlineInputBorder(borderSide: BorderSide(color: Colors.red))
                              : const OutlineInputBorder(
                                  borderSide: BorderSide(color: Colors.blue),
                                ),
                        ),
                      ),
                      initialSelection: 1,
                      onSelected: (_) {},
                      dropdownMenuEntries: [
                        for (int i = 1; i <= 5; i++)
                          DropdownMenuEntry<int>(
                            value: i,
                            label: i.toString(),
                          ),
                      ],
                    ),
                    const SizedBox(width: 50),
                    Flexible(
                      child: TextField(
                        decoration: InputDecoration(
                          border: MaterialStateOutlineInputBorder.resolveWith(
                            (states) => states.contains(MaterialState.focused)
                                ? const OutlineInputBorder(borderSide: BorderSide(color: Colors.red))
                                : const OutlineInputBorder(
                                    borderSide: BorderSide(color: Colors.blue),
                                  ),
                          ),
                        ),
                      ),
                    ),
                  ],
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
bug.webm

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.19.0, on Ubuntu 22.04.4 LTS 6.5.0-26-generic,
    locale en_US.UTF-8)
    • Flutter version 3.19.0 on channel stable at
      /home/user/fvm/versions/3.19.0
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bae5e49bc2 (6 weeks ago), 2024-02-13 17:46:18 -0800
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at
      ...
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /home/user/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✗] Linux toolchain - develop for Linux desktop
    ✗ clang++ is required for Linux development.
      It is likely available from your distribution (e.g.: apt install clang),
      or can be downloaded from https://releases.llvm.org/
    ✗ CMake is required for Linux development.
      It is likely available from your distribution (e.g.: apt install cmake),
      or can be downloaded from https://cmake.org/download/
    ✗ ninja is required for Linux development.
      It is likely available from your distribution (e.g.: apt install
      ninja-build), or can be downloaded from
      https://github.com/ninja-build/ninja/releases
    ✗ pkg-config is required for Linux development.
      It is likely available from your distribution (e.g.: apt install
      pkg-config), or can be downloaded from
      https://www.freedesktop.org/wiki/Software/pkg-config/

[✓] Android Studio (version 2023.2)
    • Android Studio at /home/andry/android-studio/
    • Flutter plugin version 78.4.1
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /home/andry/android-studio/
    • Java version OpenJDK Runtime Environment (build
      17.0.9+0-17.0.9b1087.7-11185874)

[!] Android Studio (version unknown)
    • Android Studio at /home/user/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build
      17.0.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.87.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.84.0

[✓] Connected device (3 available)
    • Android SDK built for x86 64 (mobile) • emulator-5554 • android-x64    •
      Android 6.0 (API 23) (emulator)
    • Linux (desktop)                       • linux         • linux-x64      •
      Ubuntu 22.04.4 LTS 6.5.0-26-generic
    • Chrome (web)                          • chrome        • web-javascript •
      Google Chrome 123.0.6312.58

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

According to Flutter documentation:

By default, on mobile platforms, tapping on the text field and opening the menu will not cause a focus request and the virtual keyboard will not appear.

So if you set  requestFocusOnTap: true that will cause the change color:
video.webm
But, if you open it using the IconButton, the color don't change:
video2.webm

@AndryCU I think the given solution by @adonisRodxander is correct. If you want to change border color when the field is focused, the field should be focused first, and adding requestFocusOnTap: true is a good one here.
However, if you want to change the border color when clicking on the trailing button (arrow drop icon button), it seems to be another proposal. Just let me know if you want to keep this issue as the proposal for it or close this one to open another proposal.

@huycozy in the solution proposed by @adonisRodxander , I see as a drawback the fact that the keyboard appears. Taking into account what you say, then, yes, I would like to keep this issue, but, if possible, not only to change the border colour when the trailing button is pressed but also other properties.
I would take into account not only to change the border colour, but also the whole decoration: border radius, shape, border colour, etc. Give the dropdown menu the possibility of full customization when the menu is opened.

I see as a drawback the fact that the keyboard appears

It's an intended behavior when focusing on TextField. If you want to block the keyboard from appearing but still keep the focus on it, I think you must build a custom DropDownMenu based on your needs. A suitable approach is adding showCursor: true and readOnly: true to the underlying TextField. I see a semi-similar request at https://github.com/flutter/flutter/issues/143938. If you want to go with this approach, you can add there your case in the comments.
With all this information, I will mark this issue as a proposal for trailing button case only. Would it be appropriate for you?

Yes, go ahead

CC @QuncCccccc

While we are at it can we please customise the dropdown material card to put a background around the whole dropdown layover please?


Feat : MultiCVRP wrapper

What?
adds a wrapper for multicvrp.
Why?
To make mulctivcrp mava compatible.
How?
This wrapper takes in the output from the multicvrp environment and converts it into a Mava suitable input.

This PR has been closed as it requires extensive maintenance and testing before merging. Therefore, we have created an issue to track and address this!


0.12.4 > 0.13.2 Upgrade Error: Super expression must either be null or a function, not undefined

To keep up with the latest changes, in a 0.12.4 React Router project I'm working on, I did a drop-in replacement upgrade to 0.13.2, and out of the gate, I get this error:

Seems like a compile-time error.  I'm running Browserify to compile my modules (want to move to Webpack eventually, but need more time), and I also have React Router installed via Bower, with a browser entry pointing to the global unminified build: ./bower_components/react-router/build/global/ReactRouter.js.  Any tips on ways to get around this?

This happened to me on one of my machines. The problem for me was that React.Component was not defined, which meant React was still at version 0.12.x, not 0.13.x. I had forgotten to npm install the newer version of React in that environment. Doing so fixed the problem.

Yep, I also had it for the same reason. Pretty sure it's not a router issue so closing down.

I'm getting this exact issue, with React.Component as undefined, after upgrading React to 0.13.2 and React Router to 0.13.3

I had the same problem.It's because that I didn't spell Component correctly,the first letter should be uppercase.

@Hkmu :+1:

haha thanks for Hkmu


Verb missing

"are" is probably the appropriate verb here.

@ghanique-pra : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks @ghanique-pra.


Possible to generate release with updated dependency versions?

Hi! Nice work on this library! Would it be possible to create a new release with updated dependencies for this project and push it to PyPI? The schematics dependency specifically is somewhat out of date. Newer releases of that library contain fixes for things which emit deprecation warnings with the current version and it would be nice to stop getting those. 🙂

I don't understand this issue. Schematics is at 2.1.1, which is the version that pip install swish pulls in. The requirements.txt was updated before the 1.1 release of swish on PyPI, so I don't understand how you're getting an older version.

Hmm, yes, given that schematics>=2.0.1 is in requirements.txt file the most recent version of schematics should be used. I don't think it was be the cause, but I did use Poetry to manage this dependency. It's been some time since I opened this issue but I do clearly remember getting deprecation warnings which prevented a Python upgrade above 3.9. Either way, since I no longer work for the employer where this was an issue and we anyways removed Swish there's no reason to keep this issue open as far as my needs go. I'll go ahead and close it to keep things clean.


disorienting UI behavior

When you are viewing an image in multi-plane mode, and happen to click in an empty area in the left tool bar (even by accident), the display mode will automatically switch to "render". I discovered by accident. Not sure if intentional, but it was disorienting because I clicked on a button-less area and things happened.

This is a feature - clicking on unused part of toolbar is a shortcut to go from 2D views to render view.


Navbar on/off and custom dimensions (1/2)

Look for second commit in packages/apps/Settings
Forward port from 5.5.9.
Tested on D855. Both dimensions and on/off switch work. No conflicts with fullscreen/expanded mode or SlimDim.

Can you also merge Setttings?
And have you retained Authorship for This commit?

Yes, i'm currently cleaning settings up - i'm removing cm's native "disable_nav_keys" preference that doesn't even work.
Authorhip:
I had ported it without looking at commits and forgot about it, sorry.
 Will specify everyone in commit message.
Authors:
@westcripp
@hany
Lokesh Chamane
@kufikugel
@cristianomatos
Authors of pac and slim roms

Hey there folks, I think there's some mistake here. I am not an author here, and I believe credit is being given in error.


Bump ppy.osu.Game to 2020.1009.0

Also fixes the obsoleted code errors introduced by this update.

I'm not too entirely sure if we want to override ToNumericResult anymore, since both code seem to act exactly the same.

This line of code was changed due to the osu! Team making NumericResultFor obsolete as seen here https://github.com/ppy/osu/blob/e41085dbb5e62d9a28de724448c5ae554bace49d/osu.Game/Rulesets/Judgements/Judgement.cs#L89

Sorry for taking over this, but I need to get a hotfix released ASAP so users aren't left with a non-functional version of Tau.


Checking if a user is registred with his token

Hi,
sorry that I'm posting this question here (as an issue), I've post it some time ago in stackoverflow but no one did answer.
I just wanted to check the token and see if the user on it is registered and if true, then return the user, else I would liked to return a 403 error.
but I'm using this code for now as a workaround, its working good but will not return the error code I wanted, instead, it redirects to login route
$user = $this->container->get('sonata.user.user_manager')->findUserByUsernameOrEmail(
            $this->container->get('lexik_jwt_authentication.jwt_token_authenticator')->getCredentials($request)->getPayload()['username']
        );

        if ($user)
        {
            return $user;
        } else {
            return null;
        }

tnx again for you help.

The general way for symfony is to check is_granted('IS_AUTHENTICATED_FULLY')

@scaytrase Thanks for the answer, but its not what I wanted. I mean I need to decode the Payload and extract the username, then check if this username exists.
if true then it will return the user object. else it should throw a 403 (or 401) error, without redirecting to login page. similar question have been asked in #122 but the solution is not working for me

You should not do this manually for sure. If you have configured firewall with access_control section (which triggers firewall) then you will should have this functionality by default. Looks like that you have some kind of firewall misconfiguration, as redirection is performed with form_login only (or custom authenticators). You can post more of your config (i.e firewall and access_control) so we can help you

@AienTech Hi, sorry for being late.
@scaytrase is right. You should take a look at the README, this bundle provides an authentication mechanism that makes use of the symfony security system. You have to configure the guard authenticator on your firewall to do things right, not fetching it from the container for authenticating users manually. Like that you're sure to don't create security issues in your app.
I should have made the authenticator service private to avoid such usages, it may well be deprecated in the next minor release and no longer possible in the next major.
If you face issues at following the README, please follow this advice:

You can post more of your config (i.e firewall and access_control) so we can help you

If you're good, please close this :)
@scaytrase Thanks a lot for helping

dear @scaytrase and @chalasr thanks for your helps. just to make sure, I'll send my security configs. maybe there is something that I didn't see.
security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512

    acl:
        connection: default

    access_decision_manager:
        strategy: affirmative

    role_hierarchy:
        ROLE_SALES_NOTIFICATIONS: [ ROLE_SALES_NOTIFICATIONS ]
        # FULL CONTROL
        ROLE_ADMIN:       [ROLE_USER, ROLE_SONATA_ADMIN]
        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username_email

    firewalls:
        # Disabling the security for the web debug toolbar, the profiler and Assetic.
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        # -> custom firewall for the admin area of the URL
        admin:
            pattern:            /admin(.*)
            context:            user
            form_login:
                provider:       fos_userbundle
                login_path:     /admin/login
                use_forward:    false
                check_path:     /admin/login_check
                failure_path:   null
                success_handler: admin_success_handler
            logout:
                path:           /admin/logout
            anonymous:          true

        # Custom firewall for api area
        api_login:
            pattern:  ^/api/user
            stateless: true
            anonymous: true
            provider: fos_userbundle
            form_login:
                check_path:               /api/user/check
                success_handler:          lexik_jwt_authentication.handler.authentication_success
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure
                require_previous_session: false

        api:
            pattern:   ^/api/
            methods: [ POST, PUT ]
            stateless: true
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator

        api_doc:
            pattern: ^/api/doc
            stateless: true
            anonymous: true
        # -> end custom configuration

        # default login area for standard users

        # This firewall is used to handle the public login area
        # This part is handled by the FOS User Bundle
        main:
            pattern:             .*
            context:             user
            form_login:
                provider:       fos_userbundle
                login_path:     /login
                use_forward:    false
                check_path:     /login_check
                failure_path:   null
            logout:             true
            anonymous:          true

    access_control:
        # URL of FOSUserBundle which need to be available to anonymous users
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }

        # Admin login page needs to be access without credential
        - { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }

        # Secured part of the site
        # This config requires being logged for the whole site and having the admin role for the admin part.
        # Change these rules to adapt them to your needs
        - { path: ^/assets/, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/uploads/, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN] }
        - { path: ^/user/, role: [ROLE_USER] }
        - { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api/, roles: IS_AUTHENTICATED_FULLY, methods: [POST, PUT] }
        - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/efconnect, role: IS_AUTHENTICATED_FULLY }
        - { path: ^/elfinder, role: IS_AUTHENTICATED_FULLY }

the thing is, I've secured all of my POST and PUT methods, and not all of GET methods are secured, since they can be accessed publicly, but there are some other GET methods which needs the user to be logged in. as an example,
GET /api/blog/posts will return the blog posts as expected, it doesn't need and security but
GET /api/user/profile' must be protected and must return the users profile with token.
I'm thinking that maybe I'm misusing the api...

-  { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY }

Could this be an issue? You have the WHOLE path /api/user/ being accessed anonymously, not only /api/user/check here
try something like `^/api/user/check$

@AienTech What's the status of this issue?

@chalasr I'll check very soon

I'm closing here due to the lack of feedback, feel free to reopen.


Some Simple Example

Hi Can you post a simple example Like loading contact list from contacts database and make them multi selectable with same animation as you have in your v5 branch for selection,
Your library though extremely useful is a bit too technical for a  newbie to understand,
Or it may be the case I am not reading the correct code base.

@rajivenator, I think it's possible, but keep in mind that the demo will be reviewed, as it is I don't like too :-) just that, I don't have time.

@rajivenator, what exactly is not clear: item interfaces? animators? methods to call?
I can try to create a better wiki page.

Hi may be the wiki needs a proper step by step.. In current documentation I am not able to understand where do i write View holders and how do i pass the collection of Items to be shown in recycler view.
Thanks in advance.

Ok, I will try to make something similar, however the ExampleAdapter (or the newest OverallAdapter) has my comments and you can see 2 ways to implement/bind ViewHolders. the normal way and with item interfaces.

I've added How to use wiki page.
You can you give some suggestions.

Thanks for this great library. You've really demonstrated how powerful the RecyclerView can be with this. But I'm afraid you've highlighted how complex it can be too.
I've been trying to implement a simple sectioned recycler view with sticky headers for half a day, and I'm afraid I'm not quite able to figure out what needs to be done. The multiple levels of abstractions and inheritances in the examples have left me doing my head in and some of the documentation seems to be related to the code of the master branch instead of the dev branch code which I think you've used to build the beta5 apk. I'm gonna take another crack at it after clearing my head for a bit.

@hari2109, thanks for your message, but if you can be more specific maybe I can help you. The demo is under heavy development, and if you compare the one in dev today for the last SNAPSHOT with the b5, much is changed and will continue to change to better separate single examples in fragments.
Regarding the levels of abstraction, there are wiki pages for 5.0 that explain the library structure and how the class signatures can be done.
However, I've studied others similar libraries and they are more or less on the same level, some even more complex.

@davideas Yes, I can see that it is still undergoing lots of significant changes. I am waiting for the final stable version. In the meanwhile, I've gone ahead and tested an implementation of the b5 and used an implementation similar to the FragmentHeadersSections from the example.I added the JCenter b5 dependency, and I am able to get a simple list without any headers working now.
After making my data model implement the ISectionable interface, I tried to display the headers. But this call in the bindViewHolder method,
List<ISectionable> sectionableList = adapter.getSectionItems(this);
is causing an ANR in my application and after checking the implementation of this method, I can see that it is different in the dev branch and the added library. Could that be what is causing the issue?

@hari2109, indeed I changed that function (it was completely wrong), I trust you if it was causing an ANR, but I can't verify it.
If you really need it, please use the new SNAPSHOT release.
I still have to modify the demo app for the fab button, it will show a little dialog or a bottom sheet to customize the item to add depending the fragment in use, so I will also test all the new functions as well.
PS. For specific question like this, it is better to create another issue, next time.

@davideas Sure, I will try with the SNAPSHOT release. I will report as separate issues if I find any as I keep exploring the different options. Initially the major difference in implementation of the example for the dev and master was what confused me. I have a clearer understanding of how to use it now. Thanks. Keep up the great work :+1:


Reliable QoS for publishers

Description
This PR is to ensure compatibility with some subscribers making reliable as QoS's default for publishers.
Fixes issue #135
More information here.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Before apply any changes I run gazebo create3 simulation
ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py

And then I verify the QoS profile of certains topics with
ros2 topic info <topic> -v

So, before applying any changes the Reliability field inside QoS profile is BEST_EFFORT.
After applying the changes the same field change to RELIABLE
Also I run the example described here before and after making changes and everything works as expected.
Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation

I just rebase it to main branch. Should I be concern about the failed check? I take a look at it and couldn't figure it out, besides the simulation is running just fine for me.

Yes we can't merge if there are test failures.
They are all linter errors, e.g. lines exceed the max length of 100.
You should run colcon test locally to reproduce the failures.

Done! It was just a couple of style divergence errors.
Everything should be correct now.


Draw on top of the fog for players

One thing that could be added (I've been investigating but couldn't do it with the current version of SF) is to print on top of the fog to mark possible landmarks or zones that the players discover while playing. Right now whatever I draw is hidden because of the fog layer. Even changing the Z-Index of the fog doesn't seem to work.
Here is an example in Roll20 of how we manage to do it by printing the fog.

On foundry however the players can't look past that fog.

Can confirm, I can't draw on top of the fog layer anymore, when it was possible in v9. The Z-Index setting doesn't seem to have any effect.

It would be really cool if this could this could be fixed. I'm also using Simplefog for map exploration and I feel like I should be able to draw on top if I use the correct Z-Index but that's not the case unfortunately.
My (GM) view:

Player view:

Simplefog Z-Index is set to the default 220.


None of the Relations work

Laravel-mongodb Version:  dev-develop
PHP Version: 7
Database Driver & Version:  atlas

Description:
Ok I have been working on this for three days with no results, I have to assume at this point that there might be bug that is causing this.
I am setting up an extremely simple relation   hasOne
// Categories
{
	_id: ObjectId('5c8445700000000000000000'),
	name: 'Foo',
	description: 'Test foo'
}

// Posts
{
	_id: ObjectId('5c8445700000000000000001'),
	name: 'Bar',
	text: 'Test foo',
	category_id: ObjectId('5c8445700000000000000000')
}

The Controller Code
   protected $collection = 'category';
    protected $primaryKey = '_id';
    protected $guarded = [];

    protected $casts = [
        'category_id' => 'string',
    ];
public function category()
{
    return $this->hasOne(Categories::class,  '_id', 'category_id');
}

Blade
  $category = Categories::where('name', 'Foo')->first();

           dd($category->parent());

No matter what I did or tried the result relation is always empty.
Anybody has any ideas?

Hello,
Why are you using dev-develop version and not the latest stable ones?
Thanks!


enable_{{ unit }}_{{ unittype}} fails for systemd path units.

The enable state does not include the unittype, hence when creating a path based-unit, enable will fail, as systemctl assumes .service.
systemd:
  path:
    test_watch_changes:
      Path:
        PathModified: /path/to/monitor
        Unit: some_service_to_trigger.service
      Install:
        WantedBy: multi-user.target

This will result in the following error when applying the state:
----------
          ID: enable_test_watch_changes_path
    Function: cmd.wait
        Name: systemctl enable test_watch_changes
      Result: False
     Comment: Command "systemctl enable test_watch_changes" run
     Started: 19:19:58.136892
    Duration: 7.458 ms
     Changes:

Fix
Did a quick patch and tested with service, path definitions.
  | @@ -18,7 +18,7 @@ include:
-- | --
18 | 18 |
19 | 19 | enable_{{ unit }}_{{ unittype }}:
20 | 20 | cmd.wait:
21 |   | -    - name: systemctl enable {{ unit }}
  | 21 | +    - name: systemctl enable {{ unit }}.{{ unittype }}
22 | 22 | - watch:
23 | 23 | - cmd: reload_systemd_configuration

@r-pufky can you create a PR for this change so we all can benefit?

:tada: This issue has been resolved in version 0.12.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Responsive Prop not working

I want to make my table responsive but seems like there is no prop in react bootstrap table 2 to make the table responsive. Is there any other way. I want to show horizontal scrollbar in the table.

This is one of feature we didn't bring to react-bootstrap-table2. Right now, we don't support the horizontal scrollbar and it's still not in the plan.

However, you can still leverage the bootstrap table-responsive via adding the class on table element

This issue had been solved by #325
<BootstrapTable wrapperClasses="table-responsive" />


Fix fix images

Setting this to beta to make sure it works, then will merge after. It works locally, the problem was in the previous calls to url_for('.card', '{cardname}'), the curly brackets were getting urlescaped.

Hey @tsutton,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: e41f8350-05c8-11ea-a86a-e5201e811db5


The "BlazorWasmAntivirusProtection.Tasks.CleanOldDlls" task could not be loaded

Environment:

windows 10
visual studio 2022 17.4.0,
.net 6
BlazorWasmAntivirusProtection version 2.0

To reproduce:

Created a new blazor webassebmly project with Asp.net core hosting, HTTPS and PWA checked.
Installed BlazorWasmAntivirusProtection version 2.0 to both server and client projects
Publish

Ran into this error:
Error       The "BlazorWasmAntivirusProtection.Tasks.CleanOldDlls" task could not be loaded from the assembly C:\Users\me\.nuget\packages\blazorwasmantivirusprotection\2.0.0\build\net6.0....\tasks\BlazorWasmAntivirusProtection.Tasks.dll. Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the  declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
With my other existing project the error is a little different, marked in bold:
Error       The "BlazorWasmAntivirusProtection.Tasks.ObfuscateDlls" task could not be loaded from the assembly C:\Users\me\.nuget\packages\blazorwasmantivirusprotection\1.9.0\build\net6.0....\tasks\BlazorWasmAntivirusProtection.Tasks.dll. Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the  declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
I deleted the these folders

"C:\Users\me\.nuget\packages\blazorwasmantivirusprotection"
obj of both server and client projects
bin of both server and client projects

and then ran a dotnet restore, but it doesn't fix it.

Version 2.0 depends on .net 7.0

I created a new project, tried both 1.9 and 1.8, and in both times I got this error during Publish:
The "BlazorWasmAntivirusProtection.Tasks.CleanOldDlls" task could not be loaded from the assembly C:\Users\user\.nuget\packages\blazorwasmantivirusprotection\1.8.5\build\net6.0....\tasks\BlazorWasmAntivirusProtection.Tasks.dll. Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the  declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask

I tried updating to 2.0.0 on my .Net 7 project and am also getting this error on publish, except it says System.Runtime, Version=<IP_ADDRESS>.
No issues on 1.8.5.

Severity	Code	Description	Project	File	Line	Suppression State
Error		The "BlazorWasmAntivirusProtection.Tasks.CleanOldDlls" task could not be loaded from the assembly C:\Users\xxxx.nuget\packages\blazorwasmantivirusprotection\2.0.0\build\net6.0....\tasks\BlazorWasmAntivirusProtection.Tasks.dll. Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the  declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask

@stavroskasidis , I'm also facing the same error.
C:\Users\xxxx.nuget\packages\blazorwasmantivirusprotection\2.0.0\build\net6.0\BlazorWasmAntivirusProtection.targets(19,3): Error MSB4062: The "BlazorWasmAntivirusProtection.Tasks.CleanOldDlls" task could not be loaded from the assembly C:\Users\xxxx.nuget\packages\blazorwasmantivirusprotection\2.0.0\build\net6.0....\tasks\BlazorWasmAntivirusProtection.Tasks.dll. Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the  declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
Sample Repo

Thank you for your feedback. I think I see the issue. I will fix it asap and post a new version

Hi,
I still have the same error with the 2.1 version on dotnet 7. Do i need to do something ?

Yes same issue exists with 2.1 version on .net 7 - Sample Repo

I can't reproduce it. I have tried the sample repo you provided, in multiple PCs, everything works. I even tried a clean PC with only sdk 7.0 installed. What does your dotnet --info say? What sdks you have installed? Do you maybe have some .net7 preview sdk installed that interferes?

Here is my dotnet --info command output
.NET SDK:
 Version:   7.0.100
 Commit:    e12b7af219

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22000
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\7.0.100\

Host:
  Version:      7.0.0
  Architecture: x64
  Commit:       d099f075e4

.NET SDKs installed:
  6.0.201 [C:\Program Files\dotnet\sdk]
  7.0.100 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Out of curiosity, I ran "dotnet publish" from the command line and it seems like it works, the bug happens if I attempt to publish from Visual Studio 2022 though. I haven't tried to migrate to the new container publishing stuff from .Net 7, so at the moment I publish to docker through VS and Docker Desktop.
Wonder if it's a VS bug trying to find the runtime? I don't even technically have the .Net 7 SDK installed standalone, just as part of the Visual Studio install process.

@Xeio the sample repo I provided above tries to run dotnet publish from command line using GitHub actions and it fails there.

I'm very sorry, it is my fault! The error was caused by pull request #32 from me.
Hi @stavroskasidis , could you take a look at a new pull request #39 to recover from this problem?

@jsakamoto Thank you for finding this. I went a different approach from your PR, I used Brotli.NET which works in .netstandard2.0, a simpler change.
Everyone try using v2.2.1, these issues should now be fixed.

@stavroskasidis

Thank you for finding this. I went a different approach from your PR, I used Brotli.NET which works in .netstandard2.0, a simpler change.

Oh, I took my mistake again, I failed update my development environment to track your latest achievement.
I'm very sorry to bother you.

@stavroskasidis
I noticed there is the message below from @fingers10 :

the sample repo I provided above tries to run dotnet publish from command line using GitHub actions and it fails there.

The problem above is caused by the "BlazorWasmPreRendering.Build" NuGet package, not from your package. So it is good to close this issue with the resolved status.

Yeah also this works when published from command line but fails with visual studio publish

@fingers10

Yeah also this works when published from command line

On my environment, your project is failed with the latest version 2.2.1, regardless of whether command line or Visual Studio. Moreover, the error message tells me the reason for the error is in the "BlazorWasmPreRendering.Build". So please don't post about it to this issue thread anymore. Instead, please post about it to the issue thread of the "BlazorWasmPreRendering.Build" (Issue 22).

Just confirming that 2.2.1 seems to work for me now as far as the issue in the OP (CleanOldDlls task).

@stavroskasidis for some reason the publish fails in github actions deploy. Here is the link.
Error:

The type initializer for 'Brotli.Brolib64' threw an exception

Logs:
/home/runner/.nuget/packages/blazorwasmantivirusprotection/2.2.1/build/net7.0/BlazorWasmAntivirusProtection.targets(36,3): error : The type initializer for 'Brotli.Brolib64' threw an exception. [/home/runner/work/ilovedotnet/ilovedotnet/Web/Web.csproj]
  BlazorWasmAntivirusProtection: Renaming .dll files to .dat finished
Error: Process completed with exit code 1.

Please refer issue for more details.

@jsakamoto Turns out your implementation of packaging a BrotliCompress tool as a console app is a better implementation, because Brotli.NET uses native dependencies that may not be there (e.g. Docker container, girhub actions agent).
I am releasing a new version that includes your code (2.3) from the pull request you submited.
Thank you for implementing it.
@fingers10 Please try version 2.3.0-beta to see if that fixes the problem.

Closing as it should be fixed with 2.3.0. Please reopen if you still have an issue.


⚠ Bofrost.de has degraded performance

In ed42bc1, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1754 ms

Resolved: Bofrost.de performance has improved in e5be7ae.


Change or remove the "powered by" image for OS Hub embedded map

Embedded maps have a "powered by" image in the footer. For OS Hub embedded maps we will need to change or remove this
On the individual facility pages for EM, replace the link text that says "View on the Open Supply Hub" with "View on Open Supply Hub"

Design files for logo:

@mariel-oar Labeled client action needed because we need to

Decide if we want to replace or remove the embedded map footer image
If we are going to replace it with an image, we need one of our design partners to create it. Alternatively we could replate it with a text link.

@jwalgran, we have a new graphic for this coming Oct 14, so suggest holding on it until then and going with option 2

@mstone121 - this issue is unblocked!


Disallow syncing home directory or root directory

This is a first step towards resolving #7.

Is this what we want to do? I think I personally would prefer implementing a general "warning" screen that informs the user of the danger of their action and allows them to say yes or no. This would allow us to then check things such as the amount of files that get deleted on sync down, etc.
Obviously, the root directory should throw an error as this does – but I could imagine some scenarios for the home directory to be a valid sync target, even if it's just once to get your dotfiles synced up.

I disagree that the home directory is a local directory that should be permitted: sml-sync doesn't currently provide a way to select a subset of local directory contents to be synchronised, so there's no way to upload your dotfiles with sml-sync --local $HOME without also synchronising the other contents of your home directory. This will typically include files which shouldn't leave your local machine, such as private keys in ~/.gnupg and ~/.ssh, as well as large amounts of data orthogonal to SherlockML usage, such as ~/Music.

Those are good points, agreed


customize TLS cert SAN for apiserver

When creating TLS cert for apiserver, the SAN is set to use node FQDN and other predefined DNS names, such as leader.telekube.local, apiserver and etc.
Is it possible to add custom DNS names?  For example apiserver.<cluster-name>.
The purpose of the feature is to allow a cluster to be accessible from outside the cluster.

I don't believe this is currently available in the OSS version through configuration. I'll leave this ticket open so we do address it.
As a workaround, you might be able to deploy teleport (https://github.com/gravitational/teleport) as a proxy in-front of the gravity cluster. This is our preferred tooling for sso/audit/proxy to kube clusters, although we use a sort of different deployment model in enterprise releases.


Recorder component is randomly stuck at startup when used with history_stats

Home Assistant release: 0.39.0.dev0
Python release: 3.5.2
Component/platform: Recorder + history_stats
Description of problem:
When using the history_stats component (I'm the one who have developed it), the boot of home assistant is randomly stuck (i.e sometimes it works, sometimes not, without changing anything).
I'd say the problem occurs in about 1 out of 3 attempts to boot.
I have no idea if the problem comes from the history_stats component, or if the recorder doesn't like being called at startup.
Problem-relevant configuration.yaml entries and steps to reproduce:
homeassistant:
  name: Home
  latitude: 43.5995
  longitude: 1.4332
  elevation: 144
  unit_system: metric
  time_zone: Europe/Paris

frontend:
http:
updater:
conversation:
history:
logbook:
sun:
tts:
  platform: google

input_boolean:
  test_button:
    name: Testing button
    initial: off

sensor:
  - platform: history_stats
    name: Button today
    entity_id: input_boolean.test_button
    state: 'on'
    start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
    end: '{{ now() }}'

Just start home assistant with the hass command.
If home assistant succeeds to boot, call homeassistant/restart, or kill with Ctrl+C and try again.

Traceback: (the last lines keep going on forever)
17-02-20 18:28:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_off, domain=homeassistant>
17-02-20 18:28:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_on, domain=homeassistant>
17-02-20 18:28:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=toggle, domain=homeassistant>
17-02-20 18:28:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=stop, domain=homeassistant>
17-02-20 18:28:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=restart, domain=homeassistant>
17-02-20 18:28:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=check_config, domain=homeassistant>
17-02-20 18:28:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=reload_core_config, domain=homeassistant>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=create, domain=persistent_notification>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Home Assistant core initialized
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded tts from homeassistant.components.tts
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded http from homeassistant.components.http
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded frontend from homeassistant.components.frontend
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded api from homeassistant.components.api
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded websocket_api from homeassistant.components.websocket_api
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded sensor from homeassistant.components.sensor
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded logbook from homeassistant.components.logbook
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded recorder from homeassistant.components.recorder
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded conversation from homeassistant.components.conversation
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded updater from homeassistant.components.updater
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded sun from homeassistant.components.sun
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded input_boolean from homeassistant.components.input_boolean
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded history from homeassistant.components.history
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up recorder
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=recorder>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up http
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=http>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded tts.google from homeassistant.components.tts.google
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up tts
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=google_say, domain=tts>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=clear_cache, domain=tts>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=tts>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up api
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=api>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up websocket_api
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=websocket_api>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up frontend
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=frontend>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.loader] Loaded sensor.history_stats from homeassistant.components.sensor.history_stats
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up history
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=history>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up sensor
17-02-20 18:28:03 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.history_stats
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state sensor.button_today=0; friendly_name=Button today, unit_of_measurement=h, value=0s, ratio=0.0%, from=2017-02-20 18:28:03, to=2017-02-20 18:28:03, icon=mdi:chart-line @ 2017-02-20T18:28:03.206822+01:00>, entity_id=sensor.button_today, old_state=None>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=sensor>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up logbook
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=log, domain=logbook>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=logbook>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up conversation
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=process, domain=conversation>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=conversation>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up updater
17-02-20 18:28:03 WARNING (Thread-7) [homeassistant.components.updater] Updater component enabled in 'dev'. No notifications but analytics will be submitted
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=updater>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up sun
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state sun.sun=above_horizon; next_setting=2017-02-20T17:31:22+00:00, azimuth=0, next_rising=2017-02-21T06:42:57+00:00, elevation=0, friendly_name=Sun @ 2017-02-20T18:28:03.256408+01:00>, entity_id=sun.sun, old_state=None>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=sun>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.bootstrap] Setting up input_boolean
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_off, domain=input_boolean>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=turn_on, domain=input_boolean>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: service=toggle, domain=input_boolean>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state input_boolean.test_button=off; friendly_name=Testing button @ 2017-02-20T18:28:03.260054+01:00>, entity_id=input_boolean.test_button, old_state=None>
17-02-20 18:28:03 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=input_boolean>
17-02-20 18:28:13 WARNING (Thread-10) [homeassistant.components.recorder] Database not ready, waiting another 10 seconds.
17-02-20 18:28:23 WARNING (Thread-10) [homeassistant.components.recorder] Database not ready, waiting another 10 seconds.
17-02-20 18:28:33 WARNING (Thread-10) [homeassistant.components.recorder] Database not ready, waiting another 10 seconds.
17-02-20 18:28:43 WARNING (Thread-10) [homeassistant.components.recorder] Database not ready, waiting another 10 seconds.
17-02-20 18:28:53 WARNING (Thread-10) [homeassistant.components.recorder] Database not ready, waiting another 10 seconds.

Additional info:
As the history_stats component is only available in 0.39, it might be a good idea to delay it to 0.40 if bug is confirmed.

Currently (before restore), you can only access the DB after HASS_START. It seems that what is happening her is for some reasons HASS_START is never fired by bootstrap and the recorder is not started (can't say exactly what). What did change in 0.38 was the error messages on waiting for db_ready event, in the past is just waited forever in silence.
In 0.39 (hopefully) we should have restore. In order to get earlier access to the DB, I made some significant changes to the way recorder works [see here]:

Recorder will now connect & setup the run during bootstrap, after which db_ready will be set (no HASS_START required)
The preferred way to access the recorder instance then would be via get_instance which, will check you are not in the event loop and block your executing thread until db_ready is set.
The error message is also improved in restore and will raise a proper exception after 30 seconds with a stack trace to help debug this sort of thing.

I'll close this, feel free to reach out on gitter if you have questions/issues after restore.

Thanks for this ! I've been struggling with this problem for days !
I'm looking forward to the PR merge 👍

@bokub #4614 has been merged, hopefully you can get your history_stats working!

Everything is working well, thanks!


started ui types

I use the UI plugins heavily in a project of mine. I started some work on them in this branch and will continue to do so over the next couple of weeks.
Figured I'd open a PR so y'all know where I'm at with that work :)
This probably isn't ready to merge just yet.
Feel free to comment with any feedback and THANKS FOR STARTING THIS PROJECT!

Hi, thanks for your contribution a lot)

@d3sandoval / @khasanovbi is this PR still being worked on? Would love to have access to these UI types. If this PR is not still being worked on, I could branch and work on completing the changes necessary.

@atrich I am no longer working on it. You are more than welcome to pick up where I left off

@atrich It would be great if you could help

Ok, I have forked this PR and am working on addressing the comments so far as well as adding additional UI types that I need for the project I'm working on.

@khasanovbi can you help me understand why this is a standalone project instead of being part of DefinitelyTyped? I'm having problems testing my changes with my main project, I can't seem to get typescript to completely read these type definition files. And it's also complaining about redefinition of phaser.d.ts types which is coming from this project's node_modules and is also included in my own project's node_modules.

@atrich could you please show your tsconfig.json settings?
I would be happy if this project became part of DefinitelyTyped. But I encountered some problems with it, it is not very convenient to keep everything in one file, I would like to leave the division by modules. Types in DefinitelyTyped seemed to me more suitable for libraries with a single namespace, and the phaser3-rex-plugins project seemed more like a set of modules. The dtsgen didn't help me much in generating it, so I decided to declare these modules manually.

Very basic tsconfig:
{
    "compilerOptions": {
        "target": "es6",
        "module": "ES2015",
        "moduleResolution": "node",
        "outDir": "dist",
        "rootDir": "src",
        "allowSyntheticDefaultImports": true
    },
    "include": [
        "./src/**/*"
    ]
}

What I had done was to add a directory junction in my node_modules to my local clone of phaser3-rex-plugins-types and then added "node_modules/phaser3-rex-plugins-types" to my tsconfig include per readme instructions.
(It's possible I hit the issue with phaser being included twice because I'm using rollup for my deployment)

Also, if you'd like to see my work-in-progress branch, I pushed it here: https://github.com/khasanovbi/phaser3-rex-plugins-types/compare/master...atrich:master. This should address most of your PR comments from this thread, but I'm unsure of all the style choices & I haven't been able to test fully in my project for the reasons mentioned

For development purposes you can use npm link.
cd ~/phaser3-rex-plugins-types/
npm link
cd ~/your-project/
npm link phaser3-rex-plugins-types

I didn't work with rollup but it seems to me that this is a problem at the typescript level. I'm think this should prevent including types twice.

@atrich Could you create a new PR please? It would be easier to review.

Already included in https://github.com/khasanovbi/phaser3-rex-plugins-types/pull/12


ci: add clang-format check to the CI

Signed-off-by: Sven Peter<EMAIL_ADDRESS>

Looks like this is missing sysinc/*.h. Can we turn this into a Makefile rule (make format-check?) and just call that instead, so it's next to the format command? :)

sure!


Add support for tf.nn.depth_to_space lambda

Added support for tf.nn.depth_to_space as a Keras lambda, mapped to the ONNX DepthToSpace operator.
The two added test-cases visualised with Netron:
Channels first (NCHW), channel dimension reduced from 4 to 4/(2*2) = 1, width & height dimension increased by a factor 2:

Channels last (NHWC), channel dimension reduced from 8 to 8/(2*2) = 2, width & height dimension increased by a factor 2:

Although the visualisations look correct as far as I can see, the NHWC test-case fails with the following error in the ORT:
onnxruntime.capi.onnxruntime_pybind11_state.Fail:
[ONNXRuntimeError] : 1 : FAIL : Node:lambda/DepthToSpace Output:lambda
[ShapeInferenceError] Can't merge shape info.
Both source and target dimension have values but they differ.
Source=1 Target=8 Dimension=1

This is my first contribution to keras-onnx (and first ONNX contribution in general), so please review carefully. And I'm also asking for help w.r.t. the second test-case. Or is that a bug in ORT?

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

Thanks for your contribution. There is test failure for your case, dimension mismatch -- This is because the spec of tensorflow DepthToSpace and onnx DepthToSpace may be different. It is not a simple plug-in, you need understand both tf and onnx behavior, and use onnx ops to construct the tf op correctly, so may need some additional manipulation such as Transpose, etc.

Thanks @jiafatom. Yes, of course I noticed the newly introduced failed test, see also my message :-)

Thanks @jiafatom. Yes, of course I noticed the newly introduced failed test, see also my message :-)

There is an example to use onnx DepthToSpace here, you can see that we add a few ops to finish the conversion.

Tensorflow documentation for NHWC case (the failing one):

It is useful to consider the operation as transforming a 6-D Tensor. e.g. for data_format = NHWC, Each element in the input tensor can be specified via 6 coordinates, ordered by decreasing memory layout significance as: n,iY,iX,bY,bX,oC (where n=batch index, iX, iY means X or Y coordinates within the input image, bX, bY means coordinates within the output block, oC means output channels). The output would be the input transposed to the following layout: n,iY,bY,iX,bX,oC

If we number "n,iY,iX,bY,bX,oC" as n=0, iY=1, iX=2, bY=3, bX=4, oC=5, we then get "n,iY,bY,iX,bX,oC" as 0,1,3,2,4,5 then that indeed doesn't seem to match the documentation of ONNX for the CRD case:
b, c, h, w = x.shape
tmp = np.reshape(x, [b, c // (blocksize ** 2), blocksize, blocksize, h, w])
tmp = np.transpose(tmp, [0, 1, 4, 2, 5, 3])
y = np.reshape(tmp, [b, c // (blocksize ** 2), h * blocksize, w * blocksize])

It does after inserting an transpose [0, 3, 1, 2] at the start and [0, 2, 3, 1] at the end. But if we would implement that, why use the ONNX DepthToSpace operator at all, since essentially it is just two reshapes and a single transpose?
So I've just implemented directly Tensorflow's documentation using 2 reshapes and a transpose for the NHWC case. For the NCHW case the test seems to pass already, so the ONNX DCR case seems to match Tensorflow's NCHW implementation.

I've 'fixed' some tests by skipping old TensorFlows and old opsets, but I still see these kind of failures:
E   tensorflow.python.framework.errors_impl.InvalidArgumentError:  Only NHWC data_format supported on CPU. Got NCHW
E   	 [[node lambda_1/DepthToSpace (defined at c:\miniconda\envs\py3.7\lib\site-packages\tensorflow_core\python\framework\ops.py:1751) ]] [Op:__inference_keras_scratch_graph_1818]
E

I don't have this issue on my test machine (also CPU only). Did you have similar issues in other tests and if so how do you normally circumvent them?

I've 'fixed' some tests by skipping old TensorFlows and old opsets, but I still see these kind of failures in the CI builds:
E   tensorflow.python.framework.errors_impl.InvalidArgumentError:  Only NHWC data_format supported on CPU. Got NCHW
E   	 [[node lambda_1/DepthToSpace (defined at c:\miniconda\envs\py3.7\lib\site-packages\tensorflow_core\python\framework\ops.py:1751) ]] [Op:__inference_keras_scratch_graph_1818]
E

I don't have this issue on my test machine (also CPU only). Did you have similar issues in other tests and if so how do you normally circumvent them?

The failed CI build is on linux-conda_ci and win32-conda-ci, which uses standalone keras and tf backend (not tf.keras). So if you set TF_KERAS=0 at your local machine, can you reproduce this issue?

The failed CI build is on linux-conda_ci and win32-conda-ci, which uses standalone keras and tf backend (not tf.keras). So if you set TF_KERAS=0 at your local machine, can you reproduce this issue?

No, it turned out to be that older versions of TF (pre 2.1.0) don't support NCHW mode for this op on the CPU. So I've added another skip in the tests.


install_swift_binaries.sh breaks ubuntu 16.04 build

export PATH=`echo ${PATH} | awk -v RS=: -v ORS=: '/clang/ {next} {print}'`

The above line in install_swift_binaries.sh adds a newline and extra colon at the end of PATH and causes some commands to no longer be available. It also doesn't seem to change the path in any other way in ubuntu 14.04 or 16.04, so not sure it's serving a purpose at all.
For example, it changes PATH from:
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

to:
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
:"

Commenting out this line seems to fix the issue for Kitura, but not sure if it does anything useful on other builds. Could we either fix or remove this line.

We should not need that line (34) anymore since we commented out lines 37-38. We should be able to comment it out without any side effects.
@christiancompton As part of the changes you are currently working on, can you comment out line 34 and test?

Not sure it matters, but line 34 doesn't seem to be changing the path at all except for mangling it. It's looking for the pattern /clang/ in PATH, but that pattern is never in PATH (/usr/bin/ is the PATH segment that causes /usr/bin/clang to be found). So line 34 might be irrelevant regardless of lines 37-38.

This code is now in Develop: https://github.com/IBM-Swift/Package-Builder/commit/2c3430085e5fdf378989edcba05d4ae7d8a92d72
https://github.com/IBM-Swift/Package-Builder/pull/102

@na-gupta - This code is now in master: https://github.com/IBM-Swift/Package-Builder/pull/102

Thank you!


[BUG] I don't get pollUpdates update in messages.update

I don't get pollUpdates inside [{ update: {}}] in messages.update
That's all, I can't use pollUpdates after a few updates.
Note: I'm using the latest update

listen messages.upsert

+1
I also don't receive the poll response update listening to messages.update

https://github.com/WhiskeySockets/Baileys/issues/164


The 'Meta Data*' internal stats has lower case field name

Field of 'feed' is lowercase which is inconsistent with the sentence case of the other internal stats.
Rename to 'Feed' for consistency

Fixed, see https://github.com/gchq/stroom-content/issues/10


355 Re-enable scrool to zoom

Tiny tweak to re-enable mouse zoom and close #355.

I'm skeptical about this being a good idea... on certain screen sizes it can make it really hard to scroll the page instead of zooming the map.

Valid point @meganrm.  What do you think of this solution?  Mouse wheel zoom is disabled until the map is focused.  That should prevent navigation errors but still provide the functionality.


feat(add all in one fl action): create all in one fl action

For now i would leave it as is, because this contract can be deployed both to L1 and L2 and it will be working
Aave V2 on L1 and Aave V3 on L2 use the same interface (but addresses from helper are different)
Balancer works on all chains with same addresses
Euler and Maker will revert because we're calling 0xeeeee contracts from Opti/Arbi Addresses
Something that might be a bit problematic in the future is when Aave V2 and V3 will be live at the same point on Mainnet, my solution for this if we want to future proof it for now would be if source is Aave, then use -> address flParamGetterAddr as aave market address


fix(ui): fixed worflow UI refresh. Fixes #argoproj#2337

Checklist:

[x] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[ ] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[ ] I have written unit and/or e2e tests for my change. PRs without these are unlike to be merged.
[ ] Optional. I've added My organization is added to the README.
[x] I've signed the CLA and required builds are green.

Thank you!


Permanent fix for helm release stuck with status "pending-upgrade" or "pending-rollback"

It is a well known problem that (at least in helm3) helm releases may get stuck in states "pending-upgrade" or "pending-rollback".
In such cases, no new upgrades or rollbacks can be initiated anymore without  manual interventions like deleting secrets or performing a helm delete or similar hacks.
Example Thread (Closed) without any real deeper thought root cause solution: https://github.com/helm/helm/issues/7476.
Actually at the end of said thread there are people creating PRs in third party repos automating described hacks into their applications.
Such stuck scenarios seem to happen when the helm client process gets terminated during an upgrade or rollback operation.
I have an idea for an implementation that would make the handling easier for the user and more overall more robust and in accordance with the already existing --timeout parameter.

User executes helm upgrade/install --timeout  restOfUpgradeOrInstallParameters.
The TIMEOUT (along with the CURRENT_DATETIME) parameter gets transferred to k8s and will be stored along with other release information (most likely in the existing k8s secret that stores the helm history information)
Now the command from step 1 gets terminated, the release gets stuck in the some pending state.
User again executes helm upgrade --timeout
Now helm checks from information stored in k8s, whether the pending-upgrade/pending rollback operation has already exceeded it's timeout, so there are two cases:
if original timeout exceeded: I will apply my new manifests without further ado
else: I will print the existing error that another operation is already in progress.

Before spending efforts on the code, I would like to ask for feedback from the helm developers/community.
Would such a PR be accepted?

What if a chart developer has a pre-upgrade hook that isn't idempotent?

@joejulian
I would need to test this explicitly to be 100% sure, but my helm experience tells me that hooks are always re-executed on a retry.
So this would remain like in the current code: If a user needs (for whatever reason) to retry a helm release installation, the hooks will always be executed.
I have btw. an alternative fix idea that would allow for even faster retries than the original proposal:
Alternative B
Open each helm client operation that performs changes on the server (k8s), the client uploads a

unique_session_id (uuid)
locked_till value (datetime - will be something like the current datetimestamp + some safety period like 30s)

Furthermore, it is the client's task to continuously update the locked_till value (every 10s or so).
Now on each helm client operation, the client first checks if the locked_till value is in the past:
If yes: mark old revision number as failed and proceed with "new" installation - without throwing any error that refers to the old installation.
Else: Set unique_session_id and locked_till value as described above.

Well, if you'd like to contribute this, write up a Helm Improvement Proposal and if it gets merged, we can transition this issue to a feature.

Perhaps there should be a Helm command to convert Pending.. releases to Failed state.

HIP: https://github.com/helm/community/pull/354

HIP has been created, so will mark this as "keep open" while the HIP is under development


Add support for SPI Parameters

It resolves #164 .
Check list:

[x] Rename dev.miku.r2dbc.mysql.Parameter into MySqlParameter to avoid user confusion and naming conflicts
[x] Add io.r2dbc.spi.Parameter support in DefaultCodecs, just like r2dbc-postgresql
[ ] Add encoding type support in Codecs, e.g. LongCodec.canEncode(Long.class, doubleValue), LongCodec.encode(Long.class, doubleValue, context)
[ ] Add integration test cases for io.r2dbc.spi.Parameter

What's blocking this PR from being merged?

@mirromutth I haven't seen this PR, I have a slightly different implementation in https://github.com/mirromutth/r2dbc-mysql/pull/249 the name "clash" is contained to the codec, so maybe renaming your class is not necessary.


Improvement for k8s.io/docs/tasks/administer-cluster/configure-upgrade-etcd/

maybe adding an example with data dir for restore

/triage accepted


ASP.NET Core 3.0 hits GetRuntimeInterfaceMap() is not supported on this runtime

Using the preview .NET SDK 3.0.100-preview5-011568 with target framework: netcoreapp3.0.
It looks like the latest preview versions of ASP.NET Core MVC use GetRuntimeInterfaceMap, which isn't supported by CoreRT:
System.PlatformNotSupportedException: GetRuntimeInterfaceMap() is not supported on this runtime.
   at System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo.GetInterfaceMap(Type) + 0x4f
   at System.Reflection.RuntimeReflectionExtensions.GetRuntimeInterfaceMap(TypeInfo, Type) + 0x8b
   at Microsoft.Extensions.Internal.AwaitableInfo.IsTypeAwaitable(Type, AwaitableInfo&) + 0x3b1
   at Microsoft.Extensions.Internal.CoercedAwaitableInfo.IsTypeAwaitable(Type, CoercedAwaitableInfo&) + 0x3d
   at Microsoft.Extensions.Internal.ObjectMethodExecutor..ctor(MethodInfo, TypeInfo, Object[]) + 0x163
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Create(MethodInfo, TypeInfo, Object[]) + 0x75
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerCache.GetCachedResult(ControllerContext) + 0x156
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerProvider.OnProvidersExecuting(ActionInvokerProviderContext) + 0x148
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionInvokerFactory.CreateInvoker(ActionContext) + 0x8f

Right now, I'm only hitting this on async action results. So:
public async Task<ActionResult> Set(string id)
{
    await SomeCall(id);
    return Ok();
}

will hit this, but something like:
public ActionResult Set(string id)
{
    // Where `Defer` captures a `Action<Task>` that is executed
    // in the `OnActionExecuted` call
    return Defer(async () => await SomeCall(id));
}

will execute successfully.

It's possible to implement the GetInterfaceMap API in CoreRT but it never met the bar because pretty much nobody uses it and the implementation is rather complex.
For this particular use case in ASP.NET:
https://github.com/aspnet/AspNetCore/blob/574be0d22c1678ed5f6db990aec78b4db587b267/src/Shared/ObjectMethodExecutor/AwaitableInfo.cs#L77-L84
This is either a genius way to do something I don't understand, or just a very confusing and inefficient way to do
var onCompletedMethod = typeof(INotifyCompletion).GetTypeInfo().GetRuntimeMethod("OnCompleted", new Type[] { typeof(Action) });

Submitted aspnet/aspnetcore#10572 to get rid of it.

This is fixed now.


Add travis CI task to run unit test in latest rocketchat docker container

Use https://github.com/qeesung/rocketchat-node/projects/1 to manage the requiremens


Should I be expecting props to be automatically serialized?

Question here.
Should I be expecting props to be automatically serialized? Given the code below, my props come through as:
props {
  json: { authors: [ [Object], [Object] ] },
  meta: {
    values: {
      'authors.0.createdAt': [Array],
      'authors.0.updatedAt': [Array],
      'authors.1.createdAt': [Array],
      'authors.1.updatedAt': [Array]
    }
  }
}

Example Code:
const Page = (props: InferGetStaticPropsType<typeof getStaticProps>) => {
    console.info('props', props);

    return (
        <>
            {props.authors && props.authors.map((author: Author) => (

{author.name}

            ))}
        </>
    )
}

export async function getStaticProps() {
    const authors: Author[] = await getList();

    return {
        props: {
            authors: authors
        }
    }
}

.baberc:
{
  "presets": [
    "next/babel"
  ],
  "plugins": ["superjson-next"]
}

Should I be expecting props to be automatically serialized?

Yes, that's how this plugin is supposed to work.
On which version are you? Are you using Windows?

Should I be expecting props to be automatically serialized?

Yes, that's how this plugin is supposed to work.
On which version are you? Are you using Windows?

Should I be expecting props to be automatically serialized?

Yes, that's how this plugin is supposed to work.
On which version are you? Are you using Windows?

On Mac, will create a simple test repo and try to see if there is something that may be conflicting

Should I be expecting props to be automatically serialized?

Yes, that's how this plugin is supposed to work.
On which version are you? Are you using Windows?

On Mac, will create a simple test repo and try to see if there is something that may be conflicting

@Skn0tt reproduction in a blitz example app: https://github.com/blitz-js/blitz/commit/a9c49351ab53875e84f19f9cb42ac6a0cf3f07a9

yarn build
cd examples/store
blitz prisma generate && blitz start
Go to http://localhost:3000/products/ssr

@Skn0tt reproduction in a blitz example app: https://github.com/blitz-js/blitz/commit/a9c49351ab53875e84f19f9cb42ac6a0cf3f07a9

yarn build
cd examples/store
blitz prisma generate && blitz start
Go to http://localhost:3000/products/ssr

The issue is that withSuperJSONPage() HOC is only added in the server build, not the client build. So in dev mode for example, the initial render on the server is success, but then the render on the client fails.

The issue is that withSuperJSONPage() HOC is only added in the server build, not the client build. So in dev mode for example, the initial render on the server is success, but then the render on the client fails.


Disable resize

Disabled the resizing of the window.

It looks like this change affects the graphs @blakeworsley made

I'll pull down and take a look at it now.

Thanks Mike


Include untested files in test coverage

Steps to Reproduce
I'm unable to include the untested files in the test coverage report generated using:
flutter test --coverage.

Create three files namely a.dart, b.dart, c.dart.
Use some code from c.dart in b.dart.
Write the test cases for b.dart.
Generate the coverage report using flutter test --coverage.
Generate the html for the coverage report using genhtml coverage/lcov.info -o coverage/html.
You will see only the following two files covered in test coverage report:

b.dart
c.dart

Note: a.dart is not included in the test coverage report.

Duplicate of #27997 which is open.
Please check the last comment there, also a workaround is mentioned.
Closing it. If you disagree, feel free to comment and I will re-open it right away.


:arrows_clockwise: Activate CI with linting and tests

Fixes #8
I've made the checks by Travis required now too.

Superseded by #10


Continuous Integration & Continuous Delivery: Workflow check for Pull Requests

Type of Change

[X] Integration Pipeline
[ ] Delivery Pipeline
[ ] Other:

Description
Create a workflow that looks similar to the main workflow in this repository and checks Pull Requests for validity. A build and tests should get executed.
Code Before
No code regarding Pull Request checks exists :(
Code After
name: CI
on: [pull_request]
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Begin CI...
        uses: actions/checkout@v2

      - name: Use Node 12
        uses: actions/setup-node@v1
        with:
          node-version: 12.x

      - name: Use cached node_modules
        uses: actions/cache@v2
        with:
          path: node_modules
          key: nodeModules-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            nodeModules-
      - name: Install dependencies
        run: yarn install --frozen-lockfile
        env:
          CI: true

      - name: Lint
        run: yarn lint
        env:
          CI: true

      - name: Test
        run: yarn test --ci --coverage --maxWorkers=2
        env:
          CI: true

      - name: Build
        run: yarn build
        env:
          CI: true

This code should exist. It is super similar to what is included in ./.github/workflows/main.yml and should ideally be reused if possible. If not, also not too bad.
Files involved

./.github/workflows/pull-request.yml - does not exist yet

@igeligel I would like to work on this. Can you assign this to me? Been setting this up on my personal repos. would be a learning experience for me.

@igeligel Submitted a PR. Let me know if any changes are required.


Use Log1pOp instead of manually adding 1 before doing a LogOp.

This PR cleans up the patterns that lower log space additions. By using math::Log1pOp instead of manually adding 1 before computing a regular math::LogOp, the code becomes more readable.
Using math::Log1pOp should not prevent architectures that don't have a dedicated log1p operation from employing optimized log(x+1) implementations, since MLIR's math::Log1pOp gets rewritten to log(x+1) anyways during standard to LLVM lowering (see https://mlir.llvm.org/doxygen/StandardToLLVM_8cpp_source.html#l02423)

Can we have a llvm-lit test, that actually checks for this property by running a simple MLIR Standard module with a Log1pOp through mlir-opt/mlir-translate and check the resulting LLVM IR/Dialect?

I added two test cases standard-to-llvm-scalar-log.mlir and standard-to-llvm-vector-log.mlir, which check that both the scalar log-space addition and the vectorized log-space addition get lowered to llvm.intr.log (... + 1).

@mhalk: You may now merge the changes in develop into your feature branch.


Remove jsx-control-statements

Refers to issue #4

Yes, good commit. I also wanted to delete him)


Fix bug in _update_scope()

Introduced in e680a754e4

Thanks, can you add a small test for this in test_basic?

@untitaker Sure, I added the test.

Thanks! Do you need a new release?

We are fine waiting till the next planned one comes out. Thank you for asking.


Reflection used is incompatible with Spout.

Java's getDeclaredMethod() only works on declared methods. Spout replaces CraftPlayer with a subclass called SpoutCraftPlayer. As it is a subclass then all the CraftPlayer methods are inherited, not declared. This causes getDeclaredMethod() to fail.
Solution:
Don't use getDeclaredMethod(), use getMethod().

But if I don't use getDeclaredMethod and getDeclaredField, then dynmap breaks...
I'll work on a solution.

I kinda wish I had the source for dynmap so I could figure out what the crap was going on in there. :D Have a link?


TODO: Instructions for people unfamiliar with git

CONTRIBUTING.md should be update with something similar to this in order to help people who are not familiar with the workings of git


Upgraded jango-extra-views to version 0.9.0

Changes Unknown when pulling 5531f0c2f9c2983f5f007bf5d90c77efb985218d on feature/django-extra-views-0.9.0 into ** on develop**.


Permission denied error

Awesome work on this, I've been trying to figure out how to do this for almost a day now so this is a life saver.
Just wanted to mention that when setting this up in my project, I got a permission denied error on the gen-docker-compose-workspace-env.sh script. Might be worth adding to the README that you have to make this script executable. Since this made my compose script fail, I opened in a recovery container and ran chmod +x ./devcontainer/gen-docker-compose-workspace-env.sh. Someone else might get stuck on that so wanted to provide some feedback on it.
Hopefully they figure out how to support this natively so such a complex script isnt needed.

Thanks for the feedback @jrj2211, good to hear you found it useful! I had a similar experience myself.
And thanks for reporting this problem you had. I just checked and the script is marked as executable in the repo itself. When you set up your devcontainer config, did you do it by cloning this repo or copying the files? Perhaps if you were copying, the executable permission got lost?
If so, does this change seem OK to you? https://github.com/h4l/dev-container-docker-compose-volume-or-bind/pull/2
It would be nice if they added native support for this. And also if they standardised the devcontainer config format so that other IDEs could share container-based dev environments!

Ahh yes, I should have mentioned that I manually copied the files into my project as needed. Perfect :) I think #2 clarifies it well, thanks!
Side Note: Docker seems to be trying to do just that with their new "Dev Environments" feature. I've seen them comment on people requesting devcontainer support saying that they are trying to stay away from that to make a more generic solution that any IDE can adopt. Still needs a lot of work to catch up to devcontainers functionality but its definitely a promising feature.

Great, I'll merge that.
"Dev Environments" does sound promising & interesting, I'll have to give it a try, cheers.