CMF very different from TradeView

Which version are you running? The lastest version is on Github. Pip is for major releases.
import pandas_ta as ta
print(ta.version)

pandas-ta .3.2b0
Do you have TA Lib also installed in your environment?
$ pip list

TA-Lib = .4.19
Upgrade.
$ pip install -U git+https://github.com/twopirllc/pandas-ta

upgraded to .3.14b0
Same CMF result.
Describe the bug
A clear and concise description of what the bug is.
Using CMF 20 day on AHPI with 30min bars.  CMS return is .4 from pandas ta.
The CMF 20 day on TradeView is -.2x  I'm looking to be close not exact, the issue is one is > 0 the other is < 0.
To Reproduce
Provide sample code.
cmfdf = df.ta.cmf(length=20)
print(cmfdf)
last_row = cmfdf.iloc[-1]
print(last_row)
Expected behavior
A clear and concise description of what you expected to happen.
Expected a negative based on Tradeview - but got .4
Screenshots
If applicable, add screenshots to help explain your problem.
https://www.tradingview.com/x/oKiSGrOM/
Additional context
Add any other context about the problem here.
Could be TradeView is wrong, or that I'm not understanding how the two calculations are different - like if CMF in the ta lib is 0-100 and tradeview is centered on 0?
the ta  lib - NOT TA-LIB does also give .4. - I have .7 of the ta pypl installed.
------- CMFDF -------
time
2021-11-22 14:00:00-05:00         NaN
2021-11-22 15:30:00-05:00         NaN
2021-11-23 11:30:00-05:00         NaN
2021-11-23 14:00:00-05:00         NaN
2021-11-23 14:30:00-05:00         NaN
...
2021-12-30 11:30:00-05:00   -0.021492
2021-12-30 12:30:00-05:00    0.276578
2021-12-30 13:30:00-05:00    0.378808
2021-12-30 14:30:00-05:00    0.384685
2021-12-30 15:00:00-05:00    0.400801
Name: CMF_20, Length: 261, dtype: float64
Thanks for using Pandas TA!

Hello @schwaa,
What ohlcv source you are using to calculate cmf using Pandas TA? Is it from TradingView or is it another data source? It would also be great if you could provide a correlation test by following this https://github.com/twopirllc/pandas-ta/issues/107#issuecomment-685834922 and show the correlation.
Kind Regards,
KJ

Thank you for the reply - Happy New Year!  I'm lame so I'm looking at this a
little more today, but I'll have to give up soon and try again tomorrow.   I'm
using a different data source - paid feed from Alpaca.TradeView is saying I need
to upgrade to Pro+ in order easily  export the data for the chart, so I have to
see about that as well.  I do pay for TradeView, but I guess not the right
level.
I'll keep working on it.
On Fri, Dec 31, 2021 at 12:31 PM Kevin Johnson @.***>
wrote:
Hello @schwaa,
What ohlcv  source you are using to calculate cmf  using Pandas TA? Is it from
TradingView or is it another data source? It would also be great if you could
provide a correlation test by following this #107 (comment)  and show the
correlation.
Kind Regards,
KJ
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS  or Android.
You are receiving this because you were mentioned.Message ID:
@.***>

@schwaa,
Happy New Year!
Yes, this is a common Issue with people comparing apples and oranges and claiming the library is inaccurate. As you probably know, financial data is not uniform among exchanges, brokers and other data sources. Nor are we privy to how they are cleaned and sanitized or is post edited for other reasons. But when there are inaccuracies, I try to remedy it to within 0.99 correlation. Furthermore unlike the rigor of Mathematics standards, there are no standard in TA indicators. Many indicators have different initialization/bootstrapping reasons for different trading platforms, even TA Lib mentions this in some indicator comments.
I have a Pro+ account, I will do a correlation test when I get some time after addressing other pressing Issues. In the mean time, you are welcome to fork and submit a PR to fix the bug. 😎  Many will appreciate it.

NOT TA-LIB does also give .4

Lastly, TA Lib hasn't been updated in years. The version I use for TA Lib correlation, 0.4.21, does not contain cmf. I suppose they removed it after 0.4.19? Do you have the TA Lib source code for cmf? If so, please post it.
Thanks,
KJ

@schwaa,
Happy New Year!
Yes, this is a common Issue with people comparing apples and oranges and claiming the library is inaccurate. As you probably know, financial data is not uniform among exchanges, brokers and other data sources. Nor are we privy to how they are cleaned and sanitized or is post edited for other reasons. But when there are inaccuracies, I try to remedy it to within 0.99 correlation. Furthermore unlike the rigor of Mathematics standards, there are no standard in TA indicators. Many indicators have different initialization/bootstrapping reasons for different trading platforms, even TA Lib mentions this in some indicator comments.
I have a Pro+ account, I will do a correlation test when I get some time after addressing other pressing Issues. In the mean time, you are welcome to fork and submit a PR to fix the bug. 😎  Many will appreciate it.

NOT TA-LIB does also give .4

Lastly, TA Lib hasn't been updated in years. The version I use for TA Lib correlation, 0.4.21, does not contain cmf. I suppose they removed it after 0.4.19? Do you have the TA Lib source code for cmf? If so, please post it.
Thanks,
KJ

Hello,I realized there were some volume gaps in the original test case, so to
remove that issue, I started to look at XLE.  That gets tons of volume.  And I
was looking at today.This is TradeView:
Sorry I don't have the detailed data.  CMF goes from negative to positive today.
Even at 11:40 - XLE CMF is still negative using the pandas-Ta.
--=== Start XLE ===---
Fetching new bars for XLE at 2022-01-03T11:40:08.997395
checking for buy and sell signals
Start Flow Buy function
ADD CMF
open         56.805000
high         56.980000
low          56.770000
close        56.980000
volume    16997.000000
CMF          -0.177575
Name: 2022-01-03 11:00:00-05:00, dtype: float64
I'm still willing to admit I could totally be in the wrong.  I have several
pandas-ta functions running, but I haven't used CMF too much in the past and
never from Pandas-ta.More output from my run.
XLE - DF being used as the data input.
open    high     low   close  volume
time
2021-12-31 13:15:00-05:00  55.435  55.485  55.435  55.460    9941
2021-12-31 13:30:00-05:00  55.500  55.540  55.465  55.490    3789
2021-12-31 13:45:00-05:00  55.515  55.615  55.490  55.615   13798
2021-12-31 14:00:00-05:00  55.605  55.605  55.550  55.555    8565
2021-12-31 14:15:00-05:00  55.525  55.580  55.515  55.550    5614
2021-12-31 14:30:00-05:00  55.535  55.535  55.385  55.385    9576
2021-12-31 14:45:00-05:00  55.365  55.410  55.355  55.410   15689
2021-12-31 15:00:00-05:00  55.435  55.520  55.425  55.485   13324
2021-12-31 15:15:00-05:00  55.475  55.670  55.475  55.670   13262
2021-12-31 15:30:00-05:00  55.630  55.750  55.620  55.745   26646
2021-12-31 15:45:00-05:00  55.740  55.785  55.480  55.490  146494
2022-01-03 09:30:00-05:00  55.595  56.485  55.560  56.485   19878
2022-01-03 09:45:00-05:00  56.480  56.680  56.070  56.655   37623
2022-01-03 10:00:00-05:00  56.675  56.915  56.600  56.875   33228
2022-01-03 10:15:00-05:00  56.890  57.005  56.865  56.900   15644
2022-01-03 10:30:00-05:00  56.920  56.950  56.740  56.850   13763
2022-01-03 10:45:00-05:00  56.900  56.950  56.790  56.790    6983
2022-01-03 11:00:00-05:00  56.805  56.910  56.780  56.785    6263
2022-01-03 11:15:00-05:00  56.805  56.980  56.770  56.980   10734
2022-01-03 11:30:00-05:00  56.970  56.990  56.720  56.850   17965
CMF for timeperiod2021-12-31 15:30:00-05:00    0.403507
2021-12-31 15:45:00-05:00   -0.228853
2022-01-03 09:30:00-05:00   -0.167205
2022-01-03 09:45:00-05:00   -0.055273
2022-01-03 10:00:00-05:00    0.021792
2022-01-03 10:15:00-05:00   -0.007157
2022-01-03 10:30:00-05:00   -0.010907
2022-01-03 10:45:00-05:00   -0.021565
2022-01-03 11:00:00-05:00   -0.046548
2022-01-03 11:15:00-05:00   -0.026218
2022-01-03 11:30:00-05:00   -0.032900
I would work a code  fix, if I found the problem.  I know that was requested.
I've made small commits before, so I'm happy to, I just haven't figured out
where the gap is yet.
Brian(schwaa)
On Sat, Jan 1, 2022 at 4:15 PM Kevin Johnson @.***>  wrote:
@schwaa,
Happy New Year!
Yes, this is a common Issue with people comparing apples and oranges and
claiming the library is inaccurate. As you probably know, financial data is not
uniform among exchanges, brokers and other data sources. Nor are we privy to how
they are cleaned and sanitized or is post edited for other reasons. But when
there are inaccuracies, I try to remedy it to within 0.99 correlation.
Furthermore unlike the rigor of Mathematics standards, there are no standard in
TA indicators. Many indicators have different initialization/bootstrapping
reasons for different trading platforms, even TA Lib mentions this in some
indicator comments.
I have a Pro+ account, I will do a correlation test when I get some time after
addressing other pressing Issues. In the mean time, you are welcome to fork and
submit a PR to fix the bug. 😎 Many will appreciate it.
NOT TA-LIB does also give .4
Lastly, TA Lib hasn't been updated in years. The version I use for TA Lib
correlation, 0.4.21, does not contain cmf. I suppose they removed it after
0.4.19? Do you have the TA Lib source code for cmf? If so, please post it.
Thanks,
KJ
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS  or Android.
You are receiving this because you were mentioned.Message ID:
@.***>

