WIP - Method call expressions

This is a work in progress branch. I want to share my code so that I can get feedback from others. I started out by adding tests for method calls but stumbled upon some repeatable examples which do not get covered. I hope that maybe we can fix them in this branch in addition to testing them.
Here are the results from running tarpaulin on these tests:

It seems that the last line of a chain of method calls is counted as uncovered sometimes.

So this is a known issue https://github.com/xd009642/tarpaulin/issues/136 if you want to tackle it at the same time (though it might be big or worth another pr) your can use my minitarp repo and the instrumentation points from a debug printout to start testing on the binary.
Then also objdump -WL should show other potential addresses to instrument for each line and try to figure out from if alternative choices improve coverage how the instrumentation choices made in SRC/test_loadrr.rs can be improved.
Disclaimer: this information is from memory as I'm on my phone on my commute home

Alternatively, we can mark the test as one to ignore and remove that attribute when the other issue is fixed

Thanks for the advice, I downloaded minitarp and I'm looking at the dumped assembly now for the examples. If I can't figure anything out after a bit I'll just revise the PR to be regression tests only.

I decompiled the output for this simple example:
#[test]
fn simple_method_call() {
    // ...

    let is_4_in_list = // line 30
        Vec::new() // line 31
        .contains(&4); // line 32
}

into this (with demangled symbols) and marked the lines which had breakpoints added for the lines
<method_calls::simple_method_call>:
    405bf0:    sub    $0x48,%rsp
L31 405bf4:    lea    0x20(%rsp),%rdi
    405bf9:    callq  405790 <alloc::vec::Vec<T>::new>
    405bfe:    jmp    405c0c <method_calls::simple_method_call+0x1c>
    405c00:    mov    0x38(%rsp),%rdi
    405c05:    callq  4040e0 <_Unwind_Resume@plt>
    405c0a:    ud2          # undefined instruction?
    405c0c:    lea    0x20(%rsp),%rdi
    405c11:    callq  405850 <<alloc::vec::Vec<T> as core::ops::deref::Deref>::deref>
    405c16:    mov    %rdx,0x10(%rsp)
    405c1b:    mov    %rax,0x8(%rsp)
    405c20:    jmp    405c22 <method_calls::simple_method_call+0x32>
    405c22:    lea    0xb44e3(%rip),%rdx        # 4ba10c <str.1+0xac>
    405c29:    mov    0x8(%rsp),%rdi
    405c2e:    mov    0x10(%rsp),%rsi
    405c33:    callq  404730 <core::slice::<impl [T]>::contains>
    405c38:    mov    %al,0x7(%rsp)
    405c3c:    jmp    405c4a <method_calls::simple_method_call+0x5a>
L32 405c3e:    lea    0x20(%rsp),%rdi
    405c43:    callq  405710 <core::ptr::real_drop_in_place>
    405c48:    jmp    405c00 <method_calls::simple_method_call+0x10>
    405c4a:    mov    0x7(%rsp),%al
    405c4e:    and    $0x1,%al
    405c50:    mov    %al,0x1f(%rsp)
    405c54:    lea    0x20(%rsp),%rdi
    405c59:    callq  405710 <core::ptr::real_drop_in_place>
    405c5e:    add    $0x48,%rsp
    405c62:    retq
    405c63:    mov    %edx,%ecx
    405c65:    mov    %rax,0x38(%rsp)
    405c6a:    mov    %ecx,0x40(%rsp)
    405c6e:    jmp    405c3e <method_calls::simple_method_call+0x4e>

However, that line is never hit, hence why it is not counted as covered.

I'm not an x86 expert, but it seems like the correct line for coverage would be 0x405c33? That line is executed, but I don't know why the DWARF format has 0x405c3e as the instruction for line 31. Maybe you could give some advice here?

I'm not going to have time to properly try this out on my pc and figure things out. But if you get the decoded lines output objdump -WL you can see the line rows in sequence from DWARF. You'll see multiple instructions mapped to a single line. One of the things that tarpaulin needs is a smarter choosing of which address to pick and handling the fact that one line might be present a ton of times

Oh one thing I forgot about, breakpoint addresses are aligned to words, so mentally zero out the 3 least significant bits to get the aligned address for the breakpoint

Okay I have an idea that seems to have legs after some plays with minitarp. If the prior instruction is a jump, instrument that as well as it may cause the instruction to be skipped. However, I need to find out if that would cause false positives in things like if statements...

 That is, what changes are you making and where to answer something like that?

Also, let me know if there are some tests that I can write to help with that. I feel like it might be much easier to make these changes after we add some regression tests for them. Or at least, we will have more confidence in making them.

For coverage the existing tests and I have some larger projects I run it on and check the results of for sanity. Test wise it just needs tests that are <100% covered and matching the lines covered/uncovered.
Thinking of it I don't think jump and branches are too massive a problem I'll have to experiment though

@xd009642 In order to not let this stagnate, I'm going to just add the #[ignore] attribute to this test for now. But we should remove it whenever #136 gets updated to fix some of these issues. These can be used as regression tests and also as a guide while fixing the problem.

yeah good call, I was working on the trace point improvements but there's a lot of analysis work that needs to be done as the naive solution didn't work


Width of content

Changed the width of contents well as some font sizes. Now it looks like:

Please have a look.


Fixes #2122. Weird visual artifacts on clearing.

Fixes #2122 - All view size must be cleared.
Pull Request checklist:

[x] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[ ] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

I pulled this PR down locally and ran it.
The flickering bar is still there. Was this intended to fix that?

Yes I've got that now. I also check Character Map scenario is blank. The fix corrupt other situations. We have to see the best solution for this.

@tig what is causing the flickering is the horizontalRuler label of the Scrolling scenario. If you set the Height = 1 the flickering issue stops. This issue only happens with the WindowsDriver.

I merged this PR down locally and I see this issue in the Class Explorer scenario as well.

@tig can you confirm if that happens with the others drivers? Mine is working well with WindowsDriver on Windows Terminal.

Just tested with -usc and I get the same issue.
Can you please fix the merge conflicts in this PR so I can pull it down again and double check again?

Just tested with -usc and I get the same issue.
Can you please fix the merge conflicts in this PR so I can pull it down again and double check again?

Done @tig. I hadn't realized the conflicts. Thanks.


Is AMD GPU MI250 (gfx9010) supported by SCALE

I have not found any details regarding the supported GPU platforms. So, I have tried downloading tar ball on my Ubuntu MI 250 machine and got the below error:
scale-free-<IP_ADDRESS>-Linux/bin$ scaleinfo
Error getting device count: initialization error

The list of available GPUs is available here:
https://docs.scale-lang.com/#which-gpus-are-supported
See also: https://docs.scale-lang.com/manual/faq/#when-will-some-gpu-be-supported


3D graph

As a user, I want to be able to swap the graph from 2D to 3D at any time in order to gain valuable perspective. (WOW)
Acceptance Criteria

[ ] The graph is toggleable from 2D to 3D.
[ ] The 3D graph is optimized enough to not cause software hiccups.

Any idea what technology will drive this?

This will not be doable with given time and we have decided to discard it.


Fix typo in script

Fixing typo in script which makes Travis
CI fail
Signed-off-by: mdekov<EMAIL_ADDRESS>Description
Typo in the ci.sh which prevented the passing of a build

How Has This Been Tested?

Local build ran ./ci.sh
Checklist:
I have:

[x] checked my changes follow the style of the existing code / OpenFaaS repos
[ ] updated the documentation and/or roadmap in README.md
[x] read the CONTRIBUTION guide
[x] signed-off my commits with git commit -s
[ ] added unit tests

The build still fails ...

Thanks for working on this @martindekov - FYI you'll have to change your git commit user.name to your full name for the DCO.

I'll merge this anyway because it fixes one of my mistakes breaking CI, but please sort out the username for the other PRs open?


2089 alldayevents

According to my #2089 issue I modified showMultiDayTimes property of the Calendar Component to allow also a function
So with my changes it is also possible to dynamically decide if an event should be displayed in allDay Row or as a normal event:
showMultiDayTimes={event => {
    //if return false, the event is shown in allday-Row, if true it is shown according to start/end

    const startMoment = moment(event.start)
    const endMoment = moment(event.end)

    //if start and end is same day and start is 00:00 and end is > 23:00
    if (
        startMoment.isSame(endMoment, 'day') &&
        startMoment.hours() == 0 &&
        startMoment.minutes() == 0 &&
        endMoment.hours() == 23 &&
        endMoment.minutes() >= 0
    ) {
        return false; //show as allAay
    }
    return true;
}}

(In this example, the event is shown as allday if start equals to 00:00 and end is after 23:00)
for backwards compatibility it is also possible to leave the property as a boolean.
I used the dndresource.js for this example, so my pull request modified this example.
Unfortunately there is a small issue i recognized when i tested this: On the initial render, the allDay row is not shown. - However when I trigger a re-render (e.g. just by resizing the window), all is shown as expected. Maybe one of you has an idea on this, might be some render before initialize problem.

@mitsol If you can update your branch from master, and move your examples into a story to update documentation, I'll review what you've done here.


Activate Environment activates even in REPLs from other languages

Type: Bug

Behaviour
When having the Activate Environments setting checked, the Python extension tries to activate in REPLs from other Languages i.e. Julia REPL, which is a problem as conda activate .... is not a valid Julia Code.
Steps to reproduce:

Install Python Extension
Install Julia Extension

When wanting to execute a Julia Script "Julia Execute Active File in REPL"
the conda activate ... line is always, sometimes even twice.

