Suggestion to Refactor Flask Endpoint to Avoid Using subprocess

I was going to start working on the implementation of the server.py test code, but there were some areas where I thought the process could be improved, so I made this issue!
The current implementation of the Flask endpoint in app.py uses a subprocess to execute the run function from cli.py. I think this approach introduces extra overhead and complexity.
Current Code
@app.route("/")
def default_route():
... snip ...
@app.route("/")
def default_route():
    query_parameters = urllib.parse.parse_qsl(
        request.query_string.decode(), keep_blank_values=True
    )
    parsed_parameters = []

    for key, value in query_parameters:
        if value:
            parsed_parameters.append(f"{key}={value}")
        else:
            parsed_parameters.append(key)

    args = ",".join(parsed_parameters)

    async def run_subprocess():
        try:
            result = subprocess.run(
                ["python3", "src/cli.py", args],
                capture_output=True,
                text=True,
                check=True,
            )
            return result.stdout
        except subprocess.CalledProcessError as e:
            print("Error message from subprocess:", e.stderr)
            raise e

    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    result = loop.run_until_complete(run_subprocess())
    return result

Suggestion
How about refactoring the code to import and call the run function directly from cli.py and eliminate the need for sub-processes?
An image of the proposed amendment is below. (although error handling, etc. will need to be considered separately)
from src.cli import run  # Direct import

@app.route("/")
def default_route():
    query_parameters = urllib.parse.parse_qsl(
        request.query_string.decode(), keep_blank_values=True
    )
    parsed_parameters = []

    for key, value in query_parameters:
        if value:
            parsed_parameters.append(f"{key}={value}")
        else:
            parsed_parameters.append(key)

    args = ",".join(parsed_parameters)
    result = run(args)  # Direct function call
    return result

Of course, the cli.py side must also be modified to make this modification.
I think the advantages of calling cli.py directly are as follows.

Reduces overhead and complexity

Using subprocess adds extra layers of process creation and inter-process communication. Directly calling the function within the same process simplifies the code and avoids these unnecessary steps.

Simplifies error handling

When using sub-processes, cli.py is executed by the new process, which makes it difficult to catch errors when they occur. cli.pycan be called directly to easily locate the error (easily tracked by the IDE's debugger, etc.) (which can be easily tracked using the IDE's debugger, etc.).

@ryansurf
However, I am wrong and may have missed something. If you are using Subprocess by design, please tell me why!

If you change the code as I suggested, the output from cli.py would be the standard output of the Flask server, and the results would not be displayed in the terminal of the user who made the curl request.
(This is because cli.py uses print statements to output the final ASCII art and the results obtained from the API.)
Also, if the concept of this tool is to be used from the CLI, then perhaps a sub-process implementation is still appropriate.
My apologies. I found out a lot and solved the problem myself.
Please feel free to close this Issue.

Indeed, the intention is to have it be mostly used from the CLI (although there is the frontend, as bad as it may be atm).
Before I saw this I was briefly trying to work on the server testing code, and I'm not sure how to move forward (to start the server we'd need to implement threading/subprocess to test it I think?).
I like your above implementation, it looks clean. I wonder if theres a way we can solve the terminal issue 🤔
Regardless, thanks for the writeup. I think we should improve the Flask code one way or another, its a little messy

Before I saw this I was briefly trying to work on the server testing code, and I'm not sure how to move forward (to start the server we'd need to implement threading/subprocess to test it I think?).

Flask provides a Client feature for testing purposes, which we will use. With this, it is possible to run tests without starting the Flask server on the developer side:)
https://flask.palletsprojects.com/en/3.0.x/testing/#sending-requests-with-the-test-client

Sending Requests with the Test Client
The test client makes requests to the application without running a live server.

I like your above implementation, it looks clean. I wonder if theres a way we can solve the terminal issue 🤔

I'm currently using a print statement in cli.py, which is called from subprocess, to output the formatted result.
there's a proposal to change this so that the result is returned to the user who executed the curl command as an "HTTP response".
However, Please note that adopting this change would require significant refactoring.
Therefore, I think the decision to adopt it should be carefully considered based on the future benefits and the usability for future users (e.g. whether it leans more towards CLI operations or frontend usage). 🤔

I was just thinking that if we focus on the frontend (reflecting the output results on the frontend), we could represent various ocean data in graphs, which would open up more possibilities. Although it doesn't quite align with the concept of cli-surf, haha. 😓

I was just thinking that if we focus on the frontend (reflecting the output results on the frontend), we could represent various ocean data in graphs, which would open up more possibilities. Although it doesn't quite align with the concept of cli-surf, haha. 😓