This is really stupid of me, but I must on some level be doing something wrong.
This code works:
import pandas_ta as ta
symbol='XLE'
df = get_15bar_from15(symbol)
ccidf = df.ta.cci(length=20)
print(ccidf)
import pandas_ta as pta
symbol='XLE'
df = get_15bar_from15(symbol)
ccidf = df.pta.cci(length=20)
print(ccidf)
Have I done  some common mistake that people mess up or something?  Just
changing the import as.. should not have killed this.  I have no other TA
import.
thanks  again.
On Mon, Jan 3, 2022 at 12:44 PM Brian Rowe @.***>  wrote:
Hello,I realized there were some volume gaps in the original test case, so to
remove that issue, I started to look at XLE.  That gets tons of volume.  And I
was looking at today.This is TradeView:
Sorry I don't have the detailed data.  CMF goes from negative to positive today.
Even at 11:40 - XLE CMF is still negative using the pandas-Ta.
--=== Start XLE ===---
Fetching new bars for XLE at 2022-01-03T11:40:08.997395
checking for buy and sell signals
Start Flow Buy function
ADD CMF
open         56.805000
high         56.980000
low          56.770000
close        56.980000
volume    16997.000000
CMF          -0.177575
Name: 2022-01-03 11:00:00-05:00, dtype: float64
I'm still willing to admit I could totally be in the wrong.  I have several
pandas-ta functions running, but I haven't used CMF too much in the past and
never from Pandas-ta.More output from my run.
XLE - DF being used as the data input.
open    high     low   close  volume
time
2021-12-31 13:15:00-05:00  55.435  55.485  55.435  55.460    9941
2021-12-31 13:30:00-05:00  55.500  55.540  55.465  55.490    3789
2021-12-31 13:45:00-05:00  55.515  55.615  55.490  55.615   13798
2021-12-31 14:00:00-05:00  55.605  55.605  55.550  55.555    8565
2021-12-31 14:15:00-05:00  55.525  55.580  55.515  55.550    5614
2021-12-31 14:30:00-05:00  55.535  55.535  55.385  55.385    9576
2021-12-31 14:45:00-05:00  55.365  55.410  55.355  55.410   15689
2021-12-31 15:00:00-05:00  55.435  55.520  55.425  55.485   13324
2021-12-31 15:15:00-05:00  55.475  55.670  55.475  55.670   13262
2021-12-31 15:30:00-05:00  55.630  55.750  55.620  55.745   26646
2021-12-31 15:45:00-05:00  55.740  55.785  55.480  55.490  146494
2022-01-03 09:30:00-05:00  55.595  56.485  55.560  56.485   19878
2022-01-03 09:45:00-05:00  56.480  56.680  56.070  56.655   37623
2022-01-03 10:00:00-05:00  56.675  56.915  56.600  56.875   33228
2022-01-03 10:15:00-05:00  56.890  57.005  56.865  56.900   15644
2022-01-03 10:30:00-05:00  56.920  56.950  56.740  56.850   13763
2022-01-03 10:45:00-05:00  56.900  56.950  56.790  56.790    6983
2022-01-03 11:00:00-05:00  56.805  56.910  56.780  56.785    6263
2022-01-03 11:15:00-05:00  56.805  56.980  56.770  56.980   10734
2022-01-03 11:30:00-05:00  56.970  56.990  56.720  56.850   17965
CMF for timeperiod2021-12-31 15:30:00-05:00    0.403507
2021-12-31 15:45:00-05:00   -0.228853
2022-01-03 09:30:00-05:00   -0.167205
2022-01-03 09:45:00-05:00   -0.055273
2022-01-03 10:00:00-05:00    0.021792
2022-01-03 10:15:00-05:00   -0.007157
2022-01-03 10:30:00-05:00   -0.010907
2022-01-03 10:45:00-05:00   -0.021565
2022-01-03 11:00:00-05:00   -0.046548
2022-01-03 11:15:00-05:00   -0.026218
2022-01-03 11:30:00-05:00   -0.032900
I would work a code  fix, if I found the problem.  I know that was requested.
I've made small commits before, so I'm happy to, I just haven't figured out
where the gap is yet.
Brian(schwaa)
On Sat, Jan 1, 2022 at 4:15 PM Kevin Johnson @.***>  wrote:
@schwaa,
Happy New Year!
Yes, this is a common Issue with people comparing apples and oranges and
claiming the library is inaccurate. As you probably know, financial data is not
uniform among exchanges, brokers and other data sources. Nor are we privy to how
they are cleaned and sanitized or is post edited for other reasons. But when
there are inaccuracies, I try to remedy it to within 0.99 correlation.
Furthermore unlike the rigor of Mathematics standards, there are no standard in
TA indicators. Many indicators have different initialization/bootstrapping
reasons for different trading platforms, even TA Lib mentions this in some
indicator comments.
I have a Pro+ account, I will do a correlation test when I get some time after
addressing other pressing Issues. In the mean time, you are welcome to fork and
submit a PR to fix the bug. 😎 Many will appreciate it.
NOT TA-LIB does also give .4
Lastly, TA Lib hasn't been updated in years. The version I use for TA Lib
correlation, 0.4.21, does not contain cmf. I suppose they removed it after
0.4.19? Do you have the TA Lib source code for cmf? If so, please post it.
Thanks,
KJ
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS  or Android.
You are receiving this because you were mentioned.Message ID:
@.***>

@schwaa,
Yes, the first code block is correct. In pandas_ta/core.py, the DataFrame Extension is called ta and the methods/indicators of that extension must use it (unless you modify the extension name locally).
Pandas TA DataFrame Extension definition: @pd.api.extensions.register_dataframe_accessor("ta")
Thus the second code block won't work because pta is not the name of the DataFrame Extension. However, if you want to use import pandas_ta as pta you can but it applies only for the Standard Programming Convention (like TA Lib) which is more explicit instead of letting the DataFrame Extension automatically handle the default input series (ohlcv).
import pandas_ta as pta

symbol='XLE'
df = get_15bar_from15(symbol)

# Equivalent
ccidf = df.ta.cci(length=20)  # DataFrame Extension
print(ccidf)
ccidf = pta.cci(df.high, df.low, df.close, length=20)  # Standard (like TA Lib)
print(ccidf)

See Programming Conventions on the README for examples.
Hope this helps!
KJ

Great - That make and I was using ta before, I just changed it try to try some
different things to figure out how to understand what is happening.My biggest
challenge right now, is that I don't understand the different in the
computations with TradeView and I can't get any symbols to match even remotely.
I've been trying all the sector ETF's  and I get close.XLE, XLP, XLRE, XLU, etc
Brian
On Mon, Jan 3, 2022 at 2:48 PM Kevin Johnson @.***>  wrote:
@schwaa,
Yes, the first code block is correct. In pandas_ta/core.py, the DataFrame
Extension  is called ta  and the methods/indicators of that extension must use
it (unless you modify the extension name locally).
Pandas TA DataFrame Extension definition:
@pd.api.extensions.register_dataframe_accessor("ta")
Thus the second code block won't work because pta  is not the name of the
DataFrame Extension. However, if you want to use import pandas_ta as pta  you
can but it applies only for the Standard Programming Convention (like TA Lib)
which is more explicit instead of letting the DataFrame Extension automatically
handle the default input series (ohlcv).
import pandas_ta as pta
symbol='XLE'
df = get_15bar_from15(symbol)
Equivalent
ccidf = df.ta.cci(length=20)  # DataFrame Extension
print(ccidf)
ccidf = pta.cci(df.high, df.low, df.close, length=20)  # Standard (like TA Lib)
print(ccidf)
See Programming Conventions  on the README for examples.
Hope this helps!
KJ
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS  or Android.
You are receiving this because you were mentioned.Message ID:
@.***>

Hey @schwaa,
Ok, so I exported Daily SPY since inception with TV's CMF with length 20. Here are the correlation results and additional beginning and ending rows for comparison.

Hope this helps!
Kind Regards,
KJ

Yes - Thank you -To summarize - you would say - if the data is the same, the
result will be the same, so my SIP data, must  be different from TradeView.
Sounds like what you are thinking?
On Tue, Jan 4, 2022 at 2:56 PM Kevin Johnson @.***>  wrote:
Hey @schwaa,
Ok, so I exported Daily SPY since inception with TV's CMF with length 20. Here
are the correlation results and additional beginning and ending rows for
comparison.
Hope this helps!
Kind Regards,
KJ
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS  or Android.
You are receiving this because you were mentioned.Message ID:
@.***>

@schwaa,
That's correct. Like I said above in https://github.com/twopirllc/pandas-ta/issues/461#issuecomment-1003620059, "... financial data is not uniform among exchanges, brokers and other data sources. Nor are we privy to how they are cleaned, sanitized or is post edited for other reasons."
As popular and ubiquitous as TV is, TA Lib is still the de facto TA Library that most users use and compare other exchange/brokerage TA values against; especially the retail algorithmic trading community. Since TA Lib is an independent library, it is easy to test that Pandas TA indicators are highly correlated with each other... unlike Binance, TradeStation, TDA, et al where there data and indicators are not accessible through an API due to terms of service etc. Luckily TV can be tested albeit manually with an expensive a Pro+ account.
What's important is you do not compare identical indicators with two different sources and that your trading system uses the data that you trade with. If your TV Binance data is not equal to your external Binance data, then there will be some deviations.
Hope this makes sense.
KJ


pull request for e2e test at 01/12/2017 15:26:14

:white_check_mark: Validation status: passed
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.


Process ForkPoolWorker error

Using v1.4.1 I have a 30k row file with about 90 variables and attempting to run a profile gives an error of "Process ForkPoolWorker-4:" (numbers vary).  PyCharm then seems to just hang, and if I kill the process the following trace is generated.
Process ForkPoolWorker-4:
Process ForkPoolWorker-8:
Process ForkPoolWorker-3:
Process ForkPoolWorker-2:
Process ForkPoolWorker-7:
Process ForkPoolWorker-6:
Process ForkPoolWorker-9:
Process ForkPoolWorker-1:
Process ForkPoolWorker-10:
Process ForkPoolWorker-5:
Traceback (most recent call last):
  File "/Users/martincampbell/BitBucket/marketoneanalysistask/initial_data_exploration.py", line 33, in <module>
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 334, in get
    with self._rlock:
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/synchronize.py", line 96, in __enter__
    return self._semlock.__enter__()
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 334, in get
    with self._rlock:
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/synchronize.py", line 96, in __enter__
    return self._semlock.__enter__()
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 334, in get
    with self._rlock:
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/synchronize.py", line 96, in __enter__
    return self._semlock.__enter__()
KeyboardInterrupt
    check_correlation=False)
  File "/Users/martincampbell/venv/p3_mone/lib/python3.6/site-packages/pandas_profiling/__init__.py", line 66, in __init__
    description_set = describe(df, **kwargs)
  File "/Users/martincampbell/venv/p3_mone/lib/python3.6/site-packages/pandas_profiling/describe.py", line 351, in describe
Traceback (most recent call last):
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 335, in get
    res = self._reader.recv_bytes()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/connection.py", line 216, in recv_bytes
    buf = self._recv_bytes(maxlength)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/connection.py", line 407, in _recv_bytes
    buf = self._recv(4)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/connection.py", line 379, in _recv
    chunk = read(handle, remaining)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 334, in get
    with self._rlock:
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/synchronize.py", line 96, in __enter__
    return self._semlock.__enter__()
KeyboardInterrupt
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 334, in get
    with self._rlock:
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/synchronize.py", line 96, in __enter__
    return self._semlock.__enter__()
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 334, in get
    with self._rlock:
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/synchronize.py", line 96, in __enter__
    return self._semlock.__enter__()
KeyboardInterrupt
    ldesc = {col: s for col, s in pool.map(local_multiprocess_func, df.iteritems())}
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 266, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 638, in get
    self.wait(timeout)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 635, in wait
    self._event.wait(timeout)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 551, in wait
    signaled = self._cond.wait(timeout)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 295, in wait
    waiter.acquire()
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 334, in get
    with self._rlock:
  File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/synchronize.py", line 96, in __enter__
    return self._semlock.__enter__()
KeyboardInterrupt

Based on another issue I saw I've tried check_correlation=False but it doesn't make a difference.