Diagnostic data

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

2024-08-14 15:33:34.399 [info] Not enabling terminal env var experiment in multiroot remote workspaces
2024-08-14 15:33:34.477 [info] > conda info --json
2024-08-14 15:33:35.711 [info] Send text to terminal: conda activate planetary
2024-08-14 15:34:00.156 [info] Python interpreter path: /bin/python3

Extension version: 2024.12.3
VS Code version: Code 1.92.1 (eaa41d57266683296de7d118f574d0c2652e1fc4, 2024-08-07T20:16:39.455Z)
OS version: Windows_NT x64 10.0.22635
Modes:
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

Python version (& distribution if applicable, e.g. Anaconda): 3.10.12
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Global
Value of the python.languageServer setting: Default

User Settings

Multiroot scenario, following user settings may not apply:

languageServer: "Pylance"

Installed Extensions

Extension Name
Extension Id
Version

autoDocstring - Python Docstring Generator
njpwerner.autodocstring
0.6.1

autopep8
ms-python.autopep8
2024.0.0

GitHub Copilot
GitHub.copilot
1.221.0

GitHub Copilot Chat
GitHub.copilot-chat
0.18.1

GitLens — Git supercharged
eamodio.gitlens
15.2.3

isort
ms-python.isort
2023.10.1

JavaScript Debugger
ms-vscode.js-debug
1.92.0

Julia
julialang.language-julia
1.105.2

Jupyter
ms-toolsai.jupyter
2024.7.0

Jupyter Cell Tags
ms-toolsai.vscode-jupyter-cell-tags
0.1.9

Jupyter Notebook Renderers
ms-toolsai.jupyter-renderers
1.0.19

Jupyter Slide Show
ms-toolsai.vscode-jupyter-slideshow
0.1.6

Live Server
ritwickdey.LiveServer
5.7.9

Live Share
ms-vsliveshare.vsliveshare
1.0.5936

Path Intellisense
christian-kohler.path-intellisense
2.9.0

Pylance
ms-python.vscode-pylance
2024.8.1

Pylint
ms-python.pylint
2023.10.1

Python
ms-python.python
2024.12.2

Python Debugger
ms-python.debugpy
2024.10.0

Rainbow CSV
mechatroner.rainbow-csv
3.12.0

Table Visualizer for JavaScript Profiles
ms-vscode.vscode-js-profile-table
1.0.9

TabOut
albert.TabOut
0.2.2

Todo Tree
Gruntfuggly.todo-tree
0.0.226

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i9-13900H (20 x 2995)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
undefined

Memory (System)
39.64GB (10.25GB free)

Process Argv
--crash-reporter-id f5543582-acb8-470c-994d-dac2d25eca4a

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu2

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
13th Gen Intel(R) Core(TM) i9-13900H (20 x 0)

Memory (System)
24.46GB (13.23GB free)

VM
0%

A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
g316j359:31013175
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupytercf:31046870
impr_priority:31102340
refactort:31108082
pythonrstrctxt:31112756
wkspc-onlycs-t:31111718
wkspc-ranged-t:31111713

Hello @toihr Thank you for filing the issue here. When you say you have the activate environment setting checked, are you referring to:

@anthonykim1, yes i have Activate Environment in all Terminals created checked. I understand that this kinda means that it will activate on all Terminals. But the problem is if its not activated the environment never activates, and if I have it activated it interjects into my Julia Terminal.
This behaviour is mentioned in https://github.com/julia-vscode/julia-vscode/issues/1901 which discuesses this, even though it fails to find a solution on the Julia side.
An alternative solution would be if I could specify a batch script to run before the python run commands that just contain conda activate environment_name.

I think the workaround that was mentioned in the referenced issue is adding: https://github.com/julia-vscode/julia-vscode/issues/1901#issuecomment-1407202107
I'm curious to investigate more on this: When your terminal activates, do you ever see the line of command that is the actual activate script?
Also, one more thing: Does adding "python.experiments.optOutFrom": ["pythonTerminalEnvVarActivation"]," in your settings.json cause any change?
Make sure to "Python Clear Cache and Reload" after you have added any new settings.


Crash when using with iOS: EXC_BAD_ACCESS (code=1, address=0x200)

Hi, I attempt to use the library with a custom model that processes an image. It works well on Android, but there is a problem on iOS:
Initialized TensorFlow Lite runtime.
flutter: Removing background with tflite
* thread #10, name = 'io.flutter.1.ui', stop reason = EXC_BAD_ACCESS (code=1, address=0x200)
    frame #0: 0x00000001021dd060 Runner`___lldb_unnamed_symbol122$$Runner + 144
