Cannot invoke "String.equals(Object)" because "version" is null

https://ci.codemc.io/job/Ghost-chu/job/QuickShop-Hikari/221/
21:04:21 [WARNING] *****************************************************************
21:04:21 [WARNING] * Your build is requesting parallel execution, but project      *
21:04:21 [WARNING] * contains the following plugin(s) that have goals not marked   *
21:04:21 [WARNING] * as @threadSafe to support parallel building.                  *
21:04:21 [WARNING] * While this /may/ work fine, please look for plugin updates    *
21:04:21 [WARNING] * and/or request plugins be made thread-safe.                   *
21:04:21 [WARNING] * If reporting an issue, report it against the plugin in        *
21:04:21 [WARNING] * question, not against maven-core                              *
21:04:21 [WARNING] *****************************************************************
21:04:21 [WARNING] The following plugins are not marked @threadSafe in quickshop-hikari:
21:04:21 [WARNING] io.codemc.maven.plugins.toolchain:codemc-toolchain-selector:0.0.2-SNAPSHOT
21:04:21 [WARNING] Enable debug to see more precisely which goals are not marked @threadSafe.
21:04:21 [WARNING] *****************************************************************
21:04:21 [INFO]
21:04:21 [INFO] --- codemc-toolchain-selector:0.0.2-SNAPSHOT:select (default-cli) @ quickshop-hikari ---
21:04:24 [INFO] ------------------------------------------------------------------------
21:04:24 [INFO] Reactor Summary for quickshop-hikari <IP_ADDRESS>:
21:04:24 [INFO]
21:04:24 [INFO] quickshop-hikari ................................... FAILURE [  0.545 s]
21:04:24 [INFO] quickshop-hikari-api ............................... SKIPPED
21:04:24 [INFO] quickshop-platform-interface ....................... SKIPPED
21:04:24 [INFO] quickshop-platform-spigot-abstract ................. SKIPPED
21:04:24 [INFO] quickshop-platform-spigot-v1_18_R1 ................. SKIPPED
21:04:24 [INFO] quickshop-platform-spigot-v1_18_R2 ................. SKIPPED
21:04:24 [INFO] quickshop-platform-spigot-v1_19_R1 ................. SKIPPED
21:04:24 [INFO] quickshop-platform-paper ........................... SKIPPED
21:04:24 [INFO] QuickShop-Hikari ................................... SKIPPED
21:04:24 [INFO] quickshop-compatibility-common ..................... SKIPPED
21:04:24 [INFO] Compat-Clearlag .................................... SKIPPED
21:04:24 [INFO] Compat-NoCheatPlus ................................. SKIPPED
21:04:24 [INFO] Compat-WorldGuard .................................. SKIPPED
21:04:24 [INFO] Compat-WorldEdit ................................... SKIPPED
21:04:24 [INFO] Compat-OpenInv ..................................... SKIPPED
21:04:24 [INFO] Compat-AdvancedRegionMarket ........................ SKIPPED
21:04:24 [INFO] Compat-BentoBox .................................... SKIPPED
21:04:24 [INFO] Compat-SuperiorSkyblock ............................ SKIPPED
21:04:24 [INFO] Compat-GriefPrevention ............................. SKIPPED
21:04:24 [INFO] Compat-Towny ....................................... SKIPPED
21:04:24 [INFO] Compat-PlotSquared ................................. SKIPPED
21:04:24 [INFO] Compat-Lands ....................................... SKIPPED
21:04:24 [INFO] ------------------------------------------------------------------------
21:04:24 [INFO] BUILD FAILURE
21:04:24 [INFO] ------------------------------------------------------------------------
21:04:24 [INFO] Total time:  4.485 s (Wall Clock)
21:04:24 [INFO] Finished at: 2022-07-18T13:04:24Z
21:04:24 [INFO] ------------------------------------------------------------------------
21:04:24 [WARNING] The requested profile "jenkins" could not be activated because it does not exist.
21:04:24 Waiting for Jenkins to finish collecting data
21:04:24 [ERROR] Failed to execute goal io.codemc.maven.plugins.toolchain:codemc-toolchain-selector:0.0.2-SNAPSHOT:select (default-cli) on project quickshop-hikari: Execution default-cli of goal io.codemc.maven.plugins.toolchain:codemc-toolchain-selector:0.0.2-SNAPSHOT:select failed: Cannot invoke "String.equals(Object)" because "version" is null -> [Help 1]
21:04:24 [ERROR]
21:04:24 [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
21:04:24 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
21:04:24 [ERROR]
21:04:24 [ERROR] For more information about the errors and possible solutions, please read the following articles:
21:04:24 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

Note: This build running under OpenJDK 17 and parallel execution.


[Feature] Make estimateSizeInBytes(r BulkableRequest)  externally accessible

To be able to batch bulk loads to AWS, you need to keep an eye of the size of the bulk and keep it under the limits AWS sets.
While you can get the size of the bulk request after you have added items, it be better to also get the size of the requests before being added to the BulkService, so you can judge if adding the next one will take you over the limit.
If the internal function *BulkService.estimateSizeInBytes was made available externally to the BulkService object then it easy to tell the size each request was..
Of course we might want to EstimatedSizeInBytes to each request type..
Which version of Elastic are you using?
[ x ] elastic.v5 (for Elasticsearch 5.x)
// bulkable request, i.e. BulkIndexRequest, BulkUpdateRequest, and
// BulkDeleteRequest.
func (s *BulkService) estimateSizeInBytes(r BulkableRequest) int64 {
	lines, _ := r.Source()
	size := 0
	for _, line := range lines {
		// +1 for the \n
		size += len(line) + 1
	}
	return int64(size)
}

I see what you're after. I'm a bit hesitant to opening it up because using it without thinking twice may result in a performance problem. That estimateSizeInBytes is quite slow, you know.
Let me sink that in. We don't need to rush because there's an easy workaround. You can create a helper for that function in your own code: there are no internals used in that function.

One idea is have each bulk request action size its self on creation and then bulk service could just tally the metadata.   Then each action could have a accessor to that metadata.

@ArcticSnowman I finally found some time to tinker around with this issue. Do you mind reviewing the bulk.estimated-size.issue-931 branch? It currently only has this commit.

Certainly looks ok to me...
Go question...    Each of the BulkableRequest sub types share the int64 for the estimatedSize int64.  Is there a reason not to put that into the BulkableRequest interface?  Or can that only been the functions?

An interface type is defined as a set of method signatures.

https://tour.golang.org/methods/9

Thanks  for clarifying...


feat(nifti): update nifti-reader-js to 0.6.8

Context
Update nifti-reader-js from 0.6.6 to 0.6.8 because it supports to read files with corrupt extension.
Test data is here.
https://github.com/neurolabusc/niivue-images/blob/main/chris_MRA.nii.gz

Changes & Results

Testing

Checklist
PR

[] My Pull Request title is descriptive, accurate and follows the
semantic-release format and guidelines.

Code

[] My code has been well-documented (function documentation, inline comments,
etc.)

[] I have run the yarn build:update-api to update the API documentation, and have
committed the changes to this PR. (Read more here https://www.cornerstonejs.org/docs/contribute/update-api)

Public Documentation Updates

[] The documentation page has been updated as necessary for any public API
additions or removals.

Tested Environment

[] "OS:
[] "Node version:
[] "Browser:

Thank you so much for pushing on the nifti side, i will review this and merge your other PR today


no such table: photologue_photo_sites

Hi, I just want to build a instant gallery in my website.
After I add the photo/gallery to the server, it returns:
OperationalError at /admin/photologue/photo/add/
no such table: photologue_photo_sites
Request Method:	POST
Request URL:	http://<IP_ADDRESS>:8000/admin/photologue/photo/add/
Django Version:	1.9.5
Exception Type:	OperationalError
Exception Value:
no such table: photologue_photo_sites
Exception Location:	//anaconda/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py in execute, line 323
Python Executable:	//anaconda/bin/python
Python Version:	2.7.12

Hi,
Could you post here:

the output from 'python manage.py migrate --list'
what version of django-photologue are you using.

I have totally removed the db.sqlite3 file from the project, then migrate again and it works.
But it clear all the database and just recreate one.


update: 'need_update' field on struct sol_update_info.

So, update modules have a handy way to inform user that the update is
necessary.
Also introduced a versioning schema to struct sol_update_info because
it was proved it can change.
Update file helper method check_file_hash changed to get_file_hash,
turning caller task do the check, as Linux Micro EFI update module
checks if current file hash is different from update one to decide if
update is necessary (instead of comparing versions).
An output port NEED_UPDATE was also added to 'update/check' node, as
well as sample was updated to use it.
Signed-off-by: Ederson de Souza<EMAIL_ADDRESS>

Integrated with fixes, tks!


Question: smoke originating at bottom of full document height?

Hi, I love this smoke effect, thank you for making it available on github!!!
Is it possible to place an emitter on the bottom of the page, if the page height is greater than the viewport height (i.e., 'below the fold')?  Could you post an example of how this could be done?  I've tried a few things, but my nascent javascript skills have been unsuccessful.
Thanks again!

You can place the emitter anywhere on your canvas element - here's an example with a tall canvas element:
<canvas id="canvas"></canvas>
<script src="smoke.js"></script>
<script>
    var canvas = document.getElementById('canvas')
    var ctx = canvas.getContext('2d')
    canvas.width = 1000
    canvas.height = 4000

    var party = smokemachine(ctx)

    party.start()

    party.addsmoke(500,3500,10)

</script>


Enhancement: check for prefixed script/style handles and image size names

From https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/900#issuecomment-290970192:

@grappler
Would it make sense to check for prefixing the following items or a new issue and sniff would be better?

Script handles.
Style handles.
Image size names.

@jrfnl
... might be possible to add a later stage, however, it would need to be very clearly defined what should be checked for in those cases, so please follow up with some code example, reference links etc.

Related:

http://themereview.co/prefix-all-the-things/
https://github.com/grappler/wp-standard-handles


Slug access to dataset/graphic by title

Convert title to slug. ASCII and dashes for blanks.
Clashes?

No, skip.


Refactors isAllowedToLand code, adds checks for open tasks, allows co…

…nfiguring checks in config, adds back in webhooks
Is good. Trust me

Im happy to merge this now, or when you have a look @d4rkr00t


Include MNELAB

Closes #82
Just want to see if it works

The ARM build is expected to fail, as we're still waiting for the migration to complete on conda-forge

All green except ARM as expected, great!

If you have time, could you download and test the artifacts?
Also I think we need some sort of CI test for MNELAB
Mind you, I believe we now have Qt5 and Qt6 installed in parallel! Who knows what kind d of interactions might occur 😱

... actually I'm not sure if mayavi is compatible. We'd need to check for mne-kit-gui :(

I don't think spyder supports
Qt6 either

I remember the conda-forge folks spending quite some time to ensure isolation between Qt5 and Qt6, so at least in theory things should work. But who knows how well downstream packages can handle the simultaneous presence of both

The ARM build is now on conda-forge, restarting CI.

Ouch, dependency resolution error 😳 this is going to be a pain to pin down 😑

Looks like it's actually a conflict with vtk =9.2.2. With even just:
name: test
channels:
  - conda-forge
dependencies:
  - mnelab =0.8.5
  - python =3.10.8
  - vtk =9.2.2

I get:
...
UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package python conflicts for:
vtk=9.2.2 -> loguru -> python[version='3.10.*|3.11.*|>=3.5|>=3.6|3.8.*|3.9.*']
mnelab=0.8.5 -> python[version='>=3.10,<3.11.0a0|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0',build=*_cpython]
vtk=9.2.2 -> python[version='>=3.10,<3.11.0a0|>=3.10,<3.11.0a0|>=3.11,<3.12.0a0|>=3.8,<3.9.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.9,<3.10.0a0',build=*_cpython]
python=3.10.8
mnelab=0.8.5 -> matplotlib-base[version='>=3.6.2'] -> python[version='3.10.*|3.8.*|3.9.*|>=3.11,<3.12.0a0|>=3.7|>=3.6|>=3.5',build=*_cpython]

Package expat conflicts for:
vtk=9.2.2 -> expat[version='>=2.4.9,<3.0a0|>=2.5.0,<3.0a0']
vtk=9.2.2 -> python[version='>=3.9,<3.10.0a0'] -> expat[version='>=2.4.1,<3.0a0']

Package setuptools conflicts for:
python=3.10.8 -> pip -> setuptools
mnelab=0.8.5 -> mne-base[version='>=1.0.0'] -> setuptools

Package freetype conflicts for:
vtk=9.2.2 -> ffmpeg[version='>=4.4.2,<5.0a0'] -> freetype[version='>=2.10.4,<3.0a0']
vtk=9.2.2 -> freetype[version='>=2.12.1,<3.0a0']

Package libcblas conflicts for:
mnelab=0.8.5 -> numpy[version='>=1.20.0'] -> libcblas[version='>=3.9.0,<4.0a0']
vtk=9.2.2 -> numpy -> libcblas[version='>=3.9.0,<4.0a0']

Rolling back to vtk 9.1 doesn't help because then there are conflicts with openmeeg :(

Is there anything MNELAB can do to help solve this conflict? I'm not pinning any dependencies (only >=) because MNELAB should work always work with the latest versions. Python versions 3.8–3.11 should be supported (I'm aiming for the last three versions, right now these are even four).

@larsoner I suspect it has to do with me pinning matplotlib to the latest version... But 3.6.2 is required to work around bugs in PySide 6.4 😩
https://github.com/cbrnr/mnelab/issues/362

@larsoner I suspect it has to do with me pinning matplotlib to the latest version... But 3.6.2 is required to work around bugs in PySide 6.4 😩
cbrnr/mnelab#362

This assumption was incorrect. I can reproduce the issue by simply requesting vtk and pyside6.
❯ mamba create -n test pyside6 vtk=9.2                                                                     ─╯
[...]
Encountered problems while solving:
  - package pyside6-6.4.0-py310h6bbb1e2_0 requires libclang >=13.0.1,<14.0a0, but none of the providers can be installed

We should get in touch with the VTK feedstock maintainers.

I reported it to the VTK and PySide6 feedstock maintainers:
https://github.com/conda-forge/vtk-feedstock/issues/269
https://github.com/conda-forge/pyside2-feedstock/issues/159

Great @hoechenberger ! Now we wait ...

@larsoner Could be a long time…
https://github.com/conda-forge/pyside2-feedstock/issues/159#issuecomment-1350932070

I think we should simply build the M1 installers without MNELAB, as the ETA of the OpenSSL migration, which seems to be required to resolve the issue, is unclear (and probably a few months away)

Works for me, feel free to take out of draft mode and mark for merge-when-green @hoechenberger

@larsoner Are we sure the Windows installer problems @mscheltienne observed recently are gone now, too? I cannot test, unfortunately

I tested locally on Windows last week and things were fine

Great! Enabling automerge.

I cannot run MNELAB on M1:
❯ mamba create -n test mnelab
❯ mamba activate test
❯ mnelab
2022-12-14 13:40:27.154 python[43193:310391] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/2k/nkw3dkx97ssdv08xmdgfnjkc0000gn/T/com.continuum.python.savedState
Traceback (most recent call last):
  File "/Users/hoechenberger/mambaforge/envs/test/bin/mnelab", line 11, in <module>
    sys.exit(main())
  File "/Users/hoechenberger/mambaforge/envs/test/lib/python3.10/site-packages/mnelab/__init__.py", line 42, in main
    model.view = MainWindow(model)
  File "/Users/hoechenberger/mambaforge/envs/test/lib/python3.10/site-packages/mnelab/mainwindow.py", line 285, in __init__
    QKeySequence(Qt.CTRL | Qt.Key_Y),
TypeError: unsupported operand type(s) for |: 'Modifier' and 'Key'

@cbrnr Here's a fix:
https://github.com/spesmilo/electrum/commit/1478d9d87805b3c03b261908aa125beb711e46ba

@larsoner Seems we've got more serious problems with the M1 build than I'd thought … it won't even resolve the deps when MNELAB is not included, it seems?

Or is the arm64 selector perhaps not working 🤔

I don't think spyder supports Qt6 either

It definitely does not. https://github.com/spyder-ide/spyder/blob/e5334d1c1e0b566147739b766d95127d145d0e3d/spyder/requirements.py#L37

Or is the arm64 selector perhaps not working 🤔

I'm still not sure, but according to the build logs, we're trying to include pyside6 on ARM, which is bound to fail. Not sure where this is coming from though.

Whoops. What's up now 🤯

Looks like a conflict between Qt5 and Qt6

Do we still need Qt5? If we drop Spyder, ...

Would it be possible to maintain at least spyder-kernels? At least this way the environment can be quickly linked to an outside Spyder instance.

There are tutorials out there where they embed Qt5 Matplotlib plots in a Qt6 application, so they should theoretically be able to live side-by-side…

We have a test that PyQt5 works for this repo. We should add an equivalent PySide6 test. It should fail based on what you write above I think...

@larsoner

but
❯ mamba create -n test qt6-main
❯ ls -lah ~/mambaforge/envs/test/plugins/platforms
ls: mambaforge/envs/test/plugins/platforms: No such file or directory

Oh:
❯ ls -lah ~/mambaforge/envs/test/lib/qt6/plugins/platforms
total 2432
drwxr-xr-x   5 hoechenberger  staff   160B Dec 14 19:33 .
drwxr-xr-x  20 hoechenberger  staff   640B Dec 14 19:33 ..
-rwxrwxr-x   2 hoechenberger  staff   987K Oct 19 11:19 libqcocoa.dylib
-rwxrwxr-x   2 hoechenberger  staff    73K Oct 19 11:19 libqminimal.dylib
-rwxrwxr-x   2 hoechenberger  staff   150K Oct 19 11:19 libqoffscreen.dylib

So the plugins have moved. Maybe we need to set an environment variable or something…

❯ mamba create -n test pyside6 pyqt matplotlib-base
❯ mamba run -n test python -c "import matplotlib; matplotlib.use('Qt5Agg')"

This works…

Oh! Managed to reproduce.
❯ mamba create -n test pyside6 pyqt matplotlib-base
❯ mamba run -n test python -c "import matplotlib; import matplotlib.pyplot as plt; matplotlib.use('QtAgg'); plt.subplots()"
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqwebgl.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqoffscreen.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqminimal.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqcocoa.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

/var/folders/2k/nkw3dkx97ssdv08xmdgfnjkc0000gn/T/tmp92fve324: line 3: 89284 Abort trap: 6           python -c 'import matplotlib; import matplotlib.pyplot as plt; matplotlib.use('"'"'QtAgg'"'"'); plt.subplots()'

ERROR conda.cli.main_run:execute(49): `conda run python -c import matplotlib; import matplotlib.pyplot as plt; matplotlib.use('QtAgg'); plt.subplots()` failed. (See above for error)

But this works:
❯ mamba run -n test python -c "import matplotlib; import matplotlib.pyplot as plt; matplotlib.use('Qt5Agg'); plt.subplots()"

Pushed a commit with the suggested test I referred to before (check if pyside6 works at all by itself first)

It appears that even just trying the basic command fails, even on Ubuntu:
https://github.com/mne-tools/mne-installers/actions/runs/3698421716/jobs/6265118735#step:13:1945

This is likely an untested case at the conda-forge end, and/or they don't support simultaneous Qt5/Qt6 installs, not sure...

and/or they don't support simultaneous Qt5/Qt6 installs

If I'm not mistaken, I remember the person contributing the Qt6 packages spent a significant amount of time figuring out how to install both packages in parallel / how to isolate them. But I'm not sure if parallel install was actually extensively tested...

@larsoner
And apparently, QT_PLUGIN_PATH is being ignored…
❯ QT_PLUGIN_PATH=/Users/hoechenberger/mambaforge/envs/test/lib/qt6/plugins python -c "from PySide6.QtWidgets import QApplication, QWidget; app = QApplication([])"
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqwebgl.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqoffscreen.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqminimal.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platforms/libqcocoa.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/platformthemes/libqxdgdesktopportal.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.loader: In /Users/hoechenberger/mambaforge/envs/test/plugins/styles/libqmacstyle.dylib:
  Plugin uses incompatible Qt library (5.15.0) [release]

Setting QT_QPA_PLATFORM_PLUGIN_PATH doesn't seem to help either.

@larsoner I'm hoping to generate more and more specific debugging output via b8d5ecc

I cannot run MNELAB on M1:
❯ mamba create -n test mnelab
❯ mamba activate test
❯ mnelab
...
TypeError: unsupported operand type(s) for |: 'Modifier' and 'Key'

@cbrnr Is this a bug in MNELAB? pyinstaller/pyinstaller#7249 (comment)

No, this is a breaking change from PySide6 < 6.4 vs. PySide6 ≥ 6.4. I adapted my code so that it works with the new types, but forgot to bump the dependency. I will do that right now!
Which version of PySide6 were you running when this problem happened?

 The code works with PySide6 ≥ 6.4, I just tested it with 6.4.0 and 6.4.1. The error message indicates that you were running PySide6 < 6.4, before they changed the types of some constants.

Are you sure?

Yes:
❯ mamba create -y -n test pyside6=6.4.1 mnelab=0.8.5
❯ mamba run -n test mnelab
2022-12-15 11:10:34.021 python[21044:872306] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/2k/nkw3dkx97ssdv08xmdgfnjkc0000gn/T/com.continuum.python.savedState
Traceback (most recent call last):
  File "/Users/hoechenberger/mambaforge/envs/test/bin/mnelab", line 11, in <module>
    sys.exit(main())
  File "/Users/hoechenberger/mambaforge/envs/test/lib/python3.10/site-packages/mnelab/__init__.py", line 42, in main
    model.view = MainWindow(model)
  File "/Users/hoechenberger/mambaforge/envs/test/lib/python3.10/site-packages/mnelab/mainwindow.py", line 285, in __init__
    QKeySequence(Qt.CTRL | Qt.Key_Y),
TypeError: unsupported operand type(s) for |: 'Modifier' and 'Key'

ERROR conda.cli.main_run:execute(49): `conda run mnelab` failed. (See above for error)

❯ mamba run -n test python -c "import PySide6; print(PySide6.__version__)"
6.4.1

@cbrnr The problem does not occur with PySide6 6.4.1 installed via pip. Uuuughh....

I've opened an issue: https://github.com/conda-forge/pyside2-feedstock/issues/164

@larsoner I believe we need to wait until https://github.com/conda-forge/pyside2-feedstock/pull/165 has been closed,otherwise ARM builds will continue to fail

Qt5/Qt6 simultaneous install problems remain. Might have to wait until we can get PySide6 only. Seems safest anyway

Now with https://github.com/conda-forge/pyside2-feedstock/issues/164 resolved, MNELAB works for me on my M1 Mac:
❯ mamba create -n mnelab mnelab "pyside6=*=*_3"
❯ mamba run -n mnelab mnelab

This is great! Finally! Thanks for your persistence everyone!

Don't celebrate too early though, we still need to address some issues before we can ship MNELAB with the installers. But we're one giant step closer now!!

@hoechenberger any idea if they plan to build PyQt6? For me PySide6 is unusable in Linux because of this, at least when using pip (i.e., plt.ion() does not work because PySide6 does not set up the PyOS_InputHook like PyQt6 does)

Using IPython is not an option for you? If not, do you think a feature request would be useful?

I don't think we can/should force people to use IPython instead of plain Python. But yes a feature request would be useful, feel free to open one with the PySide6 folks, to me it's a major (deal-breaking) deficiency compared to PyQt6 and I imagine a lot of other people will be in the same boat

@hoechenberger any idea if they plan to build PyQt6?

No plans that I know of. You could ask on the PySide feedstock maybe? But I doubt anyone will be willing to put in the effort tbh...

It will probably be easier to ask the PySide dev to consider adding an input hook.

@cbrnr I kind of lost track. I believe you filed a bug report upstream, right? Any updates on this?

Yes, here: https://bugreports.qt.io/browse/PYSIDE-2192
It seems like they are working on it? https://codereview.qt-project.org/c/pyside/pyside-setup/+/454254

Yes, here: https://bugreports.qt.io/browse/PYSIDE-2192
It seems like they are working on it? https://codereview.qt-project.org/c/pyside/pyside-setup/+/454254

Seems it's stalled. Maybe we should ping them...

Seems it's stalled. Maybe we should ping them...

Yeah, not sure, in general I don't like "hey, any update on this, when will this be ready" kind of pings.

My impression was that the implementation is already there and it's just pending review, so maybe folks just forgot about it? But I see what you mean

If it's really like that I can ask if there is something I could do to help (e.g. test). I think that's an OK ping.

Still waiting for https://codereview.qt-project.org/c/pyside/pyside-setup/+/454254, it's stalled

I don't remember exactly our discussion, but MNELAB should work fine even without this patch. Installing both PySide6 and PyQt6 in parallel should also work.

No, we had trouble installing both in parallel, unfortunately. And Matplotlib doesn't work with PySide6 without the patch adding the input hook

Do you remember what exactly the problem was? I always have both packages installed and everything works.

I always have both packages installed and everything works.

Yes but you don't work with conda-forge packages, do you?

No. But I can try if you want.

@hoechenberger I can install both pyside6 and pyqt in parallel with no errors. The only thing that happens is that pyside6 get downgraded from 6.5.0 to 6.4.3, not sure why. It also seems like pyqt still installs PyQt5 (5.15.7), there is no version 6.

I ran MNELAB and imported both PySide6 and PyQt5.

There's a test case here in this branch in build.yml

Any chance to transition to qtpy in MNELAB?

Any chance to transition to qtpy in MNELAB?

I've used qtpy previously, but switched away for three reasons:

I did not want to support Qt versions < 6 anymore (there are some weird bugs like font rendering that are not going to be fixed).

PySide6 has some nice features that PyQt6 doesn't offer, like more Pythonic names.

PyQt6 is licensed under the GPL, whereas PySide6 uses the LGPL. I'm not an expert, but the LGPL seems like the much better option here, because it is clear that we can just use it without having to worry about the license of MNELAB. For GPL, although BSD is compatible, I'm not entirely sure that we can use it without having to change our own license to GPL.

We still wanted to include Qt bindings as a requirement, so people don't have to figure out why MNELAB does not work after pip install mnelab. Just including e.g. PySide6 defeats the purpose of qtpy, and I did not want a brittle custom solution in setup.py (which BTW wouldn't even be possible now that we switched to pyproject.toml). I did not want users to install with pip install mnelab[pyside6], because I think almost no one knows how this works (I know it would be documented, but few people read the docs and would just use what they know from other packages, which is pip install mnelab).

In summary, I'm open to switching back, but these issues need to be addressed. The second one is not a real issue, because AFAIR I'm not even using PySide6-specific features.

This should work now:
https://github.com/conda-forge/qt-main-feedstock/pull/167

My understanding is that now, thanks to https://github.com/conda-forge/qt-main-feedstock/pull/167, parallel installation of Qt5 and Qt6 should work.
Since we still don't have PyQt6 on conda-forge, we have to rely on PySide6. But the following issue / PR is stalled:
https://codereview.qt-project.org/c/pyside/pyside-setup/+/454254
@cbrnr Feel like bumping this again?

Yes. Here's the corresponding issue: https://bugreports.qt.io/browse/PYSIDE-2192

@hoechenberger maybe you (and others) could vote for this issue to show that it is important?

Thanks! But unfortunately, the answer is not promising. I don't even see the error on Windows. I mean, I probably wouldn't be able to help anyway, but do we know someone who could?

I'm really surprised this issue isn't high-prio for them. Are we potentially missing something obvious here? Shouldn't there be literally masses of users running into this problem?

Hard to say. On macOS, people get to use the macosx backend by default, which works great. Not sure about Windows and Linux, but maybe people just use PyQt? The problem is specific to conda-forge and Qt 6, which is only available as PySide6 there. If you use pip, then you also have PyQt6. If you are happy with Qt 5, PyQt5 is also available on conda-forge. So yes, maybe really a niche problem.

@cbrnr Any changes here..?

Not that I know of. My list of caveats still applies, if you mean switching to qtpy.


ACS optional

It makes no sense to make the ACS URL optional. You need to specify where the SAMLResponse gonna be received and processed.

Hi :)
I don't agree with you, since in my case, i have multiple possible AD connections, and I can't know in advance which one will be used by the user.
It's actually in my AD that i specify the SAMLResponse, with the tenant ID used.
This way I can know in my app from which AD comes my login attempt.