I agree. When I first started this project I was thinking only focusing on the cli, but why not a frontend? :joy:
I was actually trying to plot a forecast of the surf heights over a 7 day period using JSCharting and had it working, but I scrapped it (wasn't happy with how it looked). I think we should give it another go, altough my frontend skills are quite lacking lol

I like your above implementation, it looks clean. I wonder if theres a way we can solve the terminal issue 🤔

I'm currently using a print statement in cli.py, which is called from subprocess, to output the formatted result. there's a proposal to change this so that the result is returned to the user who executed the curl command as an "HTTP response".
However, Please note that adopting this change would require significant refactoring. Therefore, I think the decision to adopt it should be carefully considered based on the future benefits and the usability for future users (e.g. whether it leans more towards CLI operations or frontend usage). 🤔

I think this would be a good change. I'm going to look into this today, seems like it shouldn't be too much work... but those are some famous last words

I was actually trying to plot a forecast of the surf heights over a 7 day period using JSCharting and had it working, but I scrapped it (wasn't happy with how it looked). I think we should give it another go, altough my frontend skills are quite lacking lol

That's a great initiative!
I'm familiar with ChartJS, but I wasn't aware of JSCharting. Thank you.
As for the frontend, I don't have much knowledge either and am currently learning about it. 😇

@ryansurf
Are you familiar with Streamlit?
https://streamlit.io/
https://streamlit.io/gallery
With Streamlit, you can implement a frontend using only Python code.
It allows for easy data visualization and dashboard creation, making it suitable for various data science use cases. So, it might be worth considering adopting it.
However, since Streamlit is ultimately a Python-based framework, if complex UI becomes necessary, I believe it would be necessary to adopt a frontend framework.

@ryansurf Are you familiar with Streamlit?
https://streamlit.io/ https://streamlit.io/gallery
With Streamlit, you can implement a frontend using only Python code. It allows for easy data visualization and dashboard creation, making it suitable for various data science use cases. So, it might be worth considering adopting it. However, since Streamlit is ultimately a Python-based framework, if complex UI becomes necessary, I believe it would be necessary to adopt a frontend framework.

This is cool!
Hmm, thats what im debating at the moment. We could have a simple frontend that uses streamlit. We can also implement a more complex frontend that lets users login, save surf spots, etc. Issue is I am not a big frontend person :joy:
I think we should use this for now


[openssl] Pass on the Android API level to Configure

OpenSSL's Configure always selects the latest available API level in whichever NDK it's building against and while this matches vcpkg defaults most of the time, if a user builds with an android triplet file setting VCPKG_CMAKE_SYSTEM_VERSION the desired version will be ignored. This patch forwards the detected system version to Configure as the -D__ANDROID_API__= argument, which is how Configure expects it.

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Nevermind, the -D__ANDROID_API__ flag is actually not necessary since the --target flag does encode the API level in the platform version.


[SPARK-32021][SQL][3.0] Increase precision of seconds and fractions of make_interval

What changes were proposed in this pull request?
Change precision of seconds and its fraction from 8 to 18 to be able to construct intervals of max allowed microseconds value (long).
Why are the changes needed?
To improve UX of Spark SQL.
Does this PR introduce any user-facing change?
Yes
How was this patch tested?

Add tests to IntervalExpressionsSuite
Add an example to the MakeInterval expression
Add tests to interval.sql

Authored-by: Max Gekk<EMAIL_ADDRESS>Signed-off-by: Dongjoon Hyun<EMAIL_ADDRESS>(cherry picked from commit 66ba35666a49023cd8da30cf84aff5c6fb1d8799)

Test build #124319 has started for PR 28878 at commit 8ddc76b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28939/
Test PASSed.

Test build #124319 has finished for PR 28878 at commit 8ddc76b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124319/
Test PASSed.

Thanks!


Breakpoints on the extreme left edge of the glyph margin

Type: Bug
Are the breakpoints on the glyph margin in the intended position? It seems to me they are a little on the extreme left side edge.
VS Code version: Code 1.78.2 (b3e4e68a0bc097f0ae7907b217c1119af9e03435, 2023-05-10T15:00:40.428Z)
OS version: Darwin arm64 22.5.0
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Apple M1 Pro (10 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
3, 4, 3

Memory (System)
16.00GB (0.30GB free)

Process Argv
--crash-reporter-id d7807ade-c720-444a-a86a-1f19a144576f

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

catppuccin-vsc
Cat
2.7.0

prettier-vscode
esb
9.13.0

code-runner
for
0.12.0

material-icon-theme
PKi
4.27.0

LiveServer
rit
5.7.9

(1 theme extensions excluded)

If they look wrong, can you include a screenshot?

I don’t really know if it’s wrong or if this is on purpose. Breakpoints to the extreme left (should be centered in the glyph margin, in my humble opinion):
[Screenshot 2023-06-01 at 8.06.09 PM.png]
On 1/06/2023, at 7:57 PM, Rob Lourens @.***> wrote:
If they look wrong, can you include a screenshot?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/183723#issuecomment-1572972371, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXQZCJVMWAV4FCKZC3FEYHDXJE265ANCNFSM6AAAAAAYS5OBBI.
You are receiving this because you authored the thread.Message ID: @.***>

And if you have any other margin glyphs in that file, then it may change the size of the glyph margin, however I think breakpoints should always be on the right, near the line numbers

I think that is correct, there is just some space for the line numbers to grow. You can check whether you have any settings or extensions impacting this too


The request adapts a media response to the base-table

The deformation is too serious,

You can enable horizontal scrolling for the table (required data-role='table'). Additional styles for the table in the near feature I don't plan.

You can enable horizontal scrolling for the table (required data-role='table'). Additional styles for the table in the near feature I don't plan.


Truncate/Round data when parsing

Fields such as va, pg, qg.. values often have several decimal points. This is particularly bad when exporting into json

Create a function that receives a network_data and truncates all float64 values to 6 decimal points (or less).


[CSS] Color, Fx 76 tasks

Trello
https://trello.com/c/8lDSXVTL/257-css-colors-fx-76
Acceptance criteria

[ ] Need to support CSS4 system colors

Updated the System colors section of the color data type page, and moved the old values into a "deprecated" subsection. Linked to the system colors section from the forced-colors page.

Rel note added: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/76#CSS.
@jmswisher, can you please add these in future?


pre-commit hook, linter, and type-checker for Python files

I am using the python package pre-commit to mange pre-commit hooks. They can be activated using pre-commit install in the root dir, which automatically fixes files when committing. Concretely these hooks include:

syntax verifier for yaml files
replacing all single quotes with double quotes in Python files
a formatter for python doc strings
yapf to format Python code, based on Google's style guide
import sorter for Python, which alphabetically sorts and separates imports into categories
Next, I added a Makefile target for linting and type-checking Python code. The linter (pylint) uses the configuration provided by Google's style guide. I decided to go with pytype for the type-checker because it uses inference and instead of enforcing type annotations everywhere, uses them where available.

Finally, I additionally wrapped all of this in Github Actions and schedules it to run on commits to the main branch and pull requests. There are three such actions, one for pre-commit , linter and type-checker, respectively. A single action takes at maximum 1m 30s in my tests, so we should be fine running it on Github without running into any limits.
I have checked the outputs for pylint and pytype and already fixed some code for the latter. We still need to apply the pre-commit hooks to all files in the code base though by running pre-commit run -a.

In general this looks good. But do I see this right and only the pre-commit action will currently be green and the other two are still red? If so I would suggest we first fix the issues so that the actions are green when we add them (or add them so they don't trigger automatically yet) and also only add lint-python to the main lint target once it passes without error. Until then just keep the lint-python target separate.
I have been working on fixing all the c/c++ lint options, so after I push that make lint without the python stuff would be green.

Looking at this a bit more I would suggest also adding makefile targets for yapf and isort, two each: lint-yapf and lint-isort (that only check and return errors) and then format-yapf and format-isort that would also apply the changes. Just like we have lint-cpplint and clang-format (although the latter is not really consistent terminology-wise). Then once these pass we can also add them to the default lint target.
I know pre-commit also runs these, but I would like to have an easy way to run them manually as well.

In general this looks good. But do I see this right and only the pre-commit action will currently be green and the other two are still red? If so I would suggest we first fix the issues so that the actions are green when we add them (or add them so they don't trigger automatically yet) and also only add lint-python to the main lint target once it passes without error. Until then just keep the lint-python target separate.
I have been working on fixing all the c/c++ lint options, so after I push that make lint without the python stuff would be green.

Yes, currently pytype and pylint fail. I will fix them in a later pull request, didn't want to clutter up this one. Makes sense to keep the Makefile targets separate for now.

Looking at this a bit more I would suggest also adding makefile targets for yapf and isort, two each: lint-yapf and lint-isort (that only check and return errors) and then format-yapf and format-isort that would also apply the changes. Just like we have lint-cpplint and clang-format (although the latter is not really consistent terminology-wise). Then once these pass we can also add them to the default lint target.
I know pre-commit also runs these, but I would like to have an easy way to run them manually as well.

Yes, I can do that.

@FreakyPenguin Could you take a look at the two TODOs in experiments/simbricks/runtime/distributed.py I have added in https://github.com/simbricks/simbricks/pull/18/commits/bf1d7f61b9ce2aab3fb625139616bff285e4091a ? The attribute nics is missing the classes HostSim and Experiment. After that, all type issues should be resolved.


'numericInput' value is vice versa

I want to use currency mask using folowing code, but when I want to get value, the value are vice versa
$('.mask').inputmask('€ 999,999,999.99', { numericInput: true, 'autoUnmask': true });
can anyone help to solve this problem? Advanced Thanks

Sorry, The version that included in my project was an older version, and I update to current and the issue solved.


Memo file not found for file '${path}'

Hi all,
thanks for the work so far.
If have an issue regarding case-sensititvity of input files:
Unfortuneatly I have 2 cases of filenames:
table1.dbf
table1.dbt
TABLE2.DBF
TABLE2.DBT
But I can't copy or mutate clients data.
Currently I just patched the package:
if (fileVersion === 0x83 || fileVersion === 0x8b) {
    memoPath = path.slice(0, -path_1.extname(path).length) + '.dbt';
    let isMemoFileMissing = await utils_1.stat(memoPath).catch(() => 'missing') === 'missing';
    if (isMemoFileMissing){
        memoPath = path.slice(0, -path_1.extname(path).length) + '.DBT';
        isMemoFileMissing = await utils_1.stat(memoPath).catch(() => 'missing') === 'missing';
    }
    if (isMemoFileMissing)
        memoPath = undefined;

Any better solutions?
Regards,
Acry

Hmm interesting. This probably went unnoticed since Windows and MacOS file systems are case-insensitive (but case-preserving). Are you running on linux by chance?
I'm not sure there's a better way other than trying both the uppercase and lowercase variants as you have done above, although I'd probably iterate over ['.dbt', '.DBT'] rather than copying the whole code twice.

Hi @Acry, I've merged a change to address this issue in the latest version (v1.7.1). Can you try it out and see if the problem is fixed?

Sorry for the late response. Emails got eaten by flood =)
All issues are resolved.
Yeah, I'am running arch-linux.
Ofc your code is way more elegant. Only did the duplication to make changes more obvious.
Thank you


Drop support for legacy Python 2

For #265.
Changes proposed in this pull request:

Fail early at import time
Fail early in setup.py
Remove Python 2 code
Update python_requires, Trove classifiers and README
Change deprecation warning to error
Bump major version
Upgrade Python syntax with pyupgrade `find . -name "*.py"` --py3-plus

Coverage dropped because some covered lines were removed and also the new fail-early code isn't tested on Python 2.


Add types

Add types for typescript from javascript source

Ah, I just realize, the source use package-lock.json, but in CI use yarn.
I need to move use yarn (?)

Ah, I just realize, the source use package-lock.json, but in CI use yarn.
I need to move use yarn (?)

Is a release for this PR coming soon?

After merging https://github.com/josx/ra-data-feathers/pull/156 I will release a new version.

Done! v2.9.0


#376 Added admin only transcript deletion endpoint

Added endpoint that deletes a given episodes transcript. This endpoint is only accessible to admins
Syntax for the endpoint: /admin/Podcast/{episodeId}/DeleteTranscript

Same as last, only merge after our demo


[Bug] BdApi request in start() imposes a race condition.

Describe the Bug
I am attempting to get the user's own ID with BdApi.findModuleByProps("getCurrentUser").getCurrentUser().id; in the start() of my plugin. And I store it as a class variable to use it when I need it.
Since plugins (according to the errors) are loaded async when Discord first starts (or Ctrl + R is pressed (where I have the most issues)), this basically imposes a race condition and, depending on the structure of the plugin I assume, will fail my request for the ID.
To Reproduce
See above.
Expected Behavior
Either delaying plugin loading until BdApi is fully loaded/initialized - which would be rather inconvenient for a relatively small issue - or maybe use/subscribe to some sort of delayedStart() which waits for BdApi to "complete".
Screenshots

For context ^
Discord Version
Latest Stable
Additional Context
I have fixed this issue by requesting the ID at a later stage, but I can imagine this issue being somewhat annoying if start() appears to be unreliable on boot (especially when developing).

Plugins are not loaded until guilds and the corresponding DOM elements are loaded, so it's pretty predictable. As for your specific case, you can query it inside the plugin, however I can say I've never experienced that specific issue since the user accounts is loaded before the guilds.

Either delaying plugin loading until BdApi is fully loaded/initialized

BdApi itself is fully loaded before plugins are even loaded or read in from the filesystem


ESPHome Dashboard doesn't start, Fatal Python error: init_fs_encoding

!!! Before you start !!!

[X] I have verified that there is not already an issue with the same problem
[X] This is really a bug of current code, not an enhancement request (f.e. adding support for a new device type). There is a dedicated template for feature-requests.

Describe the bug
When starting the adapter, a python error appears in log file (see down in Logs). The dashboard does not work, Regardless if I'm trying to include it in ioBroker or use a browser to access http://ip.of.my.iobroker:6052
Finding / adding devices in settings works though.
To Reproduce
Steps to reproduce the behavior:
Installed ESPHome on my ioBroker and tried to start it. Tried a new installation, got to the same issue.
Tried various fixes that were recommended on the web, none on them changed something
What I tried as solutions already
Unset PHYTONHOME and PYTHONPATH as recommended here
re-installed python sudo apt install --reinstall python3-full python3.11-dev libpython3.11-dev python3-pip
re installed all output of sudo apt-get install --reinstall $(dpkg -S '/usr/lib/python3*' | cut -d ':' -f1 | cut -d ',' -f1 | sort | uniq | tr '\n' ' ')
Also I created a new venv with python3 -m venv venv, activated it with source venv/bin/activate, installed pip3 install esphome and checked esphome version what returned Version: 2024.7.0
(how would I get into the venv ioBroker is using?)
Expected behavior
Dashboard on ioBroker should work ;)
Logs (as screenshot and in text-form)
host.ioBroker | 2024-07-23 11:15:38.248 | info | instance system.adapter.esphome.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
-- | -- | -- | --
host.ioBroker | 2024-07-23 11:15:40.844 | info | instance system.adapter.esphome.0 started with pid 9706
esphome.0 | 2024-07-23 11:15:42.306 | debug | Redis Objects: Use Redis connection: <IP_ADDRESS>:9001
esphome.0 | 2024-07-23 11:15:42.347 | debug | Objects client ready ... initialize now
esphome.0 | 2024-07-23 11:15:42.349 | debug | Objects create System PubSub Client
esphome.0 | 2024-07-23 11:15:42.351 | debug | Objects create User PubSub Client
esphome.0 | 2024-07-23 11:15:42.403 | debug | Objects client initialize lua scripts
esphome.0 | 2024-07-23 11:15:42.411 | debug | Objects connected to redis: <IP_ADDRESS>:9001
esphome.0 | 2024-07-23 11:15:42.460 | debug | Redis States: Use Redis connection: <IP_ADDRESS>:9000
esphome.0 | 2024-07-23 11:15:42.478 | debug | States create System PubSub Client
esphome.0 | 2024-07-23 11:15:42.479 | debug | States create User PubSub Client
esphome.0 | 2024-07-23 11:15:42.547 | debug | States connected to redis: <IP_ADDRESS>:9000
esphome.0 | 2024-07-23 11:15:42.592 | debug | Plugin sentry Initialize Plugin (enabled=true)
esphome.0 | 2024-07-23 11:15:43.036 | info | starting. Version 0.5.0-beta.8 in /opt/iobroker/node_modules/iobroker.esphome, node: v18.20.4, js-controller: 5.0.19
esphome.0 | 2024-07-23 11:15:43.148 | info | Native Integration of ESPHome Dashboard enabled
esphome.0 | 2024-07-23 11:15:43.679 | info | [Error caught and send to Sentry, thank you collaborating!] error: Error: Command failed with exit code 1: /home/iobroker/.cache/autopy/python/3.11.9/bin/python3 -m venv /home/iobroker/.cache/autopy/venv/esphomePython path configuration: PYTHONHOME = (not set) PYTHONPATH = (not set) program name = '/home/iobroker/.cache/autopy/python/3.11.9/bin/python3' isolated = 0 environment = 1 user site = 1 safe_path = 0 import site = 1 is in build tree = 0 stdlib dir = '/home/iobroker/.cache/autopy/python/3.11.9/lib/python3.11' sys._base_executable = '/home/iobroker/.cache/autopy/python/3.11.9/bin/python3' sys.base_prefix = '/home/iobroker/.cache/autopy/python/3.11.9' sys.base_exec_prefix = '/home/iobroker/.cache/autopy/python/3.11.9' sys.platlibdir = 'lib' sys.executable = '/home/iobroker/.cache/autopy/python/3.11.9/bin/python3' sys.prefix = '/home/iobroker/.cache/autopy/python/3.11.9' sys.exec_prefix = '/home/iobroker/.cache/autopy/python/3.11.9' sys.path = [ '/home/iobroker/.cache/autopy/python/3.11.9/lib/python311.zip', '/home/iobroker/.cache/autopy/python/3.11.9/lib/python3.11', '/home/iobroker/.cache/autopy/python/3.11.9/lib/python3.11/lib-dynload', ]Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encodingPython runtime state: core initializedLookupError: no codec search functions registered: can't find encodingCurrent thread 0x0000007f931ed040 (most recent call first): <no Python frame> at makeError (file:///opt/iobroker/node_modules/autopy/node_modules/execa/lib/error.js:60:11) at handlePromise (file:///opt/iobroker/node_modules/autopy/node_modules/execa/index.js:124:26) at processTicksAndRejections (node:internal/process/task_queues:95:5) at $df9eabe9bda49ea8$export$e522f41234ab669a (file:///opt/iobroker/node_modules/autopy/src/index.ts:228:9) at Esphome.espHomeDashboard (/opt/iobroker/node_modules/iobroker.esphome/main.js:110:19) at Esphome.onReady (/opt/iobroker/node_modules/iobroker.esphome/main.js:78:5)
esphome.0 | 2024-07-23 11:15:48.155 | info | Bonjour service started, new devices will be detected automatically

Better readable output from my own venv:
(venv) jonas@ioBroker:~ $ /home/iobroker/.cache/autopy/python/3.11.9/bin/python3 -m venv /home/iobroker/.cache/autopy/venv/esphome
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = '/home/iobroker/.cache/autopy/python/3.11.9/bin/python3'
  isolated = 0
  environment = 1
  user site = 1
  safe_path = 0
  import site = 1
  is in build tree = 0
  stdlib dir = '/home/iobroker/.cache/autopy/python/3.11.9/lib/python3.11'
  sys._base_executable = '/home/iobroker/.cache/autopy/python/3.11.9/bin/python3'
  sys.base_prefix = '/home/iobroker/.cache/autopy/python/3.11.9'
  sys.base_exec_prefix = '/home/iobroker/.cache/autopy/python/3.11.9'
  sys.platlibdir = 'lib'
  sys.executable = '/home/iobroker/.cache/autopy/python/3.11.9/bin/python3'
  sys.prefix = '/home/iobroker/.cache/autopy/python/3.11.9'
  sys.exec_prefix = '/home/iobroker/.cache/autopy/python/3.11.9'
  sys.path = [
    '/home/iobroker/.cache/autopy/python/3.11.9/lib/python311.zip',
    '/home/iobroker/.cache/autopy/python/3.11.9/lib/python3.11',
    '/home/iobroker/.cache/autopy/python/3.11.9/lib/python3.11/lib-dynload',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
LookupError: no codec search functions registered: can't find encoding

Current thread 0x0000007fac5d4040 (most recent call first):
  <no Python frame>

Versions:

Adapter version: v0.5.0-beta.8
ESPHome Dashboard version:
JS-Controller version: 5.0.19
Node version: 18.20.4
Operating system: Raspberry Pi 4 / Debian Bookworm
Installation Method: installed using ioBroker

Additional context

Just did a clean new install here as well on a Pi4 and everything works for me still.

Also I created a new venv with python3 -m venv venv, activated it with source venv/bin/activate, installed pip3 install esphome and checked esphome version what returned Version: 2024.7.0

so using this you got a working dashboard?

(how would I get into the venv ioBroker is using?)

source /home/iobroker/.cache/autopy/venv/esphome/bin/activate

Operating system: Raspberry Pi 4 / Debian Bookworm

32bit or 64?
We already had problems with 32bit a few times with things the adapter has nothing to do with / cant really fix.

@JonasRueter
If not completely new environment:
have you already tried to clean the adapters cache:
rm -rf /home/iobroker/.cache/autopy
what does this print?:
cd /
sudo find / -type d -name "encodings"

@SimonFischer04

If not completely new environment:
have you already tried to clean the adapters cache:
rm -rf /home/iobroker/.cache/autopy

That one actually did the trick. Uninstalled the adapter, cleaned the cache, installed the adapter again. Thanks for your help!
Other answers as I already typed them and they might be useful for somebody in future time:

What do you mean by new installation? Newly formatted (sdcard) for pi with new iobroker, ... Just an adapter reinstall or iobroker reinstall or ...?

just the adapter.

Also I created a new venv with python3 -m venv venv, activated it with source venv/bin/activate, installed pip3 install esphome and checked esphome version what returned Version: 2024.7.0

so using this you got a working dashboard?

No, same error, that one actually brought me the better readable log

Operating system: Raspberry Pi 4 / Debian Bookworm

32bit or 64? We already had problems with 32bit a few times with things the adapter has nothing to do with / cant really fix.

64bit

what does this print?:
cd /
sudo find / -type d -name "encodings"

/opt/iobroker/node_modules/iconv-lite/encodings
/opt/iobroker/node_modules/zigbee-herdsman-converters/node_modules/iconv-lite/encodings
/opt/iobroker/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings
/home/iobroker/.cache/autopy/python/3.11.9/lib/python3.11/encodings
/usr/share/fonts/X11/encodings
/usr/lib/python3.11/encodings
/usr/lib/node_modules/npm/node_modules/iconv-lite/encodings

@JonasRueter

No, same error, that one actually brought me the better readable log

/home/iobroker/.cache/autopy/python/3.11.9/bin/python3 -m venv /home/iobroker/.cache/autopy/venv/esphome

If you just did this what i can read from your output above: you basically didn't create a new venv but just re-used the adapters one, which got broken for some reason

Other answers as I already typed them and they might be useful for somebody in future time:

Thanks for sharing

That one actually did the trick. Uninstalled the adapter, cleaned the cache, installed the adapter again. Thanks for your help!

Great to hear, no problem. Thanks for sharing what worked for you.

Uninstalled the adapter, cleaned the cache, installed the adapter again.

PS (as it came up in Forum also):
Unistall/reinstall should not be required.
Just cleaning cache and reStarting adapter should have been enough.
But reinstall also doesn't hurt, if you don't have anything configured yet.

PS 2.:
Created a new issue / feature request to track this and provide a button in the adapters config to do this cache cleaning, as it has come up a few times (recently)


Add support for assigning references in importer API

Currently the importer API only allows building components with "regular" property values.
Add support for assigning instance and property references to component properties.
Some considerations to be aware of:

References that involve array indexes may require more complex construction, since simply providing the terminal endpoints is not enough information.

Need an intuitive way for the user to be able to provide the lineage of array indexes as well.
Alternatively, do not support this yet?

Will likely need to add a parent member to the Component class to facilitate construction of the internal ComponentRef object. I believe in most/all cases, parent shall never be deepcopied (copy by ref instead).
This will likely be implemented as Importer.create_inst_reference() and Importer.create_prop_reference() methods.

Inputs are the source component, destination component, and source property name (for prop refs)
Returns a ComponentRef/PropertyRef object respectively.

When assigning the reference object via Importer.assign_property(), check that a DPA is allowed.

Since prop refs imply a DPA, check that spec rules are not being violated inadvertently.

Hello @amykyta3.
This issue is blocking me right now.
I want to be able to assign a field instance to next, enable, field properties.
I know you are probably busy to implement it.
If you already started working on it, or could give some more pointers, I could try to implement it.
I see for now that the assign_property() does not allow value to be a Component
https://github.com/SystemRDL/systemrdl-compiler/blob/191f4dd9bc093920720ddd47e8a15be97e6c5a25/systemrdl/importer.py#L312-L314


Fixing YAML parsing for Ruby >= 1.9.3

When installing this hiera backend on Ruby 1.9.3 or newer, I receive an error when using yaml as output. The YAML.parse function is replaced by YAML.load.

Hi, when do you think the 1.4.0 release will be available on Puppet Forge and Rubygems?

I'll try and get it done today - sorry I've been away so haven't had much availability to do it this week

@DimitriSteyaert It's out now.

Great, thanks!


fixed task

at this moment there is no syntax analyzer
we can write :
closed #0000
opened #0000
fixed #0000
and it will also close task
there is no mutitasking
or moving to columns

This issue has been closed automatically for inactivity after more than 1 year. Unfortunately, this project doesn't have enough resources to manage all these requests. Read the FAQ.


DartPad not using Null Safe SDK?

Example:
List<int> x = <int>[1].map((x) => x);

gives the error:
A value of type 'Iterable<int*>*' can't be assigned to a variable of type 'List<int>' - line 1

This suggests that the DartPad analyzer is not using the Null Safe SDK.

cc @RedBrogdon

The analyzer certainly knows some things about null safety; otherwise the snippets wouldn't work:
https://nullsafety.dartpad.dev/3d9c1769de7912c654bc5d132aff60ac
It seems like it's getting confused sometimes and treating core libraries as if they were legacy versions, though. #1569 has the same issue with docs.

This has been corrected in today's release:

The analyzer is no longer confused about legacy types and inserting asterisks into things.


wrong password

Hey there! so i'm trying to use your script, since i've got the issue with my networkdrive not reconnection.
It does seem to work, but for some reason it tells me the password is wrong, even though i've entered the correct one.
Set srvCfg1 = createUncSrvConfig("<IP_ADDRESS>", Array("Media Server"), Array("Z:"), "yes", "my user", "my password")

@mLgz0rn Hey ok that's strange however let us try to isolate the issue you are facing. Am I right that your UNC server share path is \\<IP_ADDRESS>\Media Server? Does you password contain a blank character?

yup its either \NVIDIA-SHIELD\Media Server\ or \<IP_ADDRESS>\Media Server\ both work, when I double click the drive it asks me to enter my password.
I do, and then I get fine into the drive.
the password does not contain any blank characters

@mLgz0rn ok that looks ok to me and should therefore me configured right. However please try the following command in command line so that I can check if this works for you. Maybe there is something messed up which I missed.
net use Z: "\\<IP_ADDRESS>\Media Server" /user:YOURUSERNAME YOURPASS /persistent:yes
You need to provide the full user name which you also use in windows to authenticate with the share.

That works fine, if I use net use Z: /delete and then net use Z: "\<IP_ADDRESS>\Media Server" /user:YOURUSERNAME YOURPASS /persistent:yes the drive maps fine and gets connected

I also just tried using net use Z: /delete and then run your script, and that also works fine.

@mLgz0rn And with the manual net use the password prompt does not show up? Only with the script?

No, it reconnect to the drive straight away, it dosnt do it either with your script when I try to run it after i've booted into windows

@mLgz0rn Sorry for misconception but I think I'm not getting it right. What was the difference between executing the net use and the script execution itself and what exactly does not work. What I understand is that the net use command worked correctly but the script prompts a wrong password info. if I understood something wrong please correct me. However I in the meanwhile prepare a debug version so we can verify if there is an issue with the net use command generated by the script.

@mLgz0rn There is another thing that now comes into my mind which I missed. If you have the share always connected and normally never enter a password because you created it already persistent during the share creation. You can skip the password and username section and leave it empty as follows. That should work and that's also how I connect my local network shares.
Set srvCfg1 = createUncSrvConfig("<IP_ADDRESS>", Array("Media Server"), Array("Z:"), "yes", "", "")

Okay, starting from the beginning :D
When I boot my pc from a shutdown, the network drive does get mapped but it is not connect "red cross over it"
When I doubleclick the drive, it prompts me to type in my password, when I do that I get connected to the drive, and can use it as normal.
Now while still in windows without rebooting or shutting down the pc.
I use
net use Z: /delete
to delete the drive so I can test.
I then use
net use Z: "\\<IP_ADDRESS>\Media Server" /user:YOURUSERNAME YOURPASS /persistent:yes
The drive shows up straight away, and does not prompt me to type in my password, and I can use it as normal.
I then do
net use Z: /delete
So I can test if your script is actually working.
I go to where I have your script place, doubleclick it to execute it.
The drive then shows up straight away just like with net use, and does not prompt me to use a password.
It only fails and ask me for a password after a reboot/shutdown when it runs the script through task scheduler

As in, I don't have to type in my username/password when I access the share through "network"

It seems to be working now, thank you so much.
I'll report back if something changes :D

@mLgz0rn Glad to hear that it works now :). I leave the issue open until I verified something because you pointed on something which I maybe missed and which is probably also the reason why the script didn't work out of the box for you. If I find something out I will reply here otherwise I will close the ticket but if you experience any issue feel free to post again here and I reopen it.

@mLgz0rn I think I found the reason for the issue and why it initially didn't work for you. I also reproduced it on my machine. I will modify the script tomorrow and include a fix that this won't occur anymore. See Issue #7 for more information.

So for some reason unknown, your script stopped working again, havnt worked for a few weeks.
I also tried the newer version you posted, with same results.
there's just a big fat red cross over the drive every time I turn on my pc from a fresh boot

@mLgz0rn First it has to be said that I have no issue on none of my three PCs were the script is in use on a daylie base.
 Do you have to enter your credentials after each startup when you click manually on your drive?
If yes you can right now download the last version from the repo (not the release). Because there is already a fix applied. Didn't create a release version because there are still more thing which need to be done and I didn't had the time to do so.

@mLgz0rn If everything is the same like the last time we wrote. I recommend the following steps::
1.) download latest repo version
2.) change the script settings
3.) enter your credentials within the script
I have fixed the issue which caused your problems in the first place. So this time there should be no need to waste time on manually doing net use.

It is not the same now.
It dosnt ask me to input any of my credentials, the drive just has a red cross over it, and I have to doubleclick it to make it active.
I have tried both with and without my credentials but both time its the same.
As I wrote, I am using the latest repo which included the fix for my first issue

Okay, so I finally got it working.
For some reason I had to use the network name of my shield instead of the ip
createUncSrvConfig("NVIDIA-SHIELD", Array("Media Server"), Array("Z:"), "yes", "", "")
it is working now, I also decreased scriptConfig.reconWait from 2500 to 1000.

@mLgz0rn Ok I understand the "new" issue now. First short on the problem, it's indeed strange that DN works but the IP does not. Did the IP change in the meantime? I can't explain otherwise than that if the DN works but the IP does not. Windows has more likely problems with DN I never faced any issue with the IP on networks with Windows. Sorry I misunderstood that you already had the latest from the repository. The reconWait can be tweaked to 1000. I used 2500 as a conservative approach but even lower values like 250 or 500 should be no problem at all.
However I will now provide with some insides on a future release, which also has some relations with your actual issue. It's not always 100% guranteed that a net use command indeed establishes full connectivity with a network device. IDK why this is the case but I know it's the case. It's not very frequent but it can actually happen. In such a case the host/server is available and the net use is executed without an error but the drive does not get connected properly. Hence, I'm already thinking about an solution to test the network drive on it's actual connectivity state. But however I didn't found a way to determine this. But I have to put more investigations on the APIs.

@thexmanxyz I was too fast, DN has the same issue as the IP.
I got no clue what's going on.
Could it be related to Fastboot/UEFI boot?
When I thought I had it working, I shutdown the pc, waited a few seconds and booted it up again, and it worked.
But if I turn of my pc, lets say before I go to bed, and turn it on the next day, the issue will be there again.
I'm sitting on a nvme drive as boot, so it take like 4-5 seconds to boot into windows.

@mLgz0rn I think it has nothing to do with fastboot/uefi. You could in the meantime increase the scheduler time until you hit a spot were the connectivity works for you. I can also create a special fix for you if you want which may fix the problem until I have the check functionality in. Just reply and I will prepare a mod for the script.

@mLgz0rn I created a version for you which forces 3 net use on every script execution for each drive. Now it should work. Please check that:
scriptConfig.netUseCtn = 3
is set like this. Thanks and I hope we have now a working state.

@mLgz0rn I changed now the script. Please check the attached zip file. I removed some checks and be aware that the script config is set like follows:
scriptConfig.netUseCtn = 3
script_mod.zip

@thexmanxyz Thank you so much for your hard work, i'll test it out straight away.

@thexmanxyz Okay, so it seems to be working now! I did a completely cold boot, turned off the psu.
I'm gonna report back tomorrow if it still works or not! :D

@mLgz0rn Glad to hear that it works for the moment. No problem. Thanks also for your patience and motivation of testing :). Please report back if there are any issues and I will so if I finally handle the issue permanently.

