event $viewContentLoading doesn't seem to work

It seems I'm unable to get the $viewContentLoading fired.
The doc says it's fired by the $rootScope, while in the example listen to the $scope
$scope.$on('$viewContentLoading',
function(event, viewConfig){
    // Access to all the view config properties.
    // and one special property 'targetView'
    // viewConfig.targetView
});

I've tried both, but I couldn't catch any event

For me too $viewContentLoaded is not firing. How the heck should i know that my view is ready?

Still waiting on a plunkr that demonstrates the issue.

+1

+1

+1

Not firing, too :(

I think the problem is that the $viewContentLoading / $viewContentLoaded events are not always paired.
$viewContentLoading is emitted from $ViewProvider.load which is called from resolveViews as a side effect of state transition.
$viewContentLoaded is emitted from <ui-view>'s updateView whenever it needs to update (as a side effect of initial instantiation, $viewContentLoading, or $stateChangeSuccess), after it runs the controller.
The problem is if you have nested views and states such that you can update views without activating new states (such as transitioning from a child state to a parent state, which involves only state DEactivation) then you get $viewContentLoaded without $viewContentLoading.  Plunkr here (all the output goes to the devtools console so open the console, then click back and forth between "enter state 1" and "enter state 2" to verify you get matched pairs of loading/loaded events, then click "enter root state" and you'll see only a loaded event but no loading event.)

I also note in real usage in my real apps that when ui-view receives a $viewContentLoading event, it always seems to follow the return; // nothing to do path in updateView(). Then immediately after that, it receives a $stateChangeSuccess event which triggers another call to updateView() which is not a no-op. That is, it never does anything with the $viewContentLoading event, and its behavior is always driven directly from $stateChangeSuccess.
Proposal 1: leave $viewContentLoading how it is for backwards compatibility, but add a second event ($viewContentReallyLoading?!) that is emitted inside updateView before the $transclude call, always paired with $viewContentLoaded. (Use case: my test harness wants to know when views are instantiating so that if a controller throws an exception, it knows which view to blame. So I really want a reliable "loading" signal.)
Proposal 2: remove the existing $viewContentLoading, and just emit $viewContentLoading from updateView before the $transclude call. This might break people who depend on the current behavior, but barring an explanation I don't currently understand, this behavior makes more sense.
I'd favor proposal 2 because I don't know what the meaning of the existing $viewContentLoading site really means to external client code (since it doesn't reliably happen), the internal consumer of the current $viewContentLoading event doesn't seem necessary, I think the other site is a more reliable indicator of what external client code wants to know, and I think $viewContentLoading is the right name for the event that's paired with $viewContentLoaded. But it's very possible I'm missing something about the current $viewContentLoading emit site.
I'd be happy to submit a PR for either of these proposals if the main contributors would nominate their preference.

A couple other differences I note between $viewContentLoading (in 0.2.15) and $viewContentLoaded:

$viewContentLoading is broadcast down from the root scope, $viewContentLoaded is emitted up from the view scope
I didn't prove it in that plunkr but I'm guessing since "loading" is sent from the resolve-state path, and "loaded" is sent from the view-update path, if one state maps to multiple views, you get one "loading" event and multiple "loaded" events
$viewContentLoading comes with an "options" parameter (which doesn't actually seem to include the name of the view that's loading), $viewContentLoaded does not

Again if there's a need (for backwards compatibility or for internal reasons I don't understand) for the current $viewContentLoading behavior (broadcast on the root scope once per state transition and only if notify was specified and it needs to include the options parameter) then I suggest we keep it and add another event which is paired with $viewContentLoading (emitted on the view scope once per view update); that's roughly my proposal 1 above; if there's no such need then my proposal 2 seems simpler and cleaner.
@nateabele please note the new plunkr in response to the plunkr-please label, and I'm curious what you think of this analysis and the proposals.

I updated the plunkr to demonstrate that if one state has two child views, and a child state populates both those views, you get two "loading" and two "loaded" events, but if a child state populates only one of those views, you get one "loading" and two "loaded" events. The problem I understand is related to situations with multiple views defined across multiple states with inheritance. The inherited views get a "loaded" event but no "loading" event.

Metamatt Thanks for the analysis. I've never understood how people are using these events external to ui-router code. I think option #2 seems reasonable.
Can anyone else speak up if they are using viewContentLoading in some meaningful way and would object to proposal #2?
That said, Nate is revamping the transition to view interaction, and these events are likely going to be deprecated or removed completely in 1.x.

To those who requested use cases — take a look at my original issue:  https://github.com/angular-ui/ui-router/issues/2403 and [finally] working example: http://plnkr.co/edit/ED0SGYyJerO1kaNDCwGv?p=preview
This requires the patch from: https://github.com/angular-ui/ui-router/pull/2003

@OnkelTem I'm not sure I follow. #2003 has been merged. Is there something further to do here?

No actually, I just leaved a message for those seeking additional information.

Ah, okay. :smile: Thanks!


[Suggestion] add quark right click compat

title pretty much explains this, but quark right click compat would be absolutely amazing if you can add it, no rush on it, just seeing this in the future would be amazing

yeah thats exactly what it is

theoretically you can already achieve this using the config
https://github.com/VazkiiMods/Quark/blob/213658598ed9be4b78def54fa0fda4125f9dbcf8/src/main/java/vazkii/quark/content/tweaks/module/SimpleHarvestModule.java#L80-L88
i.e. "minecraft:wheat[age=7,quality_food=3],minecraft:wheat[age=0,quality_food=3]"
it would mean adding a lot of config entries
but it also means users can specify whether certain quality should be auto-replanted / quick-harvested or not etc.
not sure if i should bypass said config

you could auto fill it if both mods are installed


Fantastic

Microsoft makes so much more money from individual licenses than enterprise agreements.
This will give a fantastic boost for Microsoft shares. But will likely make lots of customers unhappy. Marketing guys are da ting.

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

ID: 0beb3664-94e2-fc84-15ee-184d34f0d947
Version Independent ID: 64bbd0e0-8ded-c2e0-6688-5b6a51144a40
Content: Self-service purchase FAQ
Content Source: microsoft-365/commerce/subscriptions/self-service-purchase-faq.md
Service: o365-administration
GitHub Login: @cmcatee-MSFT
Microsoft Alias: cmcatee

It was a brilliant sales drive - but they have under-estimated the power of the community.  This must be stopped!

@povlhp & @VeroniquePalmer Based on your feedback, we’ve adjusted our approach to better address the needs of both IT admins and end users within organizations. We are providing IT admins a way to turn off self-service purchasing on a per product basis via PowerShell.

That is not the solution we have requested.  Please see the overwhelming response from the public on Uservoice about this issuehttps://office365.uservoice.com/forums/273493-office-365-admin/suggestions/38878723-ability-to-block-self-service-purchase-capabilitie.  A PowerShell command per product is not an acceptable solution.  This functionality must be off by default with radio button opt-in / opt-out settings in the tenant admin centre.
From: Cern McAtee<EMAIL_ADDRESS>Sent: 01 November 2019 05:53 PM
To: MicrosoftDocs/microsoft-365-docs<EMAIL_ADDRESS>Cc: Veronique Palmer<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/microsoft-365-docs] Fantastic (#643)
@povlhphttps://github.com/povlhp & @VeroniquePalmerhttps://github.com/VeroniquePalmer Based on your feedback, we’ve adjusted our approach to better address the needs of both IT admins and end users within organizations. We are providing IT admins a way to turn off self-service purchasing on a per product basis via PowerShell.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/microsoft-365-docs/issues/643?email_source=notifications&email_token=ALVZWZ4B6INQUJSNJ6U4M33QRRGGBA5CNFSM4JGJCED2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC3KKNI#issuecomment-548840757, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALVZWZY4A4QBN2LI65HF2NTQRRGGBANCNFSM4JGJCEDQ.


Node Manager Interface for NCM Registration.

NMM has the interface to register, unregister, query NCM metadata.
NMM augments NodeInfo with NCM URI based on the NCM ID in it during
create node.
NCM Metadata in NMM mo longer carries list of nodeids.
NMM swagger UI allows querying nodes by NCM ID.
Known problems:
- Node creation is not returning error the ncmid has
not been registered.
- NMM query by ncmid is not working.
- NMM is not using NCM Uri to talk to NCM.
- No Unit tests yet, only swagger UI has been used to
validate the code.

This is a rather large change set.
If any existing test/code has cases where a node is created with a ncmid set but that ncm has not been registered, it may fail.


Handle case to work with non standard content like "Content-Type: image"

Sometimes the services behind the cloud gateway respond with non standard content type like 'image'. It is fixed here.

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.x@cba999a). Click here to learn what that means.
The diff coverage is 80%.

@@           Coverage Diff            @@
##             2.0.x     #527   +/-   ##
========================================
  Coverage         ?   71.61%
  Complexity       ?      921
========================================
  Files            ?      128
  Lines            ?     3622
  Branches         ?      255
========================================
  Hits             ?     2594
  Misses           ?      898
  Partials         ?      130

Impacted Files
Coverage Δ
Complexity Δ

...ewrite/ModifyResponseBodyGatewayFilterFactory.java
4.61% <0%> (ø)
1 <0> (?)

...ework/cloud/gateway/filter/NettyRoutingFilter.java
94.44% <100%> (ø)
13 <0> (?)

...cloud/gateway/filter/NettyWriteResponseFilter.java
100% <100%> (ø)
10 <0> (?)

Continue to review full report at Codecov.

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


Vulkan doesn't work on Ubuntu 20.04

Godot version: v4.0.dev.custom_build.d2887ea78
OS/device including version: Ubuntu 20.04, AMD Radeon R9 380 Series
Issue description: When starting Godot the window appears, but everything is just black. I have Vulkan drivers installed and got them to work with some sample applications, but Godot doesn't work. On Ubuntu 18.04 it worked just fine, but after I updated it didn't work any more. I also have Windows 10 installed on which it works just fine.
It could be a problem with my drivers, but I can't find out what the problem is.

Interesting, for me it didn't work on Ubuntu 18.04, but it worked after I updated to 20.04. I'm using an Nvidia GPU, though. In any case, this issue needs people to try reproducing it.

I had the same problem before on 18.04 and Windows 10, but after a certain commit it just worked.

I have a Radeon HD6450.
The released binary works fine but after building the engine I get this crash:
ivo@i5:~/godot/godot/bin$ ./godot.linuxbsd.tools.64
Godot Engine v4.0.dev.custom_build.77e19d116 - https://godotengine.org
ERROR: Condition "err" is true. returned: ERR_CANT_CREATE
   at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:353)
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7fbf48272210] (??:0)
[2] ./godot.linuxbsd.tools.64() [0x266ada1] (/home/ivo/godot/godot/thirdparty/vulkan/loader/loader.h:396)
[3] ./godot.linuxbsd.tools.64(vkDestroyFence+0x24) [0x266ec75] (/home/ivo/godot/godot/thirdparty/vulkan/loader/trampoline.c:1030)
[4] VulkanContext::~VulkanContext() (/home/ivo/godot/godot/drivers/vulkan/vulkan_context.cpp:1596)
[5] VulkanContextX11::~VulkanContextX11() (/home/ivo/godot/godot/platform/linuxbsd/vulkan_context_x11.cpp:57)
[6] void memdelete<VulkanContextX11>(VulkanContextX11*) (/home/ivo/godot/godot/./core/os/memory.h:119)
[7] DisplayServerX11::DisplayServerX11(String const&, DisplayServer::WindowMode, unsigned int, Vector2i const&, Error&) (/home/ivo/godot/godot/platform/linuxbsd/display_server_x11.cpp:3564)
[8] DisplayServerX11::create_func(String const&, DisplayServer::WindowMode, unsigned int, Vector2i const&, Error&) (/home/ivo/godot/godot/platform/linuxbsd/display_server_x11.cpp:3167)
[9] DisplayServer::create(int, String const&, DisplayServer::WindowMode, unsigned int, Vector2i const&, Error&) (/home/ivo/godot/godot/servers/display_server.cpp:563)
[10] Main::setup2(unsigned long) (/home/ivo/godot/godot/main/main.cpp:1273 (discriminator 2))
[11] Main::setup(char const*, int, char**, bool) (/home/ivo/godot/godot/main/main.cpp:1200)
[12] ./godot.linuxbsd.tools.64(main+0xe5) [0x17b38cb] (/home/ivo/godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:49)
[13] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fbf482530b3] (??:0)
[14] ./godot.linuxbsd.tools.64(_start+0x2e) [0x17b372e] (??:?)
-- END OF BACKTRACE --
Aborted (core dumped)