Having the same issue
I'm running profiling on celery
After adding logs I see that after starting describing 4 (4 is the pool size) columns (out of 13) it failed
Same when pool size is 1

@ericman93 Could you open a new issue as it is related, but probably not the same (as I expect you use pandas-profiling v2+).


Top line displayed in wrong font when booting

Hey! I finally got around to try this and I love it. (A pity my arch boots so fast, i only get to look at it for max 2 seconds).
I have an issue where, when I boot, the line that says "Booting OS" is not displayed in the Minecraft font, the messages below are though.
Thanks!

Ok, the problem was, that there was no /usr/lib/plymouth/label.so but rather two seperate ones:
/usr/lib/plymouth/label-pango.so
/usr/lib/plymouth/label-freetype.so

so I changed it in dracut/99-minecraft-plymouth.conf and it worked!

Sorry for re-opening, I'm trying it with mkinitcpio and the problem's there again.
I ran the ./install.sh and put this into my /etc/mkinitcpio.conf:
FILES=( /usr/lib/plymouth/label-freetype.so
	/usr/lib/plymouth/label-pango.so
	/usr/lib/plymouth/text.so
	/usr/share/fonts/OTF/Minecraft.otf
	/etc/fonts/fonts.conf
	/etc/fonts/conf.d/00-minecraft.conf
)

Which should do the same as the dracut drop-in, but for mkinitcpio.
When running
lsinitrd /boot/initramfs-linux.img
i also find all of the files got included.
It's also very weird that it's only the "Booting OS" text that's in the wrong font.

It's also very weird that it's only the "Booting OS" text that's in the wrong font.
Could not replicate after 1 hour of trying, both texts seem to use the wrong font. The problem is that Plymouth doesn't really offer a neat way of controlling the fonts and text.

So its never explicitly set? I may try it later, but what if I just remove all other fonts? Maybe it'll display nothing or crash, but might be worth the shot

So its never explicitly set? I may try it later, but what if I just remove all other fonts? Maybe it'll display nothing or crash, but might be worth the shot

It is, but the method relies on fontconfig actually figuring out WHAT font file I want to set as opposed to setting it directly, like you would in SDL for example.
For reference see this

