astype category doesn't change the actual dtype to categorical

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
Modin installed from (source or binary): binary (pip)
Modin version:  0.6.2
Python version: 3.6.9
Exact command to reproduce:

a = pd.Series(['A', 'A', 'B', 'B', 'A'])
a.dtype
Out[4]: dtype('O')
a = a.astype('category')
a.dtype
Out[6]: 'category'

Whereas in the original pandas:
a = pd_org.Series(['A', 'A', 'B', 'B', 'A'])
a = a.astype('category')
a.dtype
Out[10]: CategoricalDtype(categories=['A', 'B'], ordered=False)

Describe the problem
'astype' function is only changing the name of the type without changing it to CategoricalDtype (as expected in Pandas).
Using the following workaround, the expected behavior is achieved:
a = pd.Series(['A', 'A', 'B', 'B', 'A'])
a = pd.Series(a.values, dtype='category')
a.dtype
Out[13]: CategoricalDtype(categories=['A', 'B'], ordered=False)

Source code / logs
The above causing the following issues (when relying on CategoricalDtype):
a = pd.Series(['A', 'A', 'B', 'B', 'A'])
a = a.astype('category')
a_df = a.to_frame()
a_df.select_dtypes('category')
Traceback (most recent call last):
  File "/home/bar/.local/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3326, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-19-15c3ee7df6bb>", line 1, in <module>
    a_df.select_dtypes('category')
  File "/home/bar/.local/lib/python3.6/site-packages/modin/pandas/dataframe.py", line 1412, in select_dtypes
    is_dtype_instance_mapper, self.dtypes.iteritems()
  File "/home/bar/.local/lib/python3.6/site-packages/modin/pandas/dataframe.py", line 1409, in is_dtype_instance_mapper
    return column, functools.partial(issubclass, dtype.type)
AttributeError: 'str' object has no attribute 'type'

Hi @bareini, thanks for the report! It looks like our optimization is oversimplifying the dtype in the case of Categorical.
This should be relatively easy to fix, but in the meantime you can reset the dtypes with:
a._query_compiler._modin_frame._dtypes = None
a.dtype
Out[9]: CategoricalDtype(categories=['A', 'B'], ordered=False)

This will force Modin to recompute the dtypes as if we could not infer them. Thanks again for the report!

@devin-petersohn
The same issue occurs when,
modin.pandas.Categorical() is used. The resulting dtype is not category, it is what it was earlier, float, object, int

Hi @susmitpy thanks for the comment! Can you open a new issue for that case? This one is a little old and it will help to track it (to get it fixed 😄).

@devin-petersohn
Sure !

@devin-petersohn
Have a look at #3895


[Enhancement]Values between restarts/reconnect

Please add an mechanic to save and load values into a file to server, using player's UUID. For example
"Mechanic: Value save"
You add this mechanic into cleanup trigger and put inthere a value, also give it an custom name, that you want to save into file, so you can use it anytime you want, even between server restart, so you can create some custom progress skill mechanics.
Also "mechanic: value load"
You can put this on any trigger, usually on Initialise, to load an value assigned to a player from server's file, so you can use that presaved value any time you want.
As target you can give it any player target, and if there are values saved for that target, it can be loaded from server's file using it's player UUID.
Also as an addition you can add an "mechanic: value clear" to clear saved value from server's file.
Like i said, values can be stored using a custom name and player's UUID, so they will be unique for each player. Just like an "value set" but used for setting and loading values between restarts, so they are not removed each time you relogin.

Added via Value Load Mechanic and save options on the various value mechanics.


Resolves #334 - Extend Serializer's default recursion limit to 255

By opposition to https://github.com/serde-rs/json/pull/346, this doesn't break the stack.
Also, as discussed in https://github.com/serde-rs/json/pull/346, remaining_depth becomes a usize.

Would it be possible for you to use a fork of serde_json until we come up with the right API for controlling recursion limit?

I guess.


select2 weird behavior upon clicking

Hi, i used select2 a lot but now, i'm having a weird behavior using
select2 single.
here are the scenario,
i noticed that when i click or open the select using a mouse, it opens the options but immediately closes the options when mouseup event happen. seems like my mouseup event is triggering the selection automatically.
but when i open the select2 by focusing it then opening using enter key it behaves normal like it used to.
i tried to attach mouseup function in the select2 element like this
$('#select2Example').select2({
 placeholder: 'Select One',
}).on('mouseup', function(e) {
 e.preventDefault();
// i also tried return false but nothing happen.
});

btw, i used bootstrap-flat of designmodo and since bootstrap-flat is using the old version of select2,
i deleted the $.fn.select2 object and then import the latest version of select2
like this.
<script src='path/to/bootstrap-flat.js'></script>
<script>
delete $.fn.select2;
</script>
<script src='path/to/latest-select2.js'></script>

i already checked the $.fn.select2 by console.log and it shows that i'm now using the latest version.

I am seeing similar behavior.  However for me it is only in chrome.  I can also prevent it by scrolling such that I force the menu to be placed above the select box

I've found a solution:
Just find this piece of code on select2.js:
`this.$results.on('mouseup', '.select2-results__option[aria-selected]',
function (evt) {
var $this = $(this);
  var data = $this.data('data');

  if ($this.attr('aria-selected') === 'true') {
    if (self.options.get('multiple')) {
      self.trigger('unselect', {
        originalEvent: evt,
        data: data
      });
    } else {
      self.trigger('close', {});
    }

    return;
  }

  self.trigger('select', {
    originalEvent: evt,
    data: data
  });
});

`
And just comment this part of code on the 'mouseup' event handler and change it to 'click', like this:
`this.$results.on('click', '.select2-results__option[aria-selected]',
function (evt) {
var $this = $(this);
  var data = $this.data('data');
  //
  // if ($this.attr('aria-selected') === 'true') {
  //   if (self.options.get('multiple')) {
  //     self.trigger('unselect', {
  //       originalEvent: evt,
  //       data: data
  //     });
  //   } else {
  //     self.trigger('close', {});
  //   }
  //
  //   return;
  // }

  self.trigger('select', {
    originalEvent: evt,
    data: data
  });
});`

My solution was to resolve some margin collapsing issues in the layout.  There are some positioning issues in the dropdown if your body ends up having any margin to it.

Thanks @jpggvilaca ,
Your solution worked for me.

+1 in chrome, happened when hiding search box. Changing mousedown event to click worked for me

The issue with mousedown vs click is discussed more broadly in #4763, so please continue the conversation there.


Bump vault to 0.5.1

Will be nice if you can push the build to docker hub

@naxhh :+1:  it's queued up to build


Feature Request: pip installable directory structure

Hello,
I have been using original wavedrom-cli as CLI version of the WaveDrom.
Now I found this repository great help for my usage as my preference/experience is with Python.
But I found this repo is not ready for pip installation. I believe it would be better to get ready with it.
Here I am not asking you to register the repo to pypi, but would like you to make the repo pip-compatible structure.
If the setup works, it would be possible to install via pip install git+https://github.com/BreizhGeek/wavedrompy.
Thanks!
Kazuki Yamamoto/K4ZUKI

"pip compatible structure" I am talking about has similar directory tree as this one: https://github.com/pypa/sampleproject

Hi,
will either of you drive it forward? i can help you putting it on pip.

@wallento my folk is at https://github.com/K4zuki/wavedrompy
you can install via pip by pip install git+https://github.com/K4zuki/wavedrompy.git but requires
additional libraries(attrdict ,svgwrite ; they are installed at same time).

Hi,
I did some further improvements and published it on pypi. I am happy to maintain it there or hand it over.
Best,
Stefan

Hi Stefan and K4zuki,
Thank you for your contribution. I just merged your code with the base code.
Can I close the issue?
Best,
BG

Thanks! Can you please tag the current master as 0.1? This will be the official release from your repo then. Beside that it can be closed then.

v0.1 I mean. See here: https://git-scm.com/book/en/v2/Git-Basics-Tagging


get dataset