Runner`___lldb_unnamed_symbol122$$Runner:
->  0x1021dd060 <+144>: str    q20, [x15]
    0x1021dd064 <+148>: str    q21, [x15, #0x20]
    0x1021dd068 <+152>: str    q22, [x15, #0x40]
    0x1021dd06c <+156>: str    q23, [x15, #0x60]
Target 0: (Runner) stopped.
Lost connection to device.

What troubleshooting technique can one apply to understand the root cause of the problem?
In addition to that, when running it with XCode, more information is available. Although it is too low-level to be meaningful to me, perhaps it makes sense to someone else:
Runner`___lldb_unnamed_symbol122$$Runner:
    0x104ba8fd0 <+0>:   stp    d15, d14, [sp, #-0x40]!
    0x104ba8fd4 <+4>:   stp    d13, d12, [sp, #0x10]
    0x104ba8fd8 <+8>:   stp    d11, d10, [sp, #0x20]
    0x104ba8fdc <+12>:  stp    d9, d8, [sp, #0x30]
    0x104ba8fe0 <+16>:  mov    x8, x2
    0x104ba8fe4 <+20>:  mov    x9, x1
    0x104ba8fe8 <+24>:  ldr    w14, [sp, #0x40]
    0x104ba8fec <+28>:  ldr    x15, [sp, #0x48]
    0x104ba8ff0 <+32>:  sxtw   x16, w4
    0x104ba8ff4 <+36>:  sxtw   x17, w5
    0x104ba8ff8 <+40>:  sxtw   x4, w6
    0x104ba8ffc <+44>:  sxtw   x5, w7
    0x104ba9000 <+48>:  mov    w1, #0x0
    0x104ba9004 <+52>:  ands   w2, w14, #0xfffffffc
    0x104ba9008 <+56>:  b.eq   0x104ba90ac               ; <+220>
    0x104ba900c <+60>:  add    w1, w1, #0x4              ; =0x4
    0x104ba9010 <+64>:  ld1.4s { v0 }, [x0], x16
    0x104ba9014 <+68>:  ld1.4s { v1 }, [x9], x17
    0x104ba9018 <+72>:  cmp    w1, w2
    0x104ba901c <+76>:  ld1.4s { v2 }, [x8], x4
    0x104ba9020 <+80>:  ld1.4s { v3 }, [x3], x5
    0x104ba9024 <+84>:  b.eq   0x104ba9078               ; <+168>
    0x104ba9028 <+88>:  add    w1, w1, #0x4              ; =0x4
    0x104ba902c <+92>:  trn1.4s v16, v0, v1
    0x104ba9030 <+96>:  trn2.4s v17, v0, v1
    0x104ba9034 <+100>: trn1.4s v18, v2, v3
    0x104ba9038 <+104>: trn2.4s v19, v2, v3
    0x104ba903c <+108>: ld1.4s { v0 }, [x0], x16
    0x104ba9040 <+112>: ld1.4s { v1 }, [x9], x17
    0x104ba9044 <+116>: ld1.4s { v2 }, [x8], x4
    0x104ba9048 <+120>: ld1.4s { v3 }, [x3], x5
    0x104ba904c <+124>: trn1.2d v20, v16, v18
    0x104ba9050 <+128>: trn2.2d v22, v16, v18
    0x104ba9054 <+132>: trn1.2d v21, v17, v19
    0x104ba9058 <+136>: trn2.2d v23, v17, v19
    0x104ba905c <+140>: cmp    w1, w2
->  0x104ba9060 <+144>: str    q20, [x15]
    0x104ba9064 <+148>: str    q21, [x15, #0x20]
    0x104ba9068 <+152>: str    q22, [x15, #0x40]
    0x104ba906c <+156>: str    q23, [x15, #0x60]
    0x104ba9070 <+160>: add    x15, x15, #0x80           ; =0x80
    0x104ba9074 <+164>: b.ne   0x104ba9028               ; <+88>
    0x104ba9078 <+168>: trn1.4s v16, v0, v1
    0x104ba907c <+172>: trn2.4s v17, v0, v1
    0x104ba9080 <+176>: trn1.4s v18, v2, v3
    0x104ba9084 <+180>: trn2.4s v19, v2, v3
    0x104ba9088 <+184>: trn1.2d v20, v16, v18
    0x104ba908c <+188>: trn2.2d v22, v16, v18
    0x104ba9090 <+192>: trn1.2d v21, v17, v19
    0x104ba9094 <+196>: trn2.2d v23, v17, v19
    0x104ba9098 <+200>: str    q20, [x15]
    0x104ba909c <+204>: str    q21, [x15, #0x20]
    0x104ba90a0 <+208>: str    q22, [x15, #0x40]
    0x104ba90a4 <+212>: str    q23, [x15, #0x60]
    0x104ba90a8 <+216>: add    x15, x15, #0x80           ; =0x80
    0x104ba90ac <+220>: ands   w2, w14, #0x3
    0x104ba90b0 <+224>: b.eq   0x104ba9160               ; <+400>
    0x104ba90b4 <+228>: movi.16b v0, #0x0
    0x104ba90b8 <+232>: movi.16b v1, #0x0
    0x104ba90bc <+236>: movi.16b v2, #0x0
    0x104ba90c0 <+240>: movi.16b v3, #0x0
    0x104ba90c4 <+244>: cmp    w2, #0x0                  ; =0x0
    0x104ba90c8 <+248>: b.eq   0x104ba910c               ; <+316>
    0x104ba90cc <+252>: ld1.s  { v0 }[0], [x0], #4
    0x104ba90d0 <+256>: ld1.s  { v1 }[0], [x9], #4
    0x104ba90d4 <+260>: ld1.s  { v2 }[0], [x8], #4
    0x104ba90d8 <+264>: ld1.s  { v3 }[0], [x3], #4
    0x104ba90dc <+268>: cmp    w2, #0x1                  ; =0x1
    0x104ba90e0 <+272>: b.eq   0x104ba910c               ; <+316>
    0x104ba90e4 <+276>: ld1.s  { v0 }[1], [x0], #4
    0x104ba90e8 <+280>: ld1.s  { v1 }[1], [x9], #4
    0x104ba90ec <+284>: ld1.s  { v2 }[1], [x8], #4
    0x104ba90f0 <+288>: ld1.s  { v3 }[1], [x3], #4
    0x104ba90f4 <+292>: cmp    w2, #0x2                  ; =0x2
    0x104ba90f8 <+296>: b.eq   0x104ba910c               ; <+316>
    0x104ba90fc <+300>: ld1.s  { v0 }[2], [x0], #4
    0x104ba9100 <+304>: ld1.s  { v1 }[2], [x9], #4
    0x104ba9104 <+308>: ld1.s  { v2 }[2], [x8], #4
    0x104ba9108 <+312>: ld1.s  { v3 }[2], [x3], #4
    0x104ba910c <+316>: trn1.4s v16, v0, v1
    0x104ba9110 <+320>: trn2.4s v17, v0, v1
    0x104ba9114 <+324>: trn1.4s v18, v2, v3
    0x104ba9118 <+328>: trn2.4s v19, v2, v3
    0x104ba911c <+332>: trn1.2d v20, v16, v18
    0x104ba9120 <+336>: trn2.2d v22, v16, v18
    0x104ba9124 <+340>: trn1.2d v21, v17, v19
    0x104ba9128 <+344>: trn2.2d v23, v17, v19
    0x104ba912c <+348>: mov    x1, #0x20
    0x104ba9130 <+352>: cmp    w2, #0x0                  ; =0x0
    0x104ba9134 <+356>: b.eq   0x104ba9160               ; <+400>
    0x104ba9138 <+360>: st1.4s { v20 }, [x15], x1
    0x104ba913c <+364>: cmp    w2, #0x1                  ; =0x1
    0x104ba9140 <+368>: b.eq   0x104ba9160               ; <+400>
    0x104ba9144 <+372>: st1.4s { v21 }, [x15], x1
    0x104ba9148 <+376>: cmp    w2, #0x2                  ; =0x2
    0x104ba914c <+380>: b.eq   0x104ba9160               ; <+400>
    0x104ba9150 <+384>: st1.4s { v22 }, [x15], x1
    0x104ba9154 <+388>: cmp    w2, #0x3                  ; =0x3
    0x104ba9158 <+392>: b.eq   0x104ba9160               ; <+400>
    0x104ba915c <+396>: st1.4s { v23 }, [x15], x1
    0x104ba9160 <+400>: ldp    d9, d8, [sp, #0x30]
    0x104ba9164 <+404>: ldp    d11, d10, [sp, #0x20]
    0x104ba9168 <+408>: ldp    d13, d12, [sp, #0x10]
    0x104ba916c <+412>: ldp    d15, d14, [sp], #0x40
    0x104ba9170 <+416>: ret

You might want to check the CUDA maximum memory allocated.


Request Entity Too Large - 413

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
Doing an HTTP call to an endpoint behind an ingress. The ingress has a middleware annotation which uses addPrefix behind the scenes. When calling with a large request body, I'm getting an HTTP 413 response.
What did you see instead?
I was expecting to get a 200 response, just as it happens for requests with a smaller request body.
What version of Traefik are you using?
name: traefik
description: A Traefik based Kubernetes ingress controller
appVersion: 2.8.0
What is your environment & configuration?
ingress-traefik:
    Image:       traefik:2.8.0
    Ports:       9100/TCP, 9000/TCP, 8000/TCP, 8443/TCP
    Host Ports:  0/TCP, 0/TCP, 0/TCP, 0/TCP
    Args:
      --global.checknewversion
      --global.sendanonymoususage
      --entrypoints.metrics.address=:9100/tcp
      --entrypoints.traefik.address=:9000/tcp
      --entrypoints.web.address=:8000/tcp
      --entrypoints.websecure.address=:8443/tcp
      --api.dashboard=true
      --ping=true
      --metrics.prometheus=true
      --metrics.prometheus.entrypoint=metrics
      --providers.kubernetescrd
      --providers.kubernetesingress
      --log.format=json
      --log.level=DEBUG
      --accesslog=true
      --accesslog.format=json
      --providers.kubernetesingress.ingressendpoint.publishedservice=ingress-traefik/ingress-traefik
      --providers.kubernetesingress.ingressclass=traefik-internal

If applicable, please paste the log output in DEBUG level
I'm using DEBUG log level but the logs are not really helping to pinpoint the problem.
This is what I was able to gather from the logs:
{"ClientAddr":"<IP_ADDRESS>:9672","ClientHost":"<IP_ADDRESS>","ClientPort":"9672","ClientUsername":"-","DownstreamContentSize":24,"DownstreamStatus":413,"Duration":70256471,"OriginContentSize":24,"OriginDuration":70171001,"OriginStatus":413,"Overhead":85470,"RequestAddr":"proxy.foo.bar.io","RequestContentSize":48247,"RequestCount":500,"RequestHost":"proxy.foo.bar.io","RequestMethod":"POST","RequestPath":"/some/request/path","RequestPort":"-","RequestProtocol":"HTTP/1.1","RequestScheme":"http","RetryAttempts":0,"RouterName":"foo-bar@kubernetes","ServiceAddr":"<IP_ADDRESS>:61003","ServiceName":"foo-bar@kubernetes","ServiceURL":{"Scheme":"http","Opaque":"","User":null,"Host":"<IP_ADDRESS>:61003","Path":"","RawPath":"","ForceQuery":false,"RawQuery":"","Fragment":"","RawFragment":""},"StartLocal":"2024-04-03T19:38:44.765283803Z","StartUTC":"2024-04-03T19:38:44.765283803Z","entryPointName":"websecure","level":"info","msg":"","time":"2024-04-03T19:38:44Z"}

Hello @karadikidd,
Thanks for your interest in Traefik!
In the access log you have shared, the DownstreamStatus is 413 which indicates that the error is produced by the downstream service and not in Traefik.
The GitHub issue tracker is dedicated to bug and feature requests.
For help on your configuration, please join our Community Forum and reach out to us on the Traefik section.
We will close this issue accordingly but feel free to re-open it if you think that we missed something.


sam local start-api chokes when lambda returns utf-8 character in response

I'm testing a lambda function running locally with "sam local start-api". I'm getting an error when the lambda response contains a utf-8 character:
Function returned an invalid response (must include one of: body, headers, multiValueHeaders or statusCode in the response object). Response received: {"isBase64Encoded":false,"statusCode":200,"headers":{"Content-Type":"text\/html; charset=utf-8","X-Powered-By":"PHP\/7.3.8"},"body":"Schlüter"}
This also happens when the utf-8 character is expressed as \uXXXX:
Function returned an invalid response (must include one of: body, headers, multiValueHeaders or statusCode in the response object). Response received: {"isBase64Encoded":false,"statusCode":200,"headers":{"Content-Type":"text\/html; charset=utf-8","X-Powered-By":"PHP\/7.3.8"},"body":"Schl\u00fcter"}
I don't see this behavior when running the code in AWS, just locally. Any idea what is going on?

After updating my vm and python version and reinstalling aws-cli, I'm no longer seeing this issue. Sorry for the false alarm.


fix: OCI content created by "host" builder on Windows

Changes

:bug: Fix OCI generation by "host builder" on Windows.

PTAL @lkingland

/retest

/retest

/test unit-tests

/test unit-tests

@lance please override the error.

/override unit-tests_func_main


Show slide in the center

How can I always show the slide with class .active in the centre? every time the page loads, the slide with class .active appears in the centre.

Please read the contribution guidelines :)


Update dockerfile to meet replatforming standards

Updated Dockerfile:
Multistage build dockerfile using self managed Base image.
Replaced Foreman with Puma.
https://trello.com/c/4idzCwO7/712-package-collections-publisher-for-migration
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Looking good! How far did you go in terms of testing these? (e.g. does the container start up ok locally with, say, docker run?)

Yes i have tested running locally and seems to appear in a running state with puma running

Looking good! How far did you go in terms of testing these? (e.g. does the container start up ok locally with, say, docker run?)

Yes i have tested running locally and seems to appear in a running state with puma running

Awesome!


Only save a decision if it contains data

Saving an empty record will create "empty" triples in the database which isn't a good idea from a data quality perspective.

Draft PR since more testing is needed, but this has a low priority.

Did some more testing and everything seems to work. This also fixes an issue were pressing save didn't work for the erkenning aangevraagd change event type since it never has a decision.


Finish #6705

Finishes #6705. Built on top of @rishig's https://github.com/rishig/zulip/tree/review-6705

Great, merged, thanks @hackerkid!


MRG, API: Deprecate n_pca_components in init

Closes #8355

Updated docs: https://22673-1301584-gh.circle-artifacts.com/0/dev/generated/mne.preprocessing.ICA.html (CircleCI failure is just a broken link that I fixed with a [ci skip] commit)

@hoechenberger can you review and merge if you're happy?

@hoechenberger it looks like somehow you killed the branch. Were you trying to resolve conflicts? If so I'll just locally rebase and fix

... and cherry pick 6f23aa4

@hoechenberger it looks like somehow you killed the branch. Were you trying to resolve conflicts? If so I'll just locally rebase and fix

Ouch. Nope, I just pulled. I can revert, sorry.

Guess I pulled the wrong branch.

I can push force it back to how it was. Did you have some commits you wanted on top like 3073f10 or 6f23aa4?

I can push force it back to how it was. Did you have some commits you wanted on top like 3073f10 or 6f23aa4?

Ok that would be the easiest, thank you :) Yes only these two commits, that's all I had to contribute!

Done, okay to merge once CircleCI comes back green @hoechenberger ?

Perfect! LGTM once CI goes green.

Done, okay to merge once CircleCI comes back green @hoechenberger ?

Yep!


Add decorateRows helper function for summary lists

Use a simplified version of the summaryList parameters to make prototyping
easier. You can continue to use the old syntax as normal, where the shorter
one isn’t helpful
For example:
{
 key: 'Name',
 value: 'Paul',
 href: '/change/name'
}

becomes:
{
 key: {
   text: 'Name'
 },
 value: {
  text: 'Paul'
 },
 actions: {
   items: [
     text: 'Change',
     visuallyHiddenText: 'name',
     href: '/change/name'
   ]
 }
}

Closing this PR as it's more appropriate for govuk-decorated-components


fix(@toss/storage): update rollup-config for subpath export

Overview
I Update @toss/rollup-config for @toss/storage package.
Because @toss/storage/typed is subpath module, but there is type error.
So I update @toss/storage`s rollup.config.js by using @toss/rollup-config, and update them cover the subpath module package.
AS-IS

relates to #243
TO-BE

PR Checklist

[x] I read and included theses actions below

I have read the Contributing Guide
I have written documents and tests, if needed.

It is not the problem to be solved by fixing build script. It is the problem caused because you have not set moduleResolution to nodenext in tsconfig.json.
In other words, there are not any runtime errors because the problem is only caused in Typescript. (Currently Node.js resolves a module depending on exports field in package.json, please see Node.js official documentation or this article.)

So I think this can be fixed in very simple way:

Add typed.d.ts to the root.

// typed.d.ts
export * from './dist/typed';

add typed.d.ts to files field in package.json.

{
  "files": [
    "dist",
    "esm",
    "typed.d.ts",
  ]
}

I will close PR and fix the problem soon. Thanks.

Thank you @HoseungJang,
When I face this issue, find reference, I already read your post, but I finially realized that I didn`t understand about what is the problem.
If you don't mind, could you leave it to me to finish this matter?
Once again, thank you very much for reviewing my PR and for your kind response.

If you don't mind, could you leave it to me to finish this matter?

Yes of course!


Add command option to remove fields from output

Add a command option to remove fields from the output.

Maybe you could add an option to read input flags from a file?  Maybe this way, it would be easier to specify more options, and reuse them in the future.


Is there a way to suppress 1 of 1 complete message

When we use the following commands:
import yfinance as yf
data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30")

we get following printed onto the console.

Is there a way to suppress these prints, 100% 1 of 1 completed lines?

I dint see it in the documentation. Then I myself checked the source and found the progress parameter customization, and solved it.


Sleuth Trace no longer available when calling reactivestreams mongo

When including a call to an interface extending org.springframework.data.mongodb.repository.ReactiveMongoRepository, e.g.
 public void calcAndSendResponse(String input)  {
        Mono.just(input)
                .flatMap(s -> lookupRepository.findById(s))
                .flatMap(repoContent -> this.restClient.sendResponse(repoContent))
                .subscribe();
    }

the Sleuth span/trace information is not available within the execution of the method restClient.sendResponse()
If the call to the ReactiveMongoRepository is omitted, e.g.
  public void calcAndSendResponse(String input)  {
        Mono.just(input)
                .flatMap(s -> new RepoContent(s))
                .flatMap(repoContent -> this.restClient.sendResponse(repoContent))
                .subscribe();
    }

the Sleuth trace can be found during execution of the method restClient.sendResponse() as expected.
To query the trace, org.springframework.cloud.sleuth.Tracer is used.
Versions used:

spring-cloud-sleuth: Finchley.M1
mongodb-driver-reactivestreams: 1.5.0

Is there an issue with the the combination of sleuth / mongodb-driver-reactivestreams? Is there any configuration missing?

Can you set the logging level of org.springframework.cloud.sleuth.instrument.reactor to TRACE and org.springframework.cloud.sleuth.instrument.web to DEBUG and print the output for both cases?

first I had to change the dependencies from Finchley.M1 to 2.0.0.BUILD-SNAPSHOT as the package org.springframework.cloud.sleuth.instrument.reactor is not contained in Finchley.M1 and its dependencies.
The output for setting the logging level of org.springframework.cloud.sleuth.instrument to TRACE is shown below:
[20.08.2017 13:13:24.042] [http-nio-<IP_ADDRESS>-52080-exec-1] [INFO] [o.s.web.servlet.DispatcherServlet] [] - FrameworkServlet 'dispatcherServlet': initialization started
[20.08.2017 13:13:24.169] [http-nio-<IP_ADDRESS>-52080-exec-1] [INFO] [o.s.web.servlet.DispatcherServlet] [] - FrameworkServlet 'dispatcherServlet': initialization completed in 127 ms
[20.08.2017 13:13:24.187] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [] - Received a request to uri [/mocks/mockcryptorequest] that should not be sampled [false]
[20.08.2017 13:13:24.187] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [] - Received a request to uri [/mocks/mockcryptorequest] that should not be sampled [false]
[20.08.2017 13:13:24.200] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - No parent span present - creating a new span
[20.08.2017 13:13:24.200] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - No parent span present - creating a new span
[20.08.2017 13:13:24.233] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Handling span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Parent:
null, exportable:true]
[20.08.2017 13:13:24.233] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Handling span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Parent:
null, exportable:true]
[20.08.2017 13:13:24.233] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a method tag with value [mockCryptoPinRequest] to a span [Trace: d1cc00083ee4490
8e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Parent: null, exportable:true]
[20.08.2017 13:13:24.233] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a method tag with value [mockCryptoPinRequest] to a span [Trace: d1cc00083ee4490
8e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Parent: null, exportable:true]
[20.08.2017 13:13:24.233] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a class tag with value [MockHandlingApi] to a span [Trace: d1cc00083ee44908e3e5f
0240c2c2e39, Span: e3e5f0240c2c2e39, Parent: null, exportable:true]
[20.08.2017 13:13:24.233] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a class tag with value [MockHandlingApi] to a span [Trace: d1cc00083ee44908e3e5f
0240c2c2e39, Span: e3e5f0240c2c2e39, Parent: null, exportable:true]
[20.08.2017 13:13:24.372] [http-nio-<IP_ADDRESS>-52080-exec-1] [INFO] [c.d.m.m.i.s.rest.MockHandlingApi] [d1cc00083ee44908e3e5f0240c2c2e39] - 0) start mock crypto request message over kafka: XXXX
[20.08.2017 13:13:24.373] [http-nio-<IP_ADDRESS>-52080-exec-1] [INFO] [c.d.m.m.i.s.r.MockHandlingService$$EnhancerBySpringCGLIB$$20fecf2e] [d1cc00083ee44908e3e5f0240c2c2e39] - 1) send mock kafka message for request with id:XXXX
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Processing message before sending it to the channel
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Processing message before sending it to the channel
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Parent span is [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Parent
: null, exportable:true]
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Parent span is [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Parent
: null, exportable:true]
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Name of the span will be [message:cryptoPinMockRequest]
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Name of the span will be [message:cryptoPinMockRequest]
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Marking span with client send
[20.08.2017 13:13:24.414] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Marking span with client send
[20.08.2017 13:13:24.454] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Completed sending and current span is [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 3
8060f25997100c4, Parent: e3e5f0240c2c2e39, exportable:true]
[20.08.2017 13:13:24.454] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Completed sending and current span is [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 3
8060f25997100c4, Parent: e3e5f0240c2c2e39, exportable:true]
[20.08.2017 13:13:24.454] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Marking span with client received
[20.08.2017 13:13:24.454] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Marking span with client received
[20.08.2017 13:13:24.454] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing messaging span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 38060f25997100c4
, Parent: e3e5f0240c2c2e39, exportable:true]
[20.08.2017 13:13:24.454] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing messaging span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 38060f25997100c4
, Parent: e3e5f0240c2c2e39, exportable:true]
[20.08.2017 13:13:24.459] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Messaging span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 38060f25997100c4, Parent
: e3e5f0240c2c2e39, exportable:true] successfully closed
[20.08.2017 13:13:24.459] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Messaging span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 38060f25997100c4, Parent
: e3e5f0240c2c2e39, exportable:true] successfully closed
[20.08.2017 13:13:24.485] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:24.485] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:24.487] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Will set SS on the span
[20.08.2017 13:13:24.487] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Will set SS on the span
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.i.w.TraceHttpServletResponse] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the response is flushed
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.i.w.TraceHttpServletResponse] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the response is flushed
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:24.505] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:24.514] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:24.514] [http-nio-<IP_ADDRESS>-52080-exec-1] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:24.514] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing the span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Paren
t: null, exportable:true] since the response was successful
[20.08.2017 13:13:24.514] [http-nio-<IP_ADDRESS>-52080-exec-1] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing the span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: e3e5f0240c2c2e39, Paren
t: null, exportable:true] since the response was successful
[20.08.2017 13:13:24.712] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Processing message before sending it to the channel
[20.08.2017 13:13:24.712] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Processing message before sending it to the channel
[20.08.2017 13:13:24.714] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Parent span is null
[20.08.2017 13:13:24.714] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Parent span is null
[20.08.2017 13:13:24.714] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Name of the span will be [message:sleuth]
[20.08.2017 13:13:24.714] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Name of the span will be [message:sleuth]
[20.08.2017 13:13:24.715] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Marking span with client send
[20.08.2017 13:13:24.715] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Marking span with client send
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Completed sending and current span is [Trace: b4cefe7995ba33af24d7617827a429e4, Span: 24d7617827a429
e4, Parent: null, exportable:false]
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Completed sending and current span is [Trace: b4cefe7995ba33af24d7617827a429e4, Span: 24d7617827a429
e4, Parent: null, exportable:false]
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Marking span with client received
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Marking span with client received
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Closing messaging span [Trace: b4cefe7995ba33af24d7617827a429e4, Span: 24d7617827a429e4, Parent: nul
l, exportable:false]
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [b4cefe7995ba33af24d7617827a429e4] - Closing messaging span [Trace: b4cefe7995ba33af24d7617827a429e4, Span: 24d7617827a429e4, Parent: nul
l, exportable:false]
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Messaging span [Trace: b4cefe7995ba33af24d7617827a429e4, Span: 24d7617827a429e4, Parent: null, exportable:false] successfully closed
[20.08.2017 13:13:24.721] [task-scheduler-5] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Messaging span [Trace: b4cefe7995ba33af24d7617827a429e4, Span: 24d7617827a429e4, Parent: null, exportable:false] successfully closed
[20.08.2017 13:13:25.139] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [] - Received a request to uri [/mocks/tsb/cryptopin] that should not be sampled [false]
[20.08.2017 13:13:25.139] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [] - Received a request to uri [/mocks/tsb/cryptopin] that should not be sampled [false]
[20.08.2017 13:13:25.140] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [] - Found a parent span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportab
le:true] in the request
[20.08.2017 13:13:25.140] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [] - Found a parent span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportab
le:true] in the request
[20.08.2017 13:13:25.140] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Parent span is [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent:
2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.140] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Parent span is [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent:
2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.149] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Handling span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent:
2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.149] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Handling span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent:
2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.149] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a method tag with value [pinRequest] to a span [Trace: d1cc00083ee44908e3e5f0240
c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.149] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a method tag with value [pinRequest] to a span [Trace: d1cc00083ee44908e3e5f0240
c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.149] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a class tag with value [MockHandlingApi] to a span [Trace: d1cc00083ee44908e3e5f
0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.149] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a class tag with value [MockHandlingApi] to a span [Trace: d1cc00083ee44908e3e5f
0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.298] [http-nio-<IP_ADDRESS>-52080-exec-2] [INFO] [c.d.m.m.i.s.rest.MockHandlingApi] [d1cc00083ee44908e3e5f0240c2c2e39] - 4) received pin request xml over rest: XXXX
[20.08.2017 13:13:25.535] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing the span null and detaching its parent [Trace: d1cc00083ee44908e3e5f0240c2c2e39
, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true] since the request is asynchronous
[20.08.2017 13:13:25.535] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing the span null and detaching its parent [Trace: d1cc00083ee44908e3e5f0240c2c2e39
, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true] since the request is asynchronous
[20.08.2017 13:13:25.538] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - The span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f
52d95a15324, exportable:true] will get detached by a HandleInterceptor
[20.08.2017 13:13:25.538] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - The span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f
52d95a15324, exportable:true] will get detached by a HandleInterceptor
[20.08.2017 13:13:25.547] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - There has already been a span in the request [Trace: d1cc00083ee44908e3e5f0240c2c2e39, S
pan: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.547] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - There has already been a span in the request [Trace: d1cc00083ee44908e3e5f0240c2c2e39, S
pan: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.547] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Received a request to uri [/mocks/tsb/cryptopin] that should not be sampled [false]
[20.08.2017 13:13:25.547] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Received a request to uri [/mocks/tsb/cryptopin] that should not be sampled [false]
[20.08.2017 13:13:25.547] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span has already been created - continuing with the previous one
[20.08.2017 13:13:25.547] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span has already been created - continuing with the previous one
[20.08.2017 13:13:25.550] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Handling span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent:
2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.550] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Handling span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent:
2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.550] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a method tag with value [pinRequest] to a span [Trace: d1cc00083ee44908e3e5f0240
c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.550] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a method tag with value [pinRequest] to a span [Trace: d1cc00083ee44908e3e5f0240
c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.550] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a class tag with value [MockHandlingApi] to a span [Trace: d1cc00083ee44908e3e5f
0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.550] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.i.w.TraceHandlerInterceptor] [d1cc00083ee44908e3e5f0240c2c2e39] - Adding a class tag with value [MockHandlingApi] to a span [Trace: d1cc00083ee44908e3e5f
0240c2c2e39, Span: 9f18aeaf3e2943cf, Parent: 2d20f52d95a15324, exportable:true]
[20.08.2017 13:13:25.557] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.557] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.558] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Will set SS on the span
[20.08.2017 13:13:25.558] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Will set SS on the span
[20.08.2017 13:13:25.558] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.558] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.558] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.558] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceServletOutputStream] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the stream is flushed
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.568] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.569] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceHttpServletResponse] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the response is flushed
[20.08.2017 13:13:25.569] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceHttpServletResponse] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the response is flushed
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceHttpServletResponse] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the response is flushed
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.i.w.TraceHttpServletResponse] [d1cc00083ee44908e3e5f0240c2c2e39] - Will annotate SS once the response is flushed
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Trying to send the parent span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3
e2943cf, Parent: 2d20f52d95a15324, exportable:true] to Zipkin
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Trying to send the parent span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3
e2943cf, Parent: 2d20f52d95a15324, exportable:true] to Zipkin
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.573] [http-nio-<IP_ADDRESS>-52080-exec-2] [TRACE] [o.s.c.s.instrument.web.SsLogSetter] [d1cc00083ee44908e3e5f0240c2c2e39] - Span was already annotated with SS, will not do it again
[20.08.2017 13:13:25.575] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing the span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Paren
t: 2d20f52d95a15324, exportable:true] since the response was successful
[20.08.2017 13:13:25.575] [http-nio-<IP_ADDRESS>-52080-exec-2] [DEBUG] [o.s.c.s.instrument.web.TraceFilter] [d1cc00083ee44908e3e5f0240c2c2e39] - Closing the span [Trace: d1cc00083ee44908e3e5f0240c2c2e39, Span: 9f18aeaf3e2943cf, Paren
t: 2d20f52d95a15324, exportable:true] since the response was successful
[20.08.2017 13:13:25.592] [nioEventLoopGroup-2-2] [INFO] [org.mongodb.driver.connection] [] - Opened connection [connectionId{localValue:3, serverValue:537}] to mrmdb-primary-0.mrmdb-primary:27017
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Processing message before sending it to the channel
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Processing message before sending it to the channel
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Parent span is null
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Parent span is null
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Name of the span will be [message:sleuth]
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Name of the span will be [message:sleuth]
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Marking span with client send
[20.08.2017 13:13:25.723] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Marking span with client send
[20.08.2017 13:13:25.726] [nioEventLoopGroup-2-2] [INFO] [c.d.m.m.i.s.r.BrokerCryptoPinResponseRestClient] [] - 5) Send pin response over rest for id: XXXX
[20.08.2017 13:13:25.731] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Completed sending and current span is [Trace: af1b1a6ff0ba0560ec3fcd799d74bfc5, Span: ec3fcd799d74bf
c5, Parent: null, exportable:false]
[20.08.2017 13:13:25.731] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Completed sending and current span is [Trace: af1b1a6ff0ba0560ec3fcd799d74bfc5, Span: ec3fcd799d74bf
c5, Parent: null, exportable:false]
[20.08.2017 13:13:25.731] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Marking span with client received
[20.08.2017 13:13:25.731] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Marking span with client received
[20.08.2017 13:13:25.731] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Closing messaging span [Trace: af1b1a6ff0ba0560ec3fcd799d74bfc5, Span: ec3fcd799d74bfc5, Parent: nul
l, exportable:false]
[20.08.2017 13:13:25.731] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [af1b1a6ff0ba0560ec3fcd799d74bfc5] - Closing messaging span [Trace: af1b1a6ff0ba0560ec3fcd799d74bfc5, Span: ec3fcd799d74bfc5, Parent: nul
l, exportable:false]
[20.08.2017 13:13:25.732] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Messaging span [Trace: af1b1a6ff0ba0560ec3fcd799d74bfc5, Span: ec3fcd799d74bfc5, Parent: null, exportable:false] successfully closed
[20.08.2017 13:13:25.732] [task-scheduler-3] [DEBUG] [o.s.c.s.i.m.TraceChannelInterceptor] [] - Messaging span [Trace: af1b1a6ff0ba0560ec3fcd799d74bfc5, Span: ec3fcd799d74bfc5, Parent: null, exportable:false] successfully closed
[20.08.2017 13:13:25.823] [nioEventLoopGroup-2-2] [INFO] [c.d.m.c.tracing.TracingConverter] [] - Invalid format for X-B3-TraceId: ''. Replaced with: 4db1ce5d-cca9-47d4-8f9d-da1195e586f5