I figured out how to get debug messages.
It looks like it fails to find one shared object because this happens before a newroot is set.
I tried setting ShowDelay=2 in the config and it seems the font gets loaded then. Only for a split second though, because the OS boots too quickly :(
Is there a way to set the font just after this newroot? Or put the font somewhere it is always found?
Thanks.
...
129   │ 00:00:04.475 ../plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c: adding 1920x1080 pixel display
 130   │ 00:00:04.475 ../plymouth-24.004.60/src/libply-splash-core/ply-device-manage: activating renderers
 131   │ 00:00:04.475 ../plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c: showing splash screen
 132   │ 00:00:04.475 ../plymouth-24.004.60/src/plugins/splash/script/plugin.c:434:s: starting boot animation
 133   │ 00:00:04.475 ../plymouth-24.004.60/src/plugins/splash/script/plugin.c:303:s: parsing script file
 134   │ 00:00:04.479 ../plymouth-24.004.60/src/plugins/splash/script/plugin.c:280:s: executing script file
 135   │ 00:00:04.489 ../plymouth-24.004.60/src/libply/ply-utils.c:549:ply_open_modu: Could not load module "/usr/lib/plymouth/label-pango.so": libcairo.so.2: cannot open
       │ shared object file: No such file or directory
 136   │ 00:00:04.492 ../plymouth-24.004.60/src/plugins/controls/label-freetype/plug: Text 'Booting OS' has dimensions 211x55
 137   │ 00:00:04.492 ../plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:8: Unloading label control plugin
 138   │ 00:00:04.492 ../plymouth-24.004.60/src/libply/ply-utils.c:549:ply_open_modu: Could not load module "/usr/lib/plymouth/label-pango.so": libcairo.so.2: cannot open
       │ shared object file: No such file or directory
 139   │ 00:00:04.493 ../plymouth-24.004.60/src/plugins/controls/label-freetype/plug: Text 'Booting OS' has dimensions 211x55
 140   │ 00:00:04.493 ../plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:8: Unloading label control plugin
 141   │ 00:00:04.499 ../plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:749:p: Creating buffer for 1920x1080 renderer head
 142   │ 00:00:04.499 ../plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:253:p: returning 1920x1080 buffer with stride 7680
 143   │ 00:00:04.499 ../plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:757:p: Mapping buffer for 1920x1080 renderer head
 144   │ 00:00:04.499 ../plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:938:a: taking master and scanning out
 145   │ 00:00:04.502 ../plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:711:p: Setting scan out buffer of 1920x1080 head to our buffer
 146   │ 00:00:04.536 ../plymouth-24.004.60/src/plugins/renderers/drm/plugin.c:1758:: Needed to reset scan out buffer on 1920x1080 renderer head
 147   │ 00:00:04.536 ../plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c: (this is an initial showing)
 148   │ 00:00:04.536 ../plymouth-24.004.60/src/libply-splash-core/ply-boot-splash.c: Pausing 1 already added displays
 149   │ 00:00:04.536 ../plymouth-24.004.60/src/libply-splash-core/ply-device-manage: activating keyboards
 150   │ 00:00:04.536 ../plymouth-24.004.60/src/libply-splash-core/ply-keyboard.c:37: Watching for keyboard input from renderer
 151   │ 00:00:04.537 ../plymouth-24.004.60/src/libply/ply-event-loop.c:1142:ply_eve: freeing destination (1, 0x5f50168ad310, 0x5f50168b0ea0) of fd 13
 152   │ 00:00:04.700 ../plymouth-24.004.60/src/ply-boot-server.c:395:print_connecti: connection is from pid 319 (plymouth update-root-fs --new-root-dir=/new_root) with pa
       │ rent pid 1 (/usr/bin/ash /init splash)
 153   │ 00:00:04.700 ../plymouth-24.004.60/src/ply-boot-server.c:714:ply_boot_conne: got newroot request
 154   │ 00:00:04.700 ../plymouth-24.004.60/src/main.c:668:on_newroot               : new root mounted at "/new_root", switching to it
 155   │ 00:00:04.700 ../plymouth-24.004.60/src/main.c:711:get_cache_file_for_mode  : returning cache file '/var/lib/plymouth/boot-duration'
 156   │ 00:00:04.702 ../plymouth-24.004.60/src/libply/ply-event-loop.c:1142:ply_eve: freeing destination (1, 0x5f50168ad310, 0x5f50168b0ea0) of fd 13
 157   │ 00:00:05.357 ../plymouth-24.004.60/src/ply-boot-server.c:391:print_connecti: connection is from toplevel init process (/sbin/init splash)
 158   │ 00:00:05.357 ../plymouth-24.004.60/src/ply-boot-server.c:446:ply_boot_conne: got update request
 159   │ 00:00:05.357 ../plymouth-24.004.60/src/main.c:192:on_update                : updating status to '-.mount'
 160   │ 00:00:05.436 ../plymouth-24.004.60/src/plugins/controls/label-pango/plugin.: Text '-.mount' has dimensions 176x42
 161   │ 00:00:05.436 ../plymouth-24.004.60/src/plugins/controls/label-pango/plugin.: Text '-.mount' has dimensions 176x42
 162   │ 00:00:05.436 ../plymouth-24.004.60/src/plugins/controls/label-pango/plugin.: Text '-.mount' has dimensions 176x42
 163   │ 00:00:05.437 ../plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:8: Unloading label control plugin
 164   │ 00:00:05.437 ../plymouth-24.004.60/src/plugins/controls/label-pango/plugin.: Text '-.mount' has dimensions 176x42
 165   │ 00:00:05.437 ../plymouth-24.004.60/src/plugins/controls/label-pango/plugin.: Text '-.mount' has dimensions 176x42
 166   │ 00:00:05.437 ../plymouth-24.004.60/src/plugins/controls/label-pango/plugin.: Text '-.mount' has dimensions 176x42
 167   │ 00:00:05.437 ../plymouth-24.004.60/src/libply-splash-graphics/ply-label.c:8: Unloading label control plugin...
...

@Lxtharia where is the log displayed, in the console=whatever or in some log file?

I tried setting ShowDelay=2 in the config and it seems the font gets loaded then. Only for a split second though, because the OS boots too quickly :(

My guess that it's still missing a so file which fails to load before root gets mounted, after which when it gets loaded it's able to load in the font just fine when you add the delay.

The logs are in /var/log/plymouth-debug.log when booting with plymouth.debug kernel parameters.
It seems this is a packaging issue on Arch (which I use btw) after I found this upstream issue: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/248

But sadly distrobox broke again so I couldn't test this anymore without reinstalling arch on bare metal.

@Lxtharia Hey do you mind checking again, I did some changes in the meantime

Hi!
Tried the new version, but didn't solve my problem.
For some reason,  135   │ 00:00:04.489 ../plymouth-24.004.60/src/libply/ply-utils.c:549:ply_open_modu: Could not load module "/usr/lib/plymouth/label-pango.so": libcairo.so.2: cannot open shared object file: No such file or directory still occurs even though that library should be in the initramfs.
I am on...
Distro: Arch Linux
Kernel version: 6.9.7-arch1-1
Plymouth version: 24.004.60-7

...btw, some files differ on my system (like label-pango and label-freetype instead of only label).
I seem to have found one workaround though:
Changing
    text = create_text(message, 0.5, 0.5 - text_height_adj());

to
    fun newroot_callback() {
        text = create_text(message, 0.5, 0.5 - text_height_adj());
    }

    Plymouth.SetRootMountedFunction(newroot_callback);

will draw the title only after the root is set (to whatever root it is, i don't really know whats happening there).
Drawback is that there is this tiny delay before it shows up.

Also: Thanks for your effort.
I could also try to do it with dracut again, but I'm actually busy with exams rn, so might take some weeks.
(Procrastination will make me do it sooner probably)

Hi! Tried the new version, but didn't solve my problem. For some reason,  135 │ 00:00:04.489 ../plymouth-24.004.60/src/libply/ply-utils.c:549:ply_open_modu: Could not load module "/usr/lib/plymouth/label-pango.so": libcairo.so.2: cannot open shared object file: No such file or directory still occurs even though that library should be in the initramfs.

Will need to keep an eye out on that, I have a week of exams left before im able to work on this again (just like you) Thabks for providing me pointers.
I also learned that plymouth has a theme C API so I could use that instead, probably even implement the new chunk display boot screen 😎

I also learned that plymouth has a theme C API so I could use that instead, probably even implement the new chunk display boot screen 😎

oh hell yeah! Crossed my mind before but it just seemed way too complicated, still, am exited!
Maybe I'll also look into making a minecraft SDDM theme to completely lay out the way up to the desktop with minecraft experience.
Good luck with exams!

Just want to say that I love your enthusiasm for the whole Minecraft startup experience. Keep up the work and good luck for the exams!

I do not remember upgrading this package, but the font works now on boot! I believe this is related to me changing my HOOKS order in /etc/mkinitcpio.conf.
I changed the order of the following hooks, while testing out some stuff:
HOOKS=(base udev plymouth resume autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck)

I do not know the previous ordering.
Anyhow, my guess is that moving the modconf more to the left made it work. Don't have a VM right now to test this.

Hello again, I actually found the solution to my initial problem, which was: In a newer version of plymouth (which i had because I use Arch btw) label.so was replaced with the two other .sos, so I just downgraded the package from 24.004.60 to 23.360.11 and it worked!
(In the end my other PC boots even faster meaning I can only enjoy the theme for only half a second now, sad):

Hello again, I actually found the solution to my initial problem, which was: In a newer version of plymouth (which i had because I use Arch btw) label.so was replaced with the two other .sos, so I just downgraded the package from 24.004.60 to 23.360.11 and it worked!

Can you include those two .so files instead, I don't think this solution will last you that long due to binary incompatibility.

Ok, yes, it also works with label-pango.so and label-freetype.so, so everything actually works like it's supposed to :)


Update docs urls to new docs format

Context
The docs at docs.dragronruby.org have been updated to a new format.
Change
Quick sweep through the recipes section of the site, updating any docs urls that pointed to the old site, to the new url format.
Had to remove a section on array based sprite properties, but that's OK.

Thanks @brettchalupa ⭐


Improvement of the compilation of enums

Suggestion

🔍 Search Terms
enum, compile
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
An improved compiler for enums
📃 Motivating Example
I have an enum like this:
enum State {
  WAIT_FOR_OPEN_WEB_SOCKET,
  WAIT_FOR_REGISTER_RESPONSE,
  CONNECTED,
  DISCONNECTED,
}

And so does it compile:
var State;
(function (State) {
    State[State["WAIT_FOR_OPEN_WEB_SOCKET"] = 0] = "WAIT_FOR_OPEN_WEB_SOCKET";
    State[State["WAIT_FOR_REGISTER_RESPONSE"] = 1] = "WAIT_FOR_REGISTER_RESPONSE";
    State[State["CONNECTED"] = 2] = "CONNECTED";
    State[State["DISCONNECTED"] = 3] = "DISCONNECTED";
})(State || (State = {}));

It would save much code when it would get compiled this:
var State;
(function (State) {
    State[State[0] = "WAIT_FOR_OPEN_WEB_SOCKET"] = 0;
    State[State[1] = "WAIT_FOR_REGISTER_RESPONSE"] = 1;
    State[State[2] = "CONNECTED"] = 2;
    State[State[3] = "DISCONNECTED"] = 3;
})(State || (State = {}));

💻 Use Cases
Much smaller compiled code
I calculated how much characters it would save on an example from my code:

From 1177 to 849 characters (328 less or ~28% decrease)
var Event;
(function (Event) {
    Event[Event["DID_RECEIVE_SETTINGS"] = 0] = "DID_RECEIVE_SETTINGS";
    Event[Event["DID_RECEIVE_GLOBAL_SETTINGS"] = 1] = "DID_RECEIVE_GLOBAL_SETTINGS";
    Event[Event["KEY_DOWN"] = 2] = "KEY_DOWN";
    Event[Event["KEY_UP"] = 3] = "KEY_UP";
    Event[Event["WILL_APPEAR"] = 4] = "WILL_APPEAR";
    Event[Event["WILL_DISAPPEAR"] = 5] = "WILL_DISAPPEAR";
    Event[Event["TITLE_PARAMETERS_DID_CHANGE"] = 6] = "TITLE_PARAMETERS_DID_CHANGE";
    Event[Event["DEVICE_DID_CONNECT"] = 7] = "DEVICE_DID_CONNECT";
    Event[Event["DEVICE_DID_DISCONNECT"] = 8] = "DEVICE_DID_DISCONNECT";
    Event[Event["APPLICATION_DID_LAUNCH"] = 9] = "APPLICATION_DID_LAUNCH";
    Event[Event["APPLICATION_DID_TERMINATE"] = 10] = "APPLICATION_DID_TERMINATE";
    Event[Event["SYSTEM_DID_WAKE_UP"] = 11] = "SYSTEM_DID_WAKE_UP";
    Event[Event["PROPERTY_INSPECTOR_DID_APPEAR"] = 12] = "PROPERTY_INSPECTOR_DID_APPEAR";
    Event[Event["PROPERTY_INSPECTOR_DID_DISAPPEAR"] = 13] = "PROPERTY_INSPECTOR_DID_DISAPPEAR";
    Event[Event["SEND_TO_PLUGIN"] = 14] = "SEND_TO_PLUGIN";
    Event[Event["SEND_TO_PROPERTY_INSPECTOR"] = 15] = "SEND_TO_PROPERTY_INSPECTOR";
})(Event || (Event = {}));

var Event;
(function (Event) {
    Event[Event[0] = "DID_RECEIVE_SETTINGS"] = 0;
    Event[Event[1] = "DID_RECEIVE_GLOBAL_SETTINGS"] = 1;
    Event[Event[2] = "KEY_DOWN"] = 2;
    Event[Event[3] = "KEY_UP"] = 3;
    Event[Event[4] = "WILL_APPEAR"] = 4;
    Event[Event[5] = "WILL_DISAPPEAR"] = 5;
    Event[Event[6] = "TITLE_PARAMETERS_DID_CHANGE"] = 6;
    Event[Event[7] = "DEVICE_DID_CONNECT"] = 7;
    Event[Event[8] = "DEVICE_DID_DISCONNECT"] = 8;
    Event[Event[9] = "APPLICATION_DID_LAUNCH"] = 9;
    Event[Event[10] = "APPLICATION_DID_TERMINATE"] = 10;
    Event[Event[11] = "SYSTEM_DID_WAKE_UP"] = 11;
    Event[Event[12] = "PROPERTY_INSPECTOR_DID_APPEAR"] = 12;
    Event[Event[13] = "PROPERTY_INSPECTOR_DID_DISAPPEAR"] = 13;
    Event[Event[14] = "SEND_TO_PLUGIN"] = 14;
    Event[Event[15] = "SEND_TO_PROPERTY_INSPECTOR"] = 15;
})(Event || (Event = {}));

From 849 to 569 characters (280 less or ~33% decrease) (on minified code)
var E;!function(E){E[E.DID_RECEIVE_SETTINGS=0]="DID_RECEIVE_SETTINGS",E[E.DID_RECEIVE_GLOBAL_SETTINGS=1]="DID_RECEIVE_GLOBAL_SETTINGS",E[E.KEY_DOWN=2]="KEY_DOWN",E[E.KEY_UP=3]="KEY_UP",E[E.WILL_APPEAR=4]="WILL_APPEAR",E[E.WILL_DISAPPEAR=5]="WILL_DISAPPEAR",E[E.TITLE_PARAMETERS_DID_CHANGE=6]="TITLE_PARAMETERS_DID_CHANGE",E[E.DEVICE_DID_CONNECT=7]="DEVICE_DID_CONNECT",E[E.DEVICE_DID_DISCONNECT=8]="DEVICE_DID_DISCONNECT",E[E.APPLICATION_DID_LAUNCH=9]="APPLICATION_DID_LAUNCH",E[E.APPLICATION_DID_TERMINATE=10]="APPLICATION_DID_TERMINATE",E[E.SYSTEM_DID_WAKE_UP=11]="SYSTEM_DID_WAKE_UP",E[E.PROPERTY_INSPECTOR_DID_APPEAR=12]="PROPERTY_INSPECTOR_DID_APPEAR",E[E.PROPERTY_INSPECTOR_DID_DISAPPEAR=13]="PROPERTY_INSPECTOR_DID_DISAPPEAR",E[E.SEND_TO_PLUGIN=14]="SEND_TO_PLUGIN",E[E.SEND_TO_PROPERTY_INSPECTOR=15]="SEND_TO_PROPERTY_INSPECTOR"}(E||(E={}));

var E;!function(E){E[E[0]="DID_RECEIVE_SETTINGS"]=0,E[E[1]="DID_RECEIVE_GLOBAL_SETTINGS"]=1,E[E[2]="KEY_DOWN"]=2,E[E[3]="KEY_UP"]=3,E[E[4]="WILL_APPEAR"]=4,E[E[5]="WILL_DISAPPEAR"]=5,E[E[6]="TITLE_PARAMETERS_DID_CHANGE"]=6,E[E[7]="DEVICE_DID_CONNECT"]=7,E[E[8]="DEVICE_DID_DISCONNECT"]=8,E[E[9]="APPLICATION_DID_LAUNCH"]=9,E[E[10]="APPLICATION_DID_TERMINATE"]=10,E[E[11]="SYSTEM_DID_WAKE_UP"]=11,E[E[12]="PROPERTY_INSPECTOR_DID_APPEAR"]=12,E[E[13]="PROPERTY_INSPECTOR_DID_DISAPPEAR"]=13,E[E[14]="SEND_TO_PLUGIN"]=14,E[E[15]="SEND_TO_PROPERTY_INSPECTOR"]=15}(E||(E={}));

Duplicate of #46684 / #19848. Used search terms: enum emit in:title

See also #34983
The reason this isn't just a straight "go do it" is that enum initializers are allowed to be expressions (including non-pure expressions), so you have to trade off the consistency of enums always being generated the same way.


[zigzag] Stop sending cursor events to invisible node.

With current implementation, cursor events are sent to invisible node.

In current implementation, zigzag_node_contains_point returns false for invisible nodes, so no event is sent to those nodes. We need to tackle that problem after #295 is merged (since a node will no longer be able to tells whether it is shown just by checking visible of the node itself).


Windows documentation suggestions taken from mtawa002 pull request.

Note: The pull request is out of sync with master so only the changes that were easy to find were taken.
The change also includes a formatting that removes extra whitespace.

Merged branch.


Spike: a11y errors on the preview

Related to #75
form-js-branch: https://github.com/bpmn-io/form-js/tree/a11y-errors-viewer
Demo: https://75-spike-a11y-errors--camunda-form-playground.netlify.app/

 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.Niklas Kiefer 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.


Unable to read object larger than read buffer:<PHONE_NUMBER>

Hi,
checking my server's logs, I see a lot of exceptions of this type:
com.esotericsoftware.kryonet.KryoNetException: Unable to read object larger than read buffer:<PHONE_NUMBER>
at com.esotericsoftware.kryonet.TcpConnection.readObject(TcpConnection.java:118)
at com.esotericsoftware.kryonet.Server.update(Server.java:198)
at com.betalord.sgx.network.ServerProcessor.run(ServerProcessor.java:90)
at java.base/java.lang.Thread.run(Thread.java:834)
Now I use default constructor for server and for client, so the object buffer size is 2048 (default). I don't think I send any big objects over the network, they shouldn't be bigger than 1 KB I believe (but could be wrong). However, 1 GB as in given example is just absurd, so there must be some kind of a bug in kryonet that's causing it. From the logs I see I get different values, for example:
369295616
1195725856
369295616
50331695
1195725856
369295616
1431520594
50331695
50331686
1195725856
50331695
50331695
50331695
1212498244
1195725856
and so on.
Any idea on what is going on?

Using Log.TRACE() from minlog can help you debug and see what kind of object is causing this problem.
My guess is that you have a circular dependency (A has B as a property, but B also has A as a property).


Neovim support

Hi, This plugin is wonderful. Do you have any plans to support Neovim too?

Yes please! This plugin on vim/ neovim would be a blessing.
People from the community already saw it and they seem to want it badly: https://www.reddit.com/r/neovim/comments/12q7atv/pretty_errors_plugin_like_this/?utm_source=share&utm_medium=ios_app&utm_name=ioscss&utm_content=1&utm_term=1

You can use https://www.npmjs.com/package/pretty-ts-errors-lsp for now to build PoC for other IDEs.

@johnsoncodehk May I ask a question? Does pretty-ts-errors-lsp run on hover trigger?

In VSCode plugin it's run on onDidChangeDiagnostics, and then get on hover trigger.
FYI: https://github.com/johnsoncodehk/pretty-ts-errors/blob/dff54f1425721beb0aa534d5a17a0ef7ffecd412/src/extension.ts#L38

I tried it with coc.nvim. Although the appearance is a bit concerning, I confirmed that it works. (It might be a client-side issue)

One thing that concerns me is that when I look at the trace log, it seems like the result is being output as standard output.

Trace Log
[Trace - 21:58:37.812] Sending response 'workspace/configuration - (6)'. Processing request took 1ms
Result: [
    null
]

[Trace - 21:58:37.820] Received response 'textDocument/inlayHint - (3)' in 33ms.
Result: []

⚠ Error
(TS2322)

  |

Type

  ```type
   number

 is not assignable to type

 string

[Trace - 21:58:37.828] Received notification 'textDocument/publishDiagnostics'.
Params: {
  // ...snip
}
```

Could you provide the configuration for using with coc.nvim ? I use the default neovim lsp and I want to port a version

It should be entirely just logic in the language client, I'm not sure why it would affect the LSP trace.

@cherryramatisdev I think johnsoncodehk's  tweet would be helpful as a reference.
https://twitter.com/johnsoncodehk/status/1648228278149455872

@yaegassy Are you using @volar-plugins/pretty-ts-errors or building a client plugin based on pretty-ts-errors-lsp?

@johnsoncodehk I tried with @volar-plugins/pretty-ts-errors.

For @volar-plugins/pretty-ts-errors, in VSCode it also needs to set isTrusted and supportHtml in the language client middleware. I'm not sure if coc supports it. https://github.com/volarjs/volar.js/blob/5ae44d90936045b92ad9debcfb9ae952bb311fb8/packages/vscode/src/index.ts#L27-L28

@yaegassy please update @volar-plugins/pretty-ts-errors to 2.0.0-alpha.23-patch.2, it should fixed the logging issue.

@johnsoncodehk I checked that the issue with the log has been resolved!
Just one more thing, please allow me to confirm for the sake of being thorough. This is regarding the Markdown content of the hover response. Is there any additional processing required for "quotes" or anything else?
[Trace - 23:01:20.856] Received response 'textDocument/hover - (14)' in 4ms.
Result: {
    "contents": {
        "kind": "markdown",
        "value": "```typescript\n(property) name: string\n```\n\n---\n\n⚠ Error\n(TS2322) \n\n  \n  \n  | \n\n  \n  \n\n\n\n\n\nType \n\n\n  ```type\n   number \n  ```\n\n\n is not assignable to type \n\n\n  ```type\n   string \n  ```\n\n\n\n"
    },
    "range": {
        "start": {
            "line": 4,
            "character": 15
        },
        "end": {
            "line": 4,
            "character": 19
        }
    }
}

Bump. Would love this in NeoVim 🙏🏻

I started the migration to a monorepo and now I'm exporting a formatting function that can be customizable. I would be happy to test it and try to make it work with Neovim.
Are you willing to help via Discord? @yaegassy @cherryramatisdev

Don't know if you still need help with this @yoavbls but I'm available!

Hi @yoavbls. Do you have any thoughts or advice on how a neovim plugin should be structured?
I briefly experimented trying to create one a few months back, but wasn't sure how to nicely render the final text produced by pretty-ts-errors. Do you think it's feasible to have pretty-ts-errors output in a markdown format? Then we can easily render it in neovim (or any other editor that supports markdown) with all that markdown has to offer (syntax highlighting, concealed hyperlinks, etc)

This issue inspired me to build https://github.com/piersolenski/wtf.nvim - which uses the power of AI to both better explain Typescript errors and give you custom tailored solutions. The best part is it actually works with any language with LSP support, and any level of diagnostic message. For those who don't want to use AI, it also allows you to open a search for diagnostic messages in your favourite resources such as Google, Stack Overflow, Github Issues etc - and I plan to support other sources soon!

Bump!

How do we go about adding this to volar with lsp-config?
        volar = {
          filetypes = { 'javascript', 'typescript', 'vue' }, -- enable takeover mode for js files - https://github.com/johnsoncodehk/volar/discussions/471
        },

I'm still looking for some help here.
Is most of the TypeScript developers in Neovim is working with coc-volar of @yaegassy?
If so I'll just work on creating an official service and guide for volar.js

I suspect that most TS devs using neovim are using the built-in LSP with typescript.nvim or typescript-tools.nvim, but I don't know for sure.

I'm still looking for some help here. Is most of the TypeScript developers in Neovim is working with coc-volar of @yaegassy? If so I'll just work on creating an official service and guide for volar.js

maybe most of user just use tsserver with built-in lsp

Personally, I'm using COC atm. Want to refactor my setup but that's besides the point.

Personally, I'm using COC atm. Want to refactor my setup but that's besides the point.

if you want, you can copy my config here: https://github.com/nfwyst/perfect-neovim-config/blob/main/lua/plugins/lsp/config.lua, im using lazy.nvim, its very fast!

if you want, you can copy my config

I like the structure. I'll probably take some inspiration from this! Thanks!

+1, I hope this comes to something like LazyVim, I didn't get anything from above working yet

I have been using this is vs code before moving to neovim and I dearly miss it would love this to come to neovim and I will be glad to help

@yaegassy Hi! I tried pretty-ts-errors-lsp in coc-tsserver and got the HTML response. I think the key factor to let it work with coc.nvim is how to make the formatted HTML code show correctly in the diagnostics panel. I have tried some HTML-to-MD packages like turndown, but they are not ideal.
Could you please give me some suggestions?

https://github.com/hexh250786313/pretty-ts-errors-markdown
I created a package based on pretty-ts-errors that converts the HTML output of pretty-ts-errors into markdown. Additionally, I added CLI functionality that can accept standard input from the command line. I hope this package will simplify the process of integrating pretty-ts-errors support for neovim or other IDEs capable of rendering markdown format.
Moreover, for coc.nvim users, I have created an extension based on the aforementioned pretty-ts-errors-markdown. As I mentioned, it relies on markdown rendering, which, while not as perfect as HTML rendering, is sufficient.
https://github.com/hexh250786313/coc-pretty-ts-errors

I created a package based on pretty-ts-errors that converts the HTML output of pretty-ts-errors into markdown.

Have you on purpose disabled issues in your project? I would like to make a suggestion there (to expose helper function to convert just the message).

@rchl My mistake, you can now raise an issue. Thank you for your feedback.

1; really need this on Noevim

I'm not sure if it's mentioned but ts-error-translator.nvim plugin written by @dmmulroy works pretty good.


Is mhchem.js in extensions/TeX/ functioning ?

I saw this in the directory but I can't use /ce{} so I would like to ask if this extension being activated?
If not, is there any way to enable it?

By default it's not activate it, but it's fairly easy to do it yourself.

Exit Atom;
Enter ~/.atom/packages/ever-notedown/lib/
Open mathjax-helper.coffee with a text editor
Find these lines (currently #185):

    TeX: {
      #equationNumbers: { autoNumber: "AMS" }
      extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
      Macros: macros
    }

In the "extensions" part, add the extension you would like to enable, like this:

    TeX: {
      #equationNumbers: { autoNumber: "AMS" }
      extensions: ["mhchem.js", "AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
      Macros: macros
    }

Restart Atom

P.S. I just did some quick test myself using examples from https://mhchem.github.io/MathJax-mhchem/ and had encountered a few minor issues. For example, these following formulas are not displaying correctly:

$\ce{A ->[$x$][$x_i$] B}$
$\ce{A ->[H2O] B}$
$C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}$

I think there are still some parsing problems. But mathjax in this package in general has a lot of parsing problems anyway...


Source resolver s3

Adds support to pull code from a S3-like object storage

Codecov Report

Merging #420 into master will decrease coverage by 0.99%.
The diff coverage is 12.34%.

@@            Coverage Diff             @@
##           master     #420      +/-   ##
==========================================
- Coverage   67.08%   66.09%   -1.00%
==========================================
  Files          85       85
  Lines        3625     3690      +65
==========================================
+ Hits         2432     2439       +7
- Misses        907      962      +55
- Partials      286      289       +3

Impacted Files
Coverage Δ

pkg/apis/build/v1alpha1/source_resolver.go
8.69% <ø> (+2.63%)
:arrow_up:

pkg/apis/build/v1alpha1/source_types.go
44.13% <0.00%> (-23.39%)
:arrow_down:

pkg/reconciler/sourceresolver/sourceresolver.go
43.63% <0.00%> (-2.52%)
:arrow_down:

pkg/apis/build/v1alpha1/image_validation.go
90.78% <61.53%> (-6.14%)
:arrow_down:

pkg/blob/fetch.go
56.25% <66.66%> (+0.46%)
:arrow_up:

...erimental/v1alpha1/custom_cluster_builder_types.go
0.00% <0.00%> (ø)

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 520fadc...fc5f4b5. Read the comment docs.

Thank you for this PR! We'll look at this and get back soon.

@mtatheonly
Could you explain a little about your use case for this PR:

How would you use this S3 source type? Would the other source types solve your use case?
Do you consider this feature a must-have to use kpack?
Anything else you'd like to share about how you're using kpack

We opened an issue to track our team's discussions about this feature: https://github.com/pivotal/kpack/issues/429
Our initial thought about this:
The s3 creds (access key and secret key) should be accessed via Secrets in this resolver (meaning the user would have to create this Secret with s3 creds before creating an Image with this source type). There is some precedent for this in the pkg/git  package here.

Hello @tylerphelan,
I'm helping other team at work and they are evolving a image build service. Today they use s2i and other tools to build images and I already used buildpacks with Heroku and saw a chance to use CNCF buildpacks. Once we have a wish of using k8s clusters to build the images, I thought that kpack would be a great option.

How would you use this S3 source type? Would the other source types solve your use case?

I thought of uploading source code to a bucket on a s3-based object storage and using the uploaded file to build the images. I know that we can generate direct links (blob source) to bucket objects, but that link has an expiration and we have to keep that source for audit reasons. A part of projects resides in git repositories (so git source would suffice) but we have ongoing projects using other VCS, so S3 source type would be a great feature for us.

Do you consider this feature a must-have to use kpack?

As I said, it  would be great to have this feature, but not blocking.

The s3 creds (access key and secret key) should be accessed via Secrets in this resolver (meaning the user would have to create this Secret with s3 creds before creating an Image with this source type).

Agreed. I was already thinking about that would be safer to keep the access key and secret key within secrets. I'll try to make appropriate changes in PR.

Hi @mtatheonly!

I thought of uploading source code to a bucket on a s3-based object storage and using the uploaded file to build the images. I know that we can generate direct links (blob source) to bucket objects, but that link has an expiration and we have to keep that source for audit reasons. A part of projects resides in git repositories (so git source would suffice) but we have ongoing projects using other VCS, so S3 source type would be a great feature for us.

The need to provide source to kpack from other source types make a lot of sense. We usually recommend actually utilizing the registry source as alternative to git. This involves uploading the application source itself to the registry. (By doing this we can even leverage some performance benefits the registry can provide).
I know it is a bit tricky to upload application source to a registry but, going forward we are looking to improve the kpack tooling to make it easier.  Would you be interested in exploring that as an alternative to s3?

@mtatheonly
Could you explain a little about your use case for this PR:
* How would you use this S3 source type? Would the other source types solve your use case?

* Do you consider this feature a must-have to use `kpack`?

* Anything else you'd like to share about how you're using `kpack`

We opened an issue to track our team's discussions about this feature: #429
Our initial thought about this:
The s3 creds (access key and secret key) should be accessed via Secrets in this resolver (meaning the user would have to create this Secret with s3 creds before creating an Image with this source type). There is some precedent for this in the pkg/git package here.

Just pushed the code to configure accesskey/secretkey with k8s secrets =)

Hi @mtatheonly!

I thought of uploading source code to a bucket on a s3-based object storage and using the uploaded file to build the images. I know that we can generate direct links (blob source) to bucket objects, but that link has an expiration and we have to keep that source for audit reasons. A part of projects resides in git repositories (so git source would suffice) but we have ongoing projects using other VCS, so S3 source type would be a great feature for us.

The need to provide source to kpack from other source types make a lot of sense. We usually recommend actually utilizing the registry source as alternative to git. This involves uploading the application source itself to the registry. (By doing this we can even leverage some performance benefits the registry can provide).
I know it is a bit tricky to upload application source to a registry but, going forward we are looking to improve the kpack tooling to make it easier. Would you be interested in exploring that as an alternative to s3?

Sorry for the delay =|
I think it is kind of weird to create a image with source in order to create an application image.


Update error alert when AZ loading fails and AZ is not mandatory field

When an AZ field is not mandatory and if the loading of AZ fails.

Show alert type in orange instead of red.
add hint that to alert -> This Availability Zone is not a mandatory field. You can proceed without this, and the service will be deployed on one of the availability zones of the regions by default.

let me do it


v2.0 error: resource dimen/md_content_textsize not found

v2.0 error: resource dimen/md_content_textsize not found

That dimension doesn't exist in this repository anymore and is not used in this repository so I'm not sure what this issue is for.


tabix Error [E::hts_idx_push] chromosome blocks not continuous

Hi @chapmanb ,
I think I tracked down this error message which I reported before on #613 .
It turns out that what happens is exactly what the message says ...
Briefly, the pipeline sorts the bed file by chromosome and position. However, for some reason they are not sorted properly on the chromosome name. Using the sort command of the pipeline I am getting this which is not sorted properly by chromosome, which means that "chromosome blocks not continuous"
[ipedroso@jimi work]$ sort -k1,1 -k2,2n 1_2014-09-26_populus_trichocarpa_diversity_1-sort-callable-callableblocks.bed | grep scaffold_104
scaffold_1040   1586    2955
scaffold_104    0       242
scaffold_1040   566     606
scaffold_1040   709     1271
scaffold_1040   3113    5047
scaffold_1040   5177    6391
scaffold_1040   6502    13319
scaffold_104    2774    3373
scaffold_104    14249   16134
scaffold_104    16283   16356
scaffold_104    16478   42093
scaffold_1043   0       203
scaffold_1043   342     551
scaffold_1043   867     985
scaffold_1043   1182    2397
scaffold_1043   2509    3187
scaffold_1043   3553    11938
scaffold_1043   12773   12835
scaffold_104    421     456
scaffold_104    3529    4705
scaffold_104    4825    4939
scaffold_104    5546    5668
scaffold_104    5904    7718
scaffold_104    42225   44057
scaffold_104    44182   44766
scaffold_104    68438   68580
scaffold_104    68726   69439
scaffold_1047   105     559
scaffold_104    73523   73694
scaffold_104    75867   75954
scaffold_1047   677     2510
scaffold_1047   2634    2982
scaffold_1047   3364    12767
scaffold_1047   12871   13201
scaffold_104    8097    8805

I found here https://www.biostars.org/p/64687/ that using the  V option on the sort would solve the problem
[ipedroso@jimi work]$ sort -k1,1V -k2,2n 1_2014-09-26_populus_trichocarpa_diversity_1-sort-callable-callableblocks.bed | grep scaffold_104
scaffold_104    140844  142121
scaffold_104    142240  145935
scaffold_104    146082  146515
scaffold_1040   566     606
scaffold_1040   709     1271
scaffold_1040   1586    2955
scaffold_1040   3113    5047
scaffold_1040   5177    6391
scaffold_1040   6502    13319
scaffold_1043   0       203
scaffold_1043   342     551
scaffold_1043   867     985
scaffold_1043   1182    2397
scaffold_1043   2509    3187
scaffold_1043   3553    11938
scaffold_1043   12773   12835
scaffold_1047   105     559
scaffold_1047   677     2510
scaffold_1047   2634    2982
scaffold_1047   3364    12767
scaffold_1047   12871   13201

and it actually works :), see example below
[ipedroso@jimi work]$ sort -k1,1 -k2,2n 1_2014-09-26_populus_trichocarpa_diversity_1-sort-callable-callableblocks.bed > bed.bed
[ipedroso@jimi work]$ bgzip -c bed.bed > bed.bed.gz
[ipedroso@jimi work]$ tabix -f -p bed bed.bed.gz
[E::hts_idx_push] chromosome blocks not continuous
tbx_index_build failed: bed.bed.gz

and with the V option added
sort -k1,1V -k2,2n 1_2014-09-26_populus_trichocarpa_diversity_1-sort-callable-callableblocks.bed > bed.bed
bgzip -c bed.bed > bed.bed.gz
tabix -f -p bed bed.bed.gz

The BioStart post says that it may not work on all sort installations so I am not sure how this will work on every installation.

Hello,
I have received the same error message when i have tried to index bam file. The bam file have been made by CrossMap from hg19 bam file to hg38. I have overcome trouble with headers, but the final bam file cannot be indexed for proper use. Still getting message [E::hts_idx_push] chromosome blocks not continuous. Any suggestions? Thanks. B

Is this referring to usage/indexing with bcbio? If you're having a general problem with CrossMap or samtools indexing the htslib ((http://www.htslib.org/) or CrossMap folks (http://crossmap.sourceforge.net/#contact) would be more able to help. My guess is you need to sort the BAM file after running CrossMap.

I have tried to sort bam file after CrossMap. No help at all.

It's a little strange here, my sort version is 8.22 and only sort -k 1,1 -k2,2n works for me, rather thansort -k 1,1V -k2,2n :
sort (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and Paul Eggert.

$ tabix -p vcf xxx.PASS.mac1.vcf.gz
[E::hts_idx_push] Chromosome blocks not continuous
tbx_index_build failed: xxx.PASS.mac1.vcf.gz
How should I operate on a VCF file?

I have resolved this issue.
zcat xxx.PASS.vcf.gz |grep "^#" >xxx.PASS.vcf.gz.header
zcat xxx.PASS.vcf.gz |grep -v "^#" >xxx.PASS.vcf.gz.record
sort -k 1,1V -k2,2n xxx.PASS.vcf.gz.record >xxx.PASS.vcf.gz.record.sort
cat xxx.PASS.vcf.gz.header xxx.PASS.vcf.gz.record.sort |bgzip -c >xxx.PASS.sort.vcf.gz
tabix -p vcf xxx.PASS.sort.vcf.gz


better filestack performance

This PR overhauls both stack load and compile time. It uses type-unstable vectors for as long as possible at load to avoid compiling lots of functions on huge tuples.
The 130 layer stack in the tests now takes ~6 seconds to load the first time, and 0.5 seconds after that. getindex after using open is now essentially the same as using NCDatasets or GRIBDatasets directly.
We should encourage using open(st) do st blocks as much as possible for lazy=true stacks, its much faster now.
Closes #226
(Sorry this took 2 years @maxfreu :sweat_smile: )

Thanks for improving this! But you shouldn't work so long on Sundays ;-)

Not to worry, github tells me I have enjoyed eleven entire, healthy, commit-free Sundays in just the last year alone!


[Bug]: Browse annotations for data attributes returns empty column

Steps to reproduce the bug
1. Go to browse annotations and select a data attribute that has values
2. Click submit to show the table
3. The object attribute column is always empty, even when it should have data

Screenshot

Expected behavior
I expect the data attribute to show up in the empty column
Additional Screenshots
No response
Environment
Sandbox, Development (native)
Sandbox Used
No response
Version
f40a4eb38
Browser Used
brave (chromium)

Object attribute is not an attribute of DataAtttribute, it's only present when used in AlternateValues. Because we can append records to the report we include the column here.


docs：polished the readme docs

perfect the sample documentation for Spring Cloud Alibaba Sidecar
Describe what this PR does / why we need it
Parts of https://github.com/alibaba/spring-cloud-alibaba/issues/2485 works.
Does this pull request fix one issue?
Some examples of spring cloud alibaba sidecar
Describe how you did it
Describe how to verify it
Special notes for reviews

 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.chengyinhui 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.

@cevencheng   Please sign Contributor License Agreement

tributor License Agree

Okay，I submitted a new pr https://github.com/alibaba/spring-cloud-alibaba/pull/2751


encode + parse

In packages/core/src/token.ts, we have this parse function, that throws an error Expected JWT format: 3 dot-separated base64url-encoded values:
export function parse(encodedUcan: string): UcanParts {
  const [ encodedHeader, encodedPayload, signature ] = encodedUcan.split(".")

  if (encodedHeader == null || encodedPayload == null || signature == null) {
    throw new Error(`Can't parse UCAN: ${encodedUcan}: Expected JWT format: 3 dot-separated base64url-encoded values.`)
  }

But in encode.ts, we have this encode function, that returns two dot separated segments:
/**
 * Encode a UCAN.
 *
 * @param ucan The UCAN to encode
 */
export function encode(ucan: Ucan<unknown>): string {
  return `${ucan.signedData}.${ucan.signature}`
}

Does the parse function need updating? (yarn run test failed on my machine)

It shouldn't fail because of that. ucan.signedData is initialized to a string containing a dot:
https://github.com/ucan-wg/ts-ucan/blob/6fad15027523846a2a427ed2e74f34a699cfd79d/packages/core/src/token.ts#L148

What's the error you get when you yarn run test?

ts-ucan main % yarn run test
PASS tests/semver.test.ts
PASS tests/capability.test.ts

Test Suites: 2 passed, 2 total
Tests:       10 passed, 10 total
Snapshots:   0 total
Time:        0.587 s, estimated 1 s
Ran all test suites.
FAIL tests/ed25519.test.ts
  ● Test suite failed to run

    src/ed25519/plugin.ts:1:30 - error TS2307: Cannot find module '@ucans/core' or its corresponding type declarations.

    1 import { DidKeyPlugin } from "@ucans/core"
                                   ~~~~~~~~~~~~~

FAIL tests/ecdsa.test.ts
  ● Test suite failed to run

    src/p256/plugin.ts:1:30 - error TS2307: Cannot find module '@ucans/core' or its corresponding type declarations.

    1 import { DidKeyPlugin } from "@ucans/core"
                                   ~~~~~~~~~~~~~

FAIL tests/rsa.test.ts
  ● Test suite failed to run

    src/rsa/plugin.ts:1:30 - error TS2307: Cannot find module '@ucans/core' or its corresponding type declarations.

    1 import { DidKeyPlugin } from "@ucans/core"
                                   ~~~~~~~~~~~~~

Test Suites: 3 failed, 3 total
Tests:       0 total
Snapshots:   0 total
Time:        1.481 s
Ran all test suites.
error Command failed with exit code 1.
error Command failed.
Exit code: 1
Command: /usr/local/bin/node
Arguments: /Users/nick/.node/corepack/yarn/1.22.15/lib/cli.js test
Directory: /Users/nick/code/ts-ucan/packages/default-plugins
Output:

error Command failed with exit code 1.

ucan.signedData is initialized to a string containing a dot

That's actually my confusion here. It is a string containing a single dot, but the error message says

3 dot-separated base64url-encoded values

For the tests, you must do npm run build (or yarn run build) first, so never mind about that; they passed for me.

ucan.signedData is initialized to a string containing a dot

That's actually my confusion here. It is a string containing a single dot, but the error message says

3 dot-separated base64url-encoded values

Read over my messages and the code above again :) : ucan.signedData contains a dot, and finally it gets combined with a dot and ucan.signature, which gives you a three-dots string.

Got it thanks!


Fix signal handler

I guess that a different program design will be needed for your function "SignalIntHandler".

The variable "g_quit" should use the data type "sig_atomic_t" (instead of "bool").
Will it be safer to omit the logging call there?

g_quit will eventually become true, so i think it need not to be sig_atomic_t.

I find this kind of feedback strange. How do you think about to check information sources for the safe data exchange with signal handlers once more?


Output error from GitHub instead of just 403

We had some error which we couldn't resolve without this.

New output:

Hello @hermanbanken, thanks for the PR! Happy to get this merged. Are you able to fix the linting issue? Running npm run format:fix should do it.

The message has been changed as part of #371.

Thanks!


Simplify chain info queries and always use separate GRPC queries to download blobs and certificates

unclear what happens for tests in linera-core


Avoid jpath in example

Fixes https://github.com/scala/scala3/issues/20591
[skip ci]

I wouldn't do it that way, since the path is available as a string. But I'm not one to stand in the way of anything.

Yeah I guess others might prefer to fail at runtime if you require the path to exist.


GET input schema verification is by definition disabled

Should it be?
There is a huge discussion on this topic:
https://stackoverflow.com/questions/978061/http-get-with-request-body
Yes. In other words, any HTTP request message is allowed to contain a message body, and thus must parse messages with that in mind. Server semantics for GET, however, are restricted such that a body, if any, has no semantic meaning to the request. The requirements on parsing are separate from the requirements on method semantics.
So, yes, you can send a body with GET, and no, it is never useful to do so.
This is why we need QUERY.
https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html

Also here.
https://github.com/postmanlabs/postman-app-support/issues/131

And finally - Chromium won't work.
https://groups.google.com/a/chromium.org/g/blink-reviews/c/dJxBVhdg0G8
This means this discussion is a no-go.


NavMesh.destroy enters a infinitie loop

Calling NavMhes.destroy will enter an infinite loop, I think the offending lines are:

phaser-navmesh.js line 195 which invokes
phaser-navmesh-plugin.js line 67, which invokes
phaser-navmesh-plugin.js line 69, which in turn invoked function at step 1

Commenting out the function invokation at point 3 (this line), solves this problem, but I do not know if it has any side-effects.

By the way, I actually encountered this problem while exploring a work-around for dynamically adding navmesh polygons to a mesh which seems to not be possible ATM. Is it? If not, it would make a great addition!

Ah, thanks for doing the detective work and reporting this! This definitely looks like a bug. It probably makes sense for removeMesh to simply just remove the mesh - no need to destroy the mesh as well.
As for dynamically adding, are you thinking along the lines of destructible walls where you'd want to be able to add or remove polygons mid-game? It might require a bit of recoding so that the calculation can be done without tanking the frame rate, but it does sound like a worthwhile addition. Happy to accept a PR on it.

Should be fixed & published now. I'm going to close this issue, but feel free to respond here or open a new issue about dynamic navmeshes.

@mikewesthad Thanks for the quick fix, it works as intended!
Regarding dynamically manipulating the navmesh, my usecase is building a live editor, but another scenario would be for example a RTS, where if you add a building, that spot should be removed (a hole should be added). This feature is supported by recast.js for example.
If I get the time, I will look into sending you a PR, not sure I have the velocity to inject myself into another project at the moment though :)


Behavior changes on Hyprland v0.42.0

Issue Description
I just updated from Hyprland v0.41.2 to v0.42.0, and the behavior of hyprland-workspaces _ seems to have changed.
Output before: Only workspaces that are active or have windows on them are output
[{"name":"HDMI-A-1","workspaces":[{"active":true,"class":"workspace-button w1 workspace-active wa1","id":1,"name":"1"}]},{"name":"DP-1","workspaces":[{"active":false,"class":"workspace-button w11","id":11,"name":"11"}]}]

Output after: All (registered?) workspaces are output
[{"name":"HDMI-A-1","workspaces":[{"active":true,"class":"workspace-button w1 workspace-active wa1","id":1,"name":"1"},{"active":false,"class":"workspace-button w2","id":2,"name":"2"},{"active":false,"class":"workspace-button w3","id":3,"name":"3"},{"active":false,"class":"workspace-button w4","id":4,"name":"4"},{"active":false,"class":"workspace-button w5","id":5,"name":"5"},{"active":false,"class":"workspace-button w6","id":6,"name":"6"},{"active":false,"class":"workspace-button w7","id":7,"name":"7"},{"active":false,"class":"workspace-button w8","id":8,"name":"8"},{"active":false,"class":"workspace-button w9","id":9,"name":"9"},{"active":false,"class":"workspace-button w10","id":10,"name":"10"}]},{"name":"DP-1","workspaces":[{"active":false,"class":"workspace-button w11","id":11,"name":"11"},{"active":false,"class":"workspace-button w12","id":12,"name":"12"},{"active":false,"class":"workspace-button w13","id":13,"name":"13"},"active":false,"class":"workspace-button w14","id":14,"name":"14"},{"active":false,"class":"workspace-button w15","id":15,"name":"15"},{"active":false,"class":"workspace-button w16","id":16,"name":"16"},"active":false,"class":"workspace-button w17","id":17,"name":"17"},{"active":false,"class":"workspace-button w18","id":18,"name":"18"},{"active":false,"class":"workspace-button w19","id":19,"name":"19"},"active":false,"class":"workspace-button w20","id":20,"name":"20"}]}]