@thexmanxyz No luck today when I turned on my pc :/ Still having the issue.

@mLgz0rn Delay the script in the scheduler incrementally I don't have a better solution right now. I did all that was for the moment possible. You have to wait on the next release.

@mLgz0rn Another thing I have to mention is, that it might be that the Explorer displays the network drives with a red cross but they are actually connected. Wait a bit after restart and close / reopen Explorer. The icon indication does not update in real time if explorer is open. Just as an idea.

Such a long time! but I might finally have figured out what the issue is.
The problem is that the Nvidia Shield TV that im running the smb server on is only running smb v1.
A few threads I have found, says that smb v1 has a few issues with remounting/reconnecting a networkdrive on windows 10. Which is also some of the reasons why microsoft has discontinued smb v1 and hidden it in w10.
The problem is that at the moment the shield tv does not support smb v2 or v3. But the devs has promised that it will be added in one of the next updates.


New release?

@lucasdemarchi, no great pressure but it looks like the last official release of mavlink-router was in 2017.. we're thinking about releasing an updated APSync image in the near-ish future, we can do that off of master mavlink-router but an official release would be nice.

Sure. I can do it this week. Thanks

@bkueng do you have anything critical pending? I just pushed some cleanups of gcc and clang warnings and went through the issues to check if there was anything urgent.