I had the same problem on Archlinux with an AMD GPU (RX 5700). My first thought was that it could be somewhat instable because of navi drivers but it seems like that's not the cause.
Is there an easy way to enable validation layers for Godot? Then I could post its output. This could help to fix it.

I think issue #36126 is related to this, isn't it?

I added a comment here and then deleted it because I realized that my GPU (ATI Radeon HD6450) is not supported by Vulkan and I should have built the older release branch that uses OpenGL.
To check, you can install vulkaninfo and see what it outputs.
I hope this is helpful.

I don't think this is Ubuntu specific, because I have the exact same issue on Windows 10.

https://vulkan.gpuinfo.org/displayreport.php?id=1026
It looks like your hardware is supported for Vulkan v1.0.26
Does anyone know what Vulkan version Godot builds with?

https://vulkan.gpuinfo.org/displayreport.php?id=1026
It looks like your hardware is supported for Vulkan v1.0.26.

This mentions Vulkan v1.0.26 simply because it was one of the most recent versions when this report was generated: 2017-01-13 12:38:22.
But yes, it indicates that AMD Radeon R9 380 should support Vulkan if the amdgpu and radeonsi components are properly installed.

You also want to the have the same VulkanSDK that godot is built with. There are different features that may break depending on VulkanSDK version.

I also could not launch Godot on either of my systems - "black window" on R9 290:

Ubuntu 18.04, AMDGPU-PRO
Ubuntu 20.04, amdgpu+radeonsi
Windows 7
Windows 10
Vulkan is installed correctly according to vulkaninfo, and I can say for sure that at least on Windows 7, Vulkan definitely works, because I've played Vulkan games on it.

With RX 550 on Debian 10 amd64, Godot does not start at all:
Godot Engine v4.0.dev.calinou.4d50f747d - https://godotengine.org
ERROR: Cant find layer: VK_LAYER_KHRONOS_validation
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_LUNARG_standard_validation
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_GOOGLE_threading
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
DisplayServer::_create_window 0 want rect: 448, 300, 1024, 600 got rect 4, 26, 1024, 600
DisplayServer::_window_changed: 0 rect: 8, 79, 1024, 600

WARNING: Console window not supported by this display server.
     at: console_set_visible (servers/display_server.cpp:199)
DisplayServer::_create_window 1 want rect: 709, 551, 501, 97 got rect 4, 26, 501, 97
DisplayServer::_window_changed: 1 rect: 713, 577, 501, 97
LLVM ERROR: Cannot select: 0x72834b8: i16,ch = load<(load 1 from %ir.50 + 1, addrspace 6), anyext from i8> 0x6639978, 0x7289ca0, undef:i32
  0x7289ca0: i32 = add 0x7283178, Constant:i32<25>
    0x7283178: i32,ch = CopyFromReg 0x6639978, Register:i32 %3
      0x7283110: i32 = Register %3
    0x7289c38: i32 = Constant<25>
  0x72832b0: i32 = undef
In function: main

And here is the log from Ubuntu 18.04 with AMDGPU-PRO (starts but black window):
Godot Engine v4.0.dev.calinou.4d50f747d - https://godotengine.org
ERROR: Cant find layer: VK_LAYER_KHRONOS_validation
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_LUNARG_standard_validation
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
ERROR: Cant find layer: VK_LAYER_GOOGLE_threading
   at: _check_layers (drivers/vulkan/vulkan_context.cpp:158)
WARNING: radv is not a conformant vulkan implementation, testing use only.
DisplayServer::_create_window 0 want rect: 448, 300, 1024, 600 got rect 0, 0, 1024, 600
DisplayServer::_window_changed: 0 rect: 627, 29, 1024, 600

WARNING: Console window not supported by this display server.
     at: console_set_visible (servers/display_server.cpp:199)
DisplayServer::_create_window 1 want rect: 709, 551, 501, 97 got rect 0, 0, 501, 97
DisplayServer::_window_changed: 1 rect: 713, 580, 501, 97

I also have this issue when compiling with target=release_debug. But when using target=debug  it works.
Pop OS 20.04 radeonsi.

Oh! I've confirmed this: there is no "black window" problem with target=debug.
To be specific, I've built Godot on Debian Buster with Clang, without specifying target at all. With R9 290, it worked fine on both Ubuntu 18.04 with AMDGPU-PRO and Ubuntu 20.04 with radeon !
But it still crashed on Debian Buster with RX 550. I've tried running it in an Ubuntu 20.04 Docker container (with the X socket and /dev/dri shared), but it still crashed. So, old X?..

I have confirmed that the "crashing" issue is with Debian Buster: even on the same machine where it runs on Ubuntu 18.04 and 20.04 (and Windows 7 and Windows 10), it crashes on Debian Buster.

This was likely fixed by #43066. Can anyone affected confirm that it no longer crashes in the latest master branch?

This was possibly fixed by #43066. Can anyone affected confirm that it no longer crashes in the latest master branch?

It now works on amdvlk 2020.Q4.1 and radv 20.0.8 (Linux mint 20, amd rx480)

I can also confirm that it is now working on
Ubuntu 20.04.1
AMD Radeon R9 380 Series

Awesome, thanks. Closing as fixed by #43066.
If anyone in this thread still experiences their issue, please open a new issue as it likely has a different cause.


RUMM-2244: Sourcemap upload script

What does this PR do?
This changed brings a task to upload JS source maps/bundles for Android by getting their location and passing it to the datadog-ci tool. Currently it only supports application module (hence relying on the specific project) and should be applied as apply from in the end of the app module's build.gradle.
What it can:

It can read properties from the datadog-sourcemaps.properties file (currently reading only service name property), which should be located in the root dir of React Native project. Content should be in the key=value format.
It can read API key from the datadog.credentials file (should be in the root RN directory as well) if it is not defined in the env and pass it as env variable to the uploader. This file should contain only API key value.

When applied it will add the necessary upload tasks for the variants which have bundling enabled. This task will be automatically run after bundle task completes.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)
[ ] If this PR is auto-generated, please make sure also to manually update the code related to the change

The file needs to be added to the files in packages/core/package.json, and then the release-content needs to be updated

To test this with a new version of datadog-ci:
In your local datadog-ci

yarn link
yarn build

In your project with a new version of the core package

yarn link @datadog/datadog-ci
copy datadog-ci/dist/cli.js to node_modules/bin/datadog-ci

This PR is good for me, let's wait for the unminification to be working in staging before merging it.


Building.md instructions not working for m1 mac

I attempted to clone and compile Yojimbo, and it failed, but I'm not sure why. I would appreciate help figuring out my issue.
I have the pastebin of terminal logs here: https://pastebin.com/BEzmZraj
Although, important to note I am using an aarch64 M1 Pro. I'm not sure why make isn't recognizing mbedtls and libsodium, but any help is appreciated!

It is probably due to Homebrew keeping libraries and include files in /opt/homebrew as opposed to usr/local so it might be worth trying to use the environment variables clang look for to set an include and library path like so:
export LIBRARY_PATH=/opt/homebrew/lib && export C_INCLUDE_PATH=/opt/homebrew/include && make all

It is probably due to Homebrew keeping libraries and include files in /opt/homebrew as opposed to usr/local so it might be worth trying to use the environment variables clang look for to set an include and library path like so:
export LIBRARY_PATH=/opt/homebrew/lib && export C_INCLUDE_PATH=/opt/homebrew/include && make all