Expected behavior
I would like to get the same output as on v0.41.2, as my EWW config relies on determining if there are windows on a workspace through the fact that hyprland-workspaces _ either outputs a workspace or doesn't. Alternatively, my closed PR #26, which I deemed unnecessary at the time, might actually be useful now.
Additional notes
I also use the split-monitor-workspaces plugin, which could also have something to do with this...?

Are you able to run hyprland without the plugin to see if that has an impact?
I am unable to test this myself just yet, waiting on Arch to promote 0.42 out of testing.

Just tested it without the plugin, and everything works as expected.
The plugin, just like hyprland-workspaces, has not changed in the last week. Something must have changed with the new Hyprland release and how it handles some stuff internally. I would imagine that using this plugin is not the only way to encounter behavior changes with hyprland-workspaces, but it certainly is one of them.
My best guess is that Hyprland behaves differently when registering workspaces. If I understood the code right, the plugin seems to do this internally with g_pCompositor->createNewWorkspace() (see this line). There is no Hyprland dispatcher that sounds similar, so I'm not sure how to manually reproduce this.

I've confirmed this isn't an issue with hyprland-workspaces & hyprland 0.42.
Looks like it was an issue with split-monitor-workspaces, see https://github.com/Duckonaut/split-monitor-workspaces/issues/116