No, nothing important is pending from me.

v2 is released


Remove all BDDUtils

Everything related to BDDs is now in this repository https://github.com/dionysos-dev/BDDUtils.jl
This PR closes https://github.com/dionysos-dev/Dionysos.jl/issues/319

Codecov Report

Merging #321 (fb73ea4) into master (6eac99b) will decrease coverage by 1.08%.
Report is 1 commits behind head on master.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##           master     #321      +/-   ##
==========================================
- Coverage   82.83%   81.75%   -1.08%
==========================================
  Files          60       57       -3
  Lines        4410     4270     -140
==========================================
- Hits         3653     3491     -162
- Misses        757      779      +22

Files
Coverage Δ

src/utils/utils.jl
100.00% <ø> (ø)

... and 7 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


luci-app-lxc: complaining "no templates for your architecture (x86_64)" while running on a x86_64 device.

somehow the app (or lxc backend, maybe?) sent x86_64 as name of arch instead of the correct one amd64 to the container image site, which should not happen.

Which container image site/url did you use, e.g. what's configured in /etc/config/lxc?

Which container image site/url did you use, e.g. what's configured in /etc/config/lxc?

Bothimages.linuxcontainer.org and repo.turris.cz/lxc share the same error.
and here's /etc/config/lxc details:
config lxc 'lxc'
        option ssl_enabled '1'
        option min_space '100000'
        option min_temp '100000'
        option url 'repo.turris.cz/lxc'