I attempted it and it still didn't work. I appreciate the sugguestion.

I'm working on this now, the dependencies on sodium and mbedtls have been removed.


Debug AdapterManager/DebugService has recursive instatiation

I don't have repro steps for this, but I've been hitting this pretty constantly in OSS on ~80% of refreshes. This breaks the extension host too:

The context key change that triggers the visibility of the REPL view to update is debuggersAvailable being set to true here: https://github.com/microsoft/vscode/blob/a24a10dbd244f340509e6a15deab53d70e95e4b3/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts#L63
Maybe if the extension host comes up too fast this happens?

yes, I've noticed this this week too. I'm not aware of any changes in debug land.

Sorry about this, I will fix it today
Dup of https://github.com/microsoft/vscode/issues/126339


Submit jNeuroML 0.8.5

id: jneuroml
version: 0.8.5
specificationsUrl: https://raw.githubusercontent.com/biosimulators/Biosimulators_pyNeuroML/bd9ddb6e2e1db3471bc6ad1cab4d39ccf36f627c/biosimulators-jneuroml.json
specificationsPatch:
version: 0.8.5
validateImage: false
commitSimulator: true

Thank you @biosimulators-daemon for your submission to the BioSimulators simulator validation/submission system!
The BioSimulators validator bot is validating the specifications of your simulator and committing your simulator to the BioSimulators registry. You have chosen not to have the Docker image for your simulator validated.
We will discuss any concerns with your submission in this issue.
A complete log of your simulator submission job will be available here.

The specifications of your simulator is valid!

A member of the BioSimulators team will review your submission and publish your image before final committment to the registry.

Thank you @biosimulators-daemon for your submission to the BioSimulators simulator validation/submission system!
The BioSimulators validator bot is validating the specifications of your simulator and committing your simulator to the BioSimulators registry. You have chosen not to have the Docker image for your simulator validated.
We will discuss any concerns with your submission in this issue.
A complete log of your simulator submission job will be available here.

The specifications of your simulator is valid!

Your submission was committed to the BioSimulators registry. Thank you!
Future submissions of subsequent versions of jneuroml to the BioSimulators registry will be automatically validated. These submissions will not require manual review by the BioSimulators Team.


TypeError: '_AnnotatedAlias' object cannot be converted to 'PyType'

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
Description
A field cannot be the type of an annotated type.
Example Code
from typing import Annotated, Type

from pydantic import BaseModel

class Model(BaseModel):
    a: Type[int]

class Model(BaseModel):
    a: Type[Annotated[int, ...]]

Python, Pydantic & OS Version
             pydantic version: 2.8.2
        pydantic-core version: 2.20.1
          pydantic-core build: profile=release pgo=true
                 install path: /Users/chris/.local/share/virtualenvs/blab-backend-adaptors-Wxp0dkLo/lib/python3.11/site-packages/pydantic
               python version: 3.11.5 (main, Sep 28 2023, 12:46:06) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
                     platform: macOS-14.4.1-arm64-arm-64bit
             related packages: typing_extensions-4.12.0 pydantic-settings-2.1.0 email-validator-2.1.0.post1
                       commit: unknown

This is similar to #9099 although think it deserves its own issue. Any thoughts? Happy to get started on a PR!
Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[X] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

@crsren,
Thanks for reporting this. Indeed, I think this deserves its own issue :).

I don't know if the form type[Annotated[int, ...]] makes sense: from a typing theory perspective, annotated metadata is ignored and does not have any effect. type[Annotated[int, ...]] is thus essentially equivalent to type[int]. Maybe you wanted to use Annotated[type[int], ...] instead?

I agree that type[Annotated[int,...]] itself wouldn't makes sense! Only gave that as the simplest possible example to reproduce the error.
A better example I came across recently goes something like:

from typing import Annotated

from pydantic import BaseModel, PlainSerializer

RoundedFloat = Annotated[float, PlainSerializer(lambda v: round(v, 2))]

Accessor = str
Value = str | int | RoundedFloat

class Column(BaseModel):
    accessor: str
    dataType: type[Value]
    header: str

class Table(BaseModel):
    columns: list[Column]
    data: list[dict[Accessor, Value]]

columns = [
    {"accessor": "name", "type": str, "header": "Name"},
    {"accessor": "age", "type": int, "header": "Age"},
    {"accessor": "height", "type": RoundedFloat, "header": "Height"},
]
data = [
    {"name": "Alice", "age": 30, "height": 1.7503},
    {"name": "Bob", "age": 25, "height": 1.8200},
    {"name": "Charlie", "age": 35, "height": 1.9104},
]

Table(columns=columns, data=data)

This works fine as long as Value is a union of plain types, but annotating one of the possible values would cause the mentioned TypeError. The reason we end up with something similar to type[...,Annotated[...,...]] is because we are looking for the type of a union that has a purpose elsewhere.
What do you guys think?

Ah I see, makes sense

Thanks for fixing so quickly @Viicos 🧘🏼♂


[bug]: long route paths overflow the inspector

Update, this only overflows when utilizing custom regex in route params

@webfansplz this PR should resolve https://github.com/vuejs/devtools-next/pull/266


Align local backup with data in sync server

Currently local data is backed up as it is and is not same as what in sync server. For eg, settings file is backed up as it is but it is stored differently in remote.
{"version":1,"content":"{\"settings\":\"{\\n    \\\"editor.fontLigatures\\\": true,\\n    \\\"files.autoSaveDelay\\\": 1000,\\n    \\\"files.autoSave\\\": \\\"afterDelay\\\",\\n    \\\"workbench.colorTheme\\\": \\\"Default Light+\\\",\\n    \\\"editor.accessibilitySupport\\\": \\\"off\\\",\\n    \\\"sync.localBackupDuration\\\": 2,\\n}\\n\"}"}

This will cause inconsistencies when comparing remote sync and local sync history. Also this model does not scale when a single resource area handles multiple resources like snippets, platform settings etc.,
Aligning local backup with server will fix these inconsistencies and also gives users and us all needed information (like version).

Also changed backup location per resource to align with server. Here is the change:
${sync-location}/Settings -> ${sync-location}/settings
${sync-location}/Keybindings -> ${sync-location}/keybindings
${sync-location}/Extensions -> ${sync-location}/extensions
${sync-location}/GlobalState -> ${sync-location}/globalState
There should not be any impact for current users. Sync location changes for those using case sensitive file systems.

To verify:

Make sure backups are stored in same format as in server
Back up locations are same as mentioned in above comment.


manimce to manim & capitalizing Manim in readme

I think as we have now a new Pypi location, we should update the readme and the docs.
Further, at the moment there was some inconsistency in Capitalization in the readme that is now fixed as well.
One further thing I might add to this PR is another highlighting colour in the docs for everything that goes into " ` " , as I don't like the orange and red words together in one part:

Regarding the color change of code literals: I don't mind the current color scheme; I'm open to experiments.
Just some general comments off the top of my head:

I feel it is important that code literals are clearly distinguished from text; I worry that simply changing color to something "normal" like gray or black will bring code literals too close to normal text (but you'd have to try how it looks; maybe a GitHub-esque solution with additionally colored background could be a solution).
The reason I actually like that these are currently orange/red/whatever is that it is close to our link color -- which is good, because many of the code literals are links at the same time. If there is some color involved, I think that it should be close to our link color.
It could even make sense to visually distinguish between code literals that are links, and those that are not. In that case, I could very well live with "non-linking" code literals that look similar to the ones here on GitHub.

The reason I actually like that these are currently orange/red/whatever is that it is close to our link color -- which is good, because many of the code literals are links at the same time. If there is some color involved, I think that it should be close to our link color.

We could also make both orange and the links could be underlined.
But I'd prefer to distinguish the only highlighted things form the linked things in a way, and I think that bold would also look quite nice and easy to distinguish and I also like the idea of making it similar to the ones here on GitHub.

Why don't you also edit the pyproject.toml and also update the lock file using poetry lock command after editing? Or else on release things will be uploaded only to manimce and not manim.

I've  now also made the change in pyproject.toml , and there are now lots of changes in poetry.lock.
Can maybe someone with more experience have a look at that?

asset_name: manimce-${{ steps.tag.outputs.tag }}.tar.gz in python-publish.yml

ok, I also updated this now, however, I have no idea of what this does. @eulertour : can you tell us if this should be changed?

Left a few non-blocking comments; maybe leave the PR open for a little while longer before merging, in case anyone else has something to add about it.

I'd rather merge it now so that manim on pypi can be updated.
But we can definitely make followup prs on this.


Recovery Can Cause Isolated Addresses & LBC

If the sqlite file is lost for the bot, and a new instance is spun up with an active wallet file, abandoning (deleteaccount) the account may result in removing the address from the wallet file without properly abandoning all supports to ensure all LBC is returned to master account/address.

A good way to avoid this is to possibly work some lbry-sdk dependent checks in the case of nothing being found in the sqlite file, so the abandonall file can run a for loop after a support_list command to the sdk on each account in the wallet file.

Something else to consider is to confirm account balance is ~0 before actually deleting the account to prevent isolating large amounts of LBC on unconfirmed transactions


getCellAt(x,y) returns null after zoom

I have problems to get the cells for given x/y coordinates, which I receive from the mxUtils.makeDraggable  functions.
GetCellAt(x,y) returns the correct results only for the default zoom. When zooming out, the result is always null.
Here is an example: https://codesandbox.io/s/vmy89w0pk3 (MxGraphGridEditor.js
(line 385 - see console output)
Is there a currently a workaround?

Try the following to take the graph translate and scale into consideration:
   var s = graph.view.scale;
   var t = graph.view.translate;
   var dx = t.x * s;
   var dy = t.y * s;
   const targetCell = graph.getCellAt(dx + x * s, dy + y * s);


Construct endpoint in the plugin

Similar with #15 , we are deploying kong with helm into EKS and the endpoint is dynamic.
With the same usage of datadog-kong-plugin (https://docs.konghq.com/hub/kong-inc/datadog/), we fetch the ip and config the plugin as below:
env:
  KONG_DATADOG_AGENT_HOST:
    valueFrom:
      fieldRef:
        fieldPath: status.hostIP
...
dblessConfig:
  config:
    _format_version: "2.1"
    plugins:
      - name: datadog
        config:
          host: "{vault://env/KONG_DATADOG_AGENT_HOST}"
          port: 8125
      - name: ddtrace
        config:
          service_name: kong-ddtrace
          agent_endpoint: "http://{vault://env/KONG_DATADOG_AGENT_HOST}:8126/v0.4/traces"
          environment: 'dev'

The datadog plugin works in this way. however the ddtrace plugin does not work. Please refer the error below:
2023/12/01 10:28:02 [error] 1277#0: *130 [kong] handler.lua:27 agent_writer error failed to request: [cosocket] DNS resolution failed: dns server error: 3 name error. Tried: ["(short)"{vault:(na) - cache-miss",""{vault.rdsdemo.svc.cluster.local:33 - cache-miss/querying/dns server error: 3 name error",""{vault.svc.cluster.local:33 - cache-miss/querying/dns server error: 3 name error",""{vault.cluster.local:33 - cache-miss/querying/dns server error: 3 name error",""{vault.eu-central-1.compute.internal:33 - cache-miss/querying/dns server error: 3 name error",""{vault:33 - cache-miss/querying/dns server error: 3 name error",""{vault.rdsdemo.svc.cluster.local:1 - cache-miss/querying/dns server error: 3 name error",""{vault.svc.cluster.local:1 - cache-miss/querying/dns server error: 3 name error",""{vault.cluster.local:1 - cache-miss/querying/dns server error: 3 name error",""{vault.eu-central-1.compute.internal:1 - cache-miss/querying/dns server error: 3 name error",""{vault:1 - cache-miss/querying/dns server error: 3 name error",""{vault.rdsdemo.svc.cluster.local:5 - cache-miss/querying/dns server error: 3 name error",""{vault.svc.cluster.local:5 - cache-miss/querying/dns server error: 3 name error",""{vault.cluster.local:5 - cache-miss/querying/dns server error: 3 name error",""{vault.eu-central-1.compute.internal:5 - cache-miss/querying/dns server error: 3 name error",""{vault:5 - cache-miss/querying/dns server error: 3 name error"], context: ngx.timer

Can you give some insight? Can ddtrace deal with it in the same way of datadog? Thanks
for example: ( split each part and construct endpoint in the plugin? )
      - name: ddtrace
        config:
          service_name: kong-ddtrace
          host: "{vault://env/KONG_DATADOG_AGENT_HOST}"
          port: :8126
          version: "v4"
          environment: 'dev'

Also workable that if endpoint parameter exists, drop all others i.e. host, port...

Hi @mfischler
Thank you for reporting this issue. I wanted to inform you that we recently merged the fix in https://github.com/DataDog/kong-plugin-ddtrace/pull/27. This solution should address the problem you raised, and it will be included in the upcoming release.


RKManagedObjectRequestOperation isn't available in Swift in Xcode 7

I brought in the default spec pod 'RestKit' and all the files are there, and I can do RKObjectRequestOperation all day, but Swift can't see RKManagedObjectRequestOperation or the managedObjectRequestOperationWithRequest method on object manager.
It's gotta be something with the RKCoreDataIncluded not firing. Help?

Adding @import CoreData; into my bridging header before my RestKit import fixed it. Close this or add it to docs or whathaveyou.

Ah. I have yet to actually try using RK with Swift -- I'd appreciate a PR documenting this :)

Done and done ^.^


refactor(pinot) regression on area chart (DB engine error)

We are using a pinot table as a dataset, with a temporal column startDate in epoch_ms. Before the 3.0.0.rc4 version, we were using it to create the followin area chart :

Since the release of the 3.0.0.rc4 version, our chart is not loading :
DB engine Erreur : could not convert string to Timestamp
Before 3.0.0.rc4, the query generated by the simple area chart was :
SELECT DATETIMECONVERT(startDate, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '1:DAYS'),        count(*) FROM "dataset" WHERE startDate >=<PHONE_NUMBER>000   AND startDate <<PHONE_NUMBER>000 GROUP BY DATETIMECONVERT(startDate, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '1:DAYS') ORDER BY count(*) DESC LIMIT 10000;
(1694908800000 and<PHONE_NUMBER>000 are just examples of our time filter)
After the 3.0.0.rc4, the query that causes the error is :
SELECT CAST(DATE_TRUNC('day', CAST(DATETIMECONVERT((startDate/1000), '1:SECONDS:EPOCH', '1:SECONDS:EPOCH', '1:SECONDS') AS TIMESTAMP)) AS TIMESTAMP),        count(*) FROM "dataset" WHERE startDate >=<PHONE_NUMBER>000   AND startDate <<PHONE_NUMBER>000 GROUP BY CAST(DATE_TRUNC('day', CAST(DATETIMECONVERT((startDate/1000), '1:SECONDS:EPOCH', '1:SECONDS:EPOCH', '1:SECONDS') AS TIMESTAMP)) AS TIMESTAMP) ORDER BY count(*) DESC LIMIT 10000;
The part :
DATETIMECONVERT((startDate/1000), '1:SECONDS:EPOCH', '1:SECONDS:EPOCH', '1:SECONDS')
seems odd because it literally said "convert seconds in seconds", and we think it might causes the crash.
We think the problem is caused by : https://github.com/apache/superset/pull/24942
Thx for your help

superset version: 3.0.0.rc4

@martin-raymond I'm wondering it might be a bug in Apache Calcite side because it can't correctly calculate expression DATETIMECONVERT((startDate/1000), '1:SECONDS:EPOCH', '1:SECONDS:EPOCH', '1:SECONDS').
There is a workaround might be useful, 1) try to create a derived column based on the startDate  in Pinot as timestamp type instead of long type,  2) then remove epoch_ms tag in column config, 3), syncing column metadata in Dataset Model in Superset. 4) use the new derived column replace with previous one in Chart.
Hope it helps you.

we tried that, but with pinot 1.0.0 and superset 3.0.1, the table does not regenerated properly in superset (error on the field timestamp in the schema)

@martin-raymond  Could you please post error screenshot or log?

@zhaoyongjie yes, here it is :
2023-10-25 17:13:09,270:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False 2023-10-25 17:13:09,270:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000/ and False 2023-10-25 17:13:09,274:DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): pinot-controller.pinot.svc.cluster.local:9000 2023-10-25 17:13:09,280:DEBUG:urllib3.connectionpool:http://pinot-controller.pinot.svc.cluster.local:9000/ "GET /tables/knada-indicateur-visite-v2/schema HTTP/1.1" 200 1350 2023-10-25 17:13:09,281:INFO:pinotdb.sqlalchemy:Getting columns for knada-indicateur-visite-v2 from http://pinot-controller.pinot.svc.cluster.local:9000/: {'schemaName': 'knada-indicateur-visite-v2', 'dimensionFieldSpecs': [{'name': 'profil', 'dataType': 'STRING'}, {'name': 'codeSite', 'dataType': 'STRING'}, {'name': 'libelleSite', 'dataType': 'STRING'}, {'name': 'timezone', 'dataType': 'STRING'}, {'name': 'plateforme', 'dataType': 'STRING'}, {'name': 'service', 'dataType': 'STRING', 'singleValueField': False}, {'name': 'categorieService', 'dataType': 'STRING', 'singleValueField': False}, {'name': 'codeReseau', 'dataType': 'STRING', 'singleValueField': False}, {'name': 'reseau', 'dataType': 'STRING', 'singleValueField': False}, {'name': 'type', 'dataType': 'STRING', 'singleValueField': False}, {'name': 'nature', 'dataType': 'STRING', 'singleValueField': False}], 'dateTimeFieldSpecs': [{'name': 'dateHeureDebut', 'dataType': 'LONG', 'format': '1:MILLISECONDS:EPOCH', 'granularity': '1:MILLISECONDS'}, {'name': 'dateHeureFin', 'dataType': 'LONG', 'format': '1:MILLISECONDS:EPOCH', 'granularity': '1:MILLISECONDS'}, {'name': 'ts', 'dataType': 'TIMESTAMP', 'format': '1:MILLISECONDS:EPOCH', 'granularity': '1:MILLISECONDS'}]} 2023-10-25 17:13:09,282:ERROR:flask_appbuilder.api:'timestamp' Traceback (most recent call last):   File "/usr/local/lib/python3.9/site-packages/flask_appbuilder/api/__init__.py", line 110, in wraps     return f(self, *args, **kwargs)   File "/app/superset/views/base_api.py", line 127, in wraps     raise ex   File "/app/superset/views/base_api.py", line 121, in wraps     duration, response = time_function(f, self, *args, **kwargs)   File "/app/superset/utils/core.py", line 1526, in time_function     response = func(*args, **kwargs)   File "/app/superset/utils/log.py", line 255, in wrapper     value = f(*args, **kwargs)   File "/app/superset/databases/api.py", line 728, in table_metadata     table_info = get_table_metadata(database, table_name, schema_name)   File "/app/superset/databases/utils.py", line 67, in get_table_metadata     columns = database.get_columns(table_name, schema_name)   File "/app/superset/models/core.py", line 847, in get_columns     return self.db_engine_spec.get_columns(inspector, table_name, schema)   File "/app/superset/db_engine_specs/base.py", line 1294, in get_columns     cast(list[SQLAColumnType], inspector.get_columns(table_name, schema))   File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/reflection.py", line 497, in get_columns     col_defs = self.dialect.get_columns(   File "/usr/local/lib/python3.9/site-packages/pinotdb/sqlalchemy.py", line 415, in get_columns     columns = [   File "/usr/local/lib/python3.9/site-packages/pinotdb/sqlalchemy.py", line 418, in <listcomp>     "type": get_type(spec["dataType"], spec.get("fieldSize")),   File "/usr/local/lib/python3.9/site-packages/pinotdb/sqlalchemy.py", line 486, in get_type     return type_map[data_type.lower()] KeyError: 'timestamp' <IP_ADDRESS> - - [25/Oct/2023:17:13:09 +0000] "GET /api/v1/database/1/table/knada-indicateur-visite-v2/knada-indicateur-visite-v2/ HTTP/1.1" 500 26 "https://superset.knada.rancher.kosmos.fr/dataset/add/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"