Oh... thank you for your efforts, I'm sorry that I seem to have misidentified the origin of this issue.


✨feat: expand size of UDP buffer

Hi👋, thanks for your open source, it's really convenient for me to develop.
While using the program, I often encountered dns queries failing due to the small size of the UDP buffer.
This problem also caused several issues with the DNS library.
To avoid this, I added code to increase the size of the UDP buffer.
Errors I encountered

@mattiasgeniar can you review for this? 🥹

Sure I'll merge this one, didn't use it for the past 7rs or so :)

@mattiasgeniar 😂😂 But I'm using it well. thx you!


[AutomaticTodoList]: Add the X/Y position of the menu to the config so it can be moved around

What would you like to see added?
Title

was closed by #36


Include an image

I'd very much like to be able to save an image along with the rest of the data used to create the card, preferably saved as an attachment so that it will be used as the card cover.  Also, the image needs to be selectable - something like the way the button for Google Shortlists works.

Thumbed up, this plugin is almost perfect for our QA team but lacks the screenshot ability which is essential to issue tracking.

@aggieben @ShaneHowell I've made an extension (forked from here) for that:
https://chrome.google.com/webstore/detail/add-to-trello-with-captur/mbkonpbhmbkidgpaekikmnpbjacgfccb


Inbfk alignment