The turris repo doesn't provide images for x86 or amd64, so your current config is invalid.
I guess (I don't use lxc anymore), that the download url of linuxcontainers has changed or will be redirected or similiar. The current code maps x86_64 to amd64 only for 'images.linuxcontainers.org', see for reference:
https://github.com/openwrt/luci/blob/3c66c5b1651aa25afbff09bee45047da9a0ba43d/applications/luci-app-lxc/luasrc/controller/lxc.lua#L162
To get this working again, you should get a valid download location and change the function in that way, that the mapping only happens, if it does not match the turris repo.

No more feedback by TO - closing this.


Training speed almost irrelevant to the size of dataset

I have trained the building dataset with 1000+ images and a sample of 50 images of the dataset.  I trained on 4 3090 GPUs and it took almost 40 hours.
However, the train time of the small dataset was almost as same as big one. I was wondering how to speed up this process.
Thanks a lot.

got it

got it

can you tell me how to speed up it ?thanks

train_iterations++ after getting a batch of rays from data loader instead of going through the entire dataset. Hence you should manually set the number of train iterations according to the dataset size(also your resolution and overlap rate of images) to get a result of the same metric.


Communicate plans for LastPass replacement

Background

Proposed user journey

Approach

Questions / Assumptions

Acceptance Criteria

[ ] Enter text
[ ] Enter text
[ ] Enter text
[ ] Enter text

Reference
How to write good user stories

Comms issued


Does Not Support Pragma Statement Including ||

Declaring the pragma statement in the form of pragma solidity ^0.5.0 || ^0.6.0 ; causes truffle-flattener to fail, reporting the following error:
Error: Could not parse /tmp/t/ABDKMathQuad.sol for extracting its imports: ParserError: mismatched input '||' expecting ';' (5:23)
    at getDependencies (/home/solidity/.npm_modules/lib/node_modules/truffle-flattener/index.js:44:11)
    at dependenciesDfs (/home/solidity/.npm_modules/lib/node_modules/truffle-flattener/index.js:64:24)
    at async getSortedFilePaths (/home/solidity/.npm_modules/lib/node_modules/truffle-flattener/index.js:83:5)
    at async flatten (/home/solidity/.npm_modules/lib/node_modules/truffle-flattener/index.js:180:23)
    at async main (/home/solidity/.npm_modules/lib/node_modules/truffle-flattener/index.js:237:3)

To test you can use truffle-flattener on this contract

Closing to clean up the repository. If this problem persists, please open a new issue with a clear explanation.


CBL Android 1.3 doesn't work with SGW 1.1

From https://github.com/couchbase/couchbase-lite-android/issues/956.
After upgrade cbl to 1.3, the sync with sync gateway 1.1.1 does not work anymore:
W/Sync: com.couchbase.lite.replicator.ReplicationInternal$11@d0663d8: error getting remote checkpoint com.couchbase.lite.replicator.RemoteRequestResponseException: Unauthorized at com.couchbase.lite.replicator.RemoteRequest.executeRequest(RemoteRequest.java:265) at com.couchbase.lite.replicator.RemoteRequest.execute(RemoteRequest.java:165) at com.couchbase.lite.replicator.RemoteRequest.run(RemoteRequest.java:105) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:833) W/Sync: PullerInternal{unknown, pull, 217bd}: Progress: set error = com.couchbase.lite.replicator.RemoteRequestResponseException: Unauthorized W/RemoteRequest: com.couchbase.lite.replicator.RemoteRequest {GET, http:///sg//_local/217bd8467805910e24b487a3e7e900a9aa8e2bf4}: aborting request: okhttp3.RealCall@f348331 I/chromium: [INFO:CONSOLE(8)] "sync response: [{"session_id":"repl013"},{"session_id":"repl014"}]", source: file:///android_asset/www/app.js (8)

From the exception, it seems like there is an issue with authentication. I'm closing the issue now until there is more info.

But if I changed back to CBL 1.2.1, sync works fine, no any code changes, i guess there might be something need to be changed.

@HanzhiDou how do you setup the session cookie to the replicator? Would it be possible to show the code snippet?

Copied from couchbase/couchbase-lite-android#956
@pasin  some related code:
Pull Replication:
pullReplicate: function (remoteDb, localDb, continuous, channels) {
        var channels = channels || ['*'];
        var continuous = continuous || false;
        var source = {
            headers: {
                Cookie: this.getSyncCredential(remoteDb).cookie_name + '=' + this.getSyncCredential(remoteDb).session_id
            },
            url: this.getSyncGatewayBaseUrl() + remoteDb
        };
        return this.replicate(source, localDb, remoteDb, continuous, false, channels);
    }

Push Replication:
pushReplicate: function (remoteDb, localDb, continuous, pushFilter) {
        var continuous = continuous || false;
        var target = {
            headers: {
                Cookie: this.getSyncCredential(remoteDb).cookie_name + '=' + this.getSyncCredential(remoteDb).session_id
            },
            url: this.getSyncGatewayBaseUrl() + remoteDb
        };
        return this.replicate(localDb, target, remoteDb, continuous, false, null, pushFilter);
    }

sync request:
replicate: function (source, target, remoteDb, continuous, cancel, channels, pushFilter) {
   var requestData = {
            continuous: continuous,
            source: source,
            target: target,
            create_target: false
        };
        if (cancel) {
            requestData.cancel = true;
        }
        if (channels) {
            requestData.filter = 'sync_gateway/bychannel';
            requestData.query_params = {
                "channels": channels.join(',')
            };
        }
        if (pushFilter) {
            requestData.filter = pushFilter.filter;
            requestData.query_params = pushFilter.query_params;
        }
        document.cookie = me.getSyncCredential(remoteDb).cookie_name + ':' + me.getSyncCredential(remoteDb).session_id;

        ajaxRequest({
            url: window.cbliteUrl + '_replicate',
            method: 'POST',
            xhr2: false,
            disableCaching: false,
            withCredentials: true,
            useDefaultXhrHeader: false,
            jsonData: requestData,
            headers: {//                Cookie: me.getSyncCredential(remoteDb).cookie_name + '=' + me.getSyncCredential(remoteDb).session_id
            },
            timeout: 30000,
            success: function (response) {
            },
            failure: function (response) {
            }
        });
}

Due to one error on android, I changed the code to use document.cookie instead of Cookie header on Android.

I don't see anything wrong from the code above. I believe setting document.cookie is unnecessary as _replicate request itself doesn't use or verify the cookie.

@HanzhiDou Can you help verifying the following?

Print out this.getSyncCredential(remoteDb).cookie_name + '=' + this.getSyncCredential(remoteDb).session_id value when calling pullReplicate or pushReplicate.

Verify if the session is still valid by using CURL or web browser to send the GET /{db}/_session/{sessionid} to the SGW. Maybe you may need to use admin port.

Please let me know the result.

@pasin
I tried on CBL 1.2.1 and CBL 1.3, sessionIds are same and valid:
There are two different sessions for two different databases simultaneously.
Using admin port:
$ http localhost:4985/db1/_session/0e90daa311cc7134ce6ead2cf096c13b1dbe41f0
HTTP/1.1 200 OK
Content-Length: 111
Content-Type: application/json
Date: Wed, 31 Aug 2016 03:50:46 GMT
Server: Couchbase Sync Gateway/1.1.1

{
    "authentication_handlers": [
        "default",
        "cookie"
    ],
    "ok": true,
    "userCtx": {
        "channels": {
            "!": 1,
            "u5": 19552
        },
        "name": "5"
    }
}

$ http localhost:4985/db2/_session/7f1ba6fe0065f08bdc5c84fe8d1f1c6b7f600c0f
HTTP/1.1 200 OK
Content-Length: 109
Content-Type: application/json
Date: Wed, 31 Aug 2016 03:49:33 GMT
Server: Couchbase Sync Gateway/1.1.1

{
    "authentication_handlers": [
        "default",
        "cookie"
    ],
    "ok": true,
    "userCtx": {
        "channels": {
            "!": 1,
            "u5": 319
        },
        "name": "5"
    }
}

From Client:
$ http <proxyIP>/sg/db1/ 'Cookie:SyncGatewaySession=0e90daa311cc7134ce6ead2cf096c13b1dbe41f0'
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 183
Content-Type: application/json
Date: Wed, 31 Aug 2016 03:30:52 GMT
Set-Cookie: SERVERID=a9e9752fc4b93d06f52a2859176afbff|1472614252|1472614252;Path=/

{
    "committed_update_seq": 658630,
    "compact_running": false,
    "db_name": "db1",
    "disk_format_version": 0,
    "instance_start_time":<PHONE_NUMBER>523062,
    "purge_seq": 0,
    "update_seq": 658630
}

$ http <proxyIP>/sg/db2/ 'Cookie:SyncGatewaySession=7f1ba6fe0065f08bdc5c84fe8d1f1c6b7f600c0f'
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 187
Content-Type: application/json
Date: Wed, 31 Aug 2016 03:36:14 GMT
Set-Cookie: SERVERID=993d42e940874d3660a63df9a870fe28|1472614574|1472614574;Path=/

{
    "committed_update_seq": 3226,
    "compact_running": false,
    "db_name": "db2",
    "disk_format_version": 0,
    "instance_start_time":<PHONE_NUMBER>585848,
    "purge_seq": 0,
    "update_seq": 3226
}

There are also exceptions using CBL1.2.1, however the sync can succeed.
Exceptions on CBL1.2.1:
W/ChangeTracker: ChangeTracker{http://<IP_ADDRESS>/sg/cugefit_workout_summary_db, OneShot, @66dcba3}: Exception in change tracker
                                                                          org.apache.http.MalformedChunkCodingException: Chunked stream ended unexpectedly
                                                                              at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:227)
                                                                              at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:188)
                                                                              at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:160)
                                                                              at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:164)
                                                                              at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.loadMore(UTF8StreamJsonParser.java:180)
                                                                              at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._skipWSOrEnd2(UTF8StreamJsonParser.java:2777)
                                                                              at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._skipWSOrEnd(UTF8StreamJsonParser.java:2772)
                                                                              at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:652)
                                                                              at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer$Vanilla.deserialize(UntypedObjectDeserializer.java:443)
                                                                              at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:473)
                                                                              at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:330)
                                                                              at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:25)
                                                                              at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3560)
                                                                              at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2646)
                                                                              at com.couchbase.lite.replicator.ChangeTracker.runLoop(ChangeTracker.java:368)
                                                                              at com.couchbase.lite.replicator.ChangeTracker.run(ChangeTracker.java:231)
                                                                              at java.lang.Thread.run(Thread.java:833)