@zhaoyongjie we discussed with the pinot team and the problem should be in superset and not in pinot or apache calcite

@martin-raymond Do you try my suggestion that removing "ms" tag and create a timestamp column instead of integer column as time column in Superset dataset?

@martin-raymond
Could you post the config of startDate column in Superset Dataset ? I guess this column might be a second EPOCH but set it as ms in config.

@zhaoyongjie
you want me to try to add a calculated column in the dataset in superset directly ? the timestamp type is not present

@martin-raymond
I tested this case in my local Pinot environment, which is might be DATETIMECONVERT expression got an exception if the first arugument is float value.

ok @zhaoyongjie . that's not it.  there is no error, but the result is not right. Here is the query executed in pinot :

The syntax is right, but the result is not the result expected

@zhaoyongjie we tried to use a calculated column as you said
superset seems to not be able to display the result from pinot. here are the logs when we try to create a chart :
<IP_ADDRESS> - - [26/Oct/2023:19:47:43 +0000] "GET /api/v1/me/ HTTP/1.1" 200 150 "https://superset.knada.rancher.kosmos.fr/explore/?form_data_key=BjW4HfY8NeJzcurrBzb6L16PZtorS2K4FnVzTPuFXrk6Pfk0YUH1mQOFAuNUK4jc&datasource_type=table&datasource_id=54" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"
2023-10-26 19:47:45,016:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'debug': False}: None and False
2023-10-26 19:47:45,038:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-26 19:47:45,038:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-26 19:47:45,062:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-26 19:47:45,062:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-26 19:47:45,066:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-26 19:47:45,066:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-26 19:47:45,072:DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): pinot-broker.pinot.svc.cluster.local:8099
2023-10-26 19:47:45,114:DEBUG:urllib3.connectionpool:http://pinot-broker.pinot.svc.cluster.local:8099 "POST /query/sql HTTP/1.1" 200 3744
2023-10-26 19:47:45,115:DEBUG:pinotdb.db:Got the rows as a type <class 'list'> of size 84
2023-10-26 19:47:45,116:DEBUG:pinotdb.db:[['2023-06-08 00:00:00.0', 443],
 ['2023-03-22 00:00:00.0', 101],
 ['2023-10-06 00:00:00.0', 82],
 ['2023-06-27 00:00:00.0', 80],
 ['2023-03-09 00:00:00.0', 78],
 ['2023-06-28 00:00:00.0', 78],
 ['2023-03-24 00:00:00.0', 74],
 ['2023-05-02 00:00:00.0', 69],
 ['2023-04-19 00:00:00.0', 69],
 ['2023-03-23 00:00:00.0', 65],
 ['2023-03-28 00:00:00.0', 62],
 ['2023-03-21 00:00:00.0', 61],
 ['2023-04-05 00:00:00.0', 58],
 ['2023-06-26 00:00:00.0', 58],
 ['2023-06-15 00:00:00.0', 58],
 ['2023-02-28 00:00:00.0', 56],
 ['2023-02-27 00:00:00.0', 55],
 ['2023-06-06 00:00:00.0', 53],
 ['2023-03-10 00:00:00.0', 52],
 ['2023-05-09 00:00:00.0', 51],
 ['2023-06-16 00:00:00.0', 50],
 ['2023-04-21 00:00:00.0', 49],
 ['2023-06-14 00:00:00.0', 48],
 ['2023-06-30 00:00:00.0', 48],
 ['2023-04-11 00:00:00.0', 48],
 ['2023-05-10 00:00:00.0', 48],
 ['2023-08-30 00:00:00.0', 47],
 ['2023-03-27 00:00:00.0', 46],
 ['2023-05-03 00:00:00.0', 45],
 ['2023-03-13 00:00:00.0', 44],
 ['2023-03-30 00:00:00.0', 44],
 ['2023-05-04 00:00:00.0', 42],
 ['2023-06-02 00:00:00.0', 42],
 ['2023-09-18 00:00:00.0', 41],
 ['2023-03-16 00:00:00.0', 38],
 ['2023-05-05 00:00:00.0', 38],
 ['2023-06-13 00:00:00.0', 38],
 ['2023-05-12 00:00:00.0', 38],
 ['2023-03-15 00:00:00.0', 36],
 ['2023-04-03 00:00:00.0', 36],
 ['2023-03-01 00:00:00.0', 36],
 ['2023-04-12 00:00:00.0', 36],
 ['2023-03-20 00:00:00.0', 36],
 ['2023-04-18 00:00:00.0', 34],
 ['2023-03-14 00:00:00.0', 34],
 ['2023-04-04 00:00:00.0', 33],
 ['2023-03-07 00:00:00.0', 33],
 ['2023-06-07 00:00:00.0', 31],
 ['2023-03-02 00:00:00.0', 31],
 ['2023-06-21 00:00:00.0', 31],
 ['2023-03-31 00:00:00.0', 30],
 ['2023-04-07 00:00:00.0', 29],
 ['2023-08-29 00:00:00.0', 29],
 ['2023-06-19 00:00:00.0', 28],
 ['2023-05-31 00:00:00.0', 27],
 ['2023-05-11 00:00:00.0', 26],
 ['2023-06-20 00:00:00.0', 26],
 ['2023-04-06 00:00:00.0', 25],
 ['2023-06-05 00:00:00.0', 25],
 ['2023-06-01 00:00:00.0', 24],
 ['2023-09-20 00:00:00.0', 23],
 ['2023-03-17 00:00:00.0', 23],
 ['2023-09-19 00:00:00.0', 22],
 ['2023-07-03 00:00:00.0', 22],
 ['2023-06-22 00:00:00.0', 22],
 ['2023-03-29 00:00:00.0', 21],
 ['2023-04-25 00:00:00.0', 20],
 ['2023-04-28 00:00:00.0', 18],
 ['2023-04-27 00:00:00.0', 17],
 ['2023-04-26 00:00:00.0', 17],
 ['2023-03-08 00:00:00.0', 16],
 ['2023-05-08 00:00:00.0', 13],
 ['2023-04-20 00:00:00.0', 12],
 ['2023-05-01 00:00:00.0', 10],
 ['2023-02-24 00:00:00.0', 8],
 ['2023-04-24 00:00:00.0', 8],
 ['2023-09-12 00:00:00.0', 7],
 ['2023-04-17 00:00:00.0', 7],
 ['2023-06-29 00:00:00.0', 6],
 ['2023-08-31 00:00:00.0', 4],
 ['2023-10-05 00:00:00.0', 2],
 ['2023-09-11 00:00:00.0', 1],
 ['2023-05-30 00:00:00.0', 1],
 ['2023-08-28 00:00:00.0', 1]]
<IP_ADDRESS> - - [26/Oct/2023:19:47:45 +0000] "POST /api/v1/chart/data?force HTTP/1.1" 200 472 "https://superset.knada.rancher.kosmos.fr/explore/?form_data_key=BjW4HfY8NeJzcurrBzb6L16PZtorS2K4FnVzTPuFXrk6Pfk0YUH1mQOFAuNUK4jc&datasource_type=table&datasource_id=54" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"
<IP_ADDRESS> - - [26/Oct/2023:19:47:46 +0000] "PUT /api/v1/explore/form_data/BjW4HfY8NeJzcurrBzb6L16PZtorS2K4FnVzTPuFXrk6Pfk0YUH1mQOFAuNUK4jc?tab_id=63 HTTP/1.1" 200 75 "https://superset.knada.rancher.kosmos.fr/explore/?form_data_key=BjW4HfY8NeJzcurrBzb6L16PZtorS2K4FnVzTPuFXrk6Pfk0YUH1mQOFAuNUK4jc&datasource_type=table&datasource_id=54" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"
<IP_ADDRESS> - - [26/Oct/2023:19:47:46 +0000] "POST /superset/log/?explode=events&dashboard_id=1 HTTP/1.1" 200 1 "https://superset.knada.rancher.kosmos.fr/explore/?form_data_key=BjW4HfY8NeJzcurrBzb6L16PZtorS2K4FnVzTPuFXrk6Pfk0YUH1mQOFAuNUK4jc&datasource_type=table&datasource_id=54" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"

The calculated column :

(we tried DATETIME and STRING, same result)
There is no error, just nothing is displayed in superset (no result)

@martin-raymond column type should be "timestamp" rather than "string", you don't need to fill out the format datetime input box.

@zhaoyongjie yes we tried TIMESTAMP, STRING, with a format datetime, without a format, same results in the end

@zhaoyongjie yes we tried TIMESTAMP, STRING, with a format datetime, without a format, same results in the end

Could you please post screenshot of explore?

@zhaoyongjie what do you mean by "explore" ?

@martin-raymond Data Explore page, the other words that open the chart in Superset.

The query :
SELECT CAST(DATE_TRUNC('day', CAST(cast(dateHeureDebut as timestamp) AS TIMESTAMP)) AS TIMESTAMP),        COUNT(*) FROM "knada-indicateur-visite-v2"."knada-indicateur-visite-v2" GROUP BY CAST(DATE_TRUNC('day', CAST(cast(dateHeureDebut as timestamp) AS TIMESTAMP)) AS TIMESTAMP) ORDER BY COUNT(*) DESC LIMIT 10000;
which works fine in pinot
@zhaoyongjie that is what you wanted ?
and thank you very much for your help by the way !