This PR address #1255 .
This has a dependent PR in ermrestjs which deals with creation of compact/brief/inline context and rendering custom list in case no annotation is defined.

Investigating test cases failure.

Merge conflicts were removed after CHAISE was updated with faceting code.


Add seamark:notice:orientation

Eventually we will want to have seamark notice orientation data in the db. Note: not crucial for proof-of-concept.

Should be fixed with 1468ad0. Data will be available after tonight's import.

I am missing something obvious.

The problem has been that one of the attributes on a seamark:notice, function, is a reserved word in SQL. The unexpected result is that the value of function has been getting through and appearing in the popup inspector but the next field in the query, orientation, disappeared with the error.
At a bit of a loss as to what the best thing to do is but for now I am replacing function with the S100 name, fnctnm. Will do the same in the handful of other queries that use function.
A similar problem arose with the use of the attribute name group, which I replaced with signal_group, and which I'll revisit and log somewhere.


It's possible to abort a non-started request

I am getting an exception like this:
TypeError: Cannot call method 'end' of undefined
at Request.end (node_modules/request/request.js:1372:12)
at Request.destroy (node_modules/request/request.js:1393:10)
at IncomingMessage.onclose (stream.js:87:50)
at IncomingMessage.emit (events.js:117:20)
at abortIncoming (http.js:1917:11)
at CleartextStream.serverSocketCloseListener (http.js:1928:5)
at CleartextStream.emit (events.js:117:20)
at tls.js:694:10
at process._tickDomainCallback (node.js:486:13)