Currently the snapshots of sleuth and reactor and webflux don't work well anymore. For the upcoming M2 I'll most likely

Will have to disable that feature and get back to it for M3

BTW do you have a sample I could check out?

Ping @softabout ?

Sorry for the delay. It would be more than a few minutes to extract the envolved code
I could provide an example without the whole config and database containers. Please let me know if that would be appropriate

Sure anything that you have can be helpful :)

sorry again for the delay. please checkout a sample on https://github.com/softabout/sleuth-issue.
Hope it helps ...

Fixed by https://github.com/spring-cloud/spring-cloud-sleuth/issues/850


Annotation text

Adresses #26

Added annotation flags to linear viewer. The annotation texts appears when you hover over an annotation svg. I can't quite figure out how to do absolute positioning with svgs so that's why certain annotation svgs will overlap on top of the annotation text/flag when you mouse over them.
Added annotation text to circular viewer. Had to add a new prop index to the CircularAnnotation component to uniquely assign annotation text.

In my mind there are two styles for annotation text: show a popup of the text on mouse hover of an annotation, or show the annotation text directly inside of the annotation svg. These features definitely need to be polished so lmk what you think.

Looks like good progress - im a bit worries this can turn into a time sink. Why dont you crank on this for another hour or two and then i can review what you've got and try to get it over the finish line?