Each AD connection will have registered each own SP Entity ID. AD will read the Issuer from the AuthNRequest and then determine the ACS URL endpoint.

I don't agree with you, since in my case, i have multiple possible AD connections, and I can't know in advance which one will be used by the user.
Then you need to put in place an Identity Discovery Service. Google for example requires the email, and then based on the domain redirects to the specific identity Provider.
Others offer the available IdPs and allow you to decide what to use: Ex.https://spaces.at.internet2.edu/login


Update presence.h

updated presences activity types not including custom since bots cant access the emoji field to use it correctly.

I left out at_custom due to bots not able to use it correctly because they cant access the emoji field in the activity struct.
I can add it in if required.


Don't use DYNAMIC_ARCH on arm64

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@isuruf Do you want to merge this before #120? I've held off with the automerge-label on that PR.

Let's merge together. Can you move the commits to #120?

Let's merge together. Can you move the commits to #120?

Done, closing this, and added automerge to #120


Responsive SVG Component Children Prop Only Accepts Function

The ResponsiveSVG component only accepts a function for the children prop, but I am able to add an array of JSX elements and it seems to work correctly and be responsive. Seeing the following error in console.

ResponsiveSVG.propTypes = {
  children: PropTypes.func,
  width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
  height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
  xOrigin: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
  yOrigin: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
  preserveAspectRatio: PropTypes.string
};