Errors on CBL 1.3
W/ChangeTracker: ChangeTracker{http://<IP_ADDRESS>/sg/cugefit_workout_summary_db, OneShot, @b25118a}: Change tracker got error 401
W/Sync: Change tracker stopped during continuous replication

I have never tried to use 2 sessions of the same user to sync to the same remote db on the Sync Gateway. But in theory, I think it should work. @adamcfraser do you see any issues with this or is there anything that should be aware of regarding session management on SGW side.

@HanzhiDou I don't know for sure if this issue is the same as https://github.com/couchbase/couchbase-lite-android/issues/817 or not, but it could be.
We are closing down 1.3.1 release that contains several hot fix the issue 817 above and a few other fixes related POST _replicate. Do you mind to test the app with 1.3.1 (download link)? It might also a good idea to test with SGW 1.3 as well.

@pasin  two sessions for two different remote dbs, not one same remote db.
I will try 1.3.1 and also SGW 1.3, perhaps not very soon due to too many things to do recently.

@pasin two sessions for two different remote dbs, not one same remote db.
Oh, I see. I understand it wrong.

I will try 1.3.1 and also SGW 1.3, perhaps not very soon due to too many things to do recently.
No problems. Please let me now. If I come across anything related to the issue, I will update. Thanks.

@pasin I used you provided 1.3.1 CBL cordova plugin and got still same Unauthorized error.
I tested more still using CBL 1.3.1 and got new findings.
My deployment infra also has one load balancer, which connects to two nginx proxy server, it proxy to local sync gateway in same server.
when the sync request  to the sync gateway port 5984 directly, pull and push sync works! and also works using nginx on the same server.
So the problem is related to the load balancer (one cloud service provided by aliyun), there might be something changed in CBL 1.3 which affects the load balancer behaviour.

The load balancer in cloud service provider has very limited configuration and no changes when i upgrade CBL to 1.3.
Though CBL 1.3.1 sync works, there are also exceptions:
OneShot, @14e47e2}: Exception in change tracker
                                                                           java.net.SocketTimeoutException: timeout
                                                                               at okio.Okio$3.newTimeoutException(Okio.java:212)
                                                                               at okio.AsyncTimeout.exit(AsyncTimeout.java:288)
                                                                               at okio.AsyncTimeout$2.read(AsyncTimeout.java:242)
                                                                               at okio.RealBufferedSource.indexOf(RealBufferedSource.java:325)
                                                                               at okio.RealBufferedSource.indexOf(RealBufferedSource.java:314)
                                                                               at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:210)
                                                                               at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:184)
                                                                               at okhttp3.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:125)
                                                                               at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:775)
                                                                               at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:86)
                                                                               at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:760)
                                                                               at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:613)
                                                                               at okhttp3.RealCall.getResponse(RealCall.java:244)
                                                                               at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:201)
                                                                               at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)
                                                                               at okhttp3.RealCall.execute(RealCall.java:57)
                                                                               at com.couchbase.lite.replicator.ChangeTracker.runLoop(ChangeTracker.java:332)
                                                                               at com.couchbase.lite.replicator.ChangeTracker.run(ChangeTracker.java:246)
                                                                               at java.lang.Thread.run(Thread.java:833)
                                                                            Caused by: java.net.SocketTimeoutException
                                                                               at java.net.PlainSocketImpl.read(PlainSocketImpl.java:484)
                                                                               at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:37)
                                                                               at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:237)
                                                                               at okio.Okio$2.read(Okio.java:140)
                                                                               at okio.AsyncTimeout$2.read(AsyncTimeout.java:238)
                                                                               at okio.RealBufferedSource.indexOf(RealBufferedSource.java:325)
                                                                               at okio.RealBufferedSource.indexOf(RealBufferedSource.java:314)
                                                                               at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:210)
                                                                               at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:184)
                                                                               at okhttp3.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:125)
                                                                               at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:775)
                                                                               at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:86)
                                                                               at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:760)
                                                                               at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:613)
                                                                               at okhttp3.RealCall.getResponse(RealCall.java:244)
                                                                               at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:201)
                                                                               at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)
                                                                               at okhttp3.RealCall.execute(RealCall.java:57)
                                                                               at com.couchbase.lite.replicator.ChangeTracker.runLoop(ChangeTracker.java:332)
                                                                               at com.couchbase.lite.replicator.ChangeTracker.run(ChangeTracker.java:246)
                                                                               at java.lang.Thread.run(Thread.java:833)