@ninjha01 Got the overlap working on the linear view. Lmk what you think


has plan to support windows? #4

i found the find func is not supported,so the find func will be supported in the future? and and https://github.com/AspieSoft/go-regex will support find too in the future?and the https://github.com/AspieSoft/go-regex will support windows?

Thanks for bringing this to my attention.
I am trying to make this module cross compatible, including with windows.
I will look into this.


rule set standard library typo fix

🤦

Codecov Report
Base: 93.54% // Head: 93.48% // Decreases project coverage by -0.05% :warning:

Coverage data is based on head (9bafc08) compared to base (fcba716).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2824      +/-   ##
===========================================
- Coverage    93.54%   93.48%   -0.06%
===========================================
  Files           63       63
  Lines        13350    13344       -6
===========================================
- Hits         12488    12475      -13
- Misses         862      869       +7

Impacted Files
Coverage Δ

botocore/endpoint_provider.py
99.35% <100.00%> (ø)

botocore/compat.py
91.33% <0.00%> (-1.34%)
:arrow_down:

botocore/hooks.py
95.27% <0.00%> (-0.40%)
:arrow_down:

botocore/httpsession.py
91.40% <0.00%> (-0.40%)
:arrow_down:

botocore/utils.py
79.06% <0.00%> (-0.15%)
:arrow_down:

botocore/credentials.py
98.53% <0.00%> (-0.11%)
:arrow_down:

botocore/response.py
93.02% <0.00%> (-0.09%)
:arrow_down:

botocore/waiter.py
98.28% <0.00%> (-0.01%)
:arrow_down:

botocore/paginate.py
97.80% <0.00%> (-0.01%)
:arrow_down:

botocore/auth.py
97.84% <0.00%> (-0.01%)
:arrow_down:

... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


no_std backtrace

I'd like to use failure in no_std with backtraces. Trouble is, failure doesn't disable the default features of backtrace, which means the "std" feature of backtrace is enabled.
IMO, it should be up to the final user (the binary crate) to determine the used features of backtrace-rs. Most of it is configuration of which library to use to unwind and symbolicate.

A similar problem is the other way around; I'd like to use std without backtraces.


Use the Github milstone feature more

Github has a great milestone feature where the work in progress can be seen. When a milestone is finished a new release could be made. Breaking down all the user enhancement asked as well as the current development choices to small milestone goals would let us (poor users lol) know on what features you are working on and what will be next. Also, milestones can be attributed to someone so if more then one dev drops in they can work on different approved features in a more organized way. When enhancement tag is added, it should be added in the milestone. Right now i only see 2 in there.

A little bit rude to open up a bunch of issues without grouping the ones relating to the same enhancement (example: file transfer enhancements split over many different issues) and then saying to use milestones for the small things. Generally, milestones are easy to use for things related to the next releases (some minor, but others for the next major release).
Anyways, I like your suggestions and ideas, but for ones more for discussion on how to manage the repository, it is best to use Gitter because there is generally quite a lot that goes into managing projects.
Also, Github issues are unfortunately not good for suggestions such as this: they are really black and white when it comes to the outcome instead of promoting debate like Gitter does.
Bring it up with MaxXor is Gitter. My opinion is that it is used for things that are major such as related changes to make before a new release or a very large addition to Quasar.

I'd also like to point out that nearly all of the issues opened currently are enhancements. It is especially hard to group every one of the ~30 enhancement suggestions: especially when there aren't many of us actively developing (and how busy we have ended up getting this past month). :)
It is pretty much a thing to where a developer can cherry pick interesting enhancements and implement them if desired.

 In fact I was just doing exactly what you asked for in #366 "@webiummedia Just make sure to have a separate issue for each suggestion or problem. "
All i want is to help how I can. And that is to test and point out what i find. I am a senior Web Dev in real life. We use Github a lot for major projects so I was just trying to help. Normally I would of done only one big thread for all my suggestions but as per your own request i ended up doing one per thread.
In any case, we use the milestones a lot and each milestones is assigned when worked on and closed when finished. For example, all the issues related to the file manager should be joined into one milestone. So when a dev starts working on it he/she can address each one of them in one shot instead of having them open and everywhere. I don't want to sound rude, I was just suggesting to use the milestone in a more proactive way to help organize a little the place.

I meant that unrelated problems should be separated...
Also, I just wanted to point out that those of us that develop this program actively are on a chaotic schedule and unfortunately often end up working on this best by picking up wherever we can. :)

As for the milestones, I could make them whenever all of us devs figure out when we'll have times for releases of these features... And the accompanying release date to go with it.

I do see your perspective though. I was thinking about using milestones for releases, but it is interesting to use them for tracking many of the issues. I'll have to experiment some time and see which ends up working best.

@webiummedia thank you very much for all of your suggestions, I've read them all. I see how the milestone feature could be useful, but at the moment we are more or less 3 people developing this and releases are currently pushed out when I think it's stable and has some improvements over the past release. I need to get more used to the milestones.


Show advanced options in Add Cluster also shows advanced options in add node screen

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):

Add cluster, select custom, give it a name, click Show advanced options in the bottom right and create the cluster

Result:

Advanced options are also shown in the add node screen where it shows the add node command

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master 3/13
Installation option (single install/HA):

➤ David Nuzik commented:
Version: Master (4/26/19)
I followed the steps to reproduce and no longer observe this behavior on the latest master (v2.3). When I click next to get to the node screen Advanced Options is not expanded.


erros while compiling

Here is the error from the console
ERROR in node_modules/pixi-ease/@types/index.d.ts:63:5 - error TS2416: Property 'on' in type 'Ease' is not assignable to the same property in base type 'EventEmitter<string | symbol, any>'.
  Type '(event: "complete" | "each", fn: (ease: Ease) => void, context?: any) => this' is not assignable to type '<T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => this'.
    Types of parameters 'event' and 'event' are incompatible.
      Type 'T' is not assignable to type '"complete" | "each"'.
        Type 'string | symbol' is not assignable to type '"complete" | "each"'.
          Type 'string' is not assignable to type '"complete" | "each"'.
            Type 'T' is not assignable to type '"each"'.
              Type 'string | symbol' is not assignable to type '"each"'.
                Type 'string' is not assignable to type '"each"'.

63     on(event: 'each' | 'complete', fn: (ease: Ease) => void, context?: any): this

Using latest version of pixi-ease, angular 9.
Are there any types to be installed for this error to go away?
Thanks

Types are defined in pixi-ease, but I haven't updated them in a while (I don't usually use typescript, so I'm not great at keeping it updated). If you submit a PR with the updated types, I can review and publish it. Alternatively, you can also cut-and-paste the index file here and I can create it if you don't want to go through the PR process.

I've tried to fix it but I have no clue of eventemitter. Maybe consider to remove typings  if they are not kept consistent with the actual code by people who commit the changes. You can actually tell the  typescript compiler to allow to use pure javascript (everything will be any type then).

import * as PIXI from 'pixi.js'
import { EventEmitter } from 'eventemitter3'

interface EaseOptions {
    duration?: number
    ease?: string | Function
    useRaf?: boolean
    ticker?: PIXI.Ticker
    maxFrame?: number
}

interface EaseParams {
    x?: number
    y?: number
    position?: PIXI.DisplayObject | PIXI.Point
    width?: number
    height?: number
    scale?: number
    scaleX?: number
    scaleY?: number
    alpha?: number
    rotation?: number
    face?: PIXI.DisplayObject | PIXI.Point
    skew?: number
    skewX?: number
    skewY?: number
    tint?: number | number[]
    blend?: number | number[]
    shake?: number
    [generic: string]: any
}