The drill to detail shows that we are able to get events, but for some reason the display is bogged

The drill to detail shows that we are able to get events, but for some reason the display is bogged

Let's focus on the Pinot and Area chart.

The query :
SELECT CAST(DATE_TRUNC('day', CAST(cast(dateHeureDebut as timestamp) AS TIMESTAMP)) AS TIMESTAMP),
       COUNT(*)
FROM "knada-indicateur-visite-v2"."knada-indicateur-visite-v2"
GROUP BY CAST(DATE_TRUNC('day', CAST(cast(dateHeureDebut as timestamp) AS TIMESTAMP)) AS TIMESTAMP)
ORDER BY COUNT(*) DESC
LIMIT 10000;

which works fine in pinot
@zhaoyongjie that is what you wanted ? and thank you very much for your help by the way !

Please clear up the "Contribution Mode" and try it again.

Aucun is the french word for "no contribution mode" so it is already cleared up @zhaoyongjie

Aucun is the french word for "no contribution mode" so it is already cleared up @zhaoyongjie

It's weird. Could you click the three dots on the right corner of Explore page, and check out what Query is? and please check the logs of Superset, does superset a acturally send query?

the query :
SELECT CAST(DATE_TRUNC('day', CAST(cast(dateHeureDebut as timestamp) AS TIMESTAMP)) AS TIMESTAMP),
       count(*)
FROM "knada-indicateur-visite-v2"."knada-indicateur-visite-v2"
GROUP BY CAST(DATE_TRUNC('day', CAST(cast(dateHeureDebut as timestamp) AS TIMESTAMP)) AS TIMESTAMP)
ORDER BY count(*) DESC
LIMIT 10000;

the logs :
2023-10-27 14:12:29,058:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'debug': False}: None and False
2023-10-27 14:12:29,078:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-27 14:12:29,078:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-27 14:12:29,090:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-27 14:12:29,090:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-27 14:12:29,093:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-27 14:12:29,094:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-27 14:12:29,096:DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): pinot-broker.pinot.svc.cluster.local:8099
2023-10-27 14:12:29,160:DEBUG:urllib3.connectionpool:http://pinot-broker.pinot.svc.cluster.local:8099 "POST /query/sql HTTP/1.1" 200 None
2023-10-27 14:12:29,175:DEBUG:pinotdb.db:Got the rows as a type <class 'list'> of size 1000
2023-10-27 14:12:29,284:DEBUG:pinotdb.db:[['Personnel',
  '2023-05-31 12:03:14.082',
  'Collège Aldébaran (COL - 0000000C)',
  ['Scolarité', "Page d'accueil personnelle"],
  '1115',
  'Ordinateur',
  ['Portail Académique', 'Portail département', 'Site inter etablissement'],
  ['Public'],
  ['Absences - tableau de bord', 'Absences', 'Accueil personnel'],
  'Europe/Paris',
  ['Collège'],
<PHONE_NUMBER>082,
<PHONE_NUMBER>435],
 ['Enseignant',
  '2023-05-31 12:43:46.39',
  'Cite scolaire Colt et Emanche (LEG - 2486935G, COL - 8098115I)',
  ['Communication'],
  '4817',
  'Ordinateur',
  ['Site inter etablissement',
   'Portail région',
   'Portail Académique',
   'Portail département'],
  ['Public'],
  ['Messagerie'],
  'Europe/Paris',
  ["Lycée d'enseignement général", 'Collège'],
<PHONE_NUMBER>390,
<PHONE_NUMBER>566],
 ['Autre',
  '2023-05-31 15:23:37.19',
  'Collège Aldébaran (COL - 0000000C)',
  ["Page d'accueil personnelle"],
  '1115',
  'Ordinateur',
  ['Portail Académique', 'Portail département', 'Site inter etablissement'],
  ['Public'],
  ['Accueil personnel'],
  'Europe/Paris',
  ['Collège'],
<PHONE_NUMBER>190,
<PHONE_NUMBER>556],
 ['Autre',
  '2023-05-31 15:25:02.604',
  'Cite scolaire Colt et Emanche (LEG - 2486935G, COL - 8098115I)',
  ["Page d'accueil personnelle", 'Publication'],
  '4817',
  'Ordinateur',
  ['Site inter etablissement',
   'Portail région',
   'Portail Académique',
   'Portail département'],
  ['Public'],
  ['Accueil personnel', 'Communication ciblée'],
  'Europe/Paris',
  ["Lycée d'enseignement général", 'Collège'],
<PHONE_NUMBER>604,
<PHONE_NUMBER>940],
 ['Autre',
  '2023-05-31 15:33:26.236',
  'Collège Aldébaran (COL - 0000000C)',
  ['Publication', "Page d'accueil personnelle", 'Services transverses'],
  '1115',
  'Ordinateur',
  ['Portail Académique', 'Portail département', 'Site inter etablissement'],
  ['Public'],
  ['Communication ciblée', 'Accueil personnel', 'Annuaire'],
  'Europe/Paris',
  ['Collège'],
<PHONE_NUMBER>236,
<PHONE_NUMBER>680], .....
....
]]
2023-10-27 14:12:29,551:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'debug': False}: None and False
2023-10-27 14:12:29,561:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-27 14:12:29,561:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-27 14:12:29,567:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-27 14:12:29,568:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-27 14:12:29,572:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'dbapi': <module 'pinotdb' from '/usr/local/lib/python3.9/site-packages/pinotdb/__init__.py'>, 'compiler_linting': 1, 'debug': False}: None and False
2023-10-27 14:12:29,572:INFO:pinotdb.sqlalchemy:Updated pinot dialect args from {'host': 'pinot-broker.pinot.svc.cluster.local', 'port': 8099, 'path': 'query/sql', 'scheme': 'http', 'username': None, 'password': None, 'debug': False}: http://pinot-controller.pinot.svc.cluster.local:9000 and False
2023-10-27 14:12:29,576:DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): pinot-broker.pinot.svc.cluster.local:8099
2023-10-27 14:12:29,593:DEBUG:urllib3.connectionpool:http://pinot-broker.pinot.svc.cluster.local:8099 "POST /query/sql HTTP/1.1" 200 1218
2023-10-27 14:12:29,594:DEBUG:pinotdb.db:Got the rows as a type <class 'list'> of size 1
2023-10-27 14:12:29,594:DEBUG:pinotdb.db:[[3474]]
<IP_ADDRESS> - - [27/Oct/2023:14:12:29 +0000] "POST /datasource/samples?force=false&datasource_type=table&datasource_id=54 HTTP/1.1" 200 21448 "https://superset.knada.rancher.kosmos.fr/explore/?form_data_key=5f5-KbTVK-Eft9BQ2pt9PUHQkwlGyTrWv3FKA5tViwf8ED0BFocjk3VArP32EmRM&dashboard_page_id=bZXKqzeU7&slice_id=9" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"
<IP_ADDRESS> - - [27/Oct/2023:14:12:34 +0000] "GET /api/v1/me/ HTTP/1.1" 200 150 "https://superset.knada.rancher.kosmos.fr/explore/?form_data_key=5f5-KbTVK-Eft9BQ2pt9PUHQkwlGyTrWv3FKA5tViwf8ED0BFocjk3VArP32EmRM&dashboard_page_id=bZXKqzeU7&slice_id=9" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"

Hi @zhaoyongjie and @ege-st do you have any news on the issue ? After discussion with the pinot team, the problem is definitly in superset, and from our perspective, it is a huge issue because it prevents us to be able to use the 3.0.0 for our clients

@martin-raymond I was wondering we should checkout all the list for this case

please confirm remove "ms" or other "python datetime format" in column config
please confirm the type of temporal column is DATETIME instead of LONG/INTERGER or TEXT
please confirm the x-axis used termporal column

BTW, we have deployed this patch and run Pinot about 3 month, everything works fine.

@zhaoyongjie thx for your answer
yes i confirm all that, i just re-tried everything from scratch, same results

Could you post screenshot as following

Column config in Dataset Edit model, especially, the config of temporal column setting.
Explore Page

@zhaoyongjie

The first column of result seems like TEXT instead of DATATIME from the screenshot of SQLLab. Please check out Pinot side or what did you change in Superset codebase?

pinot seems fine. what do you want me to check there ? it worked weel until the new request from 3.0.0
we changed nothing in superset codebase. @zhaoyongjie

What did version of SQLAlchemy Driver use?  try following command in your superset cluser.
pip list | grep pinot

pinotdb : 0.3.8

i confirm all our charts are now ok. thx very much @zhaoyongjie

@zhaoyongjie the issue is still ongoing.
The workaround is theoretically correct, but in practice, on our production data, the volume is so significant that casting to a timestamp, applied to the temproel field through the time range filter, results in processing times multiplied by 40, making our service unusable.
This is ultimately due to a faulty query in Superset 3.0.1. Therefore, the problem persists.

Hi Evan, we are using Superset 3.1 and Pinot stable version on the
Production environment, the corresponding query works well, so if no more
issues are reported, might close this one.
On Mon 8. Apr 2024 at 22:58, Evan Rusackas @.***> wrote:

It's been quite a while since this thread was revisited, but it's one of
the best support threads I've read on here in a long time! @martin-raymond
https://github.com/martin-raymond are you still up against this, and
@zhaoyongjie https://github.com/zhaoyongjie do you have any new
theories? I'm wondering if this is still an issue in Superset 3.1 / 4.0. If
there is a faulty query being generated, maybe you can share what it looks
like now?
—
Reply to this email directly, view it on GitHub
https://github.com/apache/superset/issues/25749#issuecomment-2043630225,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPMKUVOR5HY4YCT22DXY4TY4MAHLAVCNFSM6AAAAAA6OJMWLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBTGYZTAMRSGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Best regards,
Yongjie

Agreed. I'll be optimistic here and just close this one. If @martin-raymond is still facing this issue, we can revisit and/or reopen as necessary.

we changed all of our temporal field in our pinot table, so we skipped the problem completely. the thread can stay closed, thx


