RichText with WidgetSpan aligned incorrectly

Steps to Reproduce

Execute flutter run on the code sample

Expected results:
Text aligned vertically.
Actual results:
With alignment: PlaceholderAlignment.bottom

With alignment: PlaceholderAlignment.middle

Tested on Android device with SDK API 32 and iPhone with iOS 15.4.1 with same results

Code sample

class TestRichTextVerticalAligment extends StatelessWidget {
  const TestRichTextVerticalAligment({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    TextStyle style = Theme.of(context).textTheme.headline2!;
    return Scaffold(
      body: Center(
        child: RichText(
          text: TextSpan(children: [
            TextSpan(
              text: "Hello ",
              style: style,
            ),
            WidgetSpan(
                // alignment: PlaceholderAlignment.middle, //or uncommented, the second screenshot
                child: Text(
              "World!",
              style: style,
            ))
          ]),
        ),
      ),
    );
  }
}

Flutter Doctor output
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.3 21E230 darwin-arm, locale ru-RU)
    • Flutter version 3.0.1 at /Users/dcow/Development/SDK/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (2 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/dcow/Library/Android/sdk
    • Platform android-32, build-tools 32.0.0
    • ANDROID_HOME = /Users/dcow/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • 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

[✓] VS Code (version 1.67.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (4 available)
    • sdk gphone64 arm64 (mobile)  • emulator-5554             • android-arm64  • Android 12 (API 32) (emulator)
    • iPhone (Sboychakov) (mobile) • 00008101-001D2DC20E45001E • ios            • iOS 15.4.1 19E258
    • macOS (desktop)              • macos                     • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)                 • chrome                    • web-javascript • Google Chrome 102.0.5005.61

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Might be related to: https://github.com/flutter/flutter/issues/97262
Leaving this for further insight from the team.

video
https://user-images.githubusercontent.com/88313112/172135001-b28d20d6-6d8e-45e0-a264-3532ff157709.mov

complete sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData.light(),
      darkTheme: ThemeData.dark(),
      themeMode: ThemeMode.system,
      home: const TestRichTextVerticalAligment(),
    );
  }
}

class TestRichTextVerticalAligment extends StatefulWidget {
  const TestRichTextVerticalAligment({Key? key}) : super(key: key);

  @override
  State<TestRichTextVerticalAligment> createState() =>
      _TestRichTextVerticalAligmentState();
}

class _TestRichTextVerticalAligmentState
    extends State<TestRichTextVerticalAligment> {
  PlaceholderAlignment _alignment = PlaceholderAlignment.bottom;
  TextBaseline? _baseline;

  void updateAlignment() {
    PlaceholderAlignment alignment = PlaceholderAlignment.values[
              (PlaceholderAlignment.values
                          .indexOf(_alignment) +
                      1) %
                  PlaceholderAlignment.values.length];

    setState(() {
      if(alignment == PlaceholderAlignment.baseline || alignment == PlaceholderAlignment.aboveBaseline || alignment == PlaceholderAlignment.belowBaseline) {
        _baseline = TextBaseline.alphabetic;
      } else {
        _baseline = null;
      }
      _alignment = alignment;
    });
  }

  void updateBaseLine() {
    setState(() {
      if(_baseline == null) {
        _baseline = TextBaseline.alphabetic;
      } else if(_baseline == TextBaseline.alphabetic) {
        _baseline = TextBaseline.ideographic;
      } else {
        _baseline = null;
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    TextStyle style = Theme.of(context).textTheme.headline2!;
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text('Baseline: ${_baseline.toString()}'),
            Text('Alignment: ${_alignment.toString()}'),
            const SizedBox(height: 30),
            RichText(
              text: TextSpan(
                children: [
                  TextSpan(
                    text: "Hello ",
                    style: style,
                  ),
                  WidgetSpan(
                    alignment: _alignment, //or uncommented, the second screenshot
                    baseline: _baseline,
                    child: Text(
                      "World!",
                      style: style,
                    ),
                  )
                ],
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          FloatingActionButton(onPressed: updateBaseLine, child: Icon(Icons.text_format), tooltip: 'Baseline',),
          const SizedBox(height: 20),
          FloatingActionButton(onPressed: updateAlignment, child: Icon(Icons.align_horizontal_center), tooltip: 'Alignment',),
        ],
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.3.1 21E258 darwin-arm, locale en-GB)
    • Flutter version 3.0.1 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (2 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.67.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile) • 5dd3be00                  • android-arm64  • Android 11 (API 30)
    • Nexus (mobile)      • 00008020-001875E83A38002E • ios            • iOS 15.5 19F77
    • macOS (desktop)     • macos                     • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)        • chrome                    • web-javascript • Google Chrome 102.0.5005.61

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1114, on macOS 12.3.1 21E258 darwin-arm, locale en-GB)
    • Flutter version 3.1.0-0.0.pre.1114 at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 82ae61214a (6 hours ago), 2022-06-05 21:23:05 -0400
    • Engine revision 73c59433b5
    • Dart version 2.18.0 (build 2.18.0-170.0.dev)
    • DevTools version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.67.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile) • 5dd3be00                  • android-arm64  • Android 11 (API 30)
    • Nexus (mobile)      • 00008020-001875E83A38002E • ios            • iOS 15.5 19F77
    • macOS (desktop)     • macos                     • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)        • chrome                    • web-javascript • Google Chrome 102.0.5005.61

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

This looks like a duplicate of #97262, thanks for providing another test case! I am going to close this and keep the two linked.
If you feel that these aren't the same issue, let us know and we can take another look. Thank you!


[OnGoing] Development on windows

With this issue I'd like to make a thread where we can discuss how you can develop the ark-mobile wallet on Windows (if you're not a windows dev and don't have anything to contribute, don't post here, especially stuff like "why don't you switch to Mac/Linux" posts are not required!) .
I had and still have, several problems, so I'd like to give other windows-devs help on what I did to get it running in a "basic" version. My hope is that together we can fix all problems and then (if required and if it's not all my own fault) add it to the readme or create a wiki page or something similar.
I will always update this post with new findings and inputs from other guys in other posts (if there will be any that is ;) ).
So here we go with my "insights".

Versions:
node --version
v8.9.3

npm --v
5.6.0

git --version
git version 2.15.1.windows.2

# See comment below!
cordova --v
7.1.0

ionic --v
3.19.0

Problem: Cordova version (Cannot find module) => solved
First I installed cordova (as written in the readme) via npm install -g cordova.
However this installed 8.0.0 for me. When I later ran ionic cordova prepare I got a lot of error messages like this:
Failed to restore plugin "cordova-plugin-x-socialsharing" from config.xml. You might need to try adding it again. Error: Error: Cannot find module '../cordova/platform_metadata'
After some time I finally decided to downgrade cordova to 7.1.0:  npm install -g<EMAIL_ADDRESS>For me  the messages above are now gone.
Can anyone confirm this?
Problem: Cordova-custom-config: git submodule => not solved
The second problem, which still occurs for me during ionic cordova prepare, is the following:
Failed to restore plugin "cordova-custom-config" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin<EMAIL_ADDRESS>via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: cmd: Command failed with exit code 1 Error output:
npm ERR! code 128
npm ERR! Command failed: C:\Git\cmd\git.EXE submodule update -q --init --recursive
npm ERR! fatal: 'submodule' appears to be a git command, but we were not
npm ERR! able to execute it. Maybe git-submodule is broken?
npm ERR!