Looks like an incorrect prop type. Thanks for letting us know. We'll get it updated in an upcoming release.
Prop type checks are removed with production builds of react so feel free to continue passing an array of children and ignore the console warning. Another workaround would be to pass function for now that returns your array of children.

oh! i should mention, you may want to check out <ParentSize /> as an alternative to <ResponsiveSVG />: https://vx-demo.now.sh/responsive

Thanks for the information and fast response! Can't thank you enough for these packages. Really appreciate them. I will check out ParentSize as an alternative.


Remove obviously dead code

See #733 - it's confusing to leave it in. We can reference the code coverage.

We do support Tcl, with a plug-in. Though it doesn't do snippets yet.

I've had a look at the coverage output, and I don't see any obviously dead code. The uncovered code looks to me like stuff that just isn't tested.


Car year dropdown in record creation

New table added for pre-filled data from the backend.

Done by Sachin


feat(datafile-management): Introducing config manager for managing project config - WIP

Summary
This PR introduces config manager which polls for datafile after some interval and prepares project config based on it if it has updated.

Coverage decreased (-0.06%) to 99.816% when pulling bb9dc7b94520a5d36dc288606ffa321becdb2750 on rashid/project-config-manager into dba2acc3798f743e1d6f35285175e950487aaaf1 on dfm-complete.

Coverage decreased (-0.06%) to 99.816% when pulling bb9dc7b94520a5d36dc288606ffa321becdb2750 on rashid/project-config-manager into dba2acc3798f743e1d6f35285175e950487aaaf1 on dfm-complete.

Instead of working on a feature branch, please open up this PR against master!

Yes Mike, it was supposed to be merge in master, This PR is actually not finalized yet.

Closing this as we've decided to split up into separate PRs.


⚠ Secret Website 3 has degraded performance

In 589e7a3, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2228 ms

Resolved: Secret Website 3 performance has improved in 2ac75a4.


HTTP error for Udemy course video download

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.02.11. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.02.11

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones. Closed issue are quite similar (debug log is same) #15600 & #15607
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