interface AddOptions {
    duration?: number
    ease?: string | Function
    repeat?: boolean | number
    reverse?: boolean
    wait?: number
    removeExisting?: boolean
}

export let ease: Ease

export declare class Ease extends EventEmitter {
    duration: number
    ease: string | Function

    constructor(options: EaseOptions)

    destroy(): void
    add(element: PIXI.DisplayObject | PIXI.DisplayObject[], params: EaseParams, options: AddOptions): Easing
    target(element: PIXI.DisplayObject, target: PIXI.DisplayObject | PIXI.DisplayObject[], speed: number, options: AddOptions): Easing;
    face(element: PIXI.DisplayObject, target: PIXI.DisplayObject | PIXI.DisplayObject[], speed: number, options: AddOptions): Easing;
    removeEase(element: PIXI.DisplayObject, param?: string | string[]): void
    removeAll(): void
    update(elapsed: number): void
    get count(): number;
    countElements(): number
    countRunning(): number
}

export declare class Easing extends EventEmitter {
    static shortestAngle(start: number, finish: number): number
    remove(element?: PIXI.DisplayObject, params?: string | string[]): void

    constructor(element: PIXI.DisplayObject | PIXI.DisplayObject[], params: EaseParams, options: EaseOptions)

    addParam(element: PIXI.DisplayObject, entry: string, param: any): void
    updateOne(ease: Ease, entry: string): void
    updatePoint(ease: Ease, entry: string): void
    updatePosition(ease: Ease): void
    updateCoord(ease: Ease, name: string, coord: any): void
    updateTint(ease: Ease, colors: number[]): void
    updateBlend(ease: Ease, colors: number[]): void
    updateShake(ease: Ease): void
    complete(ease: Ease): void
    reverse(ease: Ease): void
    repeat(ease: Ease): void
    update(elapsed: number): void
    count(): number
}

@davidfig I'd like to ask you if you could have a look on the previously posted type-definitions if they are OK and merge them. Thank you :)

Published as v3.0.6


Test Method: Invalid setup on a non-virtual

I'm trying to mock the property InnerHits from Hit<T> class.
InnerHits is defined by: IDictionary<string, InnerHitsResult>
Now, the problem is that InnerHitsResult does not implement any interface, neither its property InnerHitsMetaData.Hits.
And none of this properties have public setters and Document<T> is non-virtual in both.
Does InnerHitsResult or InnerHitsMetaData classes should implement interfaces?
If you have an example how to mock those objects it would be great.

@carloscosta08 A few questions for you:

What version of NEST are you using?
2 .Why do you need to mock Hit<T>?

There may be a better way to achieve what you want to do if you can provide more details.

Hi, @russcam

Nest, Version=2.4.6
I'm trying to develop a unit test and i have to set the object of type:

IHit<Book> hit
and then access
hit.InnerHits["names"].Documents<Name> property

You can provide your own implementation of IHit<T> for testing purposes if you need to, but I would question the value of what it is that you are testing within the method i.e. what is the system under test?
Do you want to stub out what IElasticClient returns in a given scenario? Something like the following with Moq
void Main()
{
    var people = new List<Person>
    {
        new Person { Id = 1 },
        new Person { Id = 2 },
    };

    var hits = new List<IHit<Person>>
    {
        new Mock<IHit<Person>>().Object
    };

    var mockSearchResponse = new Mock<ISearchResponse<Person>>();
    mockSearchResponse.Setup(x => x.Documents).Returns(people);
    mockSearchResponse.Setup(x => x.Hits).Returns(hits);

    var mockElasticClient = new Mock<IElasticClient>();

    mockElasticClient.Setup(x => x
        .Search(It.IsAny<Func<SearchDescriptor<Person>, ISearchRequest>>()))
        .Returns(mockSearchResponse.Object);

    var result = mockElasticClient.Object.Search<Person>(s => s);

    Assert.AreEqual(2, result.Documents.Count());
    Assert.AreEqual(1, result.Hits.Count());
}

public class Person
{
    public int Id { get; set; }
}

I strongly believe you should not be mocking the response objects of the client.
You typically have service/repositories/models wrapping the call(s) to elasticsearch. These make for strong mocking candidates in your unit tests.
If you are reusing our types in the return types of these services (which is a very valid usecase) you might run into cases where you can not mock everything.
Closing this but feel free to reply if you feel strongly we should change this.

I ran into this solution, by loading a json file during the test initialization:
[TestInitialize]
        public void Setup()
        {
            var client = new ElasticClient();
            var jsonContent = Resources.ElasticResponse_FakeHitsList;
            using (Stream stream = new MemoryStream(jsonContent))
            {
                ElasticResponseFakeHitsList = client.Serializer.Deserialize<List<IHit<Product>>>(stream);
            }
        }

But in matter of future cases you can think about change those class structures ;)
Thanks


fixed bs3 label compatibility with nette 2.4

Can you change the indentation back to tabs (for the diff to be usable)?

Actually, I thought it's fixed by https://github.com/nextras/forms/issues/38#issuecomment-244547819. cc @trejjam If it's still not fixed, imo it's something what should be ideally fixed on the Nette side. Will try to test.

Yes, it's fixed by #38

@attreid Thanks for verification! :-)


SvelteKit goto doesn't re-render state when navigating to a page in the same directory

Describe the bug
Sveltekit does not react to goto navigations properly in a special case.
Reproduction
When I goto('/users/user-[UID_SLUG]'), it does not change the state reactively. But when I go from '/users/user-[UID_SLUG]' to /, it changes the state reactively.
The two workarounds I have are either using an anchor link with data-sveltekit-reload (non-reactive) or setting the state manually when the user clicks the anchor link which is kinda frustrating.
But what I've noticed in the 2nd workaround, is that I don't just set $currentUser = {...};, no, I actually have to do this:
$currentUser = null;
setTimeout(() => {
    $currentUser = { ... };
}, 0);

Something weird is going on and I honestly cannot figure it out.
Logs
No response
System Info
System:
    OS: Windows 10 10.0.22621
    CPU: (16) x64 AMD Ryzen 7 5800H with Radeon Graphics
    Memory: 6.01 GB / 31.86 GB
  Binaries:
    Node: 19.5.0 - C:\Program Files\nodejs\node.EXE
    npm: 9.3.1 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Chromium (119.0.2151.58)
    Internet Explorer: 11.0.22621.1
  npmPackages:
    @sveltejs/adapter-cloudflare: ^2.3.3 => 2.3.3
    @sveltejs/adapter-node: ^1.3.1 => 1.3.1
    @sveltejs/adapter-static: ^2.0.2 => 2.0.2
    @sveltejs/kit: ^1.20.4 => 1.22.3
    svelte: ^4.0.5 => 4.1.1
    vite: ^4.4.2 => 4.4.7

Severity
serious, but I can work around it
Additional Information
No response

Please provide a minimal reproduction in the form of a a link to a repository on GitHub, as requested in the issue template.

https://kit.svelte.dev/docs/state-management#component-state-is-preserved

this is really buggy, especially with Svelte 5


Text Brightness updates after delay after popping route [Video Included]

Steps to reproduce

Navigate to a second page by pushing a route on the stack.
Click on a button to change the theme mode to dark.
Pop back to the 1st route

Expected results
The Text widgets should be updated to use the correct color
Actual results
Text widgets that are on the 1st route will still be on the original color for a single frame.
I've confirmed this on Windows & Android.
This happens on release mode too.
Setting the style on Text manually with Theme.of(context).textTheme... does fix this. But this shouldn't be needed.
I could not reproduce this on Flutter Web.
Code sample
Code sample
import 'package:flutter/material.dart';

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

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

  @override
  State<MyWidget> createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  late ThemeMode _themeMode;

  @override
  void initState() {
    super.initState();
    _themeMode = ThemeMode.light;
  }

  void _toggleThemeMode() {
    setState(() {
      _themeMode =
          _themeMode == ThemeMode.light ? ThemeMode.dark : ThemeMode.light;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData.light().copyWith(platform: TargetPlatform.android),
      darkTheme: ThemeData.dark().copyWith(platform: TargetPlatform.android),
      themeMode: _themeMode,
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter Demo Home Page'),
        ),
        body: Center(
          child: Builder(builder: (context) {
            return Column(
              children: [
                const Text("Just Some Text", style: TextStyle(fontSize: 40)),
                TextButton(
                    onPressed: () {
                      Navigator.of(context)
                          .push(MaterialPageRoute(builder: (context) {
                        return NextWidget(toggleThemeMode: _toggleThemeMode);
                      }));
                    },
                    child: const Text("Next Page")),
              ],
            );
          }),
        ),
      ),
    );
  }
}

// Page with a button for toggling the theme mode and a back button.
class NextWidget extends StatefulWidget {
  const NextWidget({super.key, required this.toggleThemeMode});
  final VoidCallback toggleThemeMode;
  @override
  State<NextWidget> createState() => _NextWidgetState();
}