multi-cluster projects

Projects are a collection of k8s namespaces and rancher users/groups. It would be great if the namespaces could exist on multiple clusters but at least in the UI projects have a child relationship with clusters. Should the project - cluster relationship be decoupled?
Thanks

TL; DR: No.
This is roughly the first thing everybody says when they find out about projects, and we get why it sounds like a useful thing, but if you actually try to work out what it would do it doesn't actually makes sense.
For example, when you add a workload, which cluster does it go to?  Sure we can have a choice in the UI; what about in kubectl apply?  And it just gets worse from there..

Thanks for the quick reply.
K8S federation just uses --context. Does not seem that impossible/crazy given that rancher is a single control plane for multiple clusters.
If the 'project' construct  is the R&D portion of the value chain, then I have workloads that run on different clusters that is the same code and has the same users but with rancher projects coupled to clusters I will need to have multiple rancher projects for the same project.
Just idea.


[Android] When using setEnabledSystemUIMode on API 34 or later, there may be cases where MediaQuery cannot be obtained correctly.

Steps to reproduce

Execute the following code
Display the Recents screen
Return to the app immediately without performing any other actions.
Push the 'SystemUIMode.manual'
Display the navigation bar

Expected results
The value of MediaQuery.of(context).padding.bottom is correctly obtained, and the bottom blue container is displayed in the correct position.
Actual results
The value of MediaQuery.of(context).padding.bottom is not retrieved, causing the bottom container to overlap with the navigation bar.
This issue does not occur on Android 13 (API 33). Additionally, it does not occur when the app is sent to the background and then brought back to the foreground.
Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
    SystemChrome.setEnabledSystemUIMode(
      SystemUiMode.edgeToEdge,
    );
  }

  @override
  Widget build(BuildContext context) {
    final tBottom = MediaQuery.of(context).padding.bottom;
    debugPrint('padding.bottom: $tBottom');
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Stack(
        children: [
          Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                ElevatedButton(
                  onPressed: () {
                    setState(() {});
                  },
                  child: const Text('Rebuid'),
                ),
                const Padding(padding: EdgeInsets.all(8)),
                ElevatedButton(
                  onPressed: () {
                    SystemChrome.setEnabledSystemUIMode(
                      SystemUiMode.manual,
                      overlays: [SystemUiOverlay.top],
                    );
                  },
                  child: const Text('SystemUiMode.manual'),
                ),
                const Padding(padding: EdgeInsets.all(8)),
                ElevatedButton(
                  onPressed: () {
                    SystemChrome.setEnabledSystemUIMode(
                      SystemUiMode.edgeToEdge,
                    );
                  },
                  child: const Text('SystemUiMode.edgeToEdge'),
                ),
              ],
            ),
          ),
          Positioned(
            bottom: tBottom,
            left: 0,
            right: 0,
            child: Container(
              color: Colors.blue,
              height: 60,
            ),
          ),
        ],
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
setEnableSystemUIMode.webm

Logs
Logs
I/flutter ( 4926): padding.bottom: 0.0
I/flutter ( 4926): padding.bottom: 48.0
I/flutter ( 4926): padding.bottom: 0.0
D/EGL_emulation( 4926): app_time_stats: avg=240.37ms min=0.42ms max=14807.15ms count=62
D/EGL_emulation( 4926): app_time_stats: avg=459.45ms min=1.17ms max=14689.76ms count=35
I/flutter ( 4926): padding.bottom: 48.0
D/EGL_emulation( 4926): app_time_stats: avg=4.47ms min=0.44ms max=68.50ms count=56
D/EGL_emulation( 4926): app_time_stats: avg=507.78ms min=19.62ms max=995.95ms count=2
D/EGL_emulation( 4926): app_time_stats: avg=26.67ms min=10.24ms max=422.55ms count=39
D/EGL_emulation( 4926): app_time_stats: avg=539.86ms min=167.14ms max=912.58ms count=2
D/EGL_emulation( 4926): app_time_stats: avg=461.35ms min=0.48ms max=2762.58ms count=6
I/flutter ( 4926): padding.bottom: 0.0
D/EGL_emulation( 4926): app_time_stats: avg=16.06ms min=11.52ms max=19.80ms count=61
D/EGL_emulation( 4926): app_time_stats: avg=46.42ms min=11.00ms max=1183.45ms count=39
D/EGL_emulation( 4926): app_time_stats: avg=18.79ms min=8.13ms max=167.01ms count=51
I/flutter ( 4926): padding.bottom: 0.0
D/EGL_emulation( 4926): app_time_stats: avg=112.90ms min=10.75ms max=884.15ms count=9
I/flutter ( 4926): padding.bottom: 0.0
D/EGL_emulation( 4926): app_time_stats: avg=17.23ms min=1.20ms max=79.96ms count=50
I/flutter ( 4926): padding.bottom: 48.0
D/EGL_emulation( 4926): app_time_stats: avg=22.29ms min=8.66ms max=283.87ms count=45
E/OpenGLRenderer( 4926): Unable to match the desired swap behavior.
I/flutter ( 4926): padding.bottom: 0.0
D/EGL_emulation( 4926): app_time_stats: avg=36.13ms min=1.13ms max=566.45ms count=23
D/EGL_emulation( 4926): app_time_stats: avg=17.46ms min=0.45ms max=736.14ms count=58
D/EGL_emulation( 4926): app_time_stats: avg=80.96ms min=2.08ms max=1015.78ms count=13
I/flutter ( 4926): padding.bottom: 48.0

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.19.0, on macOS 13.6.4 22G513 darwin-arm64, locale ja-JP)
    • Flutter version 3.19.0 on channel stable at /Users/me/development/flutter_3
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bae5e49bc2 (7 days 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 /Users/me/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
    • Xcode at /Applications/Xcode_15_0.app/Contents/Developer
    • Build 15A240d
    • CocoaPods version 1.15.2

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

[✓] Android Studio (version 2023.1)
    • 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 17.0.7+0-17.0.7b1000.6-10550314)

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