I did not yet find a solution for this and already tried various things.
Note that I can still run ark-mobile (at least in browser) despite of this problem. However it would be nice if this could be fixed!
Problem: arkjs not found => not solved (workaround)
When I run the app via: npm run ionic:serve  I got the following error in the browser:
Error: Cannot find module "arkjs"
    at webpackMissingModule (http://localhost:8100/build/main.js:1553:86)
    at new ArkApiProvider (http://localhost:8100/build/main.js:1553:168)
    at _createClass (http://localhost:8100/build/vendor.js:10211:26)
    at _createProviderInstance$1 (http://localhost:8100/build/vendor.js:10169:26)
    at resolveNgModuleDep (http://localhost:8100/build/vendor.js:10154:17)
    at NgModuleRef_.get (http://localhost:8100/build/vendor.js:11246:16)
    at resolveDep (http://localhost:8100/build/vendor.js:11749:45)
    at createClass (http://localhost:8100/build/vendor.js:11613:32)
    at createDirectiveInstance (http://localhost:8100/build/vendor.js:11433:37)
    at createViewNodes (http://localhost:8100/build/vendor.js:12874:49)

In the code in ArkApiProvider require('arkjs')  is called.
However in my node_modules folder there's simply no arkjs folder anymore. That's also the reason why it cannot be found.
I then noticed that package.json and packagelock.json is modified after ionic cordova prepare was executed. I reverted the changes in the package files and run npm install again. Now npm run ionic:serve appears to work.
However it remains to find out: Why is the package-lock.json and the package.json modified? When does it occur? How can we prevent it?
Platforms
Browser
Appears to be working
Android
Untested
IOS
Untested

Any input of other windows devs on this would be appreciated.
Maybe everything works for you? If so what node and npm version do you have? Do you have any idea how to fix it?

I don't actually run prepare. Try these steps:
npm install
ionic cordova build android

You may also need the below, but try without first:
npm install -g cordova-android

Let me know what steps work, as we may need to update the readme. Then again it could just be a Windows issue

$ ionic info

cli packages: (/usr/local/lib/node_modules)
    @ionic/cli-utils  : 1.19.0
    ionic (Ionic CLI) : 3.19.0

global packages:
    cordova (Cordova CLI) : 7.0.1

local packages:
    @ionic/app-scripts : 3.1.2
    Cordova Platforms  : android 6.4.0 browser 4.1.0 ios 4.5.4
    Ionic Framework    : ionic-angular 3.9.2

System:
    ios-deploy : 1.9.2
    Node       : v8.4.0
    npm        : 5.4.2
    OS         : macOS High Sierra
    Xcode      : Xcode 9.2 Build version 9C40b

Environment Variables:
    ANDROID_HOME : not set

Misc:
    backend : pro

@alexbarnsley
interesting. Unfortunately I still get the same  Cordova-custom-config exception when I do ionic cordova build android.

@Nasicus Try reinstalling manually:
ionic cordova plugin rm cordova-custom-config
ionic cordova plugin add cordova-custom-config

This gives me the same error :/
I now also tried downgrading ionic to the same version as you have (@luciorubeens ) and also downgrading npm (because I read something somewhere).
Now I have a different error :trollface:
Error: cmd: Command failed with exit code 1 Error output:
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-9a0b67c9 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-92a6e60b\5ccd600b0b7fd3ae204edc9e69c1c30406d07747: Cloning into 'C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-92a6e60b\5ccd600b0b7fd3ae204edc9e69c1c30406d07747'...
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-9a0b67c9 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-92a6e60b\5ccd600b0b7fd3ae204edc9e69c1c30406d07747: error: cannot spawn sh: No such file or directory
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-9a0b67c9 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-92a6e60b\5ccd600b0b7fd3ae204edc9e69c1c30406d07747: fatal: unable to fork
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-9a0b67c9 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-92a6e60b\5ccd600b0b7fd3ae204edc9e69c1c30406d07747:
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-https-github-com-xiangpingmeng-plist-js-git-7b94e505 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-2122f40d\5ccd600b0b7fd3ae204edc9e69c1c30406d07747: Cloning into 'C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-2122f40d\5ccd600b0b7fd3ae204edc9e69c1c30406d07747'...
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-https-github-com-xiangpingmeng-plist-js-git-7b94e505 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-2122f40d\5ccd600b0b7fd3ae204edc9e69c1c30406d07747: error: cannot spawn sh: No such file or directory
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-https-github-com-xiangpingmeng-plist-js-git-7b94e505 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-2122f40d\5ccd600b0b7fd3ae204edc9e69c1c30406d07747: fatal: unable to fork
npm ERR! git clone C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-https-github-com-xiangpingmeng-plist-js-git-7b94e505 C:\Users\Patrick\AppData\Local\Temp\npm-216-59146822\git-cache-2122f40d\5ccd600b0b7fd3ae204edc9e69c1c30406d07747:
npm WARN addRemoteGit Error: Command failed: git -c core.longpaths=true config --get remote.origin.url
npm WARN addRemoteGit
npm WARN addRemoteGit     at ChildProcess.exithandler (child_process.js:275:12)
npm WARN addRemoteGit     at emitTwo (events.js:126:13)
npm WARN addRemoteGit     at ChildProcess.emit (events.js:214:7)
npm WARN addRemoteGit     at maybeClose (internal/child_process.js:925:16)
npm WARN addRemoteGit     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
npm WARN addRemoteGit  xiangpingmeng/plist.js resetting remote C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-cbe72376 because of error: { Error: Command failed: git -c core.longpaths=true config --get remote.origin.url
npm WARN addRemoteGit
npm WARN addRemoteGit     at ChildProcess.exithandler (child_process.js:275:12)
npm WARN addRemoteGit     at emitTwo (events.js:126:13)
npm WARN addRemoteGit     at ChildProcess.emit (events.js:214:7)
npm WARN addRemoteGit     at maybeClose (internal/child_process.js:925:16)
npm WARN addRemoteGit     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
npm WARN addRemoteGit   killed: false,
npm WARN addRemoteGit   code: 1,
npm WARN addRemoteGit   signal: null,
npm WARN addRemoteGit   cmd: 'git -c core.longpaths=true config --get remote.origin.url' }
npm ERR! git clone --template=C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror git@github.com:xiangpingmeng/plist.js.git C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-cbe72376: Cloning into bare repository 'C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-cbe72376'...
npm ERR! git clone --template=C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror git@github.com:xiangpingmeng/plist.js.git C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-cbe72376: error: cannot spawn ssh: No such file or directory
npm ERR! git clone --template=C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror git@github.com:xiangpingmeng/plist.js.git C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-cbe72376: fatal: unable to fork
npm ERR! code 128
npm ERR! Command failed: git -c core.longpaths=true clone --template=C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\_templates --mirror git@github.com:xiangpingmeng/plist.js.git C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-cbe72376
npm ERR! Cloning into bare repository 'C:\Users\Patrick\AppData\Roaming\npm-cache\_git-remotes\git-github-com-xiangpingmeng-plist-js-git-cbe72376'...
npm ERR! error: cannot spawn ssh: No such file or directory
npm ERR! fatal: unable to fork
npm ERR!

npm ERR!      C:\Users\Patrick\AppData\Roaming\npm-cache\_logs\2017-12-30T12_14_17_451Z-debug.log

Anyway I'll try some more stuff myself and come back here if I find anything useful.

So I couldn't get the errors away.
But it appears it matters not, since the app is working; both on my real android phone and in the browser.
I personally will also not invest any more time into this.
But I'd like still to tell you how my "setup" is, if anyone has problems: Please see my edit in the first post for this.
And I must say I find it very cool that you only have to deploy the app to your android once, and after that you can simply run npm run ionic:serve and the device  will download the current version of the app automatically...this makes testing directly on the device so much easier!


Resize events

https://github.com/vkurko/calendar#editable speaks of resizing events though it's not yet implemented.

Hi @wvffle,
You are right, the resizing is not implemented in Event Calendar. Let me assume that this will be the next feature I will implement when I have some free time :smiley:

Great, I'm looking forward to it.
If you're not planning on getting that done anytime soon, I could make a PR, though you'd need to point me to the package that I should modify

Well, to accept PRs, I would have to first draw up some code style rules... Which again takes time :smile: So let's try without them for now. You need to modify the Interaction plugin/package.

Unfortunately, it turned out that I won't have spare time anytime soon to work on it ;/

Is anyone working on this maybe?

Is anyone working on this maybe?

At the moment, no.

Hello @vkurko , just found this projetct and is almost everything I was looking for. Great job!
The resize event option is the only thing missing for now... Any updates on that? Or at least anything planned for the future?
Thanks!

Hi @mlscherer
Thanks for your interest in Event Calendar. I'll try to work on resizing in the coming weeks.

Hi @mlscherer
Thanks for your interest in Event Calendar. I'll try to work on resizing in the coming weeks.

Hey, that's great, I hope it works out.
Another thing that's relative to this...  So users can create an event and automatically define the period in the same action?
Thanks

Another thing that's relative to this...  So users can create an event and automatically define the period in the same action?

This is called select in FullCalendar's terms. There is an open issue about it. You can vote for this to be further developed :smile:.

Hi all.
Sorry it took long. Please check out v0.10.0 which contains the ability to resize events. There are new options eventDurationEditable, eventResizeStart, eventResizeStop, eventResize.
Let me know if there are any issues :smile:


transforming geometry loses frame attributes

Describe the bug
Transforming a CameraGeometry that has a focal_length attribute to EngineeringCameraFrame resets that frame attribute.
To Reproduce
from ctapipe.instrument import SubarrayDescription
from ctapipe.coordinates import EngineeringCameraFrame

subarray = SubarrayDescription.read("dataset://gamma_prod5.simtel.zst")
geom = subarray.tel[100].camera.geometry
print("OLD", geom.frame)
new_geom = geom.transform_to(EngineeringCameraFrame())
print("NEW", new_geom.frame)

OLD <CameraFrame Frame (focal_length=16.445049285888672 m, rotation=0.0 rad, telescope_pointing=None, obstime=None, location=None)>
NEW <EngineeringCameraFrame Frame (focal_length=0.0 m, rotation=0.0 rad, telescope_pointing=None, obstime=None, location=None, n_mirrors=1)>

Expected behavior
Frame attributes are retained, so further transforms (like back to TelescopeFrame) work

Frame attributes are retained, so further transforms (like back to TelescopeFrame) work

mmh.  Frames are immutable, so I don't really see a way how to fix that for this specific example.
This would work:
new_geom = geom.transform_to(EngineeringCameraFrame(focal_length=geom.frame.focal_length))

but only if the current frame as a focal_length attribute.
astropy also allows using frame classes not instances in transform_to in some cases (mostly the once that do not actually need attributes I think), which would enable us to set the attributes, but the current CameraGeometry.transform_to method only works with frame instances:
In [7]: geom.transform_to(EngineeringCameraFrame)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[7], line 1
----> 1 geom.transform_to(EngineeringCameraFrame)

File ~/Uni/CTA/ctapipe/ctapipe/instrument/camera/geometry.py:257, in CameraGeometry.transform_to(self, frame)
    254 points_x = getattr(points, x_name)
    255 points_y = getattr(points, y_name)
--> 257 trans_x_name, trans_y_name = get_representation_component_names(frame)
    258 points_trans_x = getattr(points_trans, trans_x_name)
    259 points_trans_y = getattr(points_trans, trans_y_name)

File ~/Uni/CTA/ctapipe/ctapipe/coordinates/__init__.py:47, in get_representation_component_names(frame)
     45 def get_representation_component_names(frame):
     46     """Return the component names of a Frame (or SkyCoord)"""
---> 47     return tuple(frame.get_representation_component_names().keys())

TypeError: get_representation_component_names() missing 1 required positional argument: 'self'

Yes, I guess frames don't work in the way I would like - it's a bit annoying to have to pass all frame attributes to a new Frame that has the same ones, but maybe there is no option.  SOmething like:
camframe = CameraFrame(focal_length=12*u.m, obstime=Time.now())
newframe = EngineeringCameraFrame(camframe)

# or even

newframe = EngineeringCameraFrame(**camframe.frame_attributes)

where any common attributes are copied would be nice.   Or maybe there is a canonical way to do this that I am missing? Do you really have to set all attributes? (for CameraFrame and EngineeringFrame there are already 5 attributes, so it can get annoying).

For example, when I do this, the frame attributes are retained, so why are they not in the CameraFrame case?
c1 = SkyCoord(ra=12*u.h, dec=10*u.deg, frame="icrs", obstime=t.Time.now())
c2 = c1.transform_to("fk4")
print(c2)

<SkyCoord (FK4: equinox=B1950.000, obstime=2023-03-02 17:54:23.899980): (ra, dec) in deg
<PHONE_NUMBER>6, 10.27828609)>

Ah, yes, I see it's the difference between passing an instance and a class...

@kosack And the fact that SkyCoord retains any frame attributes and attaches them if the current frame also has these attributes. That's why the high-level SkyCoord attribute is preferred over frame instances.
So maybe a fix would also be to have pix_x and pix_y be properties into a coord: SkyCoord instance

The current fix I made was just to support passing frame classes,
But I like the idea of using a SkyCoord internally (and even exposing it).  The previous geom.pix_x and geom.pix_y would just be properties to maintain backward compatibility, and  geom.pix_coord would be a SkyCoord instance.  That would solve my other issue that the TelescopeFrame doesn't have a focal_length, so it gets lost.  If SkyCoord retains the full set, that that is no longer an issue.


Make sure that the Design System meets WCAG 2.1

What
Make sure that the Design System, and everything in it meets at least level AA of the WCAG 2.1 guidelines.
Why
All services that went live after 23 September 2018 must meet WCAG2.1 AA by 23 September 2019. Older services must meet the same standard by 23 September 2020. We need to support service teams by ensuring that everything in the GOV.UK Design System meets this standard.
1. Address known accessibility issues
Must

[x] Run aXe on the GOV.UK Design System
[x] Investigate colour contrast issues with the focus state
[x] Investigate colour contrast issues with hint text
[x] Investigate colour contrast issues within the footer component
[x] Investigate colour contrast issues with the header component
[x] Investigate colour contrast issues within the panel component
[x] Link hover state does not meet contrast requirements on font sizes below 18px
[x] Tab contrast
[x] Publish guidance on meeting colour contrast
[x] Make it easy to set autocomplete attributes on form inputs
[x] Check that the Design System works with adaptable text
[x] Update the Design System page templates

Should

[ ] Better align custom tab logic with tab component
[ ] Publish accessibility principles, criteria and guidance
[ ] Investigate potential issues with conditional reveals (#979, #935, #989)

Could

[ ] Content below buttons on start pages
[ ] Investigate whether we should specify 'aria-invalid' on form inputs that have errors
[ ] Investigate adding iOS dynamic type support

2. Modify the components and test

[x] Change review app to include code from legacy repos
[x] Update links (and things that look like links) to use the new focus style #1302
[x] Update radios and checkboxes to use the new focus state #1304
[x] Update form inputs to use the new focus state #1303
[x] Update buttons to use the new styles and the new focus state #1305
[x] Update tabs to use the new styles and the new focus state #1306
[x] Update accordion to use the new styles and the new focus state #1307
[x] Update footer to use the new focus states #1320
[x] Test with assistive technologies
[x] Decide on how the mixins should change for new focus styles

3. External audit of the Design System

[x] Update DAC brief before audit
[x] Send brief to potential audit suppliers
[x] Develop the test pages for the accessibility audit
[x] Arrange a call with DAC to check requirements
[x] Build an example page of smaller checkboxes and radio buttons for the accessibility audit
[x] Build an example page of secondary and destructive buttons for the accessibility audit
[x] Run the accessibility audit
[x] Analyse results of the accessibility audit
[ ] Prioritise any remedial work for Q1

4. Prepare for publishing
See this epic - Release Frontend 3.0
Notes
See 30th April team catch up notes

I have raised all the issues for the Design System website which brings us to 34 total GitHub issues which matches the DAC issue numbers that go to 33 (plus Ollie's in person issue).
https://github.com/issues?q=label%3A"audit%3A+may-2019"+user%3Aalphagov


Added some objects to support posts media

I added some api_objects to handle messages which shared a post in direct

Could you please add some explanation of how to create such messages from within LinkedIn?

Could you please add some explanation of how to create such messages from within LinkedIn?

Just by sharing posts in direct
Tap "Send" within a post

Hi @sumnerevans ,
just wanted to remember you, please merge this PR if it's ok. otherwise, let me know and I'll fix the problems, I personally need to have these in PyPI.
Thank you in advance

I don't see details in the logs, do you know what causes this error?

What causes the error is not running black to format the files.

it should work know


Good for array change and delete，remove the empty line

Good for array change and delete，remove the empty line

Please rebase master. Fixed the CI.


implement servers CRUD endpoints in go

fixes #1620
should be (rebased on and) merged after #1860

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/994/
Test PASSed.

WIP - testing for parity with perl endpoints.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/997/
Test PASSed.

Error checking needs to be improved..   With Perl version on PUT,  I removed the "cdn" and "cdnId" entries and got this message:
to-put servers/600 s.json
{"alerts":[{"level":"error","text":"CDN of profile does not match Server CDN"}]}

With this version,  I got this:
to-put servers/600 s.json
{"alerts":[{"text":"database access error","level":"error"}]}

and this from the log:
ERROR: db_helpers.go:118: failed to parse unique constraint from pq error: pq: insert or update on table "server" violates foreign key constraint "fk_cdn2"
ERROR: alerts.go:81: 2018-02-11T20:41:24.952109304Z: <IP_ADDRESS>:56124 [database access error]
<IP_ADDRESS>:56124 - admin [11/Feb/2018:20:41:24 +0000] "PUT /api/1.3/servers/600 HTTP/1.1" 500 61 94 "curl/7.43.0"

This is still WIP, working on getting the validation to match perl still.

np -- I'll help :-)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1168/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1169/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1173/
Test PASSed.

Can you add api tests in testing/api?

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1211/
Test PASSed.


Wrap text option for Request and Response sections

Product
Nitro
Is your feature request related to a problem?
When making requests in Nitro often text goes off the edge of the screen.
This is especially true when dealing with errors in the response section which often dump entire stack traces on a single line.
This results in me copying the stack trace out to something else with text wrap support.
Example here, note the large horizontal scroll section

The solution you'd like
Provide an option to allow enabling text wrap for the Request and Response sections (and anywhere else that makes sense).

We are discussing this issue at the moment internally.


Add a banner for EnvoyCon 2020

This PR adds a banner for EnvoyCon 2020 registration to the site header. It implements a CSS class introduced in #56, and is essentially a retread of that PR. (Thanks, @dansipple. 👋 )
/cc @celestehorgan @caniszczyk
Preview screenshot

LGTM cc: @richarddli

LGTM


REMOVE_OLD_MODS deletes all mods downloaded by MODRINTH_MODPACK

Describe the problem
When REMOVE_OLD_MODS is set to true and the Option MODRINTH_MODPACK is used to download mods, the mods are getting deleted before the server starts resulting in the server starting without mods.
Container definition
version: "1.0"

services:
  cb:
    container_name: cb
    image: itzg/minecraft-server:latest
    restart: unless-stopped
    tty: true
    stdin_open: true
    environment:
      VERSION: 1.20.1
      MOD_PLATFORM: MODRINTH
      MODRINTH_MODPACK: https://modrinth.com/modpack/cobblemon-fabric/version/<IP_ADDRESS>
      MODRINTH_EXCLUDE_FILES: |
        betterpingdisplay
      UID: 1000
      GID: 1000
      EULA: "TRUE"
      TZ: "Europe/Berlin"
      INIT_MEMORY: 4G
      MAX_MEMORY: 8G
      DIFFICULTY: normal
      OPS: user
      MOTD: "Hi!"
      PVP: "FALSE"
      SPAWN_PROTECTION: 0
      ICON: https://cdn.modrinth.com/data/MdwFAVRL/e54083a07bcd9436d1f8d2879b0d821a54588b9e.png
      MAX_PLAYERS: 20
      ENABLE_WHITELIST: "TRUE"
      WHITELIST_FILE: /home/hades/minecraft/cb/whitelist.json
      REMOVE_OLD_MODS: "TRUE"
      REPLACE_ENV_VARIABLES: "TRUE"
    ports:
      - 25565:25565
    volumes:
      - /home/hades/minecraft/cb:/data

Container logs
[mc-image-helper] 23:40:13.625 INFO  : Downloaded mods/RoughlyEnoughItems-12.0.665.jar
[mc-image-helper] 23:40:13.894 INFO  : Downloaded mods/Xaeros_Minimap_23.8.2_Fabric_1.20.jar
[mc-image-helper] 23:40:14.500 INFO  : Downloaded mods/fabric-language-kotlin-1.10.10+kotlin.1.9.10.jar
[mc-image-helper] 23:40:14.582 INFO  : Downloaded mods/PresenceFootsteps-1.9.0.jar
[mc-image-helper] 23:40:20.761 INFO  : Downloaded mods/Cobblemon-fabric-1.4.0+1.20.1.jar
[mc-image-helper] 23:40:21.837 INFO  : Fabric launcher for minecraft 1.20.1 loader 0.14.23 is already available
[init] Removing old mods including:*.jar,*-version.json excluding:
[init] Enabling whitelist functionality
[mc-image-helper] 23:40:25.834 INFO  : Created/updated 1 property in /data/server.properties
[init] Replacing env variables in /data that match the prefix 'CFG_' ...
[mc-image-helper] 23:40:27.636 INFO  : The file ./ops.json already exists, so no changes will be made
[mc-image-helper] 23:40:28.611 INFO  : The file ./whitelist.json already exists, so no changes will be made
[init] Using server icon from https://cdn.modrinth.com/data/MdwFAVRL/e54083a07bcd9436d1f8d2879b0d821a54588b9e.png...
[init] Converting image to 64x64 PNG...
[init] Setting initial memory to 4G and max to 8G
[init] Starting the Minecraft server...
Downloading Minecraft server
Installing Fabric Loader 0.14.23(1.20.1) on the server
Downloading required files
Downloading library net.fabricmc:tiny-mappings-parser:0.3.0+build.17
Downloading library net.fabricmc:sponge-mixin:0.12.5+mixin.0.8.5
Downloading library net.fabricmc:tiny-remapper:0.8.2
Downloading library net.fabricmc:access-widener:2.1.0
Downloading library org.ow2.asm:asm:9.6
Downloading library org.ow2.asm:asm-analysis:9.6
Downloading library org.ow2.asm:asm-commons:9.6
Downloading library org.ow2.asm:asm-tree:9.6
Downloading library org.ow2.asm:asm-util:9.6
Downloading library net.fabricmc:intermediary:1.20.1
Downloading library net.fabricmc:fabric-loader:0.14.23
Generating server launch JAR
Unpacking 1.20.1/server-1.20.1.jar (versions:1.20.1) to versions/1.20.1/server-1.20.1.jar
Unpacking com/github/oshi/oshi-core/6.2.2/oshi-core-6.2.2.jar (libraries:com.github.oshi:oshi-core:6.2.2) to libraries/com/github/oshi/oshi-core/6.2.2/oshi-core-6.2.2.jar
Unpacking com/google/code/gson/gson/2.10/gson-2.10.jar (libraries:com.google.code.gson:gson:2.10) to libraries/com/google/code/gson/gson/2.10/gson-2.10.jar
Unpacking com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar (libraries:com.google.guava:failureaccess:1.0.1) to libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
Unpacking com/google/guava/guava/31.1-jre/guava-31.1-jre.jar (libraries:com.google.guava:guava:31.1-jre) to libraries/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar
Unpacking com/mojang/authlib/4.0.43/authlib-4.0.43.jar (libraries:com.mojang:authlib:4.0.43) to libraries/com/mojang/authlib/4.0.43/authlib-4.0.43.jar
Unpacking com/mojang/brigadier/1.1.8/brigadier-1.1.8.jar (libraries:com.mojang:brigadier:1.1.8) to libraries/com/mojang/brigadier/1.1.8/brigadier-1.1.8.jar
Unpacking com/mojang/datafixerupper/6.0.8/datafixerupper-6.0.8.jar (libraries:com.mojang:datafixerupper:6.0.8) to libraries/com/mojang/datafixerupper/6.0.8/datafixerupper-6.0.8.jar
Unpacking com/mojang/logging/1.1.1/logging-1.1.1.jar (libraries:com.mojang:logging:1.1.1) to libraries/com/mojang/logging/1.1.1/logging-1.1.1.jar
Unpacking commons-io/commons-io/2.11.0/commons-io-2.11.0.jar (libraries:commons-io:commons-io:2.11.0) to libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar
Unpacking io/netty/netty-buffer/4.1.82.Final/netty-buffer-4.1.82.Final.jar (libraries:io.netty:netty-buffer:4.1.82.Final) to libraries/io/netty/netty-buffer/4.1.82.Final/netty-buffer-4.1.82.Final.jar
Unpacking io/netty/netty-codec/4.1.82.Final/netty-codec-4.1.82.Final.jar (libraries:io.netty:netty-codec:4.1.82.Final) to libraries/io/netty/netty-codec/4.1.82.Final/netty-codec-4.1.82.Final.jar
Unpacking io/netty/netty-common/4.1.82.Final/netty-common-4.1.82.Final.jar (libraries:io.netty:netty-common:4.1.82.Final) to libraries/io/netty/netty-common/4.1.82.Final/netty-common-4.1.82.Final.jar
Unpacking io/netty/netty-handler/4.1.82.Final/netty-handler-4.1.82.Final.jar (libraries:io.netty:netty-handler:4.1.82.Final) to libraries/io/netty/netty-handler/4.1.82.Final/netty-handler-4.1.82.Final.jar
Unpacking io/netty/netty-resolver/4.1.82.Final/netty-resolver-4.1.82.Final.jar (libraries:io.netty:netty-resolver:4.1.82.Final) to libraries/io/netty/netty-resolver/4.1.82.Final/netty-resolver-4.1.82.Final.jar
Unpacking io/netty/netty-transport/4.1.82.Final/netty-transport-4.1.82.Final.jar (libraries:io.netty:netty-transport:4.1.82.Final) to libraries/io/netty/netty-transport/4.1.82.Final/netty-transport-4.1.82.Final.jar
Unpacking io/netty/netty-transport-classes-epoll/4.1.82.Final/netty-transport-classes-epoll-4.1.82.Final.jar (libraries:io.netty:netty-transport-classes-epoll:4.1.82.Final) to libraries/io/netty/netty-transport-classes-epoll/4.1.82.Final/netty-transport-classes-epoll-4.1.82.Final.jar
Unpacking io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-x86_64.jar (libraries:io.netty:netty-transport-native-epoll:4.1.82.Final:linux-x86_64) to libraries/io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-x86_64.jar
Unpacking io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-aarch_64.jar (libraries:io.netty:netty-transport-native-epoll:4.1.82.Final:linux-aarch_64) to libraries/io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-aarch_64.jar
Unpacking io/netty/netty-transport-native-unix-common/4.1.82.Final/netty-transport-native-unix-common-4.1.82.Final.jar (libraries:io.netty:netty-transport-native-unix-common:4.1.82.Final) to libraries/io/netty/netty-transport-native-unix-common/4.1.82.Final/netty-transport-native-unix-common-4.1.82.Final.jar
Unpacking it/unimi/dsi/fastutil/8.5.9/fastutil-8.5.9.jar (libraries:it.unimi.dsi:fastutil:8.5.9) to libraries/it/unimi/dsi/fastutil/8.5.9/fastutil-8.5.9.jar
Unpacking net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar (libraries:net.java.dev.jna:jna:5.12.1) to libraries/net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar
Unpacking net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar (libraries:net.java.dev.jna:jna-platform:5.12.1) to libraries/net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar
Unpacking net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar (libraries:net.sf.jopt-simple:jopt-simple:5.0.4) to libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar
Unpacking org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar (libraries:org.apache.commons:commons-lang3:3.12.0) to libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
Unpacking org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar (libraries:org.apache.logging.log4j:log4j-api:2.19.0) to libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar
Unpacking org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar (libraries:org.apache.logging.log4j:log4j-core:2.19.0) to libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar
Unpacking org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar (libraries:org.apache.logging.log4j:log4j-slf4j2-impl:2.19.0) to libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar
Unpacking org/joml/joml/1.10.5/joml-1.10.5.jar (libraries:org.joml:joml:1.10.5) to libraries/org/joml/joml/1.10.5/joml-1.10.5.jar
Unpacking org/slf4j/slf4j-api/2.0.1/slf4j-api-2.0.1.jar (libraries:org.slf4j:slf4j-api:2.0.1) to libraries/org/slf4j/slf4j-api/2.0.1/slf4j-api-2.0.1.jar
Starting net.fabricmc.loader.impl.game.minecraft.BundlerClassPathCapture
[23:40:46] [main/INFO]: Loading Minecraft 1.20.1 with Fabric Loader 0.14.23
[23:40:46] [main/INFO]: Fabric is preparing JARs on first launch, this may take a few seconds...
[23:40:46] [main/INFO]: Loading 3 mods:
	- fabricloader 0.14.23
	- java 17
	- minecraft 1.20.1
[23:40:46] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/data/libraries/net/fabricmc/sponge-mixin/0.12.5+mixin.0.8.5/sponge-mixin-0.12.5+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER
[23:40:52] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[23:40:53] [main/INFO]: Loaded 7 recipes
[23:40:53] [main/INFO]: Loaded 1271 advancements
[23:40:54] [Server thread/INFO]: Starting minecraft server version 1.20.1```

I need to disable that behavior, but in the meantime please don't combine those options. Modrinth platform support already takes care of cleaning up mods it manages.

Unrelated, I noticed that your WHITELIST_FILE needs to be a container visible path, such as /data. The path you're providing, /home/hades/minecraft/cb/whitelist.json, is a host path. So it looks like it needs to be /data/whitelist.json...which is actually extraneous to declare because that's where the Minecraft server will locate the file in the first place.

This needs to be addressed for AUTO_CURSEFORGE also.


[New product]  > Add Rust :gear: :crab:

:grey_question: About
This PR is an attempt to add Rust programming language to endoflife.date, as requested by:

#3232

:information_source: More
I've added history up to v1.29 (2018-10-13).
I'll add more once the review process will be ok with the current data.

8:20:13 AM:   Liquid Exception: Invalid Date: ""2018-12-211"" is not a valid datetime. in /opt/build/repo/_layouts/product.html
8:20:13 AM:              ERROR: YOUR SITE COULD NOT BE BUILT:
8:20:13 AM:                     ------------------------------------
8:20:13 AM:                     Invalid Date: ""2018-12-211"" is not a valid datetime.
8:20:13 AM:
8:20:13 AM: "build.command" failed

This time I cannot figure out what's wrong :sweat_smile:
8:37:57 AM: ────────────────────────────────────────────────────────────────
8:37:57 AM:
8:37:57 AM:   Error message
8:37:57 AM:   Command failed with exit code 1:   ./_auto/deploy.sh $DEPLOY_PRIME_URL (https://ntl.fyi/exit-code-1)
8:37:57 AM:
8:37:57 AM:   Error location
8:37:57 AM:   In build.command from netlify.toml:
8:37:57 AM:     ./_auto/deploy.sh $DEPLOY_PRIME_URL
8:37:57 AM:
8:37:57 AM:   Resolved config
8:37:57 AM:   build:
8:37:57 AM:     command: |2-
8:37:57 AM:         ./_auto/deploy.sh $DEPLOY_PRIME_URL
8:37:57 AM:
8:37:57 AM:     commandOrigin: config
8:37:57 AM:     environment:
8:37:57 AM:       - GOOGLE_CLOUD_SERVICE_ACCOUNT
8:37:57 AM:       - REVIEW_ID
8:37:57 AM:     publish: /opt/build/repo/_site
8:37:57 AM:     publishOrigin: config
8:37:57 AM:   plugins:
8:37:57 AM:     - inputs: {}
8:37:57 AM:       origin: config
8:37:57 AM:       package: netlify-plugin-submit-sitemap
8:37:58 AM: Failed during stage "building site": Build script returned non-zero exit code: 2
8:37:58 AM: Build failed due to a user error: Build script returned non-zero exit code: 2
8:37:58 AM: Failing build: Failed to build site
8:37:58 AM: Finished processing build request in 1m6.839s

:crossed_fingers:

LGTY :grey_question:

@adriens did this PR from Request #3232
You can see the preview here: https://deploy-preview-4116--endoflife-date.netlify.app/rust
@jonathanpallant @rcousineau-xandr It seems that you have some knowledge with Rust. We would appreciate your participation in the review process and left a review here.

About LTS : some have the idea to match it with LTS linux distros and then deduce Rust's LTS :

It might be worthwhile to make a post on the User Forum specifically about adding Rust to https://endoflife.date/ and see if folks can weigh in there on what EOL means for Rust.

So, I'm a member of the Rust Leadership Council, but I'm not speaking on behalf of the Council here (although I have opened a discussion in our Zulip chat on this).
Rust Editions are variants of the Rust Programming Language that define the set of supported keywords and other properties. New ones are added roughly every 3 years - the 2024 Edition work is underway. Once an Edition is released, all Rust releases will support that Edition, and continue to support all previous Rust Editions. Really, this is exactly like C89 vs C99 vs C11. There is no plan to ever obsolete an edition, so, to me, it doesn't make sense to list it on this website. If we did list, it would need a separate entry.
Rust releases are new versions of the Rust toolchain. This is like GCC 10.1 vs GCC 10.2 vs GCC 11.1. Only the latest Rust toolchain is supported. Once Rust 1.x.0 is released, you will never see a patch like 1.(x-1).1. If you open an issue reporting a bug on 1.(x-1).y it will be checked whether it's still an issue in 1.x.0 and if so, a bug fix would be issued as 1.x.1, or it might wait until 1.(x+1).0 or 1.(x+2).0 depending on the severity and whether it warrants back porting to the stable or beta branches.
Long term support is handled by commercial offerings like Ferrocene (disclaimer: I work for the company that makes Ferrocene) or GNAT Pro for Rust.
So, I like this PR, but personally I would make every release that is not the latest stable release as Unsupported.

Also Rust is no longer a Mozilla project, so I don't think the mozilla-research tag is correct. Rust is run by The Rust Project, and the legal owner of the trademarks is The Rust Foundation.

@jonathanpallant thanks for putting the details together. I think @adriens can do the updates in the PR.

The Rust Foundation

https://foundation.rust-lang.org/

:+1: for the proper foundation

@jonathanpallant ,

So, I like this PR, but personally I would mark every release that is not the latest stable release as Unsupported.

That's very clear and easy to patch so it would become this:
-   releaseCycle: "1.74"
    releaseDate: 2023-11-17
    eol: false
    latest: "1.74.0"
    latestReleaseDate: 2023-11-17

-   releaseCycle: "1.73"
    releaseDate: 2023-10-06
    eol: true
    latest: "1.73.0"
    latestReleaseDate: 2023-10-06

-   releaseCycle: "1.72"
    releaseDate: 2023-08-25
    eol: true
    latest: "1.72.1"
    latestReleaseDate: 2023-09-20

Am I right ?

I propose to set the eol as the releaseDate of the next release:
# eol(x) = releaseDate(x+1)
releases:
-   releaseCycle: "1.74"
    releaseDate: 2023-11-17
    eol: false
    latest: "1.74.0"
    latestReleaseDate: 2023-11-17

-   releaseCycle: "1.73"
    releaseDate: 2023-10-06
    eol: 2023-11-17
    latest: "1.73.0"
    latestReleaseDate: 2023-10-06

-   releaseCycle: "1.72"
    releaseDate: 2023-08-25
    eol: 2023-10-06
    latest: "1.72.1"
    latestReleaseDate: 2023-09-20

I propose to set the eol as the releaseDate of the next release:

Totally makes sense @BiNZGi : i'll push the data today


Add unit tests for ViewAllCommand and ViewCommand classes #111

code ideas and format follow DeleteCommandTest
Adding header comments later
For ViewAll command, should I do it in a separate file or together with view command

This change is

@zzzzwen

For ViewAll command, should I do it in a separate file or together with view command

Usually, we have one test class for each functional class

Ready for review,
two tests are roughly the same
Here are some of my questions:
in ViewCommandTest:
assertViewSuccess, assertViewErrorInvalidIndex, assertViewErrorPersonNotInAddressBook are actually the same except the expected message is different, should I inline all three?
assertCommandResult this method can be quite general by just asserting the result message, if modify a bit, can move it to TestUtil class?
Same thing apply to ViewAllCommandTest

@zzzzwen Yes, you can move common methods to TestUtil class.

Updated, I will leave it here first, after merging #120 I will resolve the conflict

Updated, ready for review

Updated

Removed use of TestUtil.createList()

Updated, but if extract the assertCommandError the original will only have 1 line, is this fine

@zzzzwen

if extract the assertCommandError the original will only have 1 line, is this fine?

Yes, it is fine to have one line methods. The purpose of a method can be simply to call another method with
some specific parameters.

Updated

Updated. Noted the use of local variable and constant from this and previous commits. Thanks for detailed explanation

Updated

Updated

@zzzzwen
There are quite a lot of repetitive utility methods in ViewCommandTest. Having too many methods which call each other in a class makes it hard to read because readers have to jump all over the code in order to understand what a test case does. For a more exaggerated version of the problem, see the code of AddressBook-Level1.
One way of getting rid of the repetitive generateViewCommand(), generateViewAllCommand(), assertViewCommandBehavior(), assertViewAllCommandBehavior() is to use a utility method that accepts a Command directly instead:
    private static void assertViewBehavior(Command viewCommand, AddressBook addressBook,
                                           List<ReadOnlyPerson> list, String expectedMessage) {
        AddressBook expectedAddressBook = TestUtil.clone(addressBook);

        viewCommand.setData(addressBook, list);
        CommandResult result = viewCommand.execute();

        // Feedback message is as expected and there are no relevant persons returned
        assertEquals(expectedMessage, result.feedbackToUser);
        assertEquals(Optional.empty(), result.getRelevantPersons());

        // Address book was not modified
        assertEquals(expectedAddressBook.getAllPersons(), addressBook.getAllPersons());
    }

assertViewSuccess() and assertViewError() can then be written as follows:
    private void assertViewSuccess(AddressBook addressBook, List<ReadOnlyPerson> list, int index) {
        ReadOnlyPerson personToBeViewed = list.get(index - 1); // -1 is because index is one-indexed

        String expectedMessage = String.format(ViewCommand.MESSAGE_VIEW_PERSON_DETAILS,
                                               personToBeViewed.getAsTextHidePrivate());
        assertViewBehavior(new ViewCommand(index), addressBook, list, expectedMessage);

        expectedMessage = String.format(ViewCommand.MESSAGE_VIEW_PERSON_DETAILS,
                                        personToBeViewed.getAsTextShowAll());
        assertViewBehavior(new ViewAllCommand(index), addressBook, list, expectedMessage);
    }

    private static void assertViewError(AddressBook addressBook, List<ReadOnlyPerson> displayList,
                                                                int index, String expectedMessage) {
        assertViewBehavior(new ViewCommand(index), addressBook, displayList, expectedMessage);
        assertViewBehavior(new ViewAllCommand(index), addressBook, displayList, expectedMessage);
    }

This reduces your eight utility methods down to only three.

Updated, but ViewCommand and ViewAllCommand are two separate commands and my original idea is to split them into two different blocks of methods to show they are different.

@zzzzwen I notice you are still using the displayList terminology in your code. As I noted previously, this is inconsistent with the terminology already in use (relevantPersons).
Maybe displayList is a better name ( I personally think that relevantPersons is not such a great term, but I'm not so sure that displayList is a good replacement either. @damithc What do you think?  ) But if so, you need to commit to changing all instances of relevantPersons in the code base to use your displayList terminology. Are you up to the task? If so, make sure you open up an issue for that.

Configured and updated. Replaced all with parameters in Command

Updated, the displayList in the assertViewErrorInvalidIndex and assertViewErrorPersonNotInAddressBook are not changed in the previous commits because the terminology relevantPersons is for constructing the Command and those two in the methods still don't touch the Command yet, so I didn't change them in the two methods.

Updated

@zzzzwen the Fixes #... info is missing from the PR description.

oh, added

@damithc Can reconfirm your approval? PR has changed since your last review.

Updated

ok

@damithc Any more comments for this PR?


Submit to vim/vim

Hi jparise.
Do you want to try to add to vim/vim?
jparise/vim-graphql is the most popular plugin for GraphQL.
https://github.com/search?o=desc&q=vim+graphql&s=stars&type=Repositories
Now vim/vim is not support graphql, not even syntax highlighting.
https://github.com/vim/vim/tree/master/runtime/syntax
Of course the rights keep yours.
The following links are a case of rust-lang/rust.vim.

https://github.com/vim/vim/issues/1354
https://github.com/rust-lang/rust.vim/issues/134
https://github.com/vim/vim/pull/1356

Thanks.

That's an interesting idea, @ryu-ichiroh, and not one that I had previously considered.
One potential downside: vim-graphql currently integrates with a few other projects for improved syntax highlighting, such as https://github.com/pangloss/vim-javascript. I think we'd need to give that up if the code was part of vim itself. It might not be a big loss overall, but it's a consideration.
We would also need to rewrite the current test suite in terms of vim's own test assertions rather than Vader. That could be a good project to do in general, although it's not a priority.

@jparise Thank you for your positive comment!
As for the integrations and testing, vim/vim  would not need them and It's enough to import ftplugin/, idnent/, and syntax/.
(I understand that the integration is a great feature and testing make the project keep to reduce errors.)
I made a patch to make it easier for you to submit. https://github.com/ryu-ichiroh/vim/pull/1/files
Most of the code was taken over from vim-graphql, and modified the headers as brammool's comment.
https://github.com/vim/vim/pull/1356#issuecomment-270978696

@jparise Thank you for your positive comment!
As for the integrations and testing, vim/vim would not need them.
I understand that the integrations are great features and testing make the project keep to reduce the error.
But just imporing ftplugin/, idnent/ and syntax/ is enough.
@jparise Thank you for your positive comment!
As for the integrations and testing, vim/vim  would not need them and It's enough to import ftplugin/, idnent/, and syntax/.
(I understand that the integration is a great feature and testing make the project keep to reduce errors.)
I made a patch to make it easier for you to submit. https://github.com/ryu-ichiroh/vim/pull/1/files
Most of the code was taken over from vim-graphql, and modified the headers as brammool's comment.
https://github.com/vim/vim/pull/1356#issuecomment-270978696

Thanks, @ryu-ichiroh! I need to give this a little more thought to get a better understanding of what I'm actually signing up to maintain (🙂), but it does seem like a good idea.

I'm (slowly) making preparations to contribute some or all of this work to upstream vim. #108 is a recent example that standardizes the scripts based on vim's conventions.

Initial vim contribution: https://github.com/vim/vim/pull/16273


Attachment box Text

Path: High Court Case > Create
Issue: If the Attachment name is longer then it breaks out the allocated area.

fixed


add ethena-oct24+nextgen-oct30+party-oct31

Closed because positions in discord do not correspond to positions in google sheet.


update Packet Sender to v5.4.1

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[Y] brew cask audit --download {{cask_file}} is error-free.
[Y] brew cask style --fix {{cask_file}} reports no offenses.
[Y] The commit message includes the cask’s name and version.

Additionally, if updating a cask:
Both version and sha256 were updated.

[ ] sha256 changed but version stayed the same (what is this?).
I’m providing public confirmation below.

Additionally, if adding a new cask:

[ ] Named the cask according to the token reference.
[ ] brew cask install {{cask_file}} worked successfully.
[ ] brew cask uninstall {{cask_file}} worked successfully.
[ ] Checked there are no open pull requests for the same cask.
[ ] Checked the cask was not already refused in closed issues.
[ ] Checked the cask is submitted to the correct repo.

Thank you for the submission. In the future, please use x in checklists (no spaces inside the brackets) and Github will make them clickable.


How can i capture event with java

I'm following this document https://docs.spring.io/spring-amqp/reference/htmlsingle/#_event_consumption
But how i implement with java
I'm trying to implement java application consume rabbit queue and want to stop consumer when container idle after x miliseconds

Your question isn't clear. Look, the sample in the Reference Manual is like:
   @EventListener(condition = "event.listenerId == 'foo'")
    public void onApplicationEvent(ListenerContainerIdleEvent event) {
        ...
    }

This is indeed Java code.
And since you say:

want to stop consumer when container idle

I really sure that you use Spring AMQP, not just plain AMQP Java Client.
So, fully unclear what is wrong with approach we suggest you.
Please, elaborate more

hi Artembilan
I don't write spring project, only using spring AMQP as a lib
so how can i init instance of Listener and register to listen event from my container

Spring AMQP depends on the spring-context jar - so you already have the listener on your classpath - you just have to use it.

@kiakaku It seems to me the project homepage contains a pure java example.

Good suggestion, @panchenko !
Only the problem that Spring AMQP components are fully based on Spring foundation.
And that sounds a bit awkward to use Spring components but be outside of Spring Dependency Injection Container.
The AbstractMessageListenerContainer implements ApplicationEventPublisherAware to be auto-wired with the ApplicationEventPublisher. But that is really possible only when your AbstractMessageListenerContainer is bean if fully configured ApplicaitonContext.
Right, you can, @kiakaku , inject your own ApplicationEventPublisher implementation to manually created SimpleMessageListenerContainer, but is that the right way to use Spring at all?
alongside with the ApplicationEventPublisher you have to ensure many other Spring container related options to be sure that it is going to work properly. Therefore the question is: what is the point to use Spring AMQP without Spring?
Thanks

@panchenko, thanks for your suggestion, I followed this example and i can listen and publish message
But now i want to check if container idle x seconds (no message in x seconds) then stop it. It seems i cannot do it with pure java
@artembilan. I just don't want to use spring because it seems heavy, if cannot use pure java i will consider use Spring :)

@artembilan
I tried to use spring for capture ListenerContainerIdleEvent
But i get a little problem when condition is not correct
Example:
    @EventListener(condition = "event.listenerId = 'metfone_mca_mo_listener'") // need double equal
    public void onApplicationEvent(ListenerContainerIdleEvent event){
        logger.info(event.getListenerId());
    }

Spring did not throws Exception or any message to notify me and container was restarted after idle-event-interval
SimpleMessageListenerContainer:1099 - Restarting Consumer

Well, you don't need to use that condition if it looks for you so complicated.
You may move filtering logic into the onApplicationEvent directly.
The exception is thrown, but since the SimpleMessageListenerContainer is async by nature you don't get it in your main thread. Everything is happened on the listener thread. However I'm sure there is some ERROR logs on the matter anyway. Plust you can inject into the SimpleMessageListenerContainer some ErrorHandler to catch such an async exception.
This ticket is too long for being a bug or feature request.
This looks more like a support what we don't do from here on GH.
You should re-think your vision about Spring and read more book to understand how everything works there. Afterwards you won't have questions like this because everything will be in your application for free.

Thanks @artembilan


Support for additional etcd flags in helm chart

We should support additional etcd flags in helm chart:
          command:
          - etcd
          - --snapshot-count=10000
          - --experimental-initial-corrupt-check=true
          - --quota-backend-bytes=8589934592
          - ...

Closed via #112.


Need to fill in US 2020 row in further-tac-details.csv

I think this is good to go for this year after updating one number.  We can deal with the Tribal max catch column (just tribal catches) once we fully separate out tribal from data as planned for next year.

I think this is good to go for this year after updating one number.  We can deal with the Tribal max catch column (just tribal catches) once we fully separate out tribal from data as planned for next year.


Pending artifacts

List of items I am working on or plan to work on in the near future:

[x] Chrome browser history
[ ] Chrome browser downloads
[ ] Chrome browser keyword search terms
[ ] Chrome browser top sites
[ ] Chrome browser login data
[ ] Chrome browser bookmarks
[ ] Chrome browser cookies
[ ] Android Launcher - Icon positions on screens. (Script already made. Need to merge)
[ ] SIM info
[ ] IMSI info
[ ] Downloads
[ ] Google Play Installed Applications
[ ] Google Play Searches
[ ] Google Now & Quick Search Box
[ ] Wi-Fi profiles

Added Google Now & Quick Search Box. This is an interesting artifact I've been looking at.

Nice!!! Really interested in the Google Now data. Good one.


initial to-dos

[ ] Dockerfile Cleanup

[ ] Python 3.5
[ ] Dependencies

[ ] scikit-learn
[ ] PyMC 3
[ ] Pandas
[x] no neural networks on first pass -- keep it simple

[ ] README.md Instructions

[ ] Pull Request Process (for merging)
[ ] Environment Setup

[ ] Create Name Folder

[ ] pip-tools
[ ] [requirements.py](https://github.com/socketubs/requirements / requirements.txt

Your picture is homosexual.
On Mon, May 2, 2016 at 9:05 PM, Steven<EMAIL_ADDRESS>wrote:

Assigned #1
https://github.com/startakovsky/kaggle-digit-recognizer/issues/1 to
@AmesHarrison https://github.com/AmesHarrison.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/startakovsky/kaggle-digit-recognizer/issues/1#event-648321267

I find your comment disrespectful.


feat: adding ‘retainSelection’ to TabBar

Description
New 'retainSelection' property allows selected tab to remain ‘selected’ in mode even when the TabBar loses focus. That way, if the content is not using the 'TabContent' area in TabBar, we can maintain the same sort of relationship between 'selected' content and retain the visual identity of the selected tab.
References
Testing
I added a test to verify this change.
Automation
Checklist

[ ] all commented code has been removed
[ ] any new console issues have been resolved
[ ] code linter and formatter has been run
[ ] test coverage meets repo requirements
[ ] PR name matches the expected semantic-commit syntax

 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.

Test Execution Passed.

Test Execution Passed.

Test Execution Failed.

Test Execution Passed.


SIM800L and OTA throwing error (IDFGH-2470)

Environment

Development Kit: none
Module or chip used: ESP32-WROOM-32D
IDF version (run git describe --tags to find it): v4.0-beta2-296-g7d241e113
Build System: CMake
Compiler version (run xtensa-esp32-elf-gcc --version to find it): xtensa-esp32-elf-gcc (crosstool-NG esp-2019r2) 8.2.0
Operating System:    Fedora
Power Supply: external 5V

Problem Description
I combined OTA and SIM800L examples together. During downloading new version of FW, the error is ocurring and in the and it fails the download of the FW. I tried to tweak some UART settings but I wasnt succesfull.
Actual Behavior
D (499961) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=979440
D (499971) HTTP_CLIENT: need_read=512, byte_to_read=512, rlen=512, ridx=512
D (499971) HTTP_CLIENT: http_on_body 512
D (499991) OTA: Written image length 243712
D (499991) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=979440
D (499991) HTTP_CLIENT: need_read=1024, byte_to_read=512, rlen=512, ridx=0
D (500001) HTTP_CLIENT: http_on_body 512
D (500011) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=979440
D (500011) HTTP_CLIENT: need_read=512, byte_to_read=512, rlen=512, ridx=512
D (500021) HTTP_CLIENT: http_on_body 512
W (500041) esp-modem: HW FIFO Overflow

Steps to reproduce

combine OTA and SIM800L examples and run

Ok I was testing more this problem. This is not the main problem. THe main problem is that each 16kb will stop downloding OTA file for 30 seconds. Each time it will split 512 part into 254 and 258 bytes (not sure why). And almost at the end (the OTA file has almost 1 MB) it has broken the OTA and stops downloading. Only temporary fix I have is changing timeout_ms in esp_http_client_config_t to '100000'. Why this is happening on GSM? If i switch to WIFI, than everything is ok.
 (98191) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=979440
D (98191) HTTP_CLIENT: need_read=1024, byte_to_read=512, rlen=512, ridx=0
D (98191) HTTP_CLIENT: http_on_body 512
D (98191) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=979440
D (98201) HTTP_CLIENT: need_read=512, byte_to_read=512, rlen=254, ridx=512
D (98211) HTTP_CLIENT: http_on_body 254
D (98211) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=979440
D (135571) HTTP_CLIENT: need_read=258, byte_to_read=258, rlen=258, ridx=766
D (135571) HTTP_CLIENT: http_on_body 258

Hi, @Arthedian , have you resolved the HW_FIFO_OVERFLOW issue?
I'm experiencing the same tryng to run the OTA with an LTE module.

@Arthedian Could you enable RTS/CTS of UART and check again?

@Arthedian Could you enable RTS/CTS of UART and check again?

I (323714) aws_mqtt: Processing the Command from AWS_MQTT
I (323724) aws_mqtt: OTA Update
I (330974) esp_https_ota: Starting OTA...
I (330974) esp_https_ota: Writing to partition subtype 16 at offset 0x310000
I (488834) esp_https_ota: Connection closed
I (488834) esp_image: segment 0: paddr=0x00310020 vaddr=0x3f400020 size=0x0554c ( 21836) map
I (488854) esp_image: segment 1: paddr=0x00315574 vaddr=0x00000000 size=0x00000 (     0)
I (488854) esp_image: segment 2: paddr=0x0031557c vaddr=0x00000000 size=0x00000 (     0)
I (488854) esp_image: segment 3: paddr=0x00315584 vaddr=0x00000000 size=0x00000 (     0)
I (488864) esp_image: segment 4: paddr=0x0031558c vaddr=0x00000000 size=0x00000 (     0)
I (488874) esp_image: segment 5: paddr=0x00315594 vaddr=0x00000000 size=0x00000 (     0)
E (488884) esp_image: Checksum failed. Calculated 0x81 read 0x0
E (488894) aws_mqtt: Firmware Upgrade Failed return code: 1503

I (323714) aws_mqtt: Processing the Command from AWS_MQTT
I (323724) aws_mqtt: OTA Update
I (330974) esp_https_ota: Starting OTA...
I (330974) esp_https_ota: Writing to partition subtype 16 at offset 0x310000
I (488834) esp_https_ota: Connection closed
I (488834) esp_image: segment 0: paddr=0x00310020 vaddr=0x3f400020 size=0x0554c ( 21836) map
I (488854) esp_image: segment 1: paddr=0x00315574 vaddr=0x00000000 size=0x00000 (     0)
I (488854) esp_image: segment 2: paddr=0x0031557c vaddr=0x00000000 size=0x00000 (     0)
I (488854) esp_image: segment 3: paddr=0x00315584 vaddr=0x00000000 size=0x00000 (     0)
I (488864) esp_image: segment 4: paddr=0x0031558c vaddr=0x00000000 size=0x00000 (     0)
I (488874) esp_image: segment 5: paddr=0x00315594 vaddr=0x00000000 size=0x00000 (     0)
E (488884) esp_image: Checksum failed. Calculated 0x81 read 0x0
E (488894) aws_mqtt: Firmware Upgrade Failed return code: 1503

I have the same issue, also with SIM800L. Do you guys have found a way to solve?  At first look seemed a simple problem of buffers but maybe it's not...

Issue was resolved!!!!
I used the following functions instead of using **

esp_https_ota(&config)

**;..............................
**

esp_https_ota_begin(&ota_config, &https_ota_handle);
esp_https_ota_get_img_desc(https_ota_handle, &app_desc);
validate_image_header(&app_desc);
esp_https_ota_perform(https_ota_handle);
esp_https_ota_is_complete_data_received(https_ota_handle)
esp_https_ota_finish(https_ota_handle);

**
When the ota image size is small then  **

esp_https_ota(&config)

** is working. If the image is larger then it is not working, So my suggestion is to go with the above functions to perform OTA...

Issue was resolved!!!!
I used the following functions instead of using the esp_https_ota(&config) .....

esp_https_ota_begin(&ota_config, &https_ota_handle);
esp_https_ota_get_img_desc(https_ota_handle, &app_desc);
validate_image_header(&app_desc);
esp_https_ota_perform(https_ota_handle);
esp_https_ota_is_complete_data_received(https_ota_handle)
esp_https_ota_finish(https_ota_handle);

When the ota image size is small then esp_https_ota(&config) is working. If the image is larger then it is not working, So my suggestion is to go with the above functions to perform OTA...

@TahirShaik Hi can u able to share app code for this ota via GSM 4G module.

Hello I'm also facing the same issue, I have increased the timeout to 10s but the OTA still fails

I fixed the "HW FIFO Overflow" by moving the UART ISR into RAM (setting CONFIG_UART_ISR_IN_IRAM). Afterwards I still got the following error: "Image validation failed, image is corrupted". I "fixed" this by setting CONFIG_SPI_FLASH_USE_LEGACY_IMPL. No idea why this is not working without the legacy flag set.


Enable provider logging when running in Azure Functions

Azure Functions use ILogger, but our provider logging doesn't work out of the box today.

cc @avanigupta

Is this specifically for isolated mode or in-process? Or both?

Both, if possible, but will prioritize the isolated mode if we have to choose.

How could this have been broken? If you take an injected dependency on ILoggerFactory or ILogger<XXX>, wouldn't this have worked in any environment?

@goldsam
When you are calling public static IConfigurationBuilder AddAzureAppConfiguration(this IConfigurationBuilder configurationBuilder, IEnumerable<string> connectionStrings, bool optional = false) method, how would you get access to DI container?

@zhiyuanliang-ms
I see the issue and recognize this is a unique challenge. AzureAppConfigurationSource depends on services (indirectly via ConfigurationClientManager) that ideally would be injected (such as ILoggerFactory/ILogger and ConfigurationClient.
Here are some ideas:

Introduce a Func<IServiceProvider> ServiceProviderResolver {get; set;} property on AzureAppConfigurationOptions that would be used to lazily resolve an ILoggerFactory (and perhaps the ConfigurationClient as well).
Introduce more specific callbacks such as Func<ILoggerFactory> LoggerFactoryResolver {get; set;}
Introduce extensions methods on IConfigurationBuilder to store state in IConfigurationBuilder.Properties that could be used to resolve these services.

There are things in ConfigurationClientManager that could be exposed as part of the public API via AzureAppConfigurationOptions to solve the problem.
I think the common use case is to build an IConfiguration to which IOptions are bound. When AddOptions and Configure extension methods are used, these options are lazily resolved at runtime. The implication is that these options resolution would occur after application startup when the DI container exists and the dependent services are available.


Typo in reference page for 'updatePixels()'

Actual Behaviour
In the parameters section of the reference page for 'updatePixels()', parameter w is described as :
"Integer: height of the target update area for the underlying canvas"
Expected Behaviour
parameter w should be described as :
"Integer: width of the target update area for the underlying canvas"
Steps to reproduce it
go to the addresses below :
https://p5js.org/reference/#/p5.Image/updatePixels
https://p5js.org/ko/reference/#/p5.Image/updatePixels
https://p5js.org/es/reference/#/p5.Image/updatePixels
https://p5js.org/zh-Hans/reference/#/p5.Image/updatePixels
Screenshots of the issue

Would you like to work on the issue?
Yes

@truemaxdh Thanks. You can go ahead and file a PR with a fix if you like.


Reusing ConfigView instances when possible

Every time a class gets instantiated by ByteBuddy, new Class is created, then single instace is created using that class and this particular class is never used again. Such behavior can be seen in test and verified easily, e.g. by debugging in IDE.

In extreme cases this approach leads to many classes being spawned and in extreme cases leads to an app using ConfigView crashing once its metaspace is full.
Also bytebuddy updated to include latest bugfixes: https://github.com/raphw/byte-buddy/releases

I had some trouble verifying my commit signature on github using SSH key. Now commit is signed with GPG and verification works just fine :)


Clarify text on alert generation in commissioning

At the Early Science drop-in session, we had a question about how alerts would be generated during commissioning. We say in the RTN-011 tables that ComCam alerts will be generated, canned, and released as part of DP1, and that LSST Cam SV alerts will be generated, and made available via the Alert DB as in survey operations. We also say that we aim to be producing a "near-live" stream by the end of SV.
This PR adds text to section 6.3 to clarify how these alerts will be generated, and to make the text consistent with the tables.
I think (and write!) that the only way we will be able to make  alerts during commissioning is as a by-product of testing and optimizing the incremental template generation process. (There will be no reference images at all for ComCam, and the ComCam coadds will be in a different part of the sky to the LSST Cam visit images - so the templates will have to be made using the first few images taken by each camera, which is what the incremental template generation pipeline does.)
Looking for a review from @leannep and @ebellm to check that I have everything right!

Thanks both! Merging now.


.save_event doesn't function

The named method using in context of described example:
my_event = my_new_calendar.save_event(
dtstart=datetime.datetime(2020,5,17,8),
dtend=datetime.datetime(2020,5,18,1),
summary="Do the needful",
rrule={'FREQ': 'YEARLY'))
leads to error:
TypeError: Calendar.save_event() got an unexpected keyword argument 'dtstart'

The documentation is for v0.9, which hasn't been released yet.  If you can use the head version from the master branch, it will work.  Sorry for this ... the release of v0.9 is way overdue, but has been procrastinated due to the war.

expected with update.


Extension issue

Issue Type: Bug
Extension Name: html-css-class-completion
Extension Version: 1.20.0
OS Version: Windows_NT x64 10.0.19042
VSCode version: 1.54.3

:warning: We have written the needed data into your clipboard. Please paste! :warning:
{
	"messages": [],
	"activationTimes": {
		"codeLoadingTime": 222,
		"activateCallTime": 3,
		"activateResolvedTime": 46421,
		"activationReason": {
			"startup": true,
			"extensionId": {
				"value": "Zignd.html-css-class-completion",
				"_lower": "zignd.html-css-class-completion"
			},
			"activationEvent": "*"
		}
	},
	"runtimeErrors": []
}

Seems to be already reported at #155