Bug Report [Site Support]
The udemy course (downloading the playlist/video course) is a paid course, which i download by providing my login credentials (-u<EMAIL_ADDRESS>-p passphrase) for the ID i have bought the course with. I have successfully downloaded some of the course video (same one) before but couldn't complete it due to time constraints.
[debug] System config: []
[debug] User config: [u'-o', u'~/Videos/youtube/%(title)s.%(ext)s', u'-f', u'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best']
[debug] Custom config: []
[debug] Command-line args: [u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'-o', u'~/Videos/%(playlist)s/%(chapter_number)s-%(chapter)s/%(title)s.%(ext)s', u'https://www.udemy.com/become-an-android-developer-from-scratch/', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.02.11
[debug] Python version 2.7.12 (CPython) - Linux-4.13.0-32-generic-i686-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.11-0ubuntu<IP_ADDRESS>, ffprobe 2.8.11-0ubuntu<IP_ADDRESS>, rtmpdump 2.4
[debug] Proxy map: {}
[udemy:course] Downloading login popup
ERROR: Unable to download webpage: HTTP Error 403: Unauthorized (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 519, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2199, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python2.7/urllib2.py", line 435, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 473, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
<end of log>

Description
The issue seems to be a failure to either download the login page or to post the login credentials, possibly due to changes to the site or any changes made to how youtube-dl manages to login using the passed credentials. I don't believe my login credentials would be required but I'll provide cooperation if needed.
Course link: https://www.udemy.com/become-an-android-developer-from-scratch/

Hello
I am running youtube-dl --version  2018.09.10 with Python 37.
I am getting error below
[udemy:course] Downloading login popup
[udemy:course] Logging in
ERROR: Unable to download webpage: HTTP Error 403: Unauthorized (caused by <HTTPError 403: 'Unauthorized'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Whats wrong?  Please revert

sanjaymahajan09, have the same problem... can you help me?


Create ossrhDeploy.yml

Add github action to deploy to ossrh / maven central w/ gpg signing.

Relies on #3


ValueError: [MAIXPY]kpu: load_flash error:2006, ERR_NO_MEM: memory not enough

Hi,
I am using the Maxiduino to load my kmodel which is 5.6MB.
I follow https://en.bbs.sipeed.com/t/topic/1811 to make my kmodel be big-edian,
and I use the command
task = kpu.load_flash(0x174000, 1, 1, 60000000)
Howerver, it appears the error.

Can anyone give me some advice to solve this error, tks.

https://wiki.sipeed.com/soft/maixpy/en/course/others/mem.html?highlight=gc


Update to Go 1.18

This PR updates Go to 1.18 in all places, including setting the minimum version in go.mod files and in all the CI's and containers.
A number of dependencies, most notably the newest Azure SDKs, require Go 1.18 (because of generics) and we will need to update the version of Go used by Dapr to be able to rely on them.
Companion components-contrib PR: https://github.com/dapr/components-contrib/pull/1697

This PR is currently failing because the version of the linter we're using in the Action is outdated and doesn't support Go 1.18.
As per discussion on Discord, we'll wait until https://github.com/dapr/dapr/pull/4555 is merged, which changes the linter to revive.

/ok-to-test

The linter has been updated and this PR is ready for review.


model is taken from the source: Yolov8 in extensions and with support for pre/postprocessing does not detect objects.

Hello. Please help me solve the problem.
I am trying to run an object detection application for the ONNX runtime on Android. The model in the example yolov8n_with_pre_post_processing.onnx works without problems.
But the model is taken from the source: Yolov8 in extensions and with support for pre/postprocessing does not detect objects.
What can I do wrong?

i am encountering the problem now, Did you have resolved it?

I used my trained utralytics model and convert it to onnx format. But after replace the yolov8n_with_pre_post_processing.onnx model, the code doesn't work. Do you know how to convert the normal onnx yolov8 to their one?

Hello. I did not bother to understand the Microsoft problem. I just found another, in my opinion, better option. I trained the model here https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-object-detection-on-custom-dataset.ipynb and then imported it into Android. You can see an example of the application in Google Play (it is called "What is this sign?").


TypeScript declarations are broken

Not sure if this has anything to do my particular config, but TypeScript seems to be unable to pick up the various other .d.ts files imported in wgpu-matrix.d.ts. It doesn't produce any errors, but when I import { mat4 } from "wgpu-matrix";, mat4 is just an any.
I'm pretty sure TypeScript won't find these .d.ts files, unless they have a .js implementation next to them. Manually adding the .d.ts extension to all imports did make them work.

It's working here. https://codesandbox.io/s/wgpu-matrix-typescript-21ip5s?file=/src/index.ts

I wonder what's different about that codesandbox setup and yours

Yeah, sorry, it was my bad. 😅 I think that my problem was that I had "moduleResolution": "NodeNext" in combination with outputting ES modules. I believe that makes sense in theory, but I didn't find too much documentation on the topic.


Test with default CLI opts

Fixes #2252.
This PR makes sure that we test the HTTP engine with the default CLI parameters and removes some useless internal CLI options.

@Kerollmops tests are failing, clap seems to need a default implementation for IndexerOpts

Hum... I tested that on another branch where the indexer_opts argument is not skipped and it worked fine, obviously. I will implement Default on this struct again as I removed the problematic options and it looks safe now.

@Kerollmops I have concerns that this will break windows tests: we need 100gib map for each running test thread

Wat do you mean? I kept the max_index_size limits here.

my bad! test still failed with OOM though

We need to rebase this branch on #2280 to avoid this issue with lindera.

I just rebased on #2280, you can re-review this PR and we will be able to merge as the CI should compile now.

Thank you!
bors merge


JAMES-3477 Disable copy on write through system property

Builds upon @chibenwa's proposed implementation in #280 but makes it easy to fully disable copy on write behaviour and replace it with always copy.

I don't know if we should document it:
This is really an internal implementation detail, should it really be configurable (adding configuration means the already complex code becomes even more complex)
I only introduced the flag to let us more easily benchmark both implementations.
I feel the loosing implementation should simply be removed once we have the benchmarks results  as there is no point in leaving an inferior implementation in the code.
I'll update the comment to reflect that instead.

What about implementing a strategy pattern instead of making MimeMessageCOW even more complex?

As the intent is easing testing we can live with a bit of dirty code I guess, as @jeantil told us this code was not meant to be merged...

What about implementing a strategy pattern instead of making MimeMessageCOW even more complex?

I don't see the point of introducing a strategy pattern here : we only have 2 implementations and once we know which is better, the other one will be dropped. do you have alternative implementation ideas where it would make sense to let multiple implementations live side by side ?

BTW this morning in the logs...
{
  "_index": "fluentbit-james-2020.12.23",
  "_type": "docker",
  "_id": "TJFTj3YBdqSpI3q1b9tM",
  "_score": 1,
  "_source": {
    "@timestamp": "2020-12-23T11:19:35.980Z",
    "timestamp": "2020-12-23T11:19:35.980Z",
    "level": "ERROR",
    "thread": "elastic-4415",
    "logger": "org.apache.james.mailetcontainer.impl.JamesMailSpooler",
    "message": "Could not apply standard error handling for bc947010-4510-11eb-a696-31d91ae7ef70, defaulting to nack",
    "context": "default",
    "exception": "java.lang.NullPointerException: null\n\tat org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.messageToArray(MimeMessageStore.java:90)\n\tat org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:76)\n\tat org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:72)\n\tat org.apache.james.blob.api.Store$Impl.save(Store.java:84)\n\tat org.apache.james.queue.rabbitmq.Enqueuer.saveMail(Enqueuer.java:89)\n\tat org.apache.james.queue.rabbitmq.Enqueuer.enQueue(Enqueuer.java:72)\n\tat org.apache.james.queue.rabbitmq.RabbitMQMailQueue.lambda$enQueue$0(RabbitMQMailQueue.java:85)\n\tat com.github.fge.lambdas.runnable.RunnableChainer.lambda$sneakyThrow$215(RunnableChainer.java:71)\n\tat org.apache.james.metrics.api.MetricFactory.lambda$runPublishingTimerMetric$0(MetricFactory.java:58)\n\tat org.apache.james.metrics.api.MetricFactory.decorateSupplierWithTimerMetric(MetricFactory.java:37)\n\tat org.apache.james.metrics.api.MetricFactory.runPublishingTimerMetric(MetricFactory.java:57)\n\tat org.apache.james.queue.rabbitmq.RabbitMQMailQueue.enQueue(RabbitMQMailQueue.java:84)\n\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.reEnqueue(JamesMailSpooler.java:199)\n\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.handleError(JamesMailSpooler.java:181)\n\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.performProcessMail(JamesMailSpooler.java:166)\n\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$processMail$6(JamesMailSpooler.java:152)\n\tat reactor.core.publisher.MonoRunnable.subscribe(MonoRunnable.java:49)\n\tat reactor.core.publisher.MonoUsing.subscribe(MonoUsing.java:109)\n\tat reactor.core.publisher.Mono.subscribe(Mono.java:4210)\n\tat reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199)\n\tat reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)\n\tat reactor.core.publisher.Mono.subscribe(Mono.java:4195)\n\tat reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:124)\n\tat reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)\n\tat reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n",
    "log": "{\"timestamp\":\"2020-12-23T11:19:35.980Z\",\"level\":\"ERROR\",\"thread\":\"elastic-4415\",\"logger\":\"org.apache.james.mailetcontainer.impl.JamesMailSpooler\",\"message\":\"Could not apply standard error handling for bc947010-4510-11eb-a696-31d91ae7ef70, defaulting to nack\",\"context\":\"default\",\"exception\":\"java.lang.NullPointerException: null\\n\\tat org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.messageToArray(MimeMessageStore.java:90)\\n\\tat org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:76)\\n\\tat org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:72)\\n\\tat org.apache.james.blob.api.Store$Impl.save(Store.java:84)\\n\\tat org.apache.james.queue.rabbitmq.Enqueuer.saveMail(Enqueuer.java:89)\\n\\tat org.apache.james.queue.rabbitmq.Enqueuer.enQueue(Enqueuer.java:72)\\n\\tat org.apache.james.queue.rabbitmq.RabbitMQMailQueue.lambda$enQueue$0(RabbitMQMailQueue.java:85)\\n\\tat com.github.fge.lambdas.runnable.RunnableChainer.lambda$sneakyThrow$215(RunnableChainer.java:71)\\n\\tat org.apache.james.metrics.api.MetricFactory.lambda$runPublishingTimerMetric$0(MetricFactory.java:58)\\n\\tat org.apache.james.metrics.api.MetricFactory.decorateSupplierWithTimerMetric(MetricFactory.java:37)\\n\\tat org.apache.james.metrics.api.MetricFactory.runPublishingTimerMetric(MetricFactory.java:57)\\n\\tat org.apache.james.queue.rabbitmq.RabbitMQMailQueue.enQueue(RabbitMQMailQueue.java:84)\\n\\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.reEnqueue(JamesMailSpooler.java:199)\\n\\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.handleError(JamesMailSpooler.java:181)\\n\\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.performProcessMail(JamesMailSpooler.java:166)\\n\\tat org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$processMail$6(JamesMailSpooler.java:152)\\n\\tat reactor.core.publisher.MonoRunnable.subscribe(MonoRunnable.java:49)\\n\\tat reactor.core.publisher.MonoUsing.subscribe(MonoUsing.java:109)\\n\\tat reactor.core.publisher.Mono.subscribe(Mono.java:4210)\\n\\tat reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199)\\n\\tat reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)\\n\\tat reactor.core.publisher.Mono.subscribe(Mono.java:4195)\\n\\tat reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:124)\\n\\tat reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)\\n\\tat reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)\\n\\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\\n\\tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)\\n\\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\\n\\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\\n\\tat java.base/java.lang.Thread.run(Unknown Source)\\n\"}\n",
    "stream": "stdout",
    "time": "2020-12-23T11:19:35.981461976Z"
  },
  "fields": {
    "@timestamp": [
      "2020-12-23T11:19:35.980Z"
    ],
    "time": [
      "2020-12-23T11:19:35.981Z"
    ],
    "timestamp": [
      "2020-12-23T11:19:35.980Z"
    ]
  }
}

Merry Xmas ;-)
NPE upon mail processing => sounds fishy to me. It's so bad that we could not even save that message into a mailrepository, nor send in back to the queue... As if the content had been corrupted! :-(

I have seen #282 and I'll definitely vote for it :)
Can you confirm the following about the logs above

you were using the patch from #280 in a live system
you still observed the concurrency issue with the patch applied

And expand on this from #282

Attempts to make it thread safe like [2] [...] ultimately did not manage to protect 'optimized' raw access to the underlying data thus not fully addressing the concurrency issues.

Do you know what the 'optimized' raw access you speak of is and where and when it used to occur ? I'm curious because dispose would set the ref to underlying to null but

Do you know what the 'optimized' raw access you speak of is?

It was accessing the shared underlying MimeMessageWrapper to get an InputStream out of it (instead of writeTo + OutputSream)

where and when it used to occur ?

It happens in most 'core' aware classes, anytime we want to have an InputStream version of the message.

I'm curious because dispose would set the ref to underlying to null but if the 'optimized' access already had the reference it shouldn't have failed...

See https://github.com/apache/james-project/pull/280#commitcomment-45090717
The message held by the reference was exposed unprotected. Thus: when you have a COW message, leveraging the benefits of MimeMessageWrapper was unsafe.


we are installing poetry on the server in way that Poetry's dependencies cause conflicts with other packages.

while working on an issue related to update vdc dashboard, I found that the way we install poetry on the server is causing some troubles.

When you specify a package in the dev-dependencies that is either a dependency of the poetry itself or it depends on one of the poetry dependencies, and you've installed poetry inside an environment that poetry is supposed to manage, poetry will uninstall this mentioned dependency after invoking poetry install --no-dev, making itself unusable in the future.

currently, we install poetry on the server with pip install poetry this will install Poetry's dependencies in a way that causes conflicts with other packages.
the recommended way of installing poetry is
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -

this runs a custom installer that will install poetry isolated from the rest of our server system by vendorizing its dependencies.
Steps to reproduce
try to run one of these commands on the server (or locally but you need to make sure you have installed poetry using pip and that you disabled the env creation)
poetry install --no-dev --> will remove some of the poetry dependencies make it unusable.
poetry install --remove-untracked --> will remove poetry itself.
Traceback/Logs/Alerts
Traceback/Logs/Alerts if available
root@zosv2-04:/sandbox/code/github/threefoldtech/js-sdk# poetry show
Traceback (most recent call last):
  File "/usr/local/bin/poetry", line 5, in <module>
    from poetry.console import main
  File "/usr/local/lib/python3.8/dist-packages/poetry/console/__init__.py", line 1, in <module>
    from .application import Application
  File "/usr/local/lib/python3.8/dist-packages/poetry/console/application.py", line 7, in <module>
    from .commands.about import AboutCommand
  File "/usr/local/lib/python3.8/dist-packages/poetry/console/commands/__init__.py", line 4, in <module>
    from .check import CheckCommand
  File "/usr/local/lib/python3.8/dist-packages/poetry/console/commands/check.py", line 2, in <module>
    from poetry.factory import Factory
  File "/usr/local/lib/python3.8/dist-packages/poetry/factory.py", line 18, in <module>
    from .repositories.pypi_repository import PyPiRepository
  File "/usr/local/lib/python3.8/dist-packages/poetry/repositories/pypi_repository.py", line 33, in <module>
    from ..inspection.info import PackageInfo
  File "/usr/local/lib/python3.8/dist-packages/poetry/inspection/info.py", line 25, in <module>
    from poetry.utils.env import EnvCommandError
  File "/usr/local/lib/python3.8/dist-packages/poetry/utils/env.py", line 23, in <module>
    import virtualenv
  File "/usr/local/lib/python3.8/dist-packages/virtualenv/__init__.py", line 3, in <module>
    from .run import cli_run, session_via_cli
  File "/usr/local/lib/python3.8/dist-packages/virtualenv/run/__init__.py", line 7, in <module>
    from ..app_data import make_app_data
  File "/usr/local/lib/python3.8/dist-packages/virtualenv/app_data/__init__.py", line 9, in <module>
    from appdirs import user_data_dir
ModuleNotFoundError: No module named 'appdirs'

verifying this...

@OmarElawady unfortunately, this issue hasn't resolved and I wasn't able to verify the desired fix.
running form the terminal I got:
/root/.poetry/bin/poetry: Permission denied

and running the update script, now throw:
poetry: command not found

trying verify this after commit db41f4c64f6e4a8bb2e20aa4577e44d79a89f7ba
this didn't fix the issue too.
poetry still broken since 8d6b956acb528da0a28af10a772544bcdadb9718
updating the VDC to another branch with different poetry.lock file will fail because of poetry: command not found
visiting: https://samehabouelsaad-testdeployer3105.vdcdev.grid.tf/vdc_dashboard/api/update?branch=development_chatbot
gives back
//<PHONE_NUMBER>5949
// https://samehabouelsaad-testdeployer3105.vdcdev.grid.tf/vdc_dashboard/api/update?branch=development_chatbot

{
  "error": "failed to pull upstream",
  "stderr": "Switched to a new branch 'development_chatbot'\njumpscale/packages/vdc_dashboard/scripts/update.sh: line 63: poetry: command not found\njumpscale/packages/vdc_dashboard/scripts/update.sh: line 63: poetry: command not found\njumpscale/packages/vdc_dashboard/scripts/update.sh: line 63: poetry: command not found\njumpscale/packages/vdc_dashboard/scripts/update.sh: line 63: poetry: command not found\nError: Failed to install the defined dependencies!\nSwitched to branch 'development'\n",
  "stdout": "Fetching origin\nwe will use origin/development_chatbot branch to update the code\nwe will revert to development db41f4c64f6e4a8bb2e20aa4577e44d79a89f7ba in case of failure\npoetry.lock has changed\nSaved working directory and index state WIP on development: db41f4c6 Fix poetry permissions and path (#3124)\nBranch 'development_chatbot' set up to track remote branch 'development_chatbot' from 'origin'.\nHEAD is now at ce068b52 Test the flow\nYour branch is up to date with 'origin/development'.\nHEAD is now at db41f4c6 Fix poetry permissions and path (#3124)\nOn branch development\nYour branch is up to date with 'origin/development'.\n\nChanges not staged for commit:\n  (use \"git add <file>...\" to update what will be committed)\n  (use \"git restore <file>...\" to discard changes in working directory)\n\tmodified:   jumpscale/packages/vdc_dashboard/package.toml\n\nUntracked files:\n  (use \"git add <file>...\" to include in what will be committed)\n\tvelero-v1.5.3-linux-amd64.tar.gz\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nDropped refs/stash@{0} (0339f2e09e57e35d42754b78c11f8fe64f932324)\n",
  "code": 64,
  "cmd": "bash jumpscale/packages/vdc_dashboard/scripts/update.sh development_chatbot"
}

verifying this after 73616bac6fad9857c0f915ecba2e6a7f54307412

verified
on db41f4c64f6e4a8bb2e20aa4577e44d79a89f7ba
poetry dependencies no longer cause conflict with other dependencies as it now got installed isolated from the rest of the project dependices.


ClrModal emits multiple changes for one closing event

Describe the bug
As a consumer when I listen to (clrModalOpenChange)="onModalClose($event)" I see two events triggering the onModalClose function.
How to reproduce
https://stackblitz.com/edit/gh-modal-close-multiple-change-emits
Steps to reproduce the behavior:

Open the console for observation
Open the modal by clicking on the button
Close the modal in one of two ways:

press the escape button
click the X button in hte modal header

Observe two false values in the console for each diescrete close action

Expected behavior
The expected behavior will only emit one close change event.
Versions
App

Angular: 7.2.15
Node: n/a
Clarity: 1.1.3

Device:

Type: n/a
OS: n/a
Browser n/a
Version n/a

Additional notes
Add any other notes about the problem here.
ClrModal emits this._openChanged.emit(true); from the close method.
It also emits this._openChanged.emit(false); from the fadeDone method (when its going to the void state).
TODO: revisit the discussion on this issue: https://github.com/angular/angular/issues/15798 and determine when to properly emit closing state for modals.

Duplicate of #3149


docs: add js numeric precision problem in faq

What type of PR is this?
docs

What this PR does / why we need it (en: English/zh: Chinese):

en: add js numeric precision problem in faq
zh: 在 faq 中新增解决 JS 精度问题的方法
Which issue(s) this PR fixes:

None.

LGTM


Any reason why Ember CLI Mirage wouldn't work with Mocha?

Hi, I'm using ember-cli-mocha and writing my tests in Mocha + Chai. I was using Sinon successfully to intercept my XHR calls, but stumbled upon ember-cli-mirage and decided to give it a shot. My Sinon setup was working using sinon.fakeServer, but am not having any success with ember-cli-mirage at the moment.
For reference, here is my previous Sinon setup and an example test:
// tests/authentication-test.js
beforeEach(function() {

    // start the ember application
    application = startApp();

    // invalidate session if it exists
    invalidateSession();

    // stub the login endpoint for all authentication calls
    server = sinon.fakeServer.create();
    server.respondImmediately = true;

    server.respondWith('POST', config.APP.API_URL + '/auth/login', [
      200,
      {'Content-Type': 'application/json'},
      '{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIxfHVuZGVmaW5lZCIsInN1YiI6ImkgZG9udCBrbm93IHdoYXQgdGhpcyBzaG91bGQgYmUiLCJhdWQiOiJ3YWxrbWF0ZSIsImV4cCI6MTQzODIwMzYyNDA3MCwibmJmIjoxNDM3NTk4ODI0MDcxLCJpYXQiOjE0Mzc1OTg4MjQwNzEsImp0aSI6ImFiZTMzOTcwLTMwYjQtMTFlNS1iNDk5LTgzYmE2Y2Y2NDE3MyJ9.ysWwzAqI8V9yKdMbXjQtNRXRM8LpMdBoZpJX4Mck0nw","token_type":"bearer","expires_in":7200}'
    ]);
  });

it('can login to application', function() {

    visit('/');
    fillIn('input[type="email"]', 'test@test.com');
    fillIn('input[type="password"]', '123124fdsdf3!!23');
    click('button[type="submit"]');

    andThen(function() {
      expect(currentRouteName()).to.equal('app.index');
    });
  });

Here's the equivalent for Mirage:
// app/mirage/config.js
this.post(config.APP.API_URL + '/auth/login', function() {
    return {
      token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIxfHVuZGVmaW5lZCIsInN1YiI6ImkgZG9udCBrbm93IHdoYXQgdGhpcyBzaG91bGQgYmUiLCJhdWQiOiJ3YWxrbWF0ZSIsImV4cCI6MTQzODIwMzYyNDA3MCwibmJmIjoxNDM3NTk4ODI0MDcxLCJpYXQiOjE0Mzc1OTg4MjQwNzEsImp0aSI6ImFiZTMzOTcwLTMwYjQtMTFlNS1iNDk5LTgzYmE2Y2Y2NDE3MyJ9.ysWwzAqI8V9yKdMbXjQtNRXRM8LpMdBoZpJX4Mck0nw',
      token_type: 'bearer',
      expires_in: 7200
    };
  });

Note that I have validated that config.APP.API_URL is resolving to the correct URL
The specific piece of code being tested (note that I'm using ember-simple-auth with JWT for authentication):
// app/controllers/auth.js
actions: {
            login: function() {
                var flashMessages = Ember.get(this, 'flashMessages');
                var _this = this;

                // clear all previous flash messages
                flashMessages.clearMessages();

                this.validate().then(function() {
                    _this.get('session').authenticate('simple-auth-authenticator:jwt', {
                        'identification': _this.get('email'),
                        'password': _this.get('password')
                    }).then(null, function(msg) {
                        flashMessages.warning(msg.error);
                    });
                }).catch(function() {
                    // display any errors returned by the client-side validator
                    var errors = _this.get('errors');
                    for (var e in errors) {
                        if (errors.hasOwnProperty(e) && errors[e].length > 0) {
                            flashMessages.warning(errors[e]);
                        }
                    }
                });

            }
        }

And finally, the error that I'm receiving when removing sinon and attempting to use ember-cli-mirage:
TypeError: Cannot read property 'error' of undefined
    at http://localhost:7357/assets/business-c7b15f144aaa251638f7515ed314b7dd.js:718:50
    at tryCatch (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:65632:14)
    at invokeCallback (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:65647:15)
    at publish (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:65615:9)
    at publishRejection (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:65549:5)
    at http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:42476:7
    at Queue.invoke (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:11455:16)
    at Object.Queue.flush (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:11519:11)
    at Object.DeferredActionQueues.flush (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:11319:17)
    at Object.Backburner.end (http://localhost:7357/assets/vendor-fef92444fcee2380784bf5f81617ce31.js:10712:25)

Note that error is referencing the flashMessages.warning(msg.error) in the auth controller.
All that said, if there is no issue with Mocha and Mirage, is there something else I need to do enable my tests to communicate with Mirage? Is there a way to test the server?
Thanks in advance!
Cheers,
James

Thanks for taking the time to open the issue! I'm sure this was all frustrating.
I don't see any fundamental reason why mirage shouldn't work with Mocha - it just uses Pretender, which hijacks window.XMLHttpRequest.
To debug, first I would put a debugger statement in your mirage config, like this:
// app/mirage/config.js
this.post(config.APP.API_URL + '/auth/login', function() {
    debugger; // here
    return {
      token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIxfHVuZGVmaW5lZCIsInN1YiI6ImkgZG9udCBrbm93IHdoYXQgdGhpcyBzaG91bGQgYmUiLCJhdWQiOiJ3YWxrbWF0ZSIsImV4cCI6MTQzODIwMzYyNDA3MCwibmJmIjoxNDM3NTk4ODI0MDcxLCJpYXQiOjE0Mzc1OTg4MjQwNzEsImp0aSI6ImFiZTMzOTcwLTMwYjQtMTFlNS1iNDk5LTgzYmE2Y2Y2NDE3MyJ9.ysWwzAqI8V9yKdMbXjQtNRXRM8LpMdBoZpJX4Mck0nw',
      token_type: 'bearer',
      expires_in: 7200
    };
  });

and see if that gets called. If so, you know the mirage server is hooked up, and is intercepting your Ember app's request.

Thanks for responding! Appreciate it.
Unfortunately, no luck on reaching the debugger statement. I did try it outside of the actual method and it does reach the configuration file, but I can't seem to get it to trigger the route.
This may be a dumb question, but I see that Pretender doesn't support cross-origin requests. Is this an issue for me since I'm appending a different prefix to my path? My API server lives separately, but didn't think it mattered since the whole point is to hijack the request.

@samselikoff I just created a new Ember project and installed ember-cli-mocha as well as ember-cli-mirage and tried to run a simple test that posts to /test with a corresponding entry in mirage/config.js; it worked!
However, if i change the post url and corresponding Mirage entry to http://test.com/test, things stop working. It appears the cross-origin request is causing the issue. That said, how can Mirage be used in the case that your API server sits somewhere else? I'm assuming that's the case for a lot of Ember apps.
Thanks!

Yes we're blocked by this issue on pretender, unfortunately

You could use that fork in your bower.json file for now and see if it works?

@samselikoff I'll give it a try and let you know. Just curious, how do you run your setup given the current limitations - do you have a single server serving both Ember app and API?
Cheers,
James

Hm not sure I understand the question, you mean given the limitations of not being able to mock out other-origin domains?

Sorry if that wasn't clear. What I meant was that I'm assuming most (possibly a poor assumption) people developing with Ember are connecting to some sort of API on a different server. In my case, this is true, and I have one local server running Ember and the other running my API. That said, my question is whether you typically run a similar setup and if so, how do you use Mirage in this scenario or do you typically end up running everything on the same server because of the other-origin domain limitation?
Thanks, Sam!

Actually for me, my api server is also serving up my ember frontend, so I haven't run into this issue.
What I imagine you could do is, have you adapter layer (say if you're using Ember data) set the hostname per environment. So in test or dev environment, leave the hostname blank. Then if you wanted to connect to your real api server, you could use ember cli's http proxies. Also, when you deployed to production, your adapter layer would set the appropriate domain.
Does that help?

Great idea. I'll give it a shot. Thanks, Sam!


2 ideas that I think would be very useful

Hello, excellent extension! I would like to propose 2 ideas that I think would be very useful: 1. You can configure to create a separate folder for the entire project (project.min/index.min.html - project.min/js/functions.min.js- ... ), with the same file structure, so that the entire minified project can be uploaded to the server? and 2. Can an obfuscate function be added before minifying? Thank you very much for the extension and it would be great to be able to add these 2 features.

Ah. A seperate folder for the min files eh? That might be possible. I'll add it to my notes.
And for the obsfurcation, I don't understand. You mean mangling? For JS, you can enable the mangling by adding the mangling option in the settings.json for terser. For HTML and CSS, I won't recommend mangling, as they're not exactly useful.

The problem of speaking different languages, I don't quite understand what mangling is, but I'll leave you a link to what I mean by obfuscation: https://js.jscrambler.com/protect-javascript

ah, an obsfurcator eh? I'll add in the notes. But, if terser doesn't support it, I'll need to work out something else or probably, write natively without APIs. I'll look upon it.

@TalkNetApps Obsfurcator option will be hard to implement. Given the fact that terser doesn't have an obsfurcation option. I can implement https://obfuscator.io/ api and make it so, but there's way to many factors in play here. Terser and obsfurcator API are conflicting. So it'll be hard to implement it. It's currently on hold. I'll think about it later.
For the seperate folder, I've implemented a boolean checkbox in the settings. It'll create a seperate folder called 'min' where the min files will be pasted.
Will push out in next update.


8.0 RC 1 regression: CodeNarc plugin cannot resolve its dependencies

Expected/Current Behavior
If I have a build script like
plugins {
    id("base")
    id("codenarc")
}

repositories {
    mavenCentral()
}

val codenarcGradle by tasks.registering(CodeNarc::class) {
    this.source(fileTree(".").include("*.gradle"))
}

tasks.named("build").configure {
    dependsOn(codenarcGradle)
}

and try to run ./gradlew build, the build will fail with
Execution failed for task ':codenarcGradle'.
> Could not resolve all files for configuration ':codenarc'.
   > Could not resolve org.codenarc:CodeNarc:3.1.0.
     Required by:
         project :
      > Cannot choose between the following variants of org.codenarc:CodeNarc:3.1.0:
          - runtimeElements
          - shadowRuntimeElements
        All of them match the consumer attributes:
          - Variant 'runtimeElements' capability org.codenarc:CodeNarc:3.1.0:
              - Unmatched attributes:
                  - Provides org.gradle.category 'library' but the consumer didn't ask for it
                  - Provides org.gradle.dependency.bundling 'external' but the consumer didn't ask for it
                  - Provides org.gradle.jvm.version '8' but the consumer didn't ask for it
                  - Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
                  - Provides org.gradle.status 'release' but the consumer didn't ask for it
                  - Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
          - Variant 'shadowRuntimeElements' capability org.codenarc:CodeNarc:3.1.0:
              - Unmatched attributes:
                  - Provides org.gradle.category 'library' but the consumer didn't ask for it
                  - Provides org.gradle.dependency.bundling 'shadowed' but the consumer didn't ask for it
                  - Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
                  - Provides org.gradle.status 'release' but the consumer didn't ask for it
                  - Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it

Context
I'm running CodeNarc on a set of Gradle scripts written in Groovy. This worked in Gradle 7.6.
Steps to Reproduce
gradle-issue-codenarc.zip
Your Environment
Build scan URL: https://scans.gradle.com/s/etlkrmzj44vaw/dependencies?toggled=W1swXSxbMCwwXV0

Thanks for reporting this, @davidburstrom.  The issue here is the upgrade of the default version of CodeNarc to use the latest, which has multiple variants to choose from.  This slipped past our test coverage because we don't have any tests that test against a non-JVM project.  We'll fix that, but in the meantime you can work around it with one of these options:
Option 1 - Apply the JVM ecosystem plugin.  This won't add any sourcesets or configurations or anything, but it will define some conventions that are sensible in JVM projects, one of which being that it should prefer variants with "external" bundling, which resolves the issue.
plugins {
    id("base")
    id("jvm-ecosystem")
    id("codenarc")
}

Option 2 - Downgrade the CodeNarc version to the previous default (i.e. "2.0.0") which doesn't have multiple variants published.
codenarc {
    toolVersion = "2.0.0"
}

Either of those should resolve the issue.  We'll look into fixing the problem for the next RC.

Thanks you @ghale for the workaround suggestion, the first option was the best one for me.


Added new StatusLight component

Checklist
(Check off all the items before submitting)

[x] Build process is done without errors. All tests pass in the /lib directory.
[x] Self-reviewed the code before submitting.
[x] Meets accessibility standards.
[x] Added/updated documentation to /website as needed.
[x] Added/updated tests as needed.

Description
Implementing the new StatusLight component,  including testing and documentation.
Closes #1803

An observation on this PR and for the next time. When we develop a new component we normally do the implementation first and then the documentation in a separate PR. This alleviates the burden of the review, allows the task to be broken down into smaller modules and also has the benefit that once the implementation has been merged, a new version of the library is generated and can therefore be used in the documentation PR for the examples.

Also, developers are only in charge of the Code tab. Usage and Specifications are created by the designers in most of the cases, since they are who know best its usage and specs.


Updates because of Pandas deprecations

to_dense() and ix() have been deprecated; these changes update to np.asarray() and .loc and fix additional resulting issues with making dense matrices

Hm, this may be more involved than I initially realized and I just caught the thread here. Sooo, take or leave!

I believe #98 already took care of this so closing, but if theres any that were missed in that other PR we have this for reference. thanks!


camerad stability improvements

Currently camerad is very brittle when cameras fail, this makes it hard to identify from the logs which camera is failing.
Improvements

[x] Ensure camerad can start with cameras missing https://github.com/commaai/openpilot/pull/24157
[x] Failing i2c writes in the exposure loop should not crash camerad. Mark cameraState invalid when this happens since the exposure is probably wrong? Test this by unplugging a camera while running, it should not crash. https://github.com/commaai/openpilot/pull/24157
[ ] fully power cycle and reset the sensor before init. Sometimes the sensor gets in a bad state and all subsequent inits fail.

The camera reset line is pulled low properly on init, but seems like it can still stay in a bad state sometimes. Needs some more investigation/repro.


UnconsumedParameterWarning: The configuration contains the parameter 'disable_persist_seconds' with value '604800' that is not consumed by the task 'scheduler'.

I'm getting this warning with Luigi 3.1.1:

UnconsumedParameterWarning: The configuration contains the parameter 'disable_persist_seconds' with value '604800' that is not consumed by the task 'scheduler'.

This is a documented feature in https://luigi.readthedocs.io/en/stable/configuration.html#scheduler, and we use it to prolong the time a task remains disabled.

It seems that the documentation haven't been built in a while. This very issue has already been fixed in the docs in https://github.com/spotify/luigi/commit/c35d3f736530b449126a70105f8ca1b3122187bc by @alex-senov.


[PoC] add support for passing rng to transforms

Closes #7027.

As discussed in #7027, passing a generator to forward is impossible when using the transforms the regular way through a dataset. Meaning, we need to have it as an instance attribute.
If we go that route, there is little to salvage here.


The row limit set for the chart was reached.

Bug description
I got an error message chart limit when creating a chart from sqllab:
The row limit set for the chart was reached. The chart may show partial data.
How to reproduce the bug
Create a chart from sqllab.
Screenshots/recordings

Superset version
4.0.1
Python version
3.11
Node version
I don't know
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

@dosu
How can I adjust this limit? Which file path should I use?

@dosu
It doesn't affect the chart; it impacts SQLLab directly.

Not solved, still got chart error Limit reached.

The default limit in SQL Lab is 1000... did you change it if needed?

Yes, I know that, but the limitation is within the chart creation itself. I have already open limit in SQL Lab to 100k, but when creating a chart from result, I encountered the following message indicating that the 1k limit has been reached:
The row limit set for the chart was reached. The chart may show partial data.

Can you give us a reproducible test case using one of the example datasets? That'll help me (or anyone) more able to validate that it's happening this way on our instance(s) and see if we can find a solution/workaround.

1- Run any query in SQLLAB fetch 10K rows.
2- Then click on CREATE CHART to explore the result.
3- You will get only 1K rows limit.
Additionally, I am using this method to download the result as an XLSX file from the chart. Therefore, I request a discussion #29411 to add a "Download to XLSX" feature, similar to the "Download to CSV" button.

Any suggestion here....

you can alter there ，

superset/common/query_object.py:150

# self.row_limit = row_limit
from superset import app
self.row_limit = app.config["ROW_LIMIT"]

then try superset custome config  > page length

Wow! it worked @mistwan thaanks.

@rusackas I think this should be reviewed as it might help mitigate the issue in the future.


docopt! macro can't compile.

Copy pasting the example from the docs doesn't compile with the error:
can't find crate for "docopt_macros" src/main.rs:2 #![plugin(docopt_macros)]
I might just plain stupid, but that's another part of rust which is not well documented - importing macros. Could you please tell me how to do it correctly?

It's hard to debug your problem without more info. What's your code look like? What does your Cargo.toml look like? What version of Rust are you using?
A few notes:

You should have both docopt and docopt_macros in your Cargo.toml. (Per instructions in README.md.)
docopt_macros only works on Rust nightly because it uses a compiler plugin and compiler plugins are unstable (which means they are not available on Rust beta or Rust stable).

Compiler plugins aren't well documented because they are an unstable feature with direct access to the compiler internals. The best we have in that department are examples (by looking at others' code).

I see,ok that makes sense, I missed the part of docopt_macros (from the instructions where it said to include them I thought of it as to include #[macro_use] at the top rather than meaning it is a separate repository). Why github still does not have some form of forum or smth, this issue things is not exactly what you want... but anyway thanks for getting back to me so fast!

No problem. I'm not that picky over what the issue tracker is used for, especially with low traffic. In some of my other projects, the issue tracker is effectively a support forum. It's cool.


Fix .ix deprecation warning (switch to .iloc)

Describe the bug
Fix these warnings
/srv/conda/envs/notebook/lib/python3.7/site-packages/clustergrammer2/clustergrammer_fun/run_filter.py:104: FutureWarning:
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing
See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
df['mat'] = df['mat'].ix[keep_rows]
/srv/conda/envs/notebook/lib/python3.7/site-packages/clustergrammer2/clustergrammer_fun/run_filter.py:74: FutureWarning:
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing
See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
df = df.ix[keep_rows]
/srv/conda/envs/notebook/lib/python3.7/site-packages/clustergrammer2/clustergrammer_fun/make_views.py:28: FutureWarning:
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing
See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated
tmp_df['mat'] = tmp_df['mat'].ix[keep_rows]
To Reproduce

Go to https://github.com/ismms-himc/clustergrammer2-notebooks
Run Jupyter Lab by clicking launch jupyter lab badge
Run notebook 1.0 Running Clustergrammer2
See warnings

Expected behavior
No warnings
Desktop (please complete the following information):

MacOS (warnings are on cloud deployment, MyBinder)
Browser [e.g. chrome, safari]
Version [e.g. 22]

this has been done


Canceling c operator

When a motion matches nothing, e.g. % on a line without brackets, or fx on a line without x, c should be cancelled and go into command mode; currently it simply behaves like i.
This PR implements the desired behaviour.
Also, this PR adds a lot of tests for c%; I wrote those when I mistakenly thought there was some other problem there so I wanted to document the desired behaviour and fix it, and then I found it already worked as I'd described it. If the tests are undesirable, I can remove them.

will fix specs after #787 is merged

Great!


Try inbuilt method for median in statistics 160th

Try inbuilt method for median in statistics 160th @ShreyashSomvanshi

Done ! @ShreyashSomvanshi


CommonMark mention

Currently README.md call markdownlint A Node.js style checker and lint tool for Markdown files.
Should CommonMark be mentioned too?
As far as I understood it covers CommonMark pretty good. CommonMark nowadays is becoming a de-facto standard, because it has spec unlike Markdown. I see that you included link to this spec in README.md.

Makes sense! As you say, the markdown-it parser is CommonMark-compliant. Because CommonMark is a dialect/subset of Markdown, maybe something like the following:

A Node.js style checker and lint tool for Markdown/CommonMark files.

Well, honestly I am not sure. Need to double check.

http://talk.commonmark.org/t/is-commonmark-really-markdown-compatible/540

Lots of strong opinions there. :) My proposal above deliberately does not take sides. "Markdown/CommonMark" suggests that both are supported without saying one is better or a subset, etc..
Until the day we find a rule that needs to behave differently, this may be good enough.

BTW, the title on the page http://commonmark.org/ says the following which is what I based my phrase "dialect/subset" on:

CommonMark - A strongly defined, highly compatible specification of Markdown

CommonMark - A strongly defined, highly compatible specification of Markdown

Then it should be ok to have Markdown/CommonMark

Great - I'll make the update soon.


ARROW-7502: [Integration] Remove Spark patch not needed

This removed ARROW-6429.patch that was used to patch Apache Spark master to fix compilation with Arrow 0.15+. Now Spark master has been updated to use Arrow 0.15.1 and the patch is not needed, it is currently being skipped for testing.

+1
Thanks for fixing @BryanCutler!

@ursabot crossbow submit docker-spark-integration

@ursabot crossbow submit test-conda-python-3.7-spark-master

merged to master, thanks @jacques-n and @nealrichardson !


Internal builds are failing due to signing validation issue

Official builds for Preview 3 are failing the signing validation step, as it looks like some of the wixproject.zip files are not being signed correctly. This will need to be fixed for Preview 3.

Fixed by https://github.com/dotnet/aspire/pull/1991


feature request: use RisingWave as Postgres-FDW

Is your feature request related to a problem? Please describe.
I want my primary postgres to connect to risingwave using the postgres_fdw.
But it's giving me this error
postgres=# import foreign schema public limit to (s1) from server risingwave into public;
ERROR:  Failed to run the query

Caused by:
  Feature is not yet implemented: ISOLATION LEVEL
Tracking issue: https://github.com/risingwavelabs/risingwave/issues/10376

CONTEXT:  remote SQL command: START TRANSACTION ISOLATION LEVEL REPEATABLE READ

Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

After the setting ISOLATION LEVEL the FDW will DECLARE a cursor and FETCH from the cursor repeatively. Need to support DECLARE & FETCH command.
See also:

https://blog.csdn.net/davidzwb/article/details/51803760
Materialize: https://materialize.com/docs/sql/declare/

You can also write a custom fdw wrapper like https://github.com/supabase/wrappers/tree/main/supabase-wrappers

I'm actively working on it, implementing a naive cursor.


focusin detection code side effects

Feature request (kinda)

What

The focusin detection script creates an element, appends it to the end of the document and shifts focus to it. In browsers that run this code, this makes for a poor user experience.
Details
I was asked to inspect an issue causing our pages to load and immediately scroll to the bottom on Xiaomi native browsers. The issue was traced to the code that handles the focusin event feature detection.
Since that bit of code is already causing a side effect, would it be possible to add another one or two before returning the support boolean:

Keep reference of the previous activeElement and shift focus back to it (although since that element would probably be the body element, this would not differ from the current behaviour, as focus is already moved to the body after the removal of the appended element).
Keep values of the previous scrollX and scrollY and move scroll position back to them.

The current behaviour may be observed in a Mint Browser on Android devices on haaretz.co.il pages (and on Financial Times pages as well). It does not seem to happen when reloading the page.

I'm guessing that it doesn't seem like it's happening upon reload because of browser run code that manages the scroll, so that it lands in the same spot it was in before the reload. When running the polyfill script in Firefox, the behaviour is consistent through reloads as well.

This bug affects chrome version 79 and detecting the event causes an unintentional scroll
https://github.com/Financial-Times/polyfill-library/blob/master/polyfills/Event/focusin/detect.js#L27


Is there any way to get the signal strength between server and client ?

When we try to send and receive the data from server to client
I am interested to show the signal strength between them.
Assume both Server and Client are connected to some WiFi hotspot.

You can potentially use another utility to check the signal strength and send that as data as part of the RPC, but gRPC itself does not provide a way to check the signal strength.


Update _index.md

Epics release notes for 19/10/2023

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: Luyao-Zhang-1:white_check_mark: joshuawilliamdavis:x: mxfmg1982You have signed the CLA already but the status is still pending? Let us recheck it.


Azure Kinect driver issue

Hi there,
I checked others' screenshots on Azure Kinect in device manager and found mine installed in different way.  Screenshot below:

As result, built k4areviewer can enable color camera but not depth camera. (prebuilt viewer coming with SDK doesn't have such issue) I received following log.

As upgrading firmware is suggested in the log, I tried to update the firmware (the one available in SDK 1.2.0), then got following errors.

I've tried to uninstall driver and install it with plugging camera into different USB 3.0 ports. No luck so far. Thank you in advanced for your help

Try installing the MSI, closing everything that might be using the color or depth camera (reboot even). Then run the k4aViewer instance that comes with the MSI.
Your first error is because the depth engine is missing, so you are not installed right. The 2nd you may have figured out or it may be because something else is using it. The last one I am not sure about.
Get Outlook for Androidhttps://aka.ms/ghei36

From: FuntestechGithub<EMAIL_ADDRESS>Sent: Monday, August 26, 2019 7:13:25 PM
To: microsoft/Azure-Kinect-Sensor-SDK<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [microsoft/Azure-Kinect-Sensor-SDK] Azure Kinect driver issue (#682)
Update:
I opened command prompt with admin right, and got rid of access denied error but still had unable to find a device error.
[image]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F53668234%2F63735732-f32ec680-c83d-11e9-9527-320ac8c086f2.png&data=02|01|Wes.Barcalow%40microsoft.com|93f64f9aae3d4d04c7d008d72a9424ea|72f988bf86f141af91ab2d7cd011db47|1|0|637024688074244765&sdata=it0wFBxfSrRUyWxuqbPc6AeGYm86hVfYxrJBSZhdRqk%3D&reserved=0
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F682%3Femail_source%3Dnotifications%26email_token%3DACVJTJMLXTUVSVUT7REKV5DQGSEULA5CNFSM4IP2ON2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5GHVDI%23issuecomment-525105805&data=02|01|Wes.Barcalow%40microsoft.com|93f64f9aae3d4d04c7d008d72a9424ea|72f988bf86f141af91ab2d7cd011db47|1|0|637024688074254756&sdata=dDHMGQca9GWMezbUXYseUA7t1pXaEBrvugiYZBfieQk%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACVJTJL36WKNHOESPHMNVV3QGSEULANCNFSM4IP2ON2A&data=02|01|Wes.Barcalow%40microsoft.com|93f64f9aae3d4d04c7d008d72a9424ea|72f988bf86f141af91ab2d7cd011db47|1|0|637024688074254756&sdata=Ou0qAcGCTKv2qJnqbKfZxs44g6td4aHadzE%2BO1Z5ksQ%3D&reserved=0.

Ok let's focus on getting k4aViewer running. There should only be one instance installed, make sure all other versions are uninstalled. Then run the viewer for the 1.2.0 you have installed. It should just work because the depth engine and the viewer are installed side by side. If it is not working, find the install path and cd into that folder and run from a command prompt after confirming they are side by side.
Get Outlook for Androidhttps://aka.ms/ghei36

From: FuntestechGithub<EMAIL_ADDRESS>Sent: Monday, August 26, 2019 8:57:07 PM
To: microsoft/Azure-Kinect-Sensor-SDK<EMAIL_ADDRESS>Cc: Wes Barcalow<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [microsoft/Azure-Kinect-Sensor-SDK] Azure Kinect driver issue (#682)
Try installing the MSI, closing everything that might be using the color or depth camera (reboot even). Then run the k4aViewer instance that comes with the MSI. Your first error is because the depth engine is missing, so you are not installed right. The 2nd you may have figured out or it may be because something else is using it. The last one I am not sure about. Get Outlook for Androidhttps://aka.ms/ghei36
…
________________________________ From: FuntestechGithub notifications<EMAIL_ADDRESS>Sent: Monday, August 26, 2019 7:13:25 PM To: microsoft/Azure-Kinect-Sensor-SDK Azure-Kinect-Sensor-SDK<EMAIL_ADDRESS>Cc: Subscribed subscribed<EMAIL_ADDRESS>Subject: Re: [microsoft/Azure-Kinect-Sensor-SDK] Azure Kinect driver issue (#682https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F682&data=02|01|Wes.Barcalow%40microsoft.com|d8b9a6143e5d416e9e6708d72aa2a1de|72f988bf86f141af91ab2d7cd011db47|1|0|637024750303122095&sdata=9jVZQtHAAGjM2WoYEv5ESflMC4dRjQSOMJ8cT6bG0Fk%3D&reserved=0) Update: I opened command prompt with admin right, and got rid of access denied error but still had unable to find a device error. [image]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F53668234%2F63735732-f32ec680-c83d-11e9-9527-320ac8c086f2.png&data=02|01|Wes.Barcalow%40microsoft.com|93f64f9aae3d4d04c7d008d72a9424ea|72f988bf86f141af91ab2d7cd011db47|1|0|637024688074244765&sdata=it0wFBxfSrRUyWxuqbPc6AeGYm86hVfYxrJBSZhdRqk%3D&reserved=0https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F53668234%2F63735732-f32ec680-c83d-11e9-9527-320ac8c086f2.png&data=02|01|Wes.Barcalow%40microsoft.com|d8b9a6143e5d416e9e6708d72aa2a1de|72f988bf86f141af91ab2d7cd011db47|1|0|637024750303122095&sdata=IXxs%2BS490oeV66FoT3i33OCEHwUwUABAXlJshoLT5mg%3D&reserved=0 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F682%3Femail_source%3Dnotifications%26email_token%3DACVJTJMLXTUVSVUT7REKV5DQGSEULA5CNFSM4IP2ON2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5GHVDI%23issuecomment-525105805&data=02%7C01%7CWes.Barcalow%40microsoft.com%7C93f64f9aae3d4d04c7d008d72a9424ea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637024688074254756&sdata=dDHMGQca9GWMezbUXYseUA7t1pXaEBrvugiYZBfieQk%3D&reserved=0https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F682%3Femail_source%3Dnotifications%26email_token%3DACVJTJMLXTUVSVUT7REKV5DQGSEULA5CNFSM4IP2ON2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5GHVDI%23issuecomment-525105805&data=02|01|Wes.Barcalow%40microsoft.com|d8b9a6143e5d416e9e6708d72aa2a1de|72f988bf86f141af91ab2d7cd011db47|1|0|637024750303132088&sdata=sRUcn%2FS39ajvw2ATqU5iO5q1n%2BXJ7C4S%2B9zLgEOqcsM%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACVJTJL36WKNHOESPHMNVV3QGSEULANCNFSM4IP2ON2A&data=02%7C01%7CWes.Barcalow%40microsoft.com%7C93f64f9aae3d4d04c7d008d72a9424ea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637024688074254756&sdata=Ou0qAcGCTKv2qJnqbKfZxs44g6td4aHadzE%2BO1Z5ksQ%3D&reserved=0https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACVJTJL36WKNHOESPHMNVV3QGSEULANCNFSM4IP2ON2A&data=02|01|Wes.Barcalow%40microsoft.com|d8b9a6143e5d416e9e6708d72aa2a1de|72f988bf86f141af91ab2d7cd011db47|1|0|637024750303142087&sdata=FRdfT66EVEArKhY0RMxYr869bJRLUi8PEqsp1j6ADo8%3D&reserved=0.
Hi wes-b, thanks for the kind reply. It was SDK MSI I installed. I just did that again and reconnect the Kinect. Outcome stays the same.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F682%3Femail_source%3Dnotifications%26email_token%3DACVJTJJSMYFZEM4AGIKPXK3QGSQZHA5CNFSM4IP2ON2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5GMWEQ%23issuecomment-525126418&data=02|01|Wes.Barcalow%40microsoft.com|d8b9a6143e5d416e9e6708d72aa2a1de|72f988bf86f141af91ab2d7cd011db47|1|0|637024750303142087&sdata=T00Hk2%2Fsfrc5f3QnBbl59FnDzBgbJwrNJunCQg2fFE0%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACVJTJNDLPX3JDAWPVM6DCLQGSQZHANCNFSM4IP2ON2A&data=02|01|Wes.Barcalow%40microsoft.com|d8b9a6143e5d416e9e6708d72aa2a1de|72f988bf86f141af91ab2d7cd011db47|1|0|637024750303152082&sdata=icukbbEEpzheUKRBo3OqJkm1D8InBJKO372GIkNhCu8%3D&reserved=0.


Use storage class requested by statefulset instead of the old PVC

Until now we reused the storage class of the to be resized PVC. However that can be an issue if the requested or default storage class changed and the old storage class is not available anymore.
With this change we create new PVCs using the storage class (or the lack of it, i.e. default) of the statefulset.
Summary

Checklist

[x] Keep pull requests small so they can be easily reviewed.
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] Update tests.

LGTM


If the hive databases and tables are the same as tidb databases and table，how does the TiSpark with Hive work

How does the TiSpark with Hive work when hive databases and tables are the same as tidb databases and tables.

spark.tispark.db_prefix can be used to solve this problem.
You can find the document in https://github.com/pingcap/tispark#configuration

@marsishandsome Thank you