[✓] Connected device (3 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64  • Android 14 (API 34) (emulator)
    • macOS (desktop)             • macos         • darwin-arm64   • macOS 13.6.4 22G513 darwin-arm64
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 121.0.6167.184

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

• No issues found!

Hi @matsuyani556
I add a Text widget to the Column to make this more clear. I checked this issue on Realme 6, Android 11 and Pixel 7, Android 14. It seems the behavior on Pixel 7, Android 14 is correct while it's wrong on Realme 6, Android 11.

Realme 6, Android 11
Pixel 7, Android 14

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.19.0, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.19.0 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bae5e49bc2 (2 days 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 /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.3

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio Hedgehog.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 17.0.7+0-17.0.7b1000.6-10550314)

[✓] Android Studio (version 2022.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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 121.0.6167.160
    ! Error: Browsing on the local area network for iPad. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

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

• No issues found!

[!] Flutter (Channel master, 3.20.0-10.0.pre.79, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.20.0-10.0.pre.79 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 35bdc94dda (43 minutes ago), 2024-02-20 21:29:23 -0500
    • Engine revision 3557277c57
    • Dart version 3.4.0 (build 3.4.0-157.0.dev)
    • DevTools version 2.33.0-dev.6
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.3

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio Hedgehog.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 17.0.7+0-17.0.7b1000.6-10550314)

[✓] Android Studio (version 2022.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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 121.0.6167.184

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

! Doctor found issues in 1 category.

Can you also add Text('padding.bottom: $tBottom') to Column so that it's more clear?

Hi @huycozy
Sorry. The information was insufficient.
I have reconfirmed by adding a Text widget. (Android 14 Emulator)
Additionally, I have removed the buttons for SystemUiMode.edgeToEdge and Rebuild as they are not related to the current issue.
This issue occurs when the Navigation mode on Android is set to 3-button navigation.
When transitioning from 3-button navigation to the Recents screen and immediately returning to the app, swiping up from the bottom of the device to re-display the navigation bar often leads to the frequent occurrence of this issue.
Make sure to refrain from to refrain from any actions on the Recents screen, as even slight interactions significantly reduce the occurrence of this problem.

Issue
No issue

Thanks, your latest demo videos are more clear. I also see the issue with Gesture navigation so this doesn't seem to be 3-button navigation mode specific.
This seems also an OS-version specific issue as I don't see the issue on Realme 6, Android 11 (has same result as your No issue demo above)

Demo with Gesture navigation on Pixel 7, Android 14
https://github.com/flutter/flutter/assets/104349824/e0f5c010-6975-4ff3-940b-90abc45963e5

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.19.1, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.19.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision abb292a07e (29 hours ago), 2024-02-20 14:35:05 -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 /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.15.2

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio Hedgehog.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 17.0.7+0-17.0.7b1000.6-10550314)

[✓] Android Studio (version 2022.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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 121.0.6167.184

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

• No issues found!

[!] Flutter (Channel master, 3.20.0-11.0.pre.80, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.20.0-11.0.pre.80 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision efee280cfa (46 minutes ago), 2024-02-21 21:44:25 -0500
    • Engine revision 7eeb697687
    • Dart version 3.4.0 (build 3.4.0-163.0.dev)
    • DevTools version 2.33.0-dev.6
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.15.2

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio Hedgehog.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 17.0.7+0-17.0.7b1000.6-10550314)

[✓] Android Studio (version 2022.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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 121.0.6167.184

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

! Doctor found issues in 1 category.

Related to https://github.com/flutter/flutter/issues/133074


Plugin version conflict on Logstash 2.4

Hi all,
I've installed a fresh copy of Logstash 2.4 on Ubuntu 14.04. I plan to use Kafka version <IP_ADDRESS>. According to the docs, I need to upgrade the logstash-output-kafka and logstash-input-kafka plugins to version 5.0.0.
When I try to install, I get a "plugin version conflict" error. Here's the output:
vagrant@kafka-server:/opt/logstash$ sudo bin/logstash-plugin install --version 5.0.0 logstash-output-kafka
Validating logstash-output-kafka-5.0.0
Installing logstash-output-kafka
Plugin version conflict, aborting
ERROR: Installation Aborted, message: Bundler could not find compatible versions for gem "logstash-core-plugin-api":
  In snapshot (Gemfile.lock):
    logstash-core-plugin-api (= 1.60.4)

  In Gemfile:
    logstash-output-udp (< 3.0.0) java depends on
      logstash-core-plugin-api (~> 1.0) java

    logstash-output-udp (< 3.0.0) java depends on
      logstash-core-plugin-api (~> 1.0) java

    logstash-output-udp (< 3.0.0) java depends on
      logstash-core-plugin-api (~> 1.0) java

<...more listings here...>

    logstash-output-udp (< 3.0.0) java depends on
      logstash-core-plugin-api (~> 1.0) java

    logstash-output-udp (< 3.0.0) java depends on
      logstash-core-plugin-api (~> 1.0) java

    logstash-output-kafka (= 5.0.0) java depends on
      logstash-core-plugin-api (~> 2.0) java

    logstash-core-plugin-api (= 1.60.4) java

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

How can I resolve this? Both kafka plugins throw the same error, is this more of a Logstash issue?
I originally posted this here:
https://discuss.elastic.co/t/plugin-version-conflict-with-logstash-2-4-logstash-input-kafka-and-logstash-output-kafka/59562

@ryac According to Changelog this constraint was corrected in 5.0.1, can you try to update to this specific version or higher

Thanks, that was the issue. I was able to install both output- and input-kafka plugins, version 5.0.4.


testing_lsh seems to be  broken?

Hi, been trying to view your testing_lsh ipynb notebook but have issue opening it both on github and jupyter notebook could you please take a look

Hi, this file is too large for github, you can try to view it using nbviewer


Show all hashes in the document's META section

sha2 and sha3 are missing from the section. Only md5 and sha1 are shown.

I don't see any sha2 and sha3 in the search index data, so this is probably an issue that needs changes in search and/or snoop before it can be shown in the UI.

I don't see any sha2 and sha3 in the search index data, so this is probably an issue that needs changes in search and/or snoop before it can be shown in the UI.


Social interact, soundbite and medium tags for Blubrry, PowerPress

Added social interact, soundbite and medium tags to Blubrry and PowerPress

Thanks!!


Pls no rotation

Just saw it rotated my token. Since I don't use top down tokens this behaviour is incredibly ugly. :)

There's already an open issue for this, so I'm going to close it.
Rotation needs to be enabled so that mookAI can use the token's vision cone. If you don't want the tokens to rotate, you can set the "Lock Rotation" field on the token's configuration.
It's probably a pain to do that for all tokens, so I'm probably going to add an option to lock tokens before mookAI moves them in the near future


chore: remove deprecated interpolation syntax in local vars

chore: ignore_changes: filename, last_modified, source_code_hash in lambda

Cool, I'll check. Thanks for the contribution.


sample "pet" fails to build

mkdir build
cmake . -Bbuild -DREGENERATE_ZCBOR=Y
make -C build

Results in
[ 87%] Building C object CMakeFiles/app.dir/src/main.c.o
/zcbor/samples/pet/src/main.c:24:7: error: use of undeclared identifier 'Pet_species_cat_c'; did you mean '_Pet_species_cat'?
        case Pet_species_cat_c:
             ^~~~~~~~~~~~~~~~~
             _Pet_species_cat
/zcbor/samples/pet/include/pet_types.h:37:3: note: '_Pet_species_cat' declared here
                _Pet_species_cat = 1,
                ^
/zcbor/samples/pet/src/main.c:27:7: error: use of undeclared identifier 'Pet_species_dog_c'; did you mean '_Pet_species_dog'?
        case Pet_species_dog_c:
             ^~~~~~~~~~~~~~~~~
             _Pet_species_dog
/zcbor/samples/pet/include/pet_types.h:38:3: note: '_Pet_species_dog' declared here
                _Pet_species_dog = 2,
                ^
/zcbor/samples/pet/src/main.c:30:7: error: use of undeclared identifier 'Pet_species_other_c'; did you mean '_Pet_species_other'?
        case Pet_species_other_c:
             ^~~~~~~~~~~~~~~~~~~
             _Pet_species_other
/zcbor/samples/pet/include/pet_types.h:39:3: note: '_Pet_species_other' declared here
                _Pet_species_other = 3,
                ^
/zcbor/samples/pet/src/main.c:67:46: warning: passing 'const uint8_t[8]' (aka 'const unsigned char[8]') to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
        r = r && zcbor_bstr_put_arr(encoding_state, timestamp2);
                                                    ^~~~~~~~~~
[redacted]/lib/zcbor/include/zcbor_encode.h:107:31: note: expanded from macro 'zcbor_bstr_put_arr'
        zcbor_bstr_encode_ptr(state, string, sizeof(string))
                                     ^~~~~~
[redacted]/lib/zcbor/include/zcbor_encode.h:65:76: note: passing argument to parameter 'ptr' here
static inline bool zcbor_bstr_encode_ptr(zcbor_state_t *state, const char *ptr, size_t len)
                                                                           ^
/zcbor/samples/pet/src/main.c:104:31: error: use of undeclared identifier 'Pet_species_other_c'; did you mean '_Pet_species_other'?
        encoded_pet.species_choice = Pet_species_other_c;
                                     ^~~~~~~~~~~~~~~~~~~
                                     _Pet_species_other
/zcbor/samples/pet/include/pet_types.h:39:3: note: '_Pet_species_other' declared here
                _Pet_species_other = 3,
                ^
/zcbor/samples/pet/src/main.c:123:1: warning: return type of 'main' is not 'int' [-Wmain-return-type]
void main(void)
^
/zcbor/samples/pet/src/main.c:123:1: note: change return type to 'int'
void main(void)
^~~~
int
2 warnings and 4 errors generated.
make[2]: *** [CMakeFiles/app.dir/src/main.c.o] Error 1
make[1]: *** [CMakeFiles/app.dir/all] Error 2
make: *** [all] Error 2

My guess is that you have zcbor installed via pip, and the pet main file is not compatible with the naming it generates. If you want to use the repo version of zcbor you can do python3 setup.py develop in the top-level.


Tweaks to ChannelMessageSender

(yes, I do name all of my branches "tweaks" :P)

Need to look into something

I have determined that when silencing or disabling the bot from script, it's not wise to stop the message sender, but rather to just clear the queue*, so methods to not need to be added to Channel to accommodate that.

Since multiple messages may be processed simultaneously, a message could theoretically be queued after the queue is cleared and the sender stopped, and would end up being sent much later when it wouldn't make sense. Instead, should that happen, it will be sent and it will just take a few seconds for the bot to be silenced.

Actually...


attempt to rerun flaky tests after a failure

/AzurePipelines run Windows 10 - Docker for Windows

/azp run Windows 10 - Docker for Windows

/azp run Windows 10 - Docker for Windows

I would prefer something where we would only rerun tests which are known to be flaky.
So like Spock's @RetryOnFailure.
Maybe we can just have a convention to adding a flaky suffix the tests we want to rerun?

@kiview but.. why? :)
Rerun task has failFast=true, and, even if rerun starts and at least one test fail again, it won't continue and fail the build.
Having to mark flaky tests as flaky sounds like an additional maintenance to me.

I think it's one the one hand additional documentation and it shows that identifying a test as flaky is a conscious decision (e.g. Couchdb test).
Let's assume a real unit tests fails in a test run, because of a simple deterministic bug, but also some flaky tests failed.
We will no re-run the tests, we maybe start with one of the flaky tests, it fails again and failFast triggers.
No we manually need to parse the test result and determine if the build failed because of flakyness or real bug.
Compare this with the first test run already failing without entering the rerun phase (because non-flaky test failed). It's clearer feedback.
I might be overthinking this, but I would prefer to be explicit about flakyness.

Yeah I agree. If it's easy to ignore flaky tests we'll just ignore them. If it's annoying to mark a test as flaky it will encourage us (or contributors) to think twice and maybe fix the test.

Closing, as it seems that the rest of the team is more in favour of marking individual tests as flaky.
P.S. I hope some of them will implement & mark such methods to fix the problem =P


Thor 10/profit roll up

Description
This feature provides profit rollup stats in the node status message. It brings new components to the setup, like a database (mongoDB) and a binary (tendermint client).
The tmClient parses the blockchain beginning from blockheight 1 and keeps track of churn_events and bond_rewards, which are organized in a churn_cycle state. It then populates the mongoDB with these churn_cycles.
The telegram bot then queries the database based on the block height at the specified time (day, week, month ago and overall).
At start-up, the bot also forks the tmClient, and regularly checks on it's state (1m interval) in a dedicated job.
There are two environments for running the bot now, which can be specified with the environment variable NATIVE_DEPLOYMENT ("True" for non container run eg. development and IDE) otherwise it assumes that it is containerized.
This handles the connection to the mongoDB instance, which is always run as a container. If NATIVE_DEPLOYMENT = "True", the bot checks for an existing mongoDB container and if non-existent it creates one.
Fixes (issue)
Dispach requests only from synced nodes
Improvements
Changed start message, now pointing to github discussion
How Has This Been Tested?
Validation of the profit rollup in the early network (blockheight < 200k).
Unit Test
Checklist:
If you have any comments regarding one of these points just write it down.

[x] My code follows the style guidelines of this project
[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
[x] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Hahahaha, I have actually no clue why the name is in there. Must be included at compilation time.
Yes it is true that loading the should be handled in a more elegant way (build from git).
Not really sure about the mongoDB protection since it does not contain any critical data at all.
Sorry I changed quite some parts yesterday after openening the PR, since I needed to handle loading the snapshot and additional stuff.
Next commit will already contain the missing test as well.
Thanks!

About the mongodb protection: True, it's not critical. However, I still suggest changing at least the default port, so that automatic web crawlers that scan for the default port cannot cause any troubles.