another error  (CBL 1.3.1):
 W/database: SQLiteConnectionPool: The connection pool for database '/data/user/0/com.cugesoft.fitnessmobile/files/workout_db.cblite2/db.sqlite3' has been unable to grant a connection to thread 5190 (CBLReplicationExecutor-http://<ip>:4984/cugefit_workout_db-push-6323a) with flags 0x2 for 167.755 seconds.
      Connections: 0 active, 1 idle, 2 available.

BTW, if I use the load balancer to check session validation, like http <load_balancer_ip>/sg/db1/ 'Cookie:SyncGatewaySession=',  the response is correct.

ToDo:

Test CBL Android 1.3.1 against SG 1.1.x without authentication
Test CBL Android 1.3.1 against SG 1.1.x with authentication (Cookie)

Hi @HanzhiDou,
Can you capture data between CBL Android and Proxy, and also between Proxy and Sync Gateway? And can you capture Sync Gateway Log?

Hi @HanzhiDou,
Do you have any updates for this ticket?

@hideki sorry, I don't have time to dig this deep more, I removed the load balancer, it works so far.

@HanzhiDou Thank you for your update. I will close this ticket. If you face this issue again, please reopen the ticket. Thanks!

@hideki we randomly see java.net.SocketTimeoutException connect timeout in cbl 1.4.0.
Will setting write timeout to 30 secs to 10secs will slove? Any other reasons?
Pls confirm

Hi @NitzDKoder,
If timeout is set to 30 sec, it takes 30 sec to identify some of the network problems. It causes other problems. Best timeout value could be different for every environment and/or application. Currently, I don't have the plan to change the default timeout value. However, you could experiment with different timeout value with your environment.

@hideki its got and change tracker is retrying..as you said its network dependent will equirement with higher value..say 15 secs etc..
Other problems you mean retry will be late? Or any other?

@NitzDKoder ,
The biggest problem I have observed with higher timeout value is taking a time to identify network connection failure. In case network failure occurs between the server and the client, the client might not be able to detect the problem immediately. It might need to wait till SocketTimeoutException is thrown.


Refactoring PR 1

Related Issue
Follow Up for https://github.com/anmode/grabtern-frontend/issues/442#issuecomment-1607654333
Description of Changes

Started Refactoring
Setup new theme colors
Created Button component

This PR will cover 2 or 3 different types of components
I have created /components page just to display different components

@anmode Have a look at the changes and  please let me whether I am on right path for refactoring code.

Link component is ready. Do we need similar variants in button component?

Link component is ready. Do we need similar variants in button component?

as of now... ig be a menor and find mentor will have differnent component... so according two variation would be needed

/components/UI/Links/ButtonLink.js
--
12:17:56.883 | Module not found: Can't resolve './link.module.css'
Expand 7 Lines
12:17:56.884 | Module not found: Can't resolve './link.module.css'
Expand 7 Lines
12:17:56.884 | Module not found: Can't resolve './link.module.css'
Expand 8 Lines
12:17:56.916 | Error: Command "npm run build" exited with 1
12:17:57.273 | BUILD_UTILS_SPAWN_1: Command "npm run build" exited with 1

/components/UI/Links/ButtonLink.js
--
12:17:56.883 | Module not found: Can't resolve './link.module.css'
Expand 7 Lines
12:17:56.884 | Module not found: Can't resolve './link.module.css'
Expand 7 Lines
12:17:56.884 | Module not found: Can't resolve './link.module.css'
Expand 8 Lines
12:17:56.916 | Error: Command "npm run build" exited with 1
12:17:57.273 | BUILD_UTILS_SPAWN_1: Command "npm run build" exited with 1

Got it, it's Link not link. I will correct it.

Link component is ready. Do we need similar variants in button component?

as of now... ig be a mentor and find mentor will have differnent component... so according two variation would be needed

We are switching to new theme soon, so I don't think that we need to create a component for it, what you say!?
Is it possible for you to share more webpages of astro theme.

Link component is ready. Do we need similar variants in button component?

as of now... ig be a mentor and find mentor will have differnent component... so according two variation would be needed

We are switching to new theme soon, so I don't think that we need to create a component for it, what you say!?
Is it possible for you to share more webpages of astro theme.

yeah! oh okay agreed. Will see later
Actually we have only homepage.. :( considering the design of homepage other pages will be redesigned.. may be minor changes in other pages.

1st stage is done! Ig it is good to merge.

I am new to tailwind, don't know about its good practices and I feel I have done something wrong.
Guide me!

I found this: https://tailwindcss.com/docs/functions-and-directives#apply have a look
and we have to css for our basic component: https://tailwindcss.com/docs/functions-and-directives#using-apply-with-per-component-css

@anmode I didn't got it. do you want me to check the tailwind css of link.module.css?

@anmode I didn't got it. do you want me to check the tailwind css of link.module.css?

yeah! and button.module.css.. the question is the method ok? as docs says where not to use @apply. So we have to seek for our case

Should I start working on new pr with more components?

yeah!


WIP: SSE abstraction

@archSeer @titanous comments addressed

[ ] Abstract SSE in controller/jobs.go

[ ] Wrap events: Full event details (id, name, data) should be included in the JSON for data events

I'd also hide away the keep-alive calls. Every SSE stream should send that every 30s or so, and it won't interfere with anything since that is just a blank comment.

@archSeer @titanous ready for review again

@titanous comments addressed

LGTM!


fixed mistakes in README.md

Nice work - going to close this PR so others can finish the assignment.


Output Calibration Data

The calibration information is currently missing from the EDF file output. We need to output the calibration data either from the PsychoPy code or directly from the ET computer.

What's the status of this?

We check if the validation is 'Good,' and if it's 'Fair' or 'Failed,' we restart the calibration. One option could be to take screenshots of the values, but aside from that, we don't have a quick solution

As discussed today, for the "header" of the EDF file, we will store it as a list of strings (one string per line) in the JSON file. This will be done in addition to saving the calibration parameters following the eyetracking BEP.


AP -> AT: Hashtag in Content Warning not handled as hashtag in AT post

Just noticed that if I include a hashtag in a content warning on Mastodon, the corresponding post on Bluesky has the #text but not as a clickable hashtag like a normal hashtag.
This may be intentional because the hashtag in a content warning on Mastodon isn't actionable in that fashion, but since it's just another part of the post body on Bluesky it would be nice if it could be translated to a proper hashtag there.
Sample post on Mastodon: https://darkfriend.social/@hybridhavoc/113359481140619963
Sample post on Bluesky: https://bsky.app/profile/hybridhavoc.darkfriend.social.ap.brid.gy/post/3l77r5vmaf6w2

Fascinating! Thanks for filing.
Real hashtags in fediverse posts go into the structured tag field in AS2 objects. Mastodon doesn't interpret or handle hashtags in content warnings as actual hashtags, so they aren't in the tag field. See the (pruned down) AS2 for this post below.
Bridgy Fed generally tries to translate between data formats pretty literally, taking as few liberties as necessary. For hashtags, it takes them from the tag field; it doesn't parse or extract them out of text, whether in content or summary (ie content warnings).
I definitely get the idea that it could, though! Especially since fediverse content warnings end up as part of the Bluesky post text itself. I don't know that I'd prioritize this any time soon, but I'm happy to leave this issue open to track it.
{
  "type": "Note",
  "id": "https://darkfriend.social/users/hybridhavoc/statuses/113359481140619963",
  "summary": "Light #Spoiler for Misfits and Magic",
  "inReplyTo": "https://darkfriend.social/users/hybridhavoc/statuses/113359466028071492",
  "published": "2024-10-24T00:06:50Z",
  "url": "https://darkfriend.social/@hybridhavoc/113359481140619963",
  "attributedTo": "https://darkfriend.social/users/hybridhavoc",
  "to": ["https://www.w3.org/ns/activitystreams#Public"],
  "cc": ["https://darkfriend.social/users/hybridhavoc/followers"],
  "sensitive": true,
  "content": "
Also Brennan throwing out this line that hits hard in the context of loneliness, self-doubt, depression. Maybe this doesn't mean anything outside of the context but I felt this.

"I'm looking for reasons to have a sofa."

#DropoutTV #MisfitsAndMagic
",
  "tag": [
    {
      "type": "Hashtag",
      "href": "https://darkfriend.social/tags/dropouttv",
      "name": "#dropouttv"
    },
    {
      "type": "Hashtag",
      "href": "https://darkfriend.social/tags/misfitsandmagic",
      "name": "#misfitsandmagic"
    }
  ],
}


Bump quarkus. Re-enable compression. Fix CORS

Checklist

[ ] You added tests to cover the change
[ ] mvn clean install build and test completes
[ ] You changed or added to the documentation

Codecov Report

Merging #171 (141fa65) into main (a6f8167) will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #171      +/-   ##
============================================
+ Coverage     64.78%   64.79%   +0.01%
- Complexity      197      199       +2
============================================
  Files           113      113
  Lines          3041     3042       +1
  Branches        445      446       +1
============================================
+ Hits           1970     1971       +1
  Misses          851      851
  Partials        220      220

Impacted Files
Coverage Δ

...openjdk/api/v3/mapping/adopt/AdoptReleaseMapper.kt
84.16% <0.00%> (+0.13%)
:arrow_up:

Continue to review full report at Codecov.

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


out of memory with cunet

System: win 10 x64
Video card: Nvidia 1050 GTX
always when use cunet model, cui crashing with error:
Check failed: error == cudaSuccess (2 vs. 0)  out of memory

Fix: replace cudann_7.dll, use cudann for cuda 10.1 instead of 10.2


Laravel Queue Job Chaining Terminates on Queue Restart

Laravel Version: 9.40.1
PHP Version: 8.2.0
Database Driver & Version: Redis

Description:
This bug originated in the Job chaining (https://laravel.com/docs/8.x/queues#job-chaining) feature present in laravel for version 8.0 and above. So whenever we dispatch a job chain, the worker starts executing the jobs sequentially. But as soon as we restart the queue forcefully (Just to test things out), the chained jobs do not execute the remaining jobs present in the chain and it moves the job to failed job table after the job's timeout value is reached.
GitHub Project Link:
https://github.com/Monilsh/Laravel-Queue-Job-Chain
Steps To Reproduce:
To reproduce the problem we have exposed an API {host}/chainJobs (https://github.com/Monilsh/Laravel-Queue-Job-Chain/blob/master/routes/web.php), which takes n number of names and dispatches a chain of Jobs called JobChain(https://github.com/Monilsh/Laravel-Queue-Job-Chain/blob/master/app/Jobs/JobChain.php) which displays name and sleeps for 5 seconds to add a delay between jobs.
We also have exposed another API {host}/getName(https://github.com/Monilsh/Laravel-Queue-Job-Chain/blob/master/routes/web.php) which dispatches a job PrintName(https://github.com/Monilsh/Laravel-Queue-Job-Chain/blob/master/app/Jobs/PrintName.php) and is just used to display or print the name passed.

Start the PHP server using the command PHP artisan server
Start the worker using the command PHP artisan queue:work
Dispatch the JobChain event by hitting the following API {host}/chainJobs
Also, dispatch the getName Job by hitting the following API {host}/getName
Quickly restart the worker(terminate the worker and again start it).
The results would be as follows the chained job would not continue to execute after the restart, and it would fail after the timeout value is reached.

Any update on this one?

JJineyzz

This is the expected behavior. You should wait and let any jobs in the chain finish before quitting the process.


Add support for intelbras SS 3540 MF FACE EX (Dahua ASI6213J-MW) Face recognition Acess Control

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Im trying to Add my FaceRecognition Acess control to homeassistant, is a White label from dahua and uses the same API from what i have seen in the codes. I can add the device using the dahua integration, it recognizes as:
Device info
SS 3540 MF FACE EX
by Dahua
Firmware: 2.000.00IB007.0.R,build:2023-02-23,
but i only get the motions events in devicelog, i can turn on the lights , and unlock the door via call service.
Serial Number starts with YP4L
Describe the solution you'd like
A clear and concise description of what you want to happen.
When i call the API in python using digest Auth i get the folling response of event:
b'--myboundary'
b'Content-Type: text/plain'
b'Content-Length:67'
b''
b'Code=KeepLightOn;action=Pulse;index=0;data={'
b'   "Status" : "Off"'
b'}'
b''
{}
b''
b'--myboundary'
b'Content-Type: text/plain'
b'Content-Length:37'
b''
{}
b'Code=VideoMotion;action=Start;index=0'
b''
b'--myboundary'
b'Content-Type: text/plain'
b'Content-Length:133'
b''
{}
b'Code=_EncodePartSnap_;action=Pulse;index=0;data={'
b'   "Path" : "\\/var\\/tmp\\/partsnap3.jpg",'
b'   "PathBig" : "",'
b'   "Sequence" : 3051'
b'}'
b''
b''
{}
b'--myboundary'
b'Content-Type: text/plain'
b'Content-Length:226'
b''
b'Code=_DoorFace_;action=Pulse;index=0;data={'
b'   "Alive" : 100,'
b'   "Door" : 0,'
b'   "FeatureId" : 1,'
b'   "OpenDoorMethod" : 3,'
b'   "Similarity" : 99,'
b'   "SnapPath" : "\\/var\\/tmp\\/partsnap3.jpg",'
b'   "UserID" : "1",'
b'   "readID" : 1'
b'}'
b''
{}
b''
b'--myboundary'
b'Content-Type: text/plain'
b'Content-Length:194'
b''
{}
b'Code=_NewFile_;action=Pulse;index=0;data={'
b'   "File" : "\\/mnt\\/appdata1\\/userpic\\/SnapShot\\/2023-08-12\\/14\\/48\\/1_99_100_20230812144816459.jpg",'
b'   "Size" : 10957,'
b'   "StartTime" :<PHONE_NUMBER>'
b'}'
b''
b''
{}
b'--myboundary'
b'Content-Type: text/plain'

And i would like to pass those attributes to HA,
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
the logs:
2023-08-12 14:12:38.848 DEBUG (MainThread) [custom_components.dahua] Events received from <IP_ADDRESS> on channel 0: [{'Code': 'VideoMotion', 'action': 'Start', 'index': '0'}]
2023-08-12 14:12:43.723 DEBUG (MainThread) [custom_components.dahua] Events received from <IP_ADDRESS> on channel 0: [{'Code': 'VideoMotion', 'action': 'Stop', 'index': '0'}]
2023-08-12 14:12:48.420 DEBUG (MainThread) [custom_components.dahua] ClientError fetching information from http://<IP_ADDRESS>:80/cgi-bin/configManager.cgi?action=getConfig&name=DisableLinkage

an example of the device response in the device documentation:
--myboundary
Content-Type: text/plain
Content-Length:315

Code=AccessControl;action=Pulse;index=0;data={
   "CardName" : "",
   "CardNo" : "12EA3004",
   "CardType" : 0,
   "CreateTime" :<PHONE_NUMBER>,
   "Door" : 0,
   "ErrorCode" : 0,
   "Method" : 1,
   "ReaderID" : "1",
   "Status" : 1,
   "Type" : "Entry",
   "UTC" :<PHONE_NUMBER>,
   "UserID" : "1",
   "UserType" : 0
}

--myboundary
Content-Type: text/plain
Content-Length:85
Code=BreakIn;action=Pulse;index=0;data={
"Name" : "SS-1",
"UTC" :<PHONE_NUMBER>
}

--myboundary
Content-Type: text/plain
Content-Length:91
Code=DoorNotClosed;action=Start;index=0;data={
"Name" : "SS-1",
"UTC" :<PHONE_NUMBER>
}

Code=_Button_;action=Pulse;index=0;data={
"Local" : true,
"ReaderID" : "1",
"Type" : "Button"
}

avaible at https://intelbras-caco-api.intelbras.com.br/obtendo_eventos/eventManager
any help is aprecciated as this would add support for alot of future face recognition acess control devices made by dahua

i think is related to #166

i can confirm that doing what was said in #166 allowed me to view full event info.


Routing Not Working- Spring Cloud gateway+ Eureka On PCF

Routing not working from  spring cloud gateway with eureka server when deployed on PCF.
But when the apps are deployed on-prem with localhost everything works fine.
Is there any additional property needs to be set deployed when deploying on Cloud
Applications are successfully registered to eureka server
SpringBoot 2.1.6 + Greenwich.SR1

We are using exactly this setup, what is not working in particular?

I have the same problem, when I use Spring Boot 2.2.1 and Cloud Hoxiton.CR3 but when I downgrade to 2.1.10 and Greenwhich.SR3 it works fine.

Not working is not a very good description of the problem. Please provide details and your config

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Sorry for the late response, here is an example https://github.com/kyleabu/scg

If you are using eureka from spring cloud services tile you will need to contact support.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Update reference-connect-version-history.md

Added some more changes for the current release

@RobdeJong : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Status update

updates the status command to provide more information about running jobs on each environment. accesses new customer api parameter routes to receive running jobs and latest build jobs.

LGTM


[SE-0085] Add a package subcommand to handle package-oriented operations

This moves the package-management commands from the build subcommand to
package, but leaves building (and, currently, cleaning) on the build
subcommand.  The test subcommand is likewise unmodified.
I had to temporarily move down the enums for InitMode and ShowDependen-
ciesMode, so that both package and build can share them, but this will
be consolidated again when build and test are reimplemented in terms of
package as well.  The build and test functionality is not yet moved in
order to minimize changes while still ending up with the desired func-
tionality.

LGTM!


Use allowlist_externals when next version of tox is released

As a follow-up to https://github.com/python-hyper/hyper-h2/issues/1207, https://github.com/tox-dev/tox/issues/1491 is now fixed.

Thank you! If you could provide a PR it'd be a quick review :)

I can change the tox file, but I'm not sure how to require a particular version of tox.


Improve reviewbot with AST and regexp parsing. Make it auto run on PRs ready for reviews.

Placeholder for tech-hub level visibility of work done on review bot over the past 2 weeks


Automator: update ztunnel@master in istio/istio@master

Generated by Automator - 2023-08-10T14:48:16+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio
a3ebfacf61458ecd1bf996011c7887eed4b62579
link
true
/test integ-ambient

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-ambient
flake?


Update deploy.md to use IRSA instead of pod identities

The method explained in pod identities section is error prone and doesn't create the required resources. Hence, going for IRSA is recommended.

What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it: To ensure that users use the correct methodology
If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
Testing done on this change:

Automation added to e2e:

Will this PR introduce any new dependencies?:

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Hi @gaurarpit12 , which step of the Pod Identities setup not work for you? could you help to share the error message? I tried on my side these steps work for me.

@zijun726911 , The steps didn't create what is required, when using pod identities. However, IRSA works fine. Hence, IRSA should be the default one to be used


Add temporary user ban feature

The admin should be able to temporarily ban a user (Cadence ban @user). This should ban the user for a time period specified by config.
The ban will last until one of these conditions:

The admin runs "Cadence unban @user"
The time period specified in config expires (automatic unban via setTimeout?)
The bot is restarted (ban list is held in memory and not persisted).

By 433a135, this feature is complete, including persistent banning (supplanting caveat 3), which includes automatic unban after config expiry (expired bans are passed over during ban consideration)


Wrong Link added under Android Roadmap -> Introduction to Kotlin -> Kotlin in 12 minutes

Current video link for Kotlin in 12 minutes takes us to Android Studio installation video by Rahul Pandey -> (https://www.youtube.com/watch?v=4M0hNugPJV8&ab_channel=RahulPandey)
Correct video link for Kotlin in 12 minutes by Rahul Pandey -> (https://www.youtube.com/watch?v=iYrgWO2oibY&t=11s&ab_channel=RahulPandey)
Link to Android Roadmap -> (https://www.commclassroom.org/android-roadmap)

Yes @AmanGit010 is right.
@kaiwalyakoparkar Please sort out the issue as soon as possible to prevent confusions.

@kaiwalyakoparkar Please add the bug label

@kaiwalyakoparkar  can you please make a label called re-embed required?

@siddhant-khisty done

@AmanGit010 thank you so much for the report. This has been resolved now

Welcome buddy 😊


object fields order in constom plugin schema

Is your feature request related to a problem? Please describe.
This is my User object define:
type User {     login: String     passworld: String     name: String     age: Integer }
but the fields order in plugin function schema parmater is:
type User {     age: Integer     login: String     name: String     passworld: String }
The order of fields  has changed (alphabetically),
Is there any way to keep the original order?
thanks~
Describe the solution you'd like
type User {     login: String     passworld: String     name: String     age: Integer }
Describe alternatives you've considered
No response
Is your feature request related to a problem? Please describe.
No response

what is the use case for this?

duplicate of https://github.com/dotansimha/graphql-code-generator/discussions/8823. Let's first finalize discussion there and then create an issue


Feature/ab#898 preselect classification

Description

Motivation and Context

How has this been tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

It might be a good idea, to change the DemoSite such that one of the demo classes is automatically selected.
(In case we're still maintaining that demo. Otherwise nevermind)

Also, we might want to add the new property to the list of available props in README.md

I had some more things that I wanted you to check (not sure if they actually have to be changed)

It might be a good idea, to change the DemoSite such that one of the demo classes is automatically selected. (In case we're still maintaining that demo. Otherwise nevermind)

Please also have a look at my previous comment.

It might be a good idea, to change the DemoSite such that one of the demo classes is automatically selected. (In case we're still maintaining that demo. Otherwise nevermind)

Good suggest. i added this

Also, we might want to add the new property to the list of available props in README.md

fixed it


Failed to create resource group using bicep script

Bicep version
v0.4.63
Describe the bug
I followed the below script given in the documentation https://docs.microsoft.com/en-us/azure/templates/microsoft.resources/resourcegroups?tabs=bicep
Below is the error after pasting the given script:
Scope "resourceGroup" is not valid for this resource type. Permitted scopes: "subscription".bicep(BCP135)
To Reproduce

copy the script given in the document
save it and you see the error

Additional context
I need to create the resource group using bicep script. I know it is looking for subscription, could you provide me the steps how I can add the subscription value to the given script in the doc. TIA

Does this page help?
https://github.com/Azure/bicep/blob/main/docs/spec/resource-scopes.md
How are your deploying?
Are you missing the right az cli command? Which could be like this:
az deployment sub create --location westeurope --template-file ./main.bicep --parameters ./params/dev.json --confirm

Bicep defaults to assuming the target of your deployment will be an existing resource group. You need to tell bicep that you plan to deploy this to a subscription scope. You do this by setting the targetScope = 'subscription'. More info here:
https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/deploy-to-subscription?tabs=azure-cli#resource-groups
When you deploy, as @DavidDeSloovere mentioned, you'll need to use the sub command group, instead of the group command group.

Awesome, I am able to create now after following the given docs.
--Closing the issue
Thanks for the quick replies.


Matplotlib 3.9.1 gives mypy failures

Use of Matplotlib 3.9.1 gives some mypy failures that don't occur with Matplotlib 3.9.0:
tests/util_config.py:391: error: Item "Axes" of "Axes | ndarray[Any, Any]" has no attribute "flatten"  [union-attr]
tests/util_config.py:391: error: Incompatible types in assignment (expression has type "Any | ndarray[Any, Any]", variable has type "Sequence[Axes]")  [assignment]
tests/util_config.py:475: error: Item "Axes" of "Axes | ndarray[Any, Any]" has no attribute "flatten"  [union-attr]
tests/util_config.py:475: error: Incompatible types in assignment (expression has type "Any | ndarray[Any, Any]", variable has type "Sequence[Axes]")  [assignment]
tests/util_config.py:557: error: Item "Axes" of "Axes | ndarray[Any, Any]" has no attribute "flatten"  [union-attr]
tests/util_config.py:557: error: Incompatible types in assignment (expression has type "Any | ndarray[Any, Any]", variable has type "Sequence[Axes]")  [assignment]
tests/util_config.py:590: error: Item "Axes" of "Axes | ndarray[Any, Any]" has no attribute "flatten"  [union-attr]
tests/util_config.py:590: error: Incompatible types in assignment (expression has type "Any | ndarray[Any, Any]", variable has type "Sequence[Axes]")  [assignment]
Found 8 errors in 1 file (checked 68 source files)

This is using mypy 1.10.0 and 1.10.1 (the latest release) and numpy 2.0.0.

Thanks. I was happy with a quick fix until the WIP at the Matplotlib end is finished as it is only in test code here, but squeeze=False does seem a better solution.


Hotfix 1.29.2: QT Responses download should include email

Closes #787
This will be deployed as a hot fix and is based off the previous hot fix 1.29.1

Upon further investigation we don't currently store a copy of the candidate's email in the qualifyingTestResponses documents so the change in this hotfix isn't going to work :(. I am therefore closing this PR.


draft of cmxl executable

an executable to convert an input MT940 file to different output formats
ToDo:

support reading from STDIN and writing to STDOUT - be a nice unix citizen
support different formats (which?)
more helpful error messages
remove gem dependency from the gem (can we somehow just define it that it is needed for the cli?)

nobody really needed it until now :D