So, by reading the code here:
Request.prototype.end = function (chunk) {
  ...
  if (!self._started) {
    self.start()
  }
  self.req.end()  // here
}

and here:
Request.prototype.start = function () {
  ...
  if (self._aborted) {
    return
  }

end will guard itself from not being started by using the _started flag.
however start won't do anything if _aborted is true.
and abort doesn't use _started, we end up with:

aborted a non-started request
destroy is called
end is called
end will call start
start won't do anything because it was aborted
end will crash because it wasn't started.

I will workaround this on my code by only calling abort() if _started is true unless you have a better idea.

Just for the record, the workaround to this problem is to wrap req.abort() in the following manner:
   if (req._started === true) {
       req.abort();
   }


Numbered list (1. 2. 3.) turns to letters (a. b. c.) on indent

For Feature Requests
Desired Feature: Numbered List (1. 2. 3.) turns to letters (a. b. c.) on indent
Expected Behavior
When using a numbered list (1. 2. 3. etc) using the increase indent should change numbers to letters (a. b. c. etc)
Current Behavior
When using the numbered list (1. 2. 3. etc) using the increase indent causes indented area to use numbers as well.

Would you accept a merge request for something like this?

related #688


Check for Available BMHs

There could be BMHs in other states and we should exclude those.

2023-12-26T01:12:39-0500 INFO Waiting for process with pid 7473 to finish.
2023-12-26T01:23:08-0500 DEBUG error: Curl error (28): Timeout was reached for http://mirror.its.dal.ca/pub/epel/9/Everything/x86_64/repodata/950dfaecea329378965c2bde2a96dc0aabec387c4246c9a52328e85a89bcd88d-primary.xml.gz [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds] (http://mirror.its.dal.ca/pub/epel/9/Everything/x86_64/repodata/950dfaecea329378965c2bde2a96dc0aabec387c4246c9a52328e85a89bcd88d-primary.xml.gz).

recheck

recheck


test: default switch persistence with remember_settings

References: #824
Feedback very welcome, I will try to take a look at a fix soon but wanted to start with a failing test case.

Cool thinking. The intended behaviour is that by setting enabled = true in the popup builder, that provides a default value being passed into lib.state.get() as the second arg. Putting in some print() calls shows me that this is working.
However, at some point in the pipe after that state is read, the switch.enabled value overrules the read state.
Removing enabled = true from the builder fixes things... but leaves us without a way to set the default value to "on".

Well... this was pretty simple, actually. The logic in lib.state.get() would do:
return value or default. So... if the value is false and the default is true, then it's always going to use the default.
I'll make a quick patch, then let's see about merging this PR :)

No notes, this looks great to me. We sorely need test coverage, so, I really appreciate stuff like this :)


Added Applies To section

Along this entire series of articles, the person who wrote them failed to mention that 99% of these so-called "windows universal" features are valid only for Windows 10, not Windows Phone 8.1. The W10 universe is definitely separated from the WP8.1 one, like the Marvel multiverses.

@mijacobs PR passed review checklist. Please evaluate the proposed changes further. Thanks!

Thanks for the feedback, andreszs. All of our UWP docs on docs.microsoft.com are Windows 10-only. We archived our Windows 8 docs. Rather than add a note to one article, we need to find a way to make that clear in all of our articles, so I'm declining this PR for now in the interest of creating a solution that works for all of our docs.


normal mode and insert mode confused

vscode-neovim the version 0.0.83 , when I in normal mode , the button show that I am in insert mode
only visual mode works correct
by the way , NVIM v0.7.0

somehow, I found it has not normal mode show.....

https://user-images.githubusercontent.com/10735783/147763292-7c6fc0fd-9f70-478b-9987-c2275659d2c3.mp4

see https://github.com/asvetliakov/vscode-neovim/issues/710#issuecomment-927909137
related to issue #270, #422

Fixed by #772


Azure API Management: policy: quota-by-key: renewal-period range

renewal-period does not allow values below 300. This is not mentioned in the documentation.

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

ID: 7def93b9-205e-0229-a2af-b326125b2902
Version Independent ID: eacdf54a-c463-df91-ba11-d1c905c44f3e
Content: Azure API Management policy reference - quota-by-key
Content Source: articles/api-management/quota-by-key-policy.md
Service: api-management
GitHub Login: @dlepow
Microsoft Alias: danlep

@itsmaryann
Thank you for bringing this to our attention.
I've delegated this to content author @dlepow, who will review it and offer their insightful opinions.

@dlepow
please review it.

Thanks for the feedback @itsmaryann! Testing the policy in the portal I confirm that values less than 300 aren't accepted for this attribute. I'll prepare a doc update to add this point.
Note that the renewal period can be set to 0 (for infinite period), but I found I could set this value only in the policy editor, not through the policy wizard.


d3.js link is not working in About section in bottom of home page

fixed by updating website link


Ubsan failure: Division by zero ShadowMap/Camera::inverseProjection

Describe the bug
When running ubsan, there is a divide-by-zero related to ShadowMap projection matrix calculation.
Stack:
runtime error: division by zero
filament::math::details::TMat44<float> filament::details::inverseProjection<float>(filament::math::details::TMat44<float> const&)
filament::Camera::inverseProjection(filament::math::details::TMat44<float> const&)
filament::details::FView::prepareCamera(filament::details::CameraInfo const&, filament::Viewport const&)
filament::details::ShadowMap::render(filament::backend::CommandStream&, filament::details::RenderPass&, filament::details::FView&)

This is the projection matrix (transposed during print), which is triggering the ubsan failure in Camera.cpp's inverseProjection, on const T B = 1 / p[1][1]
m[0] = < 28.498219, -28.498219, 0.000000, 0.000000 >
m[1] = < 0.000000, 0.000000, -31.798628, 0.000000 >
m[2] = < -28.498219, -28.498219, 0.000000, 0.000000 >
m[3] = < -0.000000, -2.849822, -0.877637, 1.000000 >

This matrix is computed by ShadowMap::computeShadowCameraDirectional, which constructs the model matrix with mat4::lookAt:
// lightPosition = < 0.000000, 0.000000, 0.000000 >
// dir = < 0.000000, -1.000000, 0.000000 >
const mat4f M = mat4f::lookAt(lightPosition, lightPosition + dir, float3{ 0, 1, 0 });

// M =
// < -1.000000, 0.000000, 0.000000, 0.000000 >
// < 0.000000, 0.000000, 1.000000, 0.000000 >
// < -0.000000, 1.000000, -0.000000, 0.000000 >
// < 0.000000, 0.000000, 0.000000, 1.000000 >

This rotation is propagated through the calculations, Mv -> LMpMv -> WLMpMv -> S, and then set as a custom projection on the camera.  In ShadowMap::render, FView::prepareCamera computes the inverse, which then fails ubsan.
To Reproduce
I unfortunately don't have an isolated repro, let me know if it's required.  I can also share an google-internal repro command privately.

wow. cool. thanks for finding/filing this.

@jwmcglynn  this is when running which test?

@pixelflinger This is for a Sceneform test


Issue with passing data from devices registered on production console through data only hotspots.

Are you using Helium hosted Console or running your own open source Console? helium

If you are on Helium hosted Console, which url are you currently on?  https://console.helium.com/

If you are experiencing bugs in Helium hosted Console, please specify your Organization name and Device ID (ex. 3483050b-284d-47e2-8eda-e087fc03a753).

Please describe your issue:
I have LPS8 Data only hotspot Daring Iron Monkey. Around Dec 21 2021 last time I was able to see processing data through sensor registered on production console using my Daring Iron Monkey.

Will be fixed in 2<IP_ADDRESS> via https://github.com/helium/router/pull/564


Get-Help -Online redirects to 404 page

Steps to reproduce
Update-Help -Force
Get-Help Get-ChildItem -Online

Expected behavior
A browser opens, at the page https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-5.1
Actual behavior
A browser opens, at the page http://technet.microsoft.com/library/hh847897(v=wps.630).aspx, which redirects to https://docs.microsoft.com/en-us/powershell/module/4.0/microsoft.powershell.core/providers/FileSystem-Provider/Get-ChildItem-for-Filesystem
Three issues here:

The URL above is specific for PS 4.0, but I'm on 5.1
The resultant page is a 404 error. Changing the initial URL to http://technet.microsoft.com/library/hh847897.aspx redirects to https://docs.microsoft.com/en-us/powershell/module/5.1/microsoft.powershell.core/providers/FileSystem-Provider/Get-ChildItem-for-Filesystem, but,
If you change the URL from 4.0 to 1.0, 2.0, 5.0, or 5.1, you'll still get the 404 error. If you change that number to 3.0, you get redirected to https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-5.1&viewFallbackFrom=powershell-Microsoft.PowerShell.Core

It's highly possible that the issue with the help URL for Get-ChildItem is not unique, and that other Get-Help -Online links are bad.
Environment data
Name                           Value
----                           -----
PSVersion                      5.1.14409.1012
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14409.1012
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

@anthonypants I tested it on windows 10 with latest ps core build and it works fine. Can you specify what is the repro environment of this bug?

This issue affects PowerShell 5.1.


beefed up the tests

this should resolve issue #9. If there are any issues or things that should be improved, please let me know

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


Error when update phpspreadsheet

Summary of problem or feature request

Error when update phpspreadsheet to version 2.0
Your requirements could not be resolved to an installable set of packages.
Problem 1
- yajra/laravel-datatables-export[v11.0.0, ..., v11.1.0] require phpoffice/phpspreadsheet ^1.27 -> found phpoffice/phpspreadsheet[1.27.0, 1.27.1, 1.28.0, 1.29.0] but it conflicts with your root composer.json require (^2.2.1).
- yajra/laravel-datatables-export v11.1.1 requires phpoffice/phpspreadsheet ^1.29 -> found phpoffice/phpspreadsheet[1.29.0] but it conflicts with your root composer.json require (^2.2.1).
- yajra/laravel-datatables v11.0.0 requires yajra/laravel-datatables-export ^11 -> satisfiable by yajra/laravel-datatables-export[v11.0.0, v11.0.1, v11.1.0, v11.1.1].
- Root composer.json requires yajra/laravel-datatables 11.0 -> satisfiable by yajra/laravel-datatables[v11.0.0].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

System details

Linux Ubuntu 22.04
8.3.8
11.21
11.0

Thanks Yajra


Chain.assign() fails for certain combinations of axis applies

That is a pure order of events problem.

done.