class _NextWidgetState extends State<NextWidget> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Page 2'),
      ),
      body: Center(
        child: TextButton(
            onPressed: widget.toggleThemeMode,
            child: const Text("Toggle Theme Mode")),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/flutter/flutter/assets/75931499/4a38f185-f4eb-4c67-a314-2e282442b7ad

Logs
Logs
Launching lib\main.dart on Windows in debug mode...
Building Windows application...                                     7.5s
√ Built build\windows\x64\runner\Debug\app.exe

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.19.6, on Microsoft Windows [Version 10.0.22631.3737], locale en-US)
    • Flutter version 3.19.6 on channel stable at C:\Users\dicke\fvm\versions\3.19.6
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 54e66469a9 (3 months ago), 2024-04-17 13:08:03 -0700
    • Engine revision c4cd48e186
    • Dart version 3.3.4
    • DevTools version 2.31.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\dicke\AppData\Local\Android\sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-b2043.56-10550314)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.6)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.8.34525.116
    • Windows 10 SDK version 10.0.22621.0

[√] Android Studio (version 2023.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-b2043.56-10550314)

[√] VS Code, 64-bit edition (version 1.90.0)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.92.0

[!] Proxy Configuration
    • HTTP_PROXY is set
    ! NO_PROXY is not set

[√] Connected device (4 available)
    • SM G970U (mobile) • R58M230DQHV • android-arm64  • Android 12 (API 31)
    • Windows (desktop) • windows     • windows-x64    • Microsoft Windows [Version 10.0.22631.3737]
    • Chrome (web)      • chrome      • web-javascript • Google Chrome 126.0.6478.127
    • Edge (web)        • edge        • web-javascript • Microsoft Edge 126.0.2592.87

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

! Doctor found issues in 1 category.

Thanks for the report @dickermoshe
I think this is closely related to https://github.com/flutter/flutter/issues/99052 and https://github.com/flutter/flutter/issues/88221
I looked into it a bit more and found a way to make it working by adding PageRouteBuilder as below which removes the delay:
TextButton(
                    onPressed: () {
                      Navigator.of(context)
                          .push(PageRouteBuilder(
                        transitionDuration: Duration.zero,
                        pageBuilder: (context, animation, secondaryAnimation) {
                          return NextWidget(toggleThemeMode: _toggleThemeMode);
                        }));
                    },
                    child: const Text("Next Page")),

See if above helps to resolve your case or not.

Hmmm, that does seem to fix it.
allowSnapshotting: true, also seems to fix this.
The issue you've linked references Web & Desktop, but this is reproducible on Mobile too.
It's also strange that this only affects Text widgets, all other widgets have the correct colors applied (e.g Scaffold Background)
I would love to contribute.
Do you have any idea why Duration.zero fices this?
Do you have any idea why this only affects Text widgets WIHTOUT a style applied?
Are routes that are in the background re-rendered when a user changes to dark mode? If so why isn't everything on the 1st page already re-rendered with the new color

The issue you've linked references Web & Desktop, but this is reproducible on Mobile too.

Both the linked issues are quite old, so maybe at that time it would have been happening on those platforms.

Do you have any idea why Duration.zero fices this?

The default transition seems to be applied which must be using a delay, so in order to counter it, setting this must be working.

Do you have any idea why this only affects Text widgets WIHTOUT a style applied?

I am not sure. Will need to research.

Are routes that are in the background re-rendered when a user changes to dark mode?

I am not sure if dark mode could be causing it. Mostly it may have to do with page transition with default animation.

@darshankawar
Really strange.
I spent some time tinkering with DefaultTextTheme.of(context)  and Theme.of(contexxt).
It seems that DefaultTextTheme may not be updating properly.
I've updated the code snippet with some print statements which show that.
Take a look:
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';

void main() {
  debugDefaultTargetPlatformOverride = TargetPlatform.android;
  runApp(const MyWidget());
}

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

  @override
  State<MyWidget> createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  late ThemeMode _themeMode;

  @override
  void initState() {
    super.initState();
    _themeMode = ThemeMode.light;
  }

  void _toggleThemeMode() {
    setState(() {
      _themeMode =
          _themeMode == ThemeMode.light ? ThemeMode.dark : ThemeMode.light;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData.light().copyWith(platform: TargetPlatform.android),
      darkTheme: ThemeData.dark().copyWith(platform: TargetPlatform.android),
      themeMode: _themeMode,
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter Demo Home Page'),
        ),
        body: Center(
          child: Builder(builder: (context) {
            print(
                "DefaultTextStyle Color: ${DefaultTextStyle.of(context).style.color}");
            print(
                "Body Large Color: ${Theme.of(context).textTheme.bodyLarge?.color.toString() ?? "null"}");
            print("----");
            return SizedBox(
                width: 500,
                child: Column(
                  children: [
                    Text("DefaultTextStyle Text",
                        style: DefaultTextStyle.of(context).style),
                    Text("BodyLarge Text",
                        style: Theme.of(context).textTheme.bodyLarge),
                    const Text(
                        "If you push the next route with a MaterialPageRoute, change the theme mode, and then go back, the Text that depends on DefaultTextStyle will be the incorrect color for a little bit."),
                    TextButton(
                        onPressed: () {
                          Navigator.of(context)
                              .push(MaterialPageRoute(builder: (context) {
                            return NextWidget(
                                toggleThemeMode: _toggleThemeMode);
                          }));
                        },
                        child: const Text("Push with Transition")),
                    const Text(
                        "If you push the next route WITHOUT a transition, then the colors are correct."),
                    TextButton(
                        onPressed: () {
                          Navigator.of(context).push(PageRouteBuilder(
                              transitionDuration: Duration.zero,
                              reverseTransitionDuration: Duration.zero,
                              pageBuilder: (context, _, __) {
                                return NextWidget(
                                    toggleThemeMode: _toggleThemeMode);
                              }));
                        },
                        child: const Text("Push without Transition")),
                    const Text("""
                    Look at the terminal as we change the ThemeMode"
                    If we change it when we are on the 1st page, then the color in DefaultTextStyle updates.
                    However, if we change it when we are on the 2nd page, only the Theme.of(context).textTheme.bodyLarge updates, while DefaultTextStyle does not.
                    """),
                    TextButton(
                        onPressed: _toggleThemeMode,
                        child: const Text("Toggle Theme Mode"))
                  ],
                ));
          }),
        ),
      ),
    );
  }
}

// Page with a button for toggling the theme mode and a back button.
class NextWidget extends StatefulWidget {
  const NextWidget({super.key, required this.toggleThemeMode});
  final VoidCallback toggleThemeMode;
  @override
  State<NextWidget> createState() => _NextWidgetState();
}

class _NextWidgetState extends State<NextWidget> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Page 2'),
      ),
      body: Center(
        child: TextButton(
            onPressed: widget.toggleThemeMode,
            child: const Text("Toggle Theme Mode")),
      ),
    );
  }
}

Now even more strangely,
Let's put a print(DefaultTextStyle.of(context).style.color) on the 1st screen and the 2nd screen.
When you go to the 2nd screen and change the theme, different values will be logged for the same value.
This must mean that the 1st page is listening to a context that is stale
I don't think this is a Route Transition thing.

More info:
I copied the code from MaterialPageRoute class and made another one myself.
class MaterialPageRouteP extends PageRoute<T> with MaterialRouteTransitionMixinP<T>{
  /// Same code from SDK...
}

The bug went away.
There must be code somewhere that is checking the type of the route.
The reason that this :

I looked into it a bit more and found a way to make it working by adding PageRouteBuilder as below which removes the delay:

works is because it's not an instance of MaterialPageRoute

Thanks for the details. Since you are using MaterialPageRoute, maybe this is closely related / similar : https://github.com/flutter/flutter/issues/95764


Feedback desired for new plugin leaflet-address

I would like to receive feedbacks for my new plugin leaflet-address from the Grav community. It is my first project using Grav CMS. Here are the project details: foxfabi/grav-plugin-leaflet-address
Leaflet Address is a Grav CMS Plugin thats add the ability to easily embed a leaflet map to display an address with a marker. The plugin provides a Twig template that you need to include in your theme where you want to add the leaflet map.
After entering the address, the coordinates can be determined and saved with the API of photon.komoot.de. At the moment the following map provider are available:

OpenStreetMap Mapnik
Esri WorldStreetMap
CartoDB Voyager

The Marker icons are provided by Thomas Pointhuber @pointhi
Currently i'm working on the translations ..

https://github.com/foxfabi/grav-plugin-leaflet-address/blob/ce8ec6b9d5940edfa32211d92cf4a559c826660c/admin/templates/forms/fields/coordinateselector/coordinateselector.html.twig#L8
https://github.com/foxfabi/grav-plugin-leaflet-address/blob/ce8ec6b9d5940edfa32211d92cf4a559c826660c/leaflet-address.php#L129

Glad to hear your feedback.

Would be nice if you offered a shortcode to include this rather than just having the Twig option.  An example of this can be found in the prism-highlight plugin: https://github.com/trilbymedia/grav-plugin-prism-highlight
You really just need to create a shortcut (the shortcut can probably leverage the same Twig file you already have).  Once you have a shortcode, then you just register it in the main plugin.

Thanks for feedback, I just committed the changes.

Added to GPM for next regen


Linked documents generate 404

Fist of all, a great plugin, I love it!!
I implemented it and it works beautifully.
There is a tiny problem that the selected document generates an 404.
In this case, the location of the page is inserted in the URL:
http://kerst035.nl/grav/vve-lid/documenten/user/files/liften.jpg  ->
http://kerst035.nl/grav/user/files/liften.jpg
see animation

Thanks for the bug report. I can confirm that this is also happening for me!

@awrog, thanks for the detailed bug report! I've fixed the issue and created a new release (v0.2.3), so it should become available via the GPM in the next few hours.
I've also added handling for Grav being hosted in a subdirectory (as you appear to have), so hopefully it should work properly for you now, but please let me know if it doesn't.