when i  use the link (https : //uni-siegen.sciebo.de/s/sMWQ2vJhDzM6sil )or (https : //uni-siegen.sciebo.de/s/WJeddtW3bTGpiSb),the page show that

,can you share the dataset to me ?  thank you

Hi, the links should work now again.


Operator fails to renew certificates properly

I have an issue, after running shared infrastructure for a while, that the operator seems to fail to renew the certificates:
{"level":"info","ts":1595571780.565553,"logger":"amqpcommand","msg":"Command Client amqps://<IP_ADDRESS>:5671 - restarting - backoff 5s(s), x509: certificate has expired or is not yet valid: current time 2020-07-24T06:23:00Z is after 2020-07-23T10:07:55Z"}
{"level":"info","ts":1595571785.5656567,"logger":"amqpcommand","msg":"Command Client - connecting amqps://<IP_ADDRESS>:5671"}
{"level":"info","ts":1595571785.5828426,"logger":"amqpcommand","msg":"Command Client amqps://<IP_ADDRESS>:5671 - restarting - backoff 5s(s), x509: certificate has expired or is not yet valid: current time 2020-07-24T06:23:05Z is after 2020-07-23T10:07:55Z"}
{"level":"info","ts":1595571790.5829506,"logger":"amqpcommand","msg":"Command Client - connecting amqps://<IP_ADDRESS>:5671"}
{"level":"info","ts":1595571790.6026292,"logger":"amqpcommand","msg":"Command Client amqps://<IP_ADDRESS>:5671 - restarting - backoff 5s(s), x509: certificate has expired or is not yet valid: current time 2020-07-24T06:23:10Z is after 2020-07-23T10:07:55Z"}
{"level":"info","ts":1595571795.6027315,"logger":"amqpcommand","msg":"Command Client - connecting amqps://<IP_ADDRESS>:5671"}
{"level":"info","ts":1595571795.620408,"logger":"amqpcommand","msg":"Command Client amqps://<IP_ADDRESS>:5671 - restarting - backoff 5s(s), x509: certificate has expired or is not yet valid: current time 2020-07-24T06:23:15Z is after 2020-07-23T10:07:55Z"}
{"level":"info","ts":1595571800.62056,"logger":"amqpcommand","msg":"Command Client - connecting amqps://<IP_ADDRESS>:5671"}
{"level":"info","ts":1595571800.6436908,"logger":"amqpcommand","msg":"Command Client amqps://<IP_ADDRESS>:5671 - restarting - backoff 5s(s), x509: certificate has expired or is not yet valid: current time 2020-07-24T06:23:20Z is after 2020-07-23T10:07:55Z"}
{"level":"info","ts":1595571805.6438673,"logger":"amqpcommand","msg":"Command Client - connecting amqps://<IP_ADDRESS>:5671"}
{"level":"info","ts":1595571805.6631546,"logger":"amqpcommand","msg":"Command Client amqps://<IP_ADDRESS>:5671 - restarting - backoff 5s(s), x509: certificate has expired or is not yet valid: current time 2020-07-24T06:23:25Z is after 2020-07-23T10:07:55Z"}
{"level":"info","ts":1595571810.6634145,"logger":"amqpcommand","msg":"Command Client - connecting amqps://<IP_ADDRESS>:5671"}
{"level":"info","ts":1595571810.6888678,"logger":"amqpcommand","msg":"Command Client amqps://<IP_ADDRESS>:5671 - restarting - backoff 5s(s), x509: certificate has expired or is not yet valid: current time 2020-07-24T06:23:30Z is after 2020-07-23T10:07:55Z"}
{

It seems that this prevents the operator to properly delete messaging endpoints as well.

It looks like as if this is caused by the fact that the CA is only renewed when the reconcile loop is run. However, that is not timer based by default.
I guess possible solutions to this could be:

Return requeueAfter for objects that have a CA. So on startup they would be reconciled anyway, and then when the CA is close to expiry, unless something else happens
Create a separate timer event for objects that have a CA

I guess we have the same problem with the IoT bits, as they rely on the same pattern now.


gitreceive,test: Include current env in env dir

Closes #3426

@lmars comments addressed.

Fixed test


Can multiple vtkRenderWindow be displayed?

I need to display 4 vtkRenderWindow, respectively displaying the MPR slice and VR. Using Qt, I only need to put 4 QVTKOpenGLNativeWidgets in the layout and put the vtkRenderWindow inside. I want to know if multiple vtkRenderWindow can be displayed at the same time using vtkDearImGUIInjector?

Yup. If it helps, You can continue to use Qt to lay out multiple render windows and inject dear Imgui into each of those.

OK, thanks


perf: use node: prefix to bypass require.cache call for builtins

Summary
Introduced as part of v16.0.0 and  v14.18.0, this allows redundant require.cache calls to be bypassed for builtin modules, saving a few yoctoseconds.
See https://nodejs.org/api/modules.html#core-modules and discussion in nodejs/node repo regarding why require.cache calls are redundant for builtins.
Test plan
N/A

Is there some eslint rule we can use which forces (and autofixes) this?

Type error will probably be fixed by updating from node 14 types to node 16 (which will be done for Jest 30 - I'll start landing breaking changes next week)

There is https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md at least

There is https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md at least

Probably something that should be rolled into https://github.com/eslint-community/eslint-plugin-n, are you happy for me to add the unicorn plugin in in the meantime with that rule enabled?

I've landed the unicorn plugin on main now, so feel free to activate the rule 🙂

Cheers @SimenB, should be able to revisit this in the next few days.

Great, thank you!

Also, we have some tests that explicitly use one or the other to ensure Jest's own resolver handles both correctly. So in some files we'll need to disable the rule

@SimenB could you point me to a file that does this as an example, please?

Might be it just matters here https://github.com/jestjs/jest/blob/6d2632adae0f0fa1fe116d3b475fd9783d0de1b5/e2e/native-esm/tests/native-esm.test.js#L8-L15
I doubt unit tests of isCoreModule is affected.
You might hit #14297 tho

Going to be doing this piecemeal, package-by-package, just so I don't miss anything, so apologies in advance!

No need to apologise! I'm super grateful you're taking the time to do this 🙂

New version of @types/node has landed on master, which should resolve the TS error

Yeah, it might make sense to fix that before changing our own references...

fair 😀

fair 😀

Disappearing for a bit and probably won't be back until Feb next year. This will no doubt be mighty out of date by then so thought i'd just nuke it and return to it when I can.

Enjoy your time off! 😃
I genuinely meant that it's fair to abandon this - it's very chore-y and onerous 🙂 I realize it might've come off as sarcastic 😅


i18n(ko-KR): update project-structure.mdx

Description (required)

update project-structure.mdx
#10327

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

ko/basics/project-structure.mdx
Localization changed, will be marked as complete.

ko/guides/upgrade-to/v5.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Failed to convert IdealGlmMhdEquations to bits type

In order to test nonconservative_terms::True related kernels in 2D and 3D, I used https://github.com/huiyuxie/trixi_cuda/blob/main/tests/mhd_alfven_wave_2d.jl and https://github.com/huiyuxie/trixi_cuda/blob/main/tests/mhd_alfven_wave_3d.jl (the corresponding 1D file does not fit) as @ranocha suggested. But the  IdealGlmMhdEquations2D and IdealGlmMhdEquations3D (and probably also for IdealGlmMhdEquations1D failed to convert to bits type in kernels like https://github.com/huiyuxie/trixi_cuda/blob/a81eccd6a6fda336d7877c5cda73a48a4c6b2c92/cuda_dg_2d.jl#L190-L225 and would cause errors like
ERROR: GPU compilation of MethodInstance for symmetric_noncons_flux_kernel!(::CuDeviceArray{Float32, 5, 1}, ::CuDeviceArray{Float32, 5, 1}, ::CuDeviceArray{Float32, 5, 1}, ::CuDeviceArray{Float32, 5, 1}, ::CuDeviceArray{Float32, 4, 1}, ::CuDeviceMatrix{Float32, 1}, ::IdealGlmMhdEquations2D{Float32}, ::typeof(flux_central), ::typeof(flux_nonconservative_powell)) failed
KernelError: passing and using non-bitstype argument

Argument 8 to your kernel function is of type IdealGlmMhdEquations2D{Float32}, which is not isbits:

Stacktrace:
  [1] check_invocation(job::GPUCompiler.CompilerJob)
    @ GPUCompiler ~/.julia/packages/GPUCompiler/NVLGB/src/validation.jl:96
  [2] macro expansion
    @ ~/.julia/packages/GPUCompiler/NVLGB/src/driver.jl:99 [inlined]
  [3] macro expansion
    @ ~/.julia/packages/TimerOutputs/RsWnF/src/TimerOutput.jl:253 [inlined]
  [4] codegen(output::Symbol, job::GPUCompiler.CompilerJob; libraries::Bool, toplevel::Bool, optimize::Bool, cleanup::Bool, strip::Bool, validate::Bool, only_entry::Bool, parent_job::Nothing, ctx::LLVM.ThreadSafeContext)
    @ GPUCompiler ~/.julia/packages/GPUCompiler/NVLGB/src/driver.jl:97
  [5] codegen
    @ ~/.julia/packages/GPUCompiler/NVLGB/src/driver.jl:92 [inlined]
  [6] compile(target::Symbol, job::GPUCompiler.CompilerJob; libraries::Bool, toplevel::Bool, optimize::Bool, cleanup::Bool, strip::Bool, validate::Bool, only_entry::Bool, ctx::LLVM.ThreadSafeContext)
    @ GPUCompiler ~/.julia/packages/GPUCompiler/NVLGB/src/driver.jl:88
  [7] compile
    @ ~/.julia/packages/GPUCompiler/NVLGB/src/driver.jl:79 [inlined]
  [8] compile(job::GPUCompiler.CompilerJob, ctx::LLVM.ThreadSafeContext)
    @ CUDA ~/.julia/packages/CUDA/pCcGc/src/compiler/compilation.jl:125
  [9] #1032
    @ ~/.julia/packages/CUDA/pCcGc/src/compiler/compilation.jl:120 [inlined]
 [10] LLVM.ThreadSafeContext(f::CUDA.var"#1032#1033"{GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams}})
    @ LLVM ~/.julia/packages/LLVM/5aiiG/src/executionengine/ts_module.jl:14
 [11] JuliaContext
    @ ~/.julia/packages/GPUCompiler/NVLGB/src/driver.jl:35 [inlined]
 [12] compile
    @ ~/.julia/packages/CUDA/pCcGc/src/compiler/compilation.jl:119 [inlined]
 [13] actual_compilation(cache::Dict{Any, Any}, src::Core.MethodInstance, world::UInt64, cfg::GPUCompiler.CompilerConfig{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams}, compiler::typeof(CUDA.compile), linker::typeof(CUDA.link))
    @ GPUCompiler ~/.julia/packages/GPUCompiler/NVLGB/src/execution.jl:125
 [14] cached_compilation(cache::Dict{Any, Any}, src::Core.MethodInstance, cfg::GPUCompiler.CompilerConfig{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams}, compiler::Function, linker::Function)
    @ GPUCompiler ~/.julia/packages/GPUCompiler/NVLGB/src/execution.jl:103
 [15] macro expansion
    @ ~/.julia/packages/CUDA/pCcGc/src/compiler/execution.jl:318 [inlined]
 [16] macro expansion
    @ ./lock.jl:267 [inlined]
 [17] cufunction(f::typeof(symmetric_noncons_flux_kernel!), tt::Type{Tuple{CuDeviceArray{Float32, 5, 1}, CuDeviceArray{Float32, 5, 1}, CuDeviceArray{Float32, 5, 1}, CuDeviceArray{Float32, 5, 1}, CuDeviceArray{Float32, 4, 1}, CuDeviceMatrix{Float32, 1}, IdealGlmMhdEquations2D{Float32}, typeof(flux_central), typeof(flux_nonconservative_powell)}}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ CUDA ~/.julia/packages/CUDA/pCcGc/src/compiler/execution.jl:313
 [18] cufunction
    @ ~/.julia/packages/CUDA/pCcGc/src/compiler/execution.jl:310 [inlined]
 [19] macro expansion
    @ ~/.julia/packages/CUDA/pCcGc/src/compiler/execution.jl:104 [inlined]
 [20] cuda_volume_integral!(du::CuArray{Float32, 4, CUDA.Mem.DeviceBuffer}, u::CuArray{Float32, 4, CUDA.Mem.DeviceBuffer}, mesh::TreeMesh{2, SerialTree{2}}, nonconservative_terms::True, equations::IdealGlmMhdEquations2D{Float32}, volume_integral::VolumeIntegralFluxDifferencing{Tuple{typeof(flux_central), typeof(flux_nonconservative_powell)}}, dg::DGSEM{LobattoLegendreBasis{Float64, 4, SVector{4, Float64}, Matrix{Float64}, Matrix{Float64}, Matrix{Float64}}, LobattoLegendreMortarL2{Float64, 4, Matrix{Float64}, Matrix{Float64}}, SurfaceIntegralWeakForm{Tuple{FluxLaxFriedrichs{typeof(max_abs_speed_naive)}, typeof(flux_nonconservative_powell)}}, VolumeIntegralFluxDifferencing{Tuple{typeof(flux_central), typeof(flux_nonconservative_powell)}}})
    @ Main ~/trixi_cuda/cuda_dg_2d.jl:340
 [21] top-level scope
    @ ~/trixi_cuda/cuda_dg_2d.jl:984

and this is the first time I've encountered an issue like this. So I directly changed to other test files, like https://github.com/huiyuxie/trixi_cuda/blob/main/tests/shallowwater_well_balanced_2d.jl for 2D and this time it worked and passed the accuracy tests.
(1) As mentioned above, I used https://github.com/huiyuxie/trixi_cuda/blob/main/tests/shallowwater_well_balanced_1d.jl for testing 1D kernels and https://github.com/huiyuxie/trixi_cuda/blob/main/tests/shallowwater_well_balanced_2d.jl for 2D. But I cannot find any suitable test example for 3D (except for IdealGlmMhdEquations). Is there any recommended samples for 3D? Thanks!
(2) Why did the conversion of IdealGlmMhdEquations to a bits type fail? I further inspected the difference between these equations and I think it may because of the keyword mutable like here https://github.com/trixi-framework/Trixi.jl/blob/68df09d5a21bd8f7393df90dab915247f9498505/src/equations/ideal_glm_mhd_2d.jl#L14-L24. Is this keyword really necessary? If yes, I think this would help https://cuda.juliagpu.org/stable/tutorials/custom_structs/ but I am not pretty sure as it does not mention how to handle mutable.

The shallow water equations just do not really make sense in 3D, so there is no 3D setup with them.
The IdealGlmMhdEquations are a mutable struct, not an immutable one. The reason is that we adapt the GLM cleaning speed
https://github.com/trixi-framework/Trixi.jl/blob/68df09d5a21bd8f7393df90dab915247f9498505/src/equations/ideal_glm_mhd_3d.jl#L18
in the GlmSpeedCallback at
https://github.com/trixi-framework/Trixi.jl/blob/68df09d5a21bd8f7393df90dab915247f9498505/src/callbacks_step/glm_speed.jl#L79
As a workaround, you can try to make the IdealGlmMhdEquations immutable (by removing the keyword mutable before struct) and run everything without the GlmSpeedCallback.

I have tried removing mutable keyword and it worked successfully and also passed the test. But if you want to use mutable struct for other purposes, it does not seem like a good solution. I asked the similar question here https://discourse.julialang.org/t/how-to-pass-a-mutable-struct-to-cuda-kernel-argument/102804.

At least we know why it failed and have a kind of workaround allowing you to test some kernels for the MHD equations. Thanks for looking for a real solution to this issue!

Try to fix here https://github.com/trixi-framework/Trixi.jl/pull/2050

Also here https://github.com/trixi-framework/Trixi.jl/pull/2052


Feature/340 - Escaping URLs

I believe this should resolve #340 and #358 by properly escaping URLs.

@HitmanInWis / @niksvers - hows this look?

I apologize, Im pretty far removed from the project where we were testing this, and we've long since deployed with a custom build.  At some point in the future we'd potentially be able to test this, but right now that timeline would be indeterminate.

tested against ira sample assets. Seems to be working!


Don't Merge! Regression PR perf testing with metadata validation

Docs Build status updates of commit 755d803:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

developer/TestingPullRequest.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit a65359b:
:clock10: Pending: waiting for processors (57 builds ahead of you)
:warning: Docs Build is busy, currently there are 57 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit a65359b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

reference/5.1/CimCmdlets/TestingPullRequest.md
:warning:Warning
View (powershell-5.1)
Details

developer/TestingPullRequest.md
:white_check_mark:Succeeded

reference/5.1/CimCmdlets/TestingPullRequest.md

[Warning] Metadata with following name(s) are not allowed to be set in Yaml header, or as file level metadata in docfx.json, or as global metadata in docfx.json: content_type. They are generated by Docs platform, so the values set in these 3 places will be ignored. Please remove them from all 3 places to resolve the warning.
[Warning] Missing attribute: title. Add a title string to show in search engine results.
[Warning] the value invalid_type is undefined for metadata content_type
Line 8: [Warning] Invalid file link:(~/5.1/nonexisted1.md).
Line 9: [Warning] Invalid file link:(~/5.1/nonexisted2.md).
Line 10: [Warning] Invalid file link:(~/5.1/nonexisted3.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Get the player the the flag
How do you play your game?
Press WASD to move, J to restart, move boxes on and off buttons to clear the way.
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

Congratulations!  If you're a teen, feel free to fill in this form to receive a Sprig device of your own!  Additionally, feel free to join Hack Club's Slack and share you creation in the #sprig channel!


Calculate eip-165 interface ID

This should be a fairly straightforward addition?
Example algo for this:
https://github.com/ethereum/EIPs/issues/165#issuecomment-361754561

Would this just be the calculation (like in here: https://github.com/ConsenSys/Tokens/pull/130/files#diff-b808593f56bf7fa165659c75633ff62cR38) or actually generating Solidity code like the one presented in the EIP?

no no, the output would just be a 4 byte interface ID.

I wasn't sure if maybe it should be handled as a new module, or as a flag passed to describe?
Consider that I will probably make many such requests... so how to extend this thing rationally is important. :)


Throw error when edge weights are negative

We should add a this to condor.cluster, condor.modularity.max, condor.matrix.modularity.

Please see 8a8b13d


Wrapping a discontinuous range into a single read function call to reduce function call

Wrapping a discontinuous range into a single read function call to reduce function call
Before this PR, query time using bitmap with low cardinality:
+--------------------- +-------------------------+
| cost time with bitmap | cost time without bitmap |
+--------------------- +-------------------------+
|                1.43s  |                                                   1.14s|
+--------------------- +-------------------------+
After this PR, query time of the same query:
+--------------------- +-------------------------+
| cost time with bitmap | cost time without bitmap |
+--------------------- +-------------------------+
|                1.04s  |                                                   1.14s|
+--------------------- +-------------------------+

run starrocks_be_unittest

Could you please split this PR into multiple smaller PRs?

For each PageDecoder, could you please add some tests?

For each PageDecoder, could you please add some tests?

ok, i will add some unit test case for each page decoder

run starrocks_be_unittest

run starrocks_be_unittest


Tide and GitHub settings for this repo are conflicting.

https://prow.k8s.io/tide-history?repo=kubernetes-sigs%2Fmulti-tenancy

Tide needs to be configured to use the 'rebase' merge method for this repo or the repo needs to allow merge commits: Merge commits are not allowed on this repository.

Please change the GitHub settings for the repo to allow merge commits or configure Tide to use the rebase merge method ASAP to allow PRs to merge and avoid wasting GitHub API ratelimit.

@tashimi I don't have admin privileges for this repo, can you configure to allow merge commits?

Done!

We need to enable merge commits in the GH settings, rebase should have already been checked based on the error message.
The alternative was to configure Tide for rebase commits (not GH).
We need the configs to match and currently Tide is configured to use merge commits (the default).

@cjwagner Is this what you're looking for?

That should do it, thanks.
/close


Update archived/cancelled projects

Archive Kubernetes Best Practices project in website and GitHub. Please note that I did my best effort at updating the project status in translated files but some languages are more tough than others so responsible contributors would need to help me with adding up missing updates according to the English version :)
Restructure the project table to keep active projects on top.
Move cancelled projects to a separate, archived folder on GitHub.
Related to #500

NB: Links are marked as failing by the build but it will be fixed once this PR is merged.

@cncf/tag-env-chairs can someone take a quick look at this PR, please?😊


(Win Binary) How to access / manage NXCDB

Do we need a different binary for that?

Yes. For now we don't build an nxcdb binary, but you can install it via pipx install . after cloning the repo. I want to rewrite all of nxcdb, so I'll make it build a binary then.


paket changes line endings and overrides FodyWeavers.xml using Costura.Fody

Found hopefully a small issue using paket with Fody and Costura.Fody.
paket update always overrides my FodyWeavers.xml
<?xml version="1.0" encoding="utf-8"?>
<Weavers>
  <Costura>
  </Costura>
</Weavers>

after updating the Costura tag is removed and the project doesn't compile.
also the line endings are changed hard to LF for

FodyWeavers.xml
FodyWeavers.xml.install.xdt
FodyWeavers.xml.uninstall.xdt

I'm using the paket version <IP_ADDRESS>

http://fsprojects.github.io/Paket/nuget-dependencies.html#No-content-option
did you try content:once ?
should be working in paket.references as well (will update docs)

http://fsprojects.github.io/Paket/references-files.html#No-content-option done

@forki Thanks, just tested it out, works only if I do this in the paket.dependencies file, it has no effect with the paket.references.
source https://www.nuget.org/api/v2/
framework >= net45

nuget Costura.Fody ~> <IP_ADDRESS> content: once

Are you sure? Mhm will check later

mhm integration tests in d9aab5d
suggest in works from the ref file as well

@forki Just make a retest with  <IP_ADDRESS> and all works fine now, maybe I'm doing some wrong stuff...

It looks like these tests broke when I submitted a pull request. I'm starting to look into porting the tests to avoid using xml transformation files by adding a test package (https://github.com/wallymathieu/Paket.TestPackage.Foody).
The branch I'm working on is the following:
https://github.com/wallymathieu/Paket/tree/1427_tests

@forki @punker76 can you please reopen this? since the issue is still there

@derwasp can you please give us a repro?

@forki I just tried one more time with cleaned everything and it didn't happen. I swear it was not the first time I tried that. My apologies that it looks like my repo wasn't clean or something.
However, Fody also adds an import to .*proj file:
<Import Project="..\..\packages\Fody\build\$(__paket__Fody_targets).targets" Condition="Exists('..\..\packages\Fody\build\$(__paket__Fody_targets).targets')" Label="Paket" />

Which I modified to be triggered only in Release
  <Import Project="..\..\packages\Fody\build\$(__paket__Fody_targets).targets" Condition="Exists('..\..\packages\Fody\build\$(__paket__Fody_targets).targets') And '$(Configuration)' == 'Release'" Label="Paket" />

And this gets overwritten each time.
Can you please tell me whether it is the same issue?

For the next person like me:
when you are putting content: once for the package, check whether this package is the actual package which adds the content.
In this case: Fody.Costura depends on Fody. And Fody adds the content. If your paket.dependencies is not "simplified", then you will have both packages referenced there if you've migrated this from NuGet (like I did). And if you will add content: once for the Fody.Costura package, it will not help you. You should add this line to the package causing the issue. Or "simplify" the dependencies.
P.S. the issue with the import stays there ;)

are you using content;once? can you provide a repro sample?

Please try this:
git clone https://github.com/derwasp/Paket.Repro.git
cd Paket.Repro
paket update
git status

If you see a changed file after git status, then it reproduced.

As for content:once, you can see here that it is set. Am I missing something?

I have this line in paket.references and have no issues with it
Costura.Fody content: once

On 22 Jul 2016 8:07 p.m., "Denys Zhuravel"<EMAIL_ADDRESS>wrote:

As for content:once, you can see here
https://github.com/derwasp/Paket.Repro/blob/master/paket.dependencies#L4
that it is set. Am I missing something?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/1427#issuecomment-234614827,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAoL_x3K9Hu9Cd0Q2LkCPujypVWmB8Caks5qYQbegaJpZM4HK_uB
.

moving forward fody will no longer be in control of the fodyweavers.xml. as such this issue is redundant


order of function call corrected. On similar lines of rasa-sdk

Proposed changes:

...

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[*] updated the changelog (please check changelog for instructions)
[*] reformat files using black (please check Readme for instructions)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Gajendra Rao seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @gajendrarao1979, thank you for the pull request! Can you please describe the changes you've made and why are they required?

Currently in rasa main.py the configure_logging_and_warnings function which configures the logging from the config file is called at line 103 and after that configure_colored_logging is called at line 116.
The configure_colored_logging function leverages coloredlogs module which discards and reinitializes logging.StreamHandler. Essentially this overwrites any changes coming from logging.yml (if someone is using StreamHandler).
In my PR I have updated the order of the function call to ensure that logging.yml changes are not overwritten. This is already correct in rasa-sdk code.
I hope this provides the explanation.

@vcidst Any updates on this?

Necessary change for using on a production system where observability matters. Hoping to see this PR merged soon!

Hey @gajendrarao1979, we won't be able to merge these PRs as this repository isn't under active maintenance anymore. Please see this page for our product releases and maintenance policy

Hey @gajendrarao1979, we won't be able to merge these PRs as this repository isn't under active maintenance anymore. Please see this page for our product releases and maintenance policy

Hi @vcidst, could you please clarify why this PR won't be merged? I've read the maintenance policy page you referenced ans I can't see any mention of Rasa Open Source being deprecated. Is there an announcement from Rasa anywhere that the open source version is no longer maintained?
Thanks!

Hey @gajendrarao1979, we won't be able to merge these PRs as this repository isn't under active maintenance anymore. Please see this page for our product releases and maintenance policy

Hi @vcidst, could you please clarify why this PR won't be merged? I've read the maintenance policy page you referenced and I can't see any mention of Rasa Open Source being deprecated. Is there an announcement from Rasa anywhere that the open source version is no longer maintained?
Thanks!

@vcidst  can you please comment on this? If RASA Opensource is no longer maintained then we need to find alternate solution.

@arththebird , @pdelagrave  One workaround which we did to circumvent this issues is re-initialized logging in custom-channel code which gets executed after rasa initialization (not ideal but works until the fix in the library is available.)


how can add new firmware  that the karonte.py can run

If I want to add new firmware, how can I get the json file that the karonte.py can run?

No updates.. closing the issue


[BEAM-6883] Improve long-running spark streaming test.

https://issues.apache.org/jira/browse/BEAM-6883
Currently, this test takes 10 minutes, and unfortunately doesn't test what is intended.  The transformation under test is an extremely long-lived BoundedSource, not an unbounded source.
I changed the transformation to an UnboundedSource, and  modified the MetricsResultMatchers to be able to apply any arbitrary Matcher to a metrics value.  This may be useful for BEAM-1169

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[X] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Run Spark ValidatesRunner

R: @dmvk
CC: @iemejia, @echauchot

The links to compare:

Master (10 minutes): https://builds.apache.org/view/A-D/view/Beam/view/PostCommit/job/beam_PostCommit_Java_ValidatesRunner_Spark/lastBuild/testReport/org.apache.beam.runners.spark.translation.streaming/

PR (20 seconds):  https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark_PR/112/testReport/org.apache.beam.runners.spark.translation.streaming/

Run Direct ValidatesRunner

Hello!  Just to check -- I did a rebase to change this into two commits so they can be merged without squashing if you prefer...  I'm a bit unclear whether !fixup commits work from the github UI, and if review history is lost!

Run Java_Examples_Dataflow PreCommit


feat: hide optimized deps logs

Description
As part of https://github.com/vitejs/vite/pull/7379, we modified the logs to make them more concise now that the user will generally not notice the extra time to scan and pre-bundle during cold start.
It now looks like this:

The logs can still be a bit noisy for projects like StoryBook, Cypress, Ladle, etc where there are a lot of newly discovered deps as the use explores the app:

IMO the only important log here is the last one. Since there is a page reload, we need to communicate to the user why we are doing so. But the rest of the logs feel more like implementation details to me. It isn't that useful for the user to know when a dependency has been pre-bundled if there is not a big noticeable delay in server start or during a rerun.
This PR hides these logs, and only shows them when debugging or when using --force. I think that having them when using force is a good idea since the user is focused on re-bundling the dependencies so it is good feedback in that case.

What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

I agree with moving the logging behind debug flag. My one question about adding logging with --force is then if logs show up will people think something is happening only when they use --force since they don't see the logs without it?

I feel like we should still keep the logs, so that the user knows which imports triggered the on-the-fly bundling. And I think frameworks or end-users should try to keep on-the-fly bundling to the lowest too (ideally bundles once on startup), so having these kind of verbose logs could signal them to improve their setup, though I'm not sure why Ladle is behaving that way currently that causes the multi bundling.

I agree with moving the logging behind debug flag. My one question about adding logging with --force is then if logs show up will people think something is happening only when they use --force since they don't see the logs without it?

This is a good point. We should give some feedback when using force though. So maybe we should only log the first optimized deps batch with a message like:
12:18:24 AM [vite] ✨ forced drop of optimized dependencies cache
12:18:24 AM [vite] ✨ dependencies optimized: vue, pinia, luxon

I feel like we should still keep the logs, so that the user knows which imports triggered the on-the-fly bundling. And I think frameworks or end-users should try to keep on-the-fly bundling to the lowest too (ideally bundles once on startup), so having these kind of verbose logs could signal them to improve their setup, though I'm not sure why Ladle is behaving that way currently that causes the multi bundling.

Ladle and similar projects have so many on-the-fly bundling because they don't scan the whole app upfront IIUC. Each time you click on a story, new dependencies are discovered. Maybe they should change this. But now that on-the-fly bundling isn't blocking, it may not be an anti-pattern anymore... the only issue is when these dependencies generate a page reload (and it is only the first time). We are showing a message in this case, and we could show something like:
12:18:24 AM [vite] ✨ previous optimized dependencies changed, reloading page
12:18:24 AM [vite] ✨ this reload could be avoided by adding to `optimizeDeps.include` some of the following dependencies: a, b, c, d

Without a message like this, even if we show the deps logs, the user will not know how to fix it. IMO, if they see previous optimized dependencies changed, reloading page they are going to google that and get to our docs where we could guide them in a new section.
Maybe just this:
12:18:24 AM [vite] ✨ newly discovered dependencies forced a page reload (consider using `optimizeDeps.include`)

My vote still goes to hide the logs in the general case, but I see the value on bumping the user to avoid unneeded page reloads.

Why can't dependencies be discovered via dependency scanning when using Ladle? Do they manually disable Vite's dependency scanning? Adding dependencies manually to optimizeDeps.include is a bit burdensome and I'm not sure I'd recommend that instead of changing the way the app is written (assuming that's possible)

Maybe @tajo could explain a bit more why these dependencies are discovered late. Maybe ladle could add the proper entries to optimizeDeps.entries if they want to have more things optimized upfront. Looks like a more general problem in this kind of apps though (ping @IanVS, @JessicaSachs).
I would still move forward with hiding as much of the deps logs as possible, and only show them when there is a reload (maybe with extra information about how to improve things, but looks quite hard to log something concise...).

Yes, the storybook vite builder does attempt to use optimizeDeps.entries based on the user's stories config, which has helped a lot after we added that feature.  However, the way storybook works, there are a few packages which are not directly imported by the user's code, for example framework packages like @storybook/react or @storybook/vue.  They are used by the storybook cli, but not imported in the user's code directly.  More irritatingly, sub-dependencies of these packages also need to be included in optimizeDeps.include..   @bluwy was helping me troubleshoot this in discord, but I haven't yet gotten to the bottom of why it's happening.

I think even if we report using optimizeDeps.include, it could bring false positives for cases where the users imports new deps while the server is running. So it's a hard one to tackle.
Ultimately, if we could prevent multiple on-the-fly bundling by encouraging proper initial bundling, that would help the end-user for faster web page TTI and reduced repeated esbuild bundling, which is an overall plus. Hiding the logs would also hide this potential optimization IMO, unless we can provide correct recommendation in the logs)

For the record, looks like vite-plugin-autoimport also ends up generating these late discovered deps: https://github.com/antfu/unplugin-auto-import/issues/124
@bluwy would you be ok if we remove the log for the first batch scanned deps and only log late discovered deps with a message like:
12:18:24 AM [vite] ✨ late discovered dependencies optimized: vue, pinia, luxon

And if a page reload
12:18:24 AM [vite] ✨ late discovered dependencies optimized: vue, pinia, luxon
12:18:24 AM [vite] ✨ previously optimized dependencies changed, a page reload is required

So at least we don't have logs if every deps is discovered by the scan phase?
I still think that it may be quite hard for the user to understand what is going on, but this would work for me

Yep that sounds fine by me 👍 I dont usually find the initial scanned deps to be important too.

I think it's fine to hide most of these logs as long as it can be enabled for debugging.

Maybe @tajo could explain a bit more why these dependencies are discovered late.

It's because stories are loaded as
const Story = React.lazy(() => import('./foo.stories.js'));

So the dependencies inside of foo.stories.js are not discovered initially, right?
I tried to add all stories into optimizeDeps.entries to force all deps being pre-bundled upfront but it wasn't quite working, it still did some late discoveries. (I could try to create a repro for that and test it again with 2.9)
Ideally, it would be nice to eliminate any reloads since it's not a great experience while keeping the startup instant no matter how many stories and dependencies there are. Maybe with 2.9, it's actually ok to put everything into include/entries. Otherwise, there could be an option like optimizeDeps.entriesPreload - Vite could defer pre-bundling of these deps until the initial phase is done. This would keep the startup fast while all other dependencies would get pre-bundled in background before user clicks on another story.

sounds good to me. I might tweak the language a bit to something like:
12:18:24 AM [vite] ✨ newly discovered dependencies optimized: vue, pinia, luxon
12:18:24 AM [vite] ✨ optimized dependencies changed. reloading

sounds good to me. I might tweak the language a bit to something like:
12:18:24 AM [vite] ✨ newly discovered dependencies optimized: vue, pinia, luxon
12:18:24 AM [vite] ✨ optimized dependencies changed. reloading

The thing about newly is that the server may restart because of a lock file change and a new import. That is a new dependency, but it will not be logged. So newly doesn't say to me "this is a dep that was not discovered in the scan phase". I think late may be better here. unforeseen sounds too much 👀. But I'm fine with newly, it is what we were using so ok to me.

I tried to add all stories into optimizeDeps.entries to force all deps being pre-bundled upfront but it wasn't quite working, it still did some late discoveries. (I could try to create a repro for that and test it again with 2.9)

@tajo I think a repro is a good idea here, IMO we should be able to discover this. Lets create an issue and see if we can find the problem

Implemented suggestions, this is how it looks for the react-emotion playground now


Should we emit a dummy Output when a command fails to execute?

Currently it's impossible to do something like this because one of the Execs will always fail:
let [<Literal>] IsUnix = String.EQ<Env.OS.Value, "Unix">.Value

// Dumb example of a command that needs to be different on Windows or Unix.
let [<Literal>] FileListing =
    String.IF<IsUnix,
        const Exec<"ls", "-la">.Output,
        const Exec<"cmd", "/c dir">.Output>.Value

Emitting a dummy Output property when the command fails to execute would make the above possible. But it may make the cause of an error harder to find in other unintended cases.
Some options I'm considering:

Always emit Output, with a null or empty value if the command failed to run.
Add a new parameter eg NullOnFailure = true that decides whether to emit a null Output if the command failed to run (false by default).
Always emit Output, and when the command fails to run, its value is the exception message.

I'm leaning towards option 2: it makes the above example more verbose, but the basic use case remains as safe as today.

Also leaning towards option 2, as you could actually differentiate between failing to run the command or timeout and a non-zero exit code. Just checking, would it do the same for Error?
Another option could be to add a TryExec and return a result (FSharp.Core.Result). You'd have to match on it at runtime to get the value, but it's more explicit and would also allow you to actually use the exception message if you wanted to for whatever reason.

Just checking, would it do the same for Error?

Presumably yeah.

Another option could be to add a TryExec and return a result (FSharp.Core.Result). You'd have to match on it at runtime to get the value, but it's more explicit and would also allow you to actually use the exception message if you wanted to for whatever reason.

That could be useful, although it wouldn't be a "Literal" Provider anymore so it limits the use cases (can't pass it to another TP or an attribute).


feat:add fraxtal

@pegahcarter could you please run cargo t --all-features and commit the updated json spec?

@mattsse :heavy_check_mark:


Emails should come from user, not system email

In order to prevent contamination of email auto-complete lists, I suggest that we change the semantics of how Zulip emails are sent slightly.
Emails from away messages should be From the email address of the user/s who caused the message to be sent, while the Sender header should be used to indicate the emails are on behalf of the Zulip installation.  (ZULIP_ADMINISTRATOR, or some thing else? DEFAULT_FROM_EMAIL?  Not sure which is a better choice.)
CC: @timapril

There's existing code that should do some of this here:
https://github.com/zulip/zulip/blob/master/zerver/lib/notifications.py#L342
in the hardcoded realm=zulip.com case.  I think there may be a few issues with that codepath (it doesn't have a good mechanism for clearing the reply headers).
@karamcnair how far did you get in your work on making it possible to turn this on unconditionally?

So it seems that there are two problems here:

Address book and autocomplete functionality are getting corrupted
We should be able to reply to the email.

I think the simplest solution to no. 1 is to not use the name of the user in the From header instead we can just use Zulip<EMAIL_ADDRESS>we already show the name of the person on whose behalf notification is being sent in the subject.
About the proposed solution of using Sender, it seems that the purpose of Sender header is exactly this but still there is a chance that some email client can mark the email as spam e.g. see here

This is the method we've used. However, we're now having problems with a few servers (...ehmm..  The only explanation we've received is that the reply-to header and from header have different domains, even though this seems to be the exact intent of having two different headers.

No. 2 is not a problem, I think we are already doing that.

I think we want all users to have the same policy, which is closer to the existing zulip.com policy than to the old generic policy (the generic policy did not allow replying to the emails).  The backstory here is that the "zulip.com" policy was an experimental improved system that was being tested on just "zulip.com" (and then was forgotten for a while).  The main problem with the "zulip.com" policy we can define as problem 3, and is that it didn't efficiently prune the message to be just the new content written by the person replying, so the messages sent in this way ~always had a complete copy of the message being replied to and the boilerplate email text.
I think it's reasonable to try using the Reply-To/Sender headers for making reply work.

cool

A fix for this was just merged.  Thanks @hlieberman for the report!


[nrf fromtree] dts: arm: nordic: keep NFCT disabled by default

This is a fromtree commit that disables NFCT by default.
This allow us use Kconfig option generated from device tree to configure the NFCT  as GPIOS in TF-M.
Ref: NCSDK-24437

@Vge0rge  This needs to be resolved: https://jenkins-ncs.nordicsemi.no/job/latest/job/sub/job/test-fw-nrfconnect-boot/job/master/17226/testReport/junit/tests.acceptance.build.test_build_b0_app_moved_update_file/b0mcuboot_TestBuildAppMovedUpdate_5340r1app_ns_tgt_gcc_b0cHW_combined_52b1/Test___nrf5340dk___Tests___test_build_b0_moved_update_file_reverted/
It is observed only on this PR.

@miha-nordic  The error seems very irrelevant but I am happy to verify further locally. Could you inform me how to reproduce locally? (probably better to do it in teams and not here)


+= with multiple application.conf files doesn't preserve order

If the CLASSPATH includes multiple application.conf files and those files perform list append via the += operator, the result is backward of what the user would likely expect based on the order the files appear in CLASSPATH
For example, if the application.conf appearing first in the CLASSPATH  contains:
list += 1
list += 2

and the second application.conf contains:
list += 99
list += 100

then the resulting config contains:
99, 100, 1, 2

I would expect to see
1, 2, 99, 100

Similarly if both application.conf and reference.conf append to a list, then the items appended by reference.conf appear earlier in the list.
I created unit tests in a fork which demonstrate the problem. I also showed how the problem could be worked around.
https://github.com/leifwickland/config/commit/6b4cac05a0980f7c54f920f542dd03fb862f3c07
Perhaps this behavior isn't surprising to other folks or perhaps there's documentation somewhere describing this behavior. All that to say: feel free to say that this works as designed.

I think the docs say we merge files in the order findResources returns them? maybe in the API docs somewhere. Though if we're doing it wrong and fix it, the fix may well break currently-working configs. :-/

@havocp
Thanks for taking the time to respond.
Yeah, I would expect that files would be resolved in the order found. My mental model of what that meant was akin to concatenating the files together in the order found and then resolving. It's entirely possible I have the wrong mental model for how that should work.
If the first file contained:
a = 5
list += 1

And the second contained:
a = 66
list += 2

I'd expect the result to be roughly the same as a single file which contained
a = 5
list += 1
a = 66
list += 2

Now that I've said that, I guess that a reasonable person could easily expect that file to be interpreted as:
a = 6
list = 1,2

which I doubt is what anyone wants when loading two config files.
I suspect what's actually happening is more like concatenating in reverse order and then using normal overwrite rules, where later assignment wins.

I'm pretty sure each file becomes an object (keys in objects are unordered), and then they are merged using withFallback. I don't know if that explains what you see.
I'm not quite grokking the issue though sitting here on my iphone :-) are the tests on your branch currently passing or failing and which did you expect?
What happens if you reverse the order in which the lib uses the findResources result does it then work as you expected but maybe breaks an existing test?

@havocp,
On my branch, first and third tests I added are failing; they're producing the result I mentioned in the comment right above the assertion. The second test is passing, but really, I wouldn't expect it to.
My personal expectation for the 3 tests is:

1, 2, 99, 100 (Actual: 99, 100, 1, 2)
99, 100, 1 ,2 (Actual: 1, 2, 99, 100)
1, 2, 99, 100 (Actual: 99, 100, 1, 2)

To your question about reversing the result of getResources, yes, that breaks lots of existing tests.
Specifically in src/main/java/com/typesafe/config/impl/Parseable.java around line 730 I changed it to:
            Enumeration<URL> raw = loader.getResources(resource);
            List<URL> resourcesList = Collections.list(raw);
            Collections.reverse(resourcesList);
            Enumeration<URL> e = Collections.enumeration(resourcesList);

A subset of the breakage was:
[error] Test com.typesafe.config.impl.ConfParserTest.includeRequiredFound failed: expected:<42> but was:<900>, took 0.005 sec
[error] Test com.typesafe.config.impl.ConfParserTest.includeResources failed: expected:<42> but was:<900>, took 0.002 sec
[error] Test com.typesafe.config.impl.ConfigTest.test01Conversions failed: expected:<[42]> but was:<[900]>, took 0.007 sec
[error] Test com.typesafe.config.impl.ConfigTest.test01Getting failed: expected:<42> but was:<900>, took 0.002 sec
[error] Test com.typesafe.config.impl.ConfigTest.test03Includes failed: expected:<42> but was:<900>, took 0.006 sec
[error] Test com.typesafe.config.impl.ConfigTest.test01EntrySet failed: expected:<Some(ConfigInt(42))> but was:<Some(ConfigInt(900))>, took 0.009 sec

It does, however, cause += to resolve in the order that I hope for. 😁

Thanks for clarifying. It sounds like currently files listed later in classpath override those listed earlier, like later.withFallback(earlier) ? If this is the opposite of what happens when a class is in multiple jars, that's unfortunate. I don't remember offhand. But changing it seems very likely to break somebody in production. Maybe we could change it if there's a major version bump...

@havocp,
I think I've confused you a bit.
I get the same result regardless of whether I have two application.conf files in my classpath or if I explicitly parse, merge (using withFallback), and resolve two files.

If the config key is simply assigned (via =) in two files, then the value provided in the file which appears earlier in the classpath or list wins.

If the config is a list which is appended to (via +=) in two files, the values from the later file in the classpath or list appear first (unexpectedly to my simple mind).

At the end of the day, I don't particularly care which way this works. I've talked to two other folks since I brought this: one expected it to work as I did; another expected it to work as it does. I don't think there's a clear right answer, but it'd be nice to know if we should be able to depend on the ordering or if it's something of an accident which should be considered undefined behavior.
Thanks again for replying.

I'll take all blame for being confused :-) thanks for the patience.
One suggestion is to "expand" the += to = ${?list} [99] for ease of thinking about this. The two should be equivalent.
I don't remember how this situation works in the code. ConfigDelayedMerge and ConfigDelayedMergeObject are relevant classes, and there's a part of HOCON.md which goes on about circular substitutions and how they are resolved.
I think I might share your intuition about how it should work. In general, a.withFallback(b) is supposed to be about (exactly even) the same as appending "a" to "b", assuming neither has been resolved yet.
I can imagine a misguided optimization in ConfigDelayedMerge for example messing this up.
Or maybe I'm confused still. Apologies I haven't sat down at a computer and messed with it I was just hoping to get you some answers sooner.

Look for the code that deals with finding the second occurrence of "list" in the same file and how that is assembled into a delayed merge value. And then when doing withFallback, how the "list" values in each object get combined.


Failed to list pools in hosted 3bot

error :
error: "404 Client Error: mongo: no documents in result for url: https://explorer.testnet.grid.tf/api/v1/nodes/3BwDVNRigau8Zk6BQkJt5PLxrHQnJ5NTfNvAtuubC1eS"

Node got deleted but is restored now.


Certain remote URLs trigger \Transit\File::type() to return wrong $type

Sidenote: I'm using transit via deprecaed CakePHP Uploader Plugin on Linux.
Imagine an URL like: http://server/image.php?id=12312
\Transit\File::type() will perform the following steps:

$type is first determined via file -b --mime ... and gets detected as image
next, $ext = $file->ext() will return text/x-php
they do not match in this check later: $type !== $extType
$type will be forced to be the file extension type, basically ignoring the actual content type

This behaviour is problematic as serving an image via such an URLs is perfectly legit.
One approach could be to only use the extension if either the file -b --mime... and the finfo_file() logic do not work.

It's funny because I even have a comment about this: https://github.com/milesj/transit/blob/master/src/Transit/File.php#L528
I'm assuming you are using this via an import instead of an upload? It may be a better solution to customize the filename when uploading, instead of relying on the detection. https://github.com/milesj/transit/blob/master/src/Transit/Transit.php#L243

I'm assuming you are using this via an import instead of an upload?

I'll have to take a look how your CakePHP Uploader uses it :D But thanks for the heads up, I'll get back on that. We currently work this around by using a proxy (we already head) which luckily for us has an endpoint named /someprxy/?src=http..... In this case, the detection logic does not see a file extension and only passed back the actual content detection.


Use round when setting new chart size

This fixes a missing 1px in chart width on my hidpi screen, that was due to usage of floor when the chart is resized:

I think floor is used so the parent container is not accidentally grown (infinite resize issues)
So this one should be tested against some of those old cases.

Ah, that could be. If that's the case, we should probably add a comment to the code there explaining it

Had the same logic as @kurkle. I think there are cases where expanding can cause the scrollbar to appear which leads to infinite resize problems.

This PR was merged accidentally. PR to revert it here: https://github.com/chartjs/Chart.js/pull/7226


Update to Go 1.17

Closes #144
Go 1.17 release notes
Biggest user-facing change is that transitive dependencies are added to go.mod in a different require block.

Codecov Report

Merging #145 (2a3f773) into main (07f88f9) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 2a3f773 differs from pull request most recent head 7e1241a. Consider uploading reports for the commit 7e1241a to get more accurate results

@@           Coverage Diff           @@
##             main     #145   +/-   ##
=======================================
  Coverage   95.54%   95.54%
=======================================
  Files          20       20
  Lines        2063     2063
=======================================
  Hits         1971     1971
  Misses         69       69
  Partials       23       23

Continue to review full report at Codecov.

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


[Bug]: Admin Settings: Adding a valid filter value to NM-DOH did not save

Describe the bug
A bug was encountered by Mo when entering a valid filter value for the top level org info for org NM-DOH:
"Adding a valid filter value to the organization and hitting save did not save my filter settings, but I didn't get an error"
Impact
Filter at an org level possibly not updatable.
To Reproduce
Steps to reproduce the behavior:

Login as admin, go to Admin->Organization Settings (on staging)
Choose 'nm-doh' from the organization list
Enter a valid filter value and click Save
Hitting refresh reveals that the value wasn't saved.

Expected behavior
A valid filter value should be updateable for an org
Screenshots

@loripusey might want to close this one in favor of #4476 just created above. We didn't have proper repro steps anyway, and it's very likely related

Can't repro, likely OBE


[Enhancement]: Consider how to test for correct weights generation in xCDAT

Is your feature request related to a problem?
In PR #689, in the TemporalAccessor._get_weights() method, I removed validation that checks the sums of weights for each time group adds up to 1 (related code).
This was done because:

Assertion code should only be used in testing and debugging (link) -- TLDR: They can be turned off by the user (-O flag), not good practice. I copied this validation code from an Xarray notebook (link) without realizing the implications.
I added unit tests to cover the implementation logic using the same validation code (here)
np.testing.assert_allclose() degrades performance -- I expect the performance degradation to scale up in relation to the size to the data, maybe it loads data into memory with .values?

Describe the solution you'd like
What is an assertion and when to use it

assert is a common idiom in many languages. The purpose is to check conditions that are expected to always be true. A failed assertion indicates a coding bug. Therefore, the method returns nothing normally, and throws an exception if the condition fails.
...
Assertions are supposed to pass 100% of the time. An exception is only thrown when the condition unexpectedly fails.
--  https://stackoverflow.com/questions/42837054/are-assert-methods-acceptable-in-production

Option 1: Don't keep this assertion
I think the sum of weights for each group should always be 1.0 (100%) based on our implementation logic. Otherwise, the assertion would indicate a coding error on our behalf rather than bad data (although we can raise an exception if it is indeed actually due to bad time bounds). As far as I can tell, our implementation logic is right and nobody has ran into _get_weights() throwing an AssertionError from the validation code.
The _get_weights() method works by:

Get time lengths by taking the difference between bounds (time_lengths)
Group time lengths (grouped_time_lengths)
Divide grouped time lengths by the sum of each group (grouped_time_length / grouped_time_lengths.sum())

https://github.com/xCDAT/xcdat/blob/e9e73dd98e20b77e690fd3b4cf6df947a9f58e60/xcdat/temporal.py#L1213-L1262
Option 2: Keep this assertion
Maybe the time bounds might not be correct for some reason and it produces incorrect weight for certain groups (e.g., missing data)? Not sure here. I will try experimenting with bad time bounds.
If we want to keep this assertion:

Figure out how to safely use np.testing.assert_allclose() in production since it raises an AssertionError that can be turned off by the user
Find a way to optimize performance for np.testing.assert_allclose()
Raise a RuntimeError if numpy assertion error is raised

Describe alternatives you've considered
No response
Additional context
After this ticket is addressed, we can proceed with releasing v0.7.2.

@xCDAT/core-developers Any input would be appreciated here. Thanks.

I think you can go with option 1 (drop the assertion). Even though I raised concern about removing this, when I review this code carefully, I don't think it is needed. Do you remember why it was put there in the first place?
I don't think I helped write this section of code, but I sometimes add these kind of tests to make sure NaNs aren't messing things up. I don't think that should be an issue in this instance.

Do you remember why it was put there in the first place?

I based my initial implementation of _get_weights() on the Xarray notebook here, which includes that validation code. It was good to have while implementing the logic in xCDAT, but I don't think it is necessary in production.

I ran all of the grouping-based temporal averaging APIs with a dummy dataset that has bad bounds. They all worked and did not throw an AssertionError.
Weights should always correctly add up to 1.0 for each group based on how the _group_data() method works. This method labels each time coordinate with a group. The time bounds are used to calculate the weight for each specific coordinate. If we sum up weights for each group, they should still add up to 1.0. If there are bad time coordinates (e.g., one very off time coordinate), it will be its own group with a sum weight of 1.0. This is a data quality issue that the user should address beforehand.
# %%
import numpy as np
import pandas as pd
import xarray as xr
import xcdat as xc

# Define a time range with valid dates
times = pd.date_range(start="2000-01-01", periods=30, freq="ME")

# %%
# Create time bounds (lower and upper values)
time_bnds = np.array([times[:-1], times[1:]]).T
time_bnds = np.concatenate(
    (
        time_bnds,
        np.array([[times[-1], pd.Timestamp("2010-12-31")]], dtype="datetime64[ns]"),
    )
)
# Introduce incorrect time bounds
time_bnds[4, 1] = pd.Timestamp("3000-01-01")
time_bnds[8, 0] = pd.Timestamp("3000-01-01")

# %%
# Create some dummy data
data = np.random.rand(len(times))

# Create a dataset with these time coordinates and time bounds
ds = xr.Dataset(
    {"data": (["time"], data)},
    coords={"time": times, "time_bnds": (["time", "bnds"], time_bnds)},
)

# Add CF attributes
ds.attrs = {
    "Conventions": "CF-1.8",
    "title": "Sample Dataset",
    "institution": "Your Institution",
    "source": "Synthetic data",
    "history": "Created for demonstration purposes",
    "references": "http://example.com",
}

ds["data"].attrs = {
    "long_name": "Random Data",
    "units": "1",
    "standard_name": "random_data",
}

ds["time"].attrs = {
    "long_name": "Time",
    "standard_name": "time",
    "axis": "T",
    "bounds": "time_bnds",
}

ds["time_bnds"].attrs = {
    "long_name": "Time Bounds",
    "standard_name": "time_bnds",
}

# %%
ds_day = ds.temporal.group_average("data", freq="day")
ds_month = ds.temporal.group_average("data", freq="month")
ds_month = ds.temporal.group_average("data", freq="season")
ds_year = ds.temporal.group_average("data", freq="year")

# %%
ds_climo_day = ds.temporal.climatology("data", freq="day")
ds_climo_month = ds.temporal.climatology("data", freq="month")
ds_climo_season = ds.temporal.climatology("data", freq="season")

# %%
ds_depart_day = ds.temporal.departures("data", freq="day")
ds_depart_month = ds.temporal.departures("data", freq="month")
ds_depart_season = ds.temporal.departures("data", freq="season")

Closing this issue based on my findings.


__docker_machine_ps1 is not found

Fix __docker_machine_ps1: command not found

Proposed changes

Unreleased project version (optional)

Related issues (optional)

I find a solution in https://github.com/docker/machine/issues/2529

Let's ship it!


Support additional formatting options for ConsoleLogger

We want to have support for configuring scopes / category name / eventId / timestamps, etc.

Closing this as we're preparing to move this repo over to Extensions.


Update accessibility-quiz.ts

Summary of changes
fixing #374
I added three questions and answers :

When was version 1.0 of the Web Content Accessibility Guidelines (WCAG) released?
Which of the following is NOT the way to fix web accessibility errors?
What is web accessibility?

Checklist

[x] I have read and followed the contribution guidelines.
[x] I have read through the Code of Conduct and agree to abide by the rules.
[x] This PR is for one of the available issues and is not a PR for an issue already assigned to someone else.
[x] My PR title has a short descriptive name so the maintainers can get an idea of what the PR is about.
[x] I have provided a summary of my changes.

I hope I am done now...😅
Can I get hacktoberfest label

Can I get hacktoberfest label

Yes, I will go ahead and approve it and once it gets merged it will be accepted for hacktoberfest.


fix: don't break when no custom swatch images are available

ssia

Current dependencies on/for this PR:

main

PR #321

PR #322   (this PR)
PR #320

This comment was auto-generated by Graphite.


[Publisher API] Users who have APIM Create permission can create APIs on behalf of other users

Description
Like users who have APIM Admin permission, the users who have APIM Create permission too can create APIs on behalf of other users using the Publisher REST API.
Related issue: https://github.com/wso2/product-apim/issues/6132

Only users with admin permission can create behalf of the user. Tested and work as expected. hence closing.


HTTPS support

Using the docker-nginx-auto-ssl we can provide a easy way to setup ShellHub with HTTPS support.

[ ] #68  support for HTTPS requests (ui)


"try flow" is broken with latest (default) version v0.43.1

Like same issue as https://github.com/facebook/flow/issues/3647

FWIW manually selecting v0.43.0 fixes the repl. Still lots of console errors though, and deep links don't work (since they default to v0.43.1)

This is fixed now. Same cause as #3647, but the fix wasn't cherry picked onto the 0.43 release branch so the same problem occurred with the 0.43.1 release. @mroch manually uploaded and the proper fix is in master so future releases should be deployed automatically.


Benchmark test_llama_2_7b_grad gets OOM on A100 and H100

🐛 Bug
Benchmark test_llama_2_7b_grad gets OOM on A100 and H100
To Reproduce
Steps to reproduce the behavior:
pytest thunder/benchmarks/targets.py -vs thunder/benchmarks/targets.py::test_llama_2_7b_grad[thunder]

Code sample
Below gets OOM on A100 40 GB

thunder.benchmarks.targets.test_llama_2_7b_grad[thunder+cudnn]
thunder.benchmarks.targets.test_llama_2_7b_grad[torch.compile]
thunder.benchmarks.targets.test_llama_2_7b_grad[torch]
thunder.benchmarks.targets.test_llama_2_7b_grad[thunder+nvfuser+torch.compile]
thunder.benchmarks.targets.test_llama_2_7b_grad[thunder]

Below gets OOM on H100 80 GB

thunder.benchmarks.targets.test_llama_2_7b_grad[thunder]
thunder.benchmarks.targets.test_llama_2_7b_grad[thunder+cudnn]
thunder.benchmarks.targets.test_llama_2_7b_grad[thunder+nvfuser+torch.compile]

Expected behavior
no oom
Environment

PyTorch Version (e.g., 1.0): 2.4.0a0+gitf5331aa
Thunder: 139cc2246b87f3e58d80b13897286a61d55826d8
Internal image: pjnl-20240415

Additional context
N/A
cc @tfogal @IvanYashchuk

Thanks @xwang233 !
To be clear, Xiao: is the OOM behavior new (i.e. this worked at some point in the past)? Or we've never been able to run these on single-GPU?
Assigning to @IvanYashchuk; can you triage+assign, or just assign to someone?

The earliest failure I can find in database was 02/07/24, when we added those -k thunder benchmarks in CI. There were some infra issues that made it a bit hard to track and report old failures, but those are now fixed.

Running FSDP Llama 2 7B with batch=2 also goes OOM on the main and I suspect the root cause is the same for other reported problems https://github.com/Lightning-AI/lightning-thunder/issues/216.
Bisection tells that the problem was introduced in https://github.com/Lightning-AI/lightning-thunder/pull/115

Thank you, Xiao, for reporting this! The problem is fixed in https://github.com/Lightning-AI/lightning-thunder/pull/239.


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 796 ms

Resolved: Bofrost.de performance has improved in 22b037f.


Allow user to resubmit jobs with historical versions

@sytianhe @edlee2121 Do we need an option to select a different version while resubmitting a job or should we always default to the version that was used originally?

For resubmits, I think it is OK to always use the original version. If they want to choose a different version, they can always create a new commit (that may be the preferred way to do it).

Agreed with ed that resubmit should always use the same context as the original submitted job.


OKLCH Support

OKLCH is a version of LCH created to solve the hue shift bug. It should be supported in this project

Looks like the "some huge update" commit added OKLCH support? Where is it?


IEAS.sol should be Solidity ^0.8.0 but Common.sol breaks it

The IEAS.sol interface file is marked as Solidity ^0.8.0 but imports Common.sol which is Solidity 0.8.15. Solidity compiler therefore forces any contracts importing IEAS.sol to use 0.8.15 which breaks anything that wants to use a different version of Solidity 0.8.

Nice catch! On it.

Fixed in afa1c2a

Thank you!


⚠ Fetchers has degraded performance

In d2fdfa8, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 521 ms

Resolved: Fetchers performance has improved in 8c62bda.


Aren't you ashamed of even writting it?


[No QA] [Direct Feeds] Broken connection - feed level and Update card sync

Details

[Direct Feeds] Broken connection - feed level and Update card sync
Fixed Issues

$ https://github.com/Expensify/App/issues/50453
PROPOSAL: N/A
Tests

[x] Verify that no errors appear in the JS console

Login to the account where the companyCardFeeds and directFeeds betas are turned on.
Create a new workspace
Turn on company cards feature in the More features section.
Open Company cards page.
Since company cards screen is in development, to test the connection error display we need to set the error manually. To do that, insert the next code to WorkspaceCompanyCardPage:

useEffect(() => {
        Onyx.set(`${ONYXKEYS.COLLECTION.SHARED_NVP_PRIVATE_DOMAIN_MEMBER}${workspaceAccountID}`, {
            companyCards: {
                cdfbmo: {
                    errors: {error: CONST.COMPANY_CARDS.CONNECTION_ERROR},
                    pending: true,
                },
            },
            companyCardNicknames: {
                cdfbmo: 'BMO MasterCard',
            },
        });
    }, []);

And reload the screen.
6. Make sure the connection error message and indication are displayed for you.
Offline tests

Same as in the Tests section.
QA Steps

[x] Verify that no errors appear in the JS console

N/A
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x]  iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


DynamicLink doesn't work after first installation from store

Environment:

Xcode version: 9.4.1
Swift: 3.1 (At this moment there is no a budget for the conversion to swift 4)
Minimum iOS deployment target: 9.3
Firebase SDK version: 3.17.0
Firebase Component: FirebaseDynamicLinks
Component version: 1.4.0
Other components version:
Using Firebase (3.17.0)
Using FirebaseAnalytics (3.9.0)
Using FirebaseCore (3.6.0)
Using FirebaseCrash (1.1.6)
Using FirebaseDynamicLinks (1.4.0)
Using FirebaseInstanceID (1.0.10)
Using FirebaseMessaging (1.2.3)
Using FirebaseRemoteConfig (1.3.4)
Using Google (3.1.0)
Using GoogleAnalytics (3.17.0)

The command from terminal "pod update" does not update beyond these versions, even specifying the minimum version required.
Steps:

tap on dynamic link in iMessage
safari opens on a gray page and a popUp with app store link
app store opens (in another application's page - According to the documentation, this is not important.-)
install app through Xcode
application(_:didFinishLauncingWithOptions) is called and return true
application(_:applicationDidBecomeActive) is called
application(:openurl:options) isn't called and neither application(:open:sourceApplication:annotation)

I tried to set:
FIROptions.default().deepLinkURLScheme =  //appBundleId//
FIROptions.default().deepLinkURLScheme =  "dlscheme"

The DynamicLink is generated from BackEnd with Firebase API and work fine on Android.
When opening the link with app installed through application(_:continue:restorationHandler:), everything always works fine.

I remain at your disposal for further details and waiting for kind feedback. Thank you.

We can reopen if it reoccurs on Firebase 5.x.


Resizing window breaks Label3D when using "canvas_items" stretch mode due to font oversampling

Godot version
4.0.dev (222e489d)
System information
Windows 10, Vulkan Clustered
Issue description
Label3D turns into white rectangles when resizing the window if using "canvas_items" stretch mode.

Steps to reproduce
To re-create the MRP:

Create a simple 3D scene with camera pointing at a Label3D with text on it
Set Project Setting display/window/stretch/mode to canvas_items

Now you have the same setup as the MRP. Finally to get the broken behavior:

Launch the game and resize the game window

Minimal reproduction project
resize_window_label3d.zip

cc @bruvzg
I remember encountering this during Label3D's development, but it was fixed back then.


Not compiling in linux

I get this error when compiling the master branch.
$ make
cc -Og -ggdb3 -g -rdynamic -Wall -Wpedantic src/lexer.c src/parser.c src/cognac.c -o cognac -DCC=cc
src/cognac.c: In function 'to_c':
src/cognac.c:893:39: error: 'src_runtime_h_len' undeclared (first use in this function)
  893 |         fprintf(runtime_file, "%.*s", src_runtime_h_len, (char*)src_runtime_h);
      |                                       ^~~~~~~~~~~~~~~~~
src/cognac.c:893:39: note: each undeclared identifier is reported only once for each function it appears in
src/cognac.c:893:65: error: 'src_runtime_h' undeclared (first use in this function)
  893 |         fprintf(runtime_file, "%.*s", src_runtime_h_len, (char*)src_runtime_h);
      |                                                                 ^~~~~~~~~~~~~
make: *** [Makefile:8: cognac] Error 1

By the way, congratulations for the language, I find it very interesting.

Oh that's strange - can you run xxd --version?

I did make clean and make again and it is working now. Not sure what happened.
Thanks


Processing multiple subprojects

I'd like to propose a change in the usage of subprojects.
When using subprojects, only the selected one (with the --sp argument) will be used.
This means that you have to run a looper command for each subproject (sounds like no big deal, but imagine if you have >5).
I propose to either:

change the default to when not given any --sp argument to run all subprojects
implement passing a keyword to run all subprojects (e.g. --sp all).

and to allow the passing of several subprojects --sp prj1 prj2 prj3.
Similarly, looper summarize will not make a summary of all subprojects in same file (currently they're separate) - the summary table should reflect the subprojects selected.

glad to see you've realized the power of subprojects! excellent suggestion.
I prefer option 2, because option 1 isn't how I've used them... I always define my main project as a real project, and the subprojects as addendums. Option 1 requires thinking about it differently, where even your main project is a subproject.
But option 2 is great and should not be hard to implement. It will require an outer loop outside the main looper calls that handles --sp when it's a list.
Can you clarify what you're looking for withsummarize? You want summarize to put all into 1 file or not?

I'm using subprojects for a lot of external data and in this case there isn't even any main project, but many subprojects (small and big).
Option 2 is fine with me.
For the summarize, yes, I'd like to have one file for whatever subprojects were selected, but it's a minor thing.

I just had a look at how subprojects are implemented and how could we implement this. I think it might not be so easy (to do it right).
Currently a subproject updates the entries in the main config if I'm not mistaken:
self.add_entries(self.config['subprojects'][subproject])

What I want would be more like:
for subproject in subprojects:
    # would actually "add" (as in append) entries
    self.add_entries(self.config['subprojects'][subproject])

This of course has implications in for example conflicting fields for different subprojects.
We could of course implement this in a looper run-oriented way, by instantiating Project() several times for each subproject, but that's just another workaround and not something I want to do (it would defeat the purpose of having a project object). Maybe the initial subproject implementation was just not meant to do this. Let's maybe leave this for after the merge.

In my original thinking, it doesn't make sense to initialize multiple subprojects within a single Project -- the subproject is just a way of tweaking a Project. So you would instantiate a different Project for each subproject.
It would be one Project for each subproject -- to me this doesn't defeat the purpose of the Project object. You're dealing with multiple projects.
I don't really yet see your vision -- why would you want to do it that way, as it would overwrite variables... you could only do that for some variables for which append makes sense.
In other words, what you're describing could only work for very minimal subprojects, like those that just define a different annotation sheet. Then you could just merge annotation sheets. But what if subprojects have different compute characteristics? Different genomes? Right now, subprojects implement all the power of Projects, which is incompatible with your suggestion. This would require a new concept.
But just instantiating a Project for every subproject can do both things.

@afrendeiro did you want to comment further on this, is it still relevant, or can we close this issue?

I guess it's okay if this doesn't get implemented - merging annotation sheets would probably be a much simpler thing to do


How does Phoenix serve Vue components?

I understand that when developing we have both the Phoenix server (for the api) and the Express development server running to serve the pages. So while developing router.ex doesn't need to even define a :browser pipeline.
For production, did you just have to deploy the Phoenix server that will serve the built static js and css files in priv/static? What about the Vue templates/the html?
Can I say that in production the Vue instance gets mounted to #app in web/templates/layout/app.html.eex, but in development the Vue instance gets mounted to #app in client/index.html?
Thank you!

I'm not @Angarsk8 but I'm pretty sure you're correct.

Hi @christabella,
Sorry for the late response, I've been quite busy. You are correct, in order to server the static files from the production server you have to build the client side project first, by running the command yarn build inside the client directory, that will build and bundle the project for production and will copy the generated files to the priv/static directory.
Thanks,

@Angarsk8 and @Oxyrus,
Thanks so much for your time and help! I will be closing the issue now.


Train Code

I need code for training my custom dataset！！！！！！！！！！！

Hello! Apologies for the delay in releasing the training code. I plan to release it within the next few weeks. Will update this thread once I release the code!


CopyToKSPDirectory.bat not running after build

I have to manually run the bat now--I think something got messed up with the project files.

Currently working around this issue by manually running the batch file after each build.


Image Gallery

I'd like to add a  pure JavaScript based gallery that helps you showcase your images with thumbnails and displays the image along with the description on hovering over it.
@urvashi-code1255 Can you please assign this to me?

Hey, I'm gssoc'21 participant, I would like to give my hand in this project. Please assign this issue to me.

Everyone Someone is working on image gallery application, As soon as it merged with our current code base you can work on to add new feat or modify it. Feel free to look around, plenty of things can be added or modified within this project. Create an issue we will be happy to assign you.
I'm closing this issue for now


Support for Android?

I'm using this lib targeting HTML5 and it works like a charm, but I would like to be able to target iOS & Android.
Is it possible? (I guess not regarding the read.me).
Thx.

@alanlanglois I'm not sure to be honest and don't have time to add new features and support to this library anymore.
For anyone interested, I'm open to PRs which are limited in their scope, no significant refactorings and well tested.


[Bug] apache e chart half doughnut chart is not working, for some time it is looking good later on getting shaped out and going in to full circle

Version
5.5.1
Link to Minimal Reproduction
chart = {         tooltip: {           trigger: 'item'         },         legend: {           show: false         },         series: [           {             name: 'Cylinders Loaded',             type: 'pie',             radius: ['110%', '130%'],             center: ['50%', '70%'],             // adjust the start and end angle             startAngle: 180,             endAngle: 360,             label: {               show: true,               position: 'center',               fontSize: 15,               // fontWeight: 'bold',               formatter: () => { return 'Total Cylinders \n \n ' + cylinder.total_cylinders;                 // var result = "";                 // result +=                 //   "Total Cylinders" +                 //   loaded+                 //   ""                 // return res;             }             },             itemStyle: {               // borderRadius: [0, 9, 0, 9]             },             silent: true,             color: ['#1D4ED7', '#EDF2F7'],             data: cylinder.data           }
Steps to Reproduce
created apache echart in angular implemented according to the example in website. for sometime it is looking good when created. later on half doughnut is changing into pie chart .
Current Behavior
half piechart is turning in to full pie chart
Expected Behavior
it should look like full piechart
Environment
- OS:windows
- Browser:chrome  128.0.6613.85
- Framework:angular@12

Any additional comments?
Can you give me solution as quich as possible

I doubt radius: ['110%', '130%'] will make it look good...
See official example and start working from there.
📌 Please make an effort to provide a working Minimal Reproduction code.

Already it is having 100%,130% radius that is not an issue, in angular if you find apache e charts half dougnut chart is working for 2 days means tell me.


Please merge ca4930357635d36d43433334271cdfd658a3a746 to dev channel

This reverts the addition of the fast uri class, because of problems with the ? on query parameters: https://github.com/dart-lang/sdk/issues/26917
When the fast uri class is recommitted, this issue should be fixed.

Merged in 1.18.0-dev.4.4


Create My Account Failed

Hi，
elasticsearch version: 5.6.5
exceptionless version: 4.1.2861
When i change the version of Elasticsearch to 5.6.5 and use your config file elasticsearch.yml replace Elasticsearch's config，the login page of exceptionless is login successed，but when create my account is failed.
the following is the request infomation：
General:
Request URL:http://<IP_ADDRESS>:9005/api/v2/auth/signup
Request Method:POST
Status Code:400 Bad Request
Remote Address:<IP_ADDRESS>:9005
Referrer Policy:no-referrer-when-downgrade
Request Payload
{"password":"111111","email":"pengc2834@kotei-info.com","name":"pengc"}
Response
{
"Message": "An error occurred."
}
This is the information of Elasticsearch 5.6.5
{
"name" : "cmzbtBD",
"cluster_name" : "exceptionless",
"cluster_uuid" : "9KjV5FTDTMqNJDz_WGI2Lw",
"version" : {
"number" : "5.6.5",
"build_hash" : "6a37571",
"build_date" : "2017-12-04T07:50:10.466Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}

@chenp1204 If I had to guess it's because of the in memory cache wasn't cleared when you upgraded elasticsearch. Does recycling the iis app fix this issue? Can you also enable logging or look at the event logs for this error (https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting#troubleshooting). My apologies for all the issues you are running into.