Create QA process + metrics for Line Extraction

Create a new module/function for the qa script that runs line extraction or looks at already processed line extraction and calculates the following metrics.
Metrics

area of page that is lines
variance of line height

Notes
put autocrop output in separate directory for line extraction
run line extraction prepprocessing in run_workflow1_watershed.sh
line_extract_dhsegment.sh is run from run_workflow1_watershed.sh after workflow0 and post-autocrop processing

Metrics
# num lines on page
# median line height in pixels in page
# variance line height in pixels on page

run_workflow1_watershed description
Stage 1 - Preprocessing for Line Extraction

Confirm we have a directory with enumerated tifs
Convert color tifs to grayscale
resized directory appears with permissions rwx
tif files are copied to resize
moving tif files to an originals folder
Change to resized directory
localthresh run on tif files here
tifs files in resized permissions changed to rwx
tifs files in new gray2 directory permissions changed to rwx
Check that grayscale and color images are same size
Move tifs in resized to new 'book_color' directory
Move tifs in gray2 to current directory (resized)
Change all group file permissions in the book directory to rwx

Stage 2 -

Switch to the top level book directory
Run line_extract_dhsegment.dh
A. Date is shown
B. Enables Max's conda environment at gsell/.conda/envs/my_env
C. Make a subdirectory called 'book'
D. Move page tifs to 'book' subdirectory
E. Make directory pages
F. Make directory pages_color
G. Copy all tifs in 'book' subdirectory to 'pages'
H. Copy all tifs in book_color to pages_color
I. Copy code/run_dhsegment_on_book.py to 'pages'
J. Deactivate Max's conda environment
K. Activate Nikolai's environment at nikolaiv/miniconda3/envs/dh_segment
L. Make lines directory
M. Make lines_color directory
N. Change directory to pages
O. Run run_dhsegment_on_book.py (recently copied here in 'pages')
P. Move back up one directory (cd ..)
Q. Copy code/do_all_lines_dhsegment.py lines
R. Change directory to lines
S. Copy code/watershed_line_extraction.py to lines (present directory)
T. Run watershed_line_extraction.py (recently copied here in 'lines') with the following arguments
i. -u for python3 (unbuffered output) - so 'python3 -u watershed_line_extraction.py'
ii. ../pages_color
iii. ../pages
iv. ..pages/dhsegment_output (first time I'm seeing this dhsegment_output subdirectory?)
v. --lines_output_directory .
vi. --color_lines_output_directory
vii. ../lines_color
viii. --max_height 200
ix. --min_width 200
x. --extension .tif
xi. --line_height_quantile 0.85
xii. --transformations_csv
xiii. ../lines_color/transformations.csv
U. Date is shown
V. Move back up on directory (cd ..)
If line_extract_dhsegment.sh (and its processes) complete successfully, continue
Generate a montage of the tif files in the line directory into a single tif 'lines_to_check.tif' (likely can be skipped since we're developing an automated QA process.)
Convert 'lines_to_check.tif' to 'lines_to_check.jpg'
Continue only if lines_color/transformations.csv exists
Change group permissions for all files in the top level book directory to rwx
Note that cwd#//ocean/projects/hum160002p/shared/lines_to_check.jpg is viewable by browser at https://printprobdb.psc.edu/iiif

NOTE: B&W images must be created for watershed_line_extraction to work

Blocked by https://github.com/printprobability/qa-workflow/issues/12

QA for line extraction including run, output_stats, and collate are functional. There is still some cleanup and the need to refactor/adapt the code when an alternate line extraction method is introduced, but I will open another issue for spec'ing that implementation out.


Light Cone Transpiler Pass

Summary
When measuring or sampling a subset of the qubits of our circuit there will be some gates in our circuit that will not affect the outcome of the measurement. One can thus compute the causal light cone of the circuit and measurement, i.e. the set of gates that does affect the measurement. This transpiler pass provides an easy tool to reduce the number of gates in our circuit provided a Pauli observable to be measured or  a subset of measurements in the Z basis.
This PR adresses  #12792
Details and comments
This code takes inspiration from an implementation done by @aeddins-ibm.
Before finishing the unit-tests for this PR it would be interesting to solve #12790 .

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

0 of 70 (0.0%)  changed or added relevant lines in 1 file are covered.
11 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.1%) to 89.852%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/transpiler/passes/optimization/light_cone.py
0
70
0.0%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/lex.rs
5
92.11%

crates/qasm2/src/parse.rs
6
97.61%

Totals

Change from base Build<PHONE_NUMBER>3:
-0.1%

Covered Lines:
66064

Relevant Lines:
73525

💛  - Coveralls

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


Proposal: isConnected/isInternetReachable should NOT return false on first render.

Describe the Feature
Current implementation of the useNetInfo hooks is kind of weird.
Especially for slow connection.
By default this 2 flags return false on the first render.
If you have a naive component that use this to do some kind of
if (isInternetReachable) return <ErrorMessage />
else return <ActualComponentBody thatRequires="internet" />

You have for a very short moment, an error message.
I would expect this hook instead to return "undefined" when things are actually unknown, instead of a false negative.
Currently if you do a native call of the hook & use your app in a poorly connected env, you can have a "false" for a few hundreds ms, which can show an error.
Instead of doing

false
then listen

I would do

undefined
fetch & update
then listen

Possible Implementations
Here is something I am using. Adjusted for my needs as I only use isInternetReachable.
// @flow

// https://github.com/react-native-netinfo/react-native-netinfo/issues/405

import * as React from 'react';
import NetInfo from '@react-native-community/netinfo';
import type { NetInfoState } from '@react-native-community/netinfo';

export default (): void | boolean => {
  const [isInternetReachable, isInternetReachable_set] = React.useState(
    undefined,
  );

  React.useEffect(() => {
    const update = (state: NetInfoState) => {
      // ignore first initialisation on iOS where it's null for a moment
      if (
        isInternetReachable === undefined &&
        state.isInternetReachable === null
      ) {
        return;
      }
      if (state.isInternetReachable !== isInternetReachable) {
        isInternetReachable_set(() => state.isInternetReachable);
      }
    };
    NetInfo.fetch().then(update);
    return NetInfo.addEventListener(update);
  }, [isInternetReachable]);

  return isInternetReachable;
};

Related Issues
I detected a few issue that could be solved by a new implementation as I am recommending like #356, #254 and #295 and maybe indirectly issues like #352, #326

@MoOx make the initial value null. because the initial value of NetInfo.fetch() is also null in IOS.

or you can do.
NetInfo.fetch().then((state: NetInfoState) => {
  if(state.isInternetReachable === null) return
  if (state.isInternetReachable !== isInternetReachable) {
        isInternetReachable_set(() => state.isInternetReachable)
  }
})

@MoOx Thanks alot for this solution. it saved me a lot of time. I have a plan to write my own network notifier in Objective C. because of the in consistency of netinfo. but your solution works as a charm

@EhsanSarshar it's open source, why wouldn't you just PR something more reliable?

@mikehardy seems totally logical

Up for this proposal. Every project I try to useNetInfo I am facing the same issue... that my own PR resolve

Fixed in v6.0.0 via #444


Avoid calling asyncio run from within a running event loop

Closes #26
oteapi-services runs from an asyncio event loop, but asyncio.run() cannot be called from a running event loop.
This PR checks if we have a running event loop. If so, the datacache methods will create a asyncio coroutine and submit it to the event loop. Thanks Casper for the solution.
This is a blocking for oteapi-services

Replaced by PR #32


Fix deep sleep bug

Fix Bazaar not installed exception thrown when bazaar is in deep sleep on samsung devices with checking disabled apps

LGTM


Add additional requirements

This is probably the first article someone reads to getting started with IoT so I feel some requirements are missing that might be obvious to experienced developers but not for the beginner so it might be worth adding.
These are some requirements for Windows that you have to install:

GIT: https://git-scm.com/download/win
Arduino: https://www.arduino.cc/en/main/software#download
Adafruit Huzzah ESP8266 driver for USB: https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/using-arduino-ide

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

ID: 6908b99a-b62b-0596-3dbe-c2fec0260b2b
Version Independent ID: f34e44f2-3d3d-cbcd-d626-7c9b4115a0b1
Content: ESP8266 to cloud - Connect Feather HUZZAH ESP8266 to Azure IoT Hub
Content Source: articles/iot-hub/iot-hub-arduino-huzzah-esp8266-get-started.md
Service: iot-hub
GitHub Login: @rangv
Microsoft Alias: rangv

@JonesMikael Thank you for your valuable feedback. Those are great points. I have assigned the issue to the content author to evaluate and update as appropriate.

@jones-mikael @Alberto-Vega-MSFT
I have added the requested items to the requirements list.

#reassign:robinsh

#please-close


The URL generated by this plugin misses the suffix ".md "

Thank you for this useful plugin. It means a lot to me.
As the title says, the URL I get can't be open directly because the correct URL is "URL.md". So I try to configure the plugin, only to find that the suffix isn't configurable. To make it worse, I am new to TypeScript so that I confront troubles when I try to modify the source code.
I'd appreciate it if you could help me.

Which URL are you taking about, @greenhands-always ?

The one to go to the Publish site?
The one to go to the file on GitHub?
The one to go to the history for the file on GitHub?

Please can you test again, and give us an example, showing the actual URL the plugin gives, and the one that you expect?

Hello Clare, thanks too for your plugin.
Got the same issue, so adding my two cents.
Here is the URL I got using menu "Copy publish URL":
https://gitlab.tech.orange/mahali/documentation/-/tree/master/puml_schemas/sms_authent/README
Here is the URL I expected :
https://gitlab.tech.orange/mahali/documentation/-/tree/master/puml_schemas/sms_authent/README.md
(note the final extension ".md")

Would love to make a fix proposal for this, should not be complex. Would you help me configuring the dev environment when modifying a plugin like your?
Looked at the source file, it is "compressed" so not modifiable directly.

Hello Clare, thanks too for your plugin. Got the same issue, so adding my two cents.
Here is the URL I got using menu "Copy publish URL":
https://gitlab.tech.toto/mah/documentation/-/tree/master/puml_schemas/sms_authent/README
Here is the URL I expected :
https://gitlab.tech.toto/mah/documentation/-/tree/master/puml_schemas/sms_authent/README.md
(note the final extension ".md")

But that isn't an Obsidian Publish URL, surely - it's a gitlab URL.
So I wouldn't expect it to work.
The README is quite clear (my emphasis):

This plugin adds a command which lets you copy the URL of a note for your Obsidian Publish site.

Maybe the other feature - to see GitHub history - might work for GitLab - I've no idea...

As of v0.4.0, you can open the current note's Git commit history on GitHub. It is turned off by default. You need to set the repository URL and the branch name for it to work.

As the title says, the URL I get can't be open directly because the correct URL is "URL.md".

@greenhands-always  This plugin links to Obsidian Publish pages - which do not have a .md in the published URL.
There's more info in my reply above...

Hello Clare, thanks too for your plugin.

@nbossard - it's not mine, I am a happy user of this plugin...
I was just trying to help out @kometenstaub, who gets the credit!

oups sorry for the confusion


name 'CombinedKernel' is not defined

I succeed install the shogun by manually In order to use  MKL,  cmake -DUSE_SVMLIGHT=ON.
I first open the doc/ipynb-notebooks,and test the MKL.ipynb，but this code can't run as follows:
kernel = CombinedKernel()
NameError: name 'CombinedKernel' is not defined.
I need your helps.

where can I find the python api?

Hi @sancica-github did you compile shogun with the develop branch? If so it should be:
import shogun as sg
kernel = sg.kernel("CombinedKernel")

@gf712 Thank you for your reply，It's work. Do you know where can I find the latest examples or the cookbook, the examples from the official website are outdated. This project is no longer update?

The examples in the website are for the latest release. The development branch is not released yet. However you can build the examples/cookbook locally, see the readme.


Convert C++ projects to VS2022

@paulomorgado, can you please update .ado.yml to use windows-2022 images?  This will install VS 2022, which is required by your change.

@brianrob, done!

I'm totally in favor of making VS 2022 the required development environment. We should update this section of the README:
https://github.com/microsoft/perfview#tools-needed-to-build-perfview

@pharring, done!
I changed "VS" to "Visual Studio" to make it easy to change next time.

@brianrob, these solution item references don't exist:
appveyor.yml
.nuget\packages.config
Do you want me to clean that up as part of this PR?

Let's do that in a separate PR please.


Not working if it has weblink from server

Hello,
Thanks for great library, but can you please suggest how to use this if it has weblinks? ("Go checkout my website http://google.com")
If no weblink, it working awesome.
Thanks!

No idea. It started from a basic solution that someone else mostly wrote,
and I decided it was very useful so I published it with a few tweaks and
fixes.
On Fri, Jul 14, 2017 at 8:42 AM, hardikJoshi123<EMAIL_ADDRESS>wrote:

Hello,
Thanks for great library, but can you please suggest how to use this if it
has weblinks? (http://google.com)
If no weblink, it working awesome.
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AndroidDeveloperLB/AutoFitTextView/issues/43, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFG_1vzQK_E8udluj5B4lRt8QFtPFwjOks5sNv-ugaJpZM4OX2c6
.

Hello, thanks for your reply. So its an bug in library? Can we have quick fix if its not that much hard to?
Thanks!

Sorry I can't, but maybe others can
On Jul 14, 2017 13:05, "hardikJoshi123"<EMAIL_ADDRESS>wrote:

Hello, thanks for your reply. So its an bug in library? Can we have quick
fix if its not that much hard to?
Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/AndroidDeveloperLB/AutoFitTextView/issues/43#issuecomment-315322957,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFG_1ogTm6VfOM6Nl__JVBYAcyOaqEfWks5sNz1ugaJpZM4OX2c6
.

OH..!! Okay!

Maybe explain the issue more, with a sample. This way others might help.

Not required any customization, just set string having weblink + normal text. You will get issue. Not sure why nobody faced same issue till now.

Just this, for example:
textView.setText("Go checkout my website http://google.com");
?

Yes Right. And this string in from server.

Here is code :
<com.lb.auto_fit_textview.AutoResizeTextView
        android:id="@+id/txtblasttexttwoline"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:autoLink="web"
        android:ellipsize="end"
        android:gravity="center|left"
        android:includeFontPadding="false"
        android:linksClickable="true"
        android:scrollHorizontally="false"
        android:textSize="20dp"
        android:visibility="visible" />

 txtblasttexttwoline= ( TextView) findViewById(R.id.txtblasttexttwoline);
        txtblasttexttwoline.setEllipsize(TextUtils.TruncateAt.END);
        txtblasttexttwoline.setMovementMethod(LinkMovementMethod.getInstance());
        txtblasttexttwoline.setText("I'm at a company party right now with my work friends! Yay! https://www.google.co.in/");
        txtblasttexttwoline.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, maxHeight, getResources().getDisplayMetrics()));

IF text doesnt have links. Here is output :

Hello @AndroidDeveloperLB  did you get my query? Any help?

Sorry I had a car accident and I have other things to do currently, plus as I told you I will probably say that I have no idea how to fix it, as I'm not the main author of this code (I only improved it a bit).
Maybe later.


Create file in a repository with Rest API (content, encoding and special chars escape)

What is the correct encoding and format for using this endpoint:
http://localhost:3000/api/swagger#/repository/repoCreateFile
I got this error (without base64 conversion):
[{"classification":"DeserializationError","message":"invalid character '\n' in string literal"}]
Then I converted to base64 the file content and got another error:
Error in char 0
Also, how to escape correctly those special chars during file content extraction?

Many thanks, on your reply.
I had many issues with encoding and JSON deserialization. Ending chars and
line breaks fails for Go/JSON deserializer API, even if a base64 content is
sent to your REST API (Google/Stackoverflow answers)
Steps:
$my_file="the-file.yml"
*1) File content:  *file_content=$(iconv -c -f $(file -b --mime-encoding $
my_file) -t UTF-8 $my_file)
2) Base64 conversion: base64_content=$(echo -n $file_content | base64)
Choice)
*I decided to use git push (so I had more than one file). *
Do you have any API feature that uploads a folder into a repository?
;-)
El lun., 26 ago. 2019 a las 14:21, Richard Mahn<EMAIL_ADDRESS>escribió:

@fraballi https://github.com/fraballi Should be base64. Can you paste
the encoding here?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/go-gitea/gitea/issues/7844?email_source=notifications&email_token=AA4GYYVPXECE3KYWPX6XUJTQGQNLXA5CNFSM4ILOC442YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5FGXGY#issuecomment-524970907,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4GYYVHQOEZYLUHO65WLODQGQNLXANCNFSM4ILOC44Q
.

Thanks, that seems to be the issue: UTF-16 replacing UTF-8.
Which conversion function shall be used for UTF-16?
I missed REST part in my previous thread, but that's it. Using "content"
part in a JSON payload.
Thanks for the help.
El lun., 26 ago. 2019 a las 14:38, Richard Mahn<EMAIL_ADDRESS>escribió:

Kind of confused by your reply, but I did my own testing and it seems like
I had to run base64 on a UTF-16 string, not UTF-8. For example, this
content fails:
VGhpcyBpcyBzb21lCgpjb250ZW50IHdpdGggbmV3IGxpbmVzIGFuZCBcInF1b3RlZCBxdW90ZXNcIgoKYW5kIHNvbWUgY2hpbmVzZSDkvaDlpb0KCg===
but this encoding in base64 works:
//5UAGgAaQBzACAAaQBzACAAcwBvAG0AZQAKAAoAYwBvAG4AdABlAG4AdAAgAHcAaQB0AGgAIABuAGUAdwAgAGwAaQBuAGUAcwAgAGEAbgBkACAAXAAiAHEAdQBvAHQAZQBkACAAcQB1AG8AdABlAHMAXAAiAAoACgBhAG4AZAAgAHMAbwBtAGUAIABjAGgAaQBuAGUAcwBlACAAYE99WQoACgA=
Not sure if that is a bug or what should be expected. Here is my whole
payload to the POST
http://localhost:3000/api/v1/repos/{owner}/{repo}/contents/test.txt API:
"message": "initial commit of test_special_characters.txt",
"committer": {
"name": "Jill",
"email"<EMAIL_ADDRESS>},
"author": {
"name": "Rich",
"email"<EMAIL_ADDRESS>},
"branch": "master",
"content": "//5UAGgAaQBzACAAaQBzACAAcwBvAG0AZQAKAAoAYwBvAG4AdABlAG4AdAAgAHcAaQB0AGgAIABuAGUAdwAgAGwAaQBuAGUAcwAgAGEAbgBkACAAXAAiAHEAdQBvAHQAZQBkACAAcQB1AG8AdABlAHMAXAAiAAoACgBhAG4AZAAgAHMAbwBtAGUAIABjAGgAaQBuAGUAcwBlACAAYE99WQoACgA="
}
That content string is base64 encoding of a UTF-16 string. You can see
that decoded here:
https://bg.door43.org/richmahn/test_this/src/branch/master/test_special_characters.txt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/go-gitea/gitea/issues/7844?email_source=notifications&email_token=AA4GYYQD6D6ID7VHVXL4JELQGQPJTA5CNFSM4ILOC442YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5FILMI#issuecomment-524977585,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4GYYUDNXBATPIELY3FADDQGQPJTANCNFSM4ILOC44Q
.

I agree. I thought it was odd I had to use UTF-16 to encode it into base64 for our decoder to work. Apparently it works out of the box that way? I'll keep a bookmark on this issue and see if I can get the encoding to work with UTF-8

@richmahn How did you make it work with UTF-16 encoding?
String bytesEncodedContent = Base64.getEncoder().encodeToString(content.getBytes(StandardCharsets.UTF_16));
This did not help. I get characters as � in github viewer for special characters.
Any suggestions?

@zeeshan1112 I believe I was just using an online base64 decoder to make the payload to Gitea. I don't think I was actually doing it in an app, but I could be mistaken as it was a year ago.


fix: urls pipeline fetching bug fix

Description

fetching urls throwing bad request error
Fixes #3066
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Checklist:

[ ] The title of the PR states what changed and the related issues number (used for the release note).
[ ] Does this PR requires documentation updates?
[ ] I've updated documentation as required by this PR.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have tested it for all user roles.
[ ] I have added all the required unit/api test cases.

Does this PR introduce a user-facing change?

RCA: happened due to fetching pipelines from db for devtron apps and not setting appId before this fetch call.


Forgot to include the "PHP_TAG=7.2-dev-4.5.1" release 5.1.0

Hi, When you download docker4drupal.tar.gz and check .env you will find there is a missing tag for PHP 7.2

Thanks! I've re-uploaded the archive


Updated Cordova Quick Start

Better global namespace coverage (wraps the code in a closure)
Includes CSP Meta tag that was missing from original
Removes 'unsafe-inline' code that is considered bad in Cordova
Based on QS code from the cordova / taco team

The QS looks much better now!

Looks good.

Want to merge and deploy?


About data prepare

Thank you for your excellent work.
I am unable to download the pre-trained model in SPVNAS due to the orgin download link is out of work . Would you mind sending me the pre-trained model you downloaded? my email is<EMAIL_ADDRESS>you very much

In fact, any semantic segmentation methods are possible. I have emailed you the SPVNAS weights.

I have received your email.Thank you very much
| |
Liu
|
|
@.***
|
---- Replied Message ----
| From | @.> |
| Date | 11/29/2024 14:48 |
| To | @.> |
| Cc | @.>,
@.> |
| Subject | Re: [liw95/SGLoc] About data prepare (Issue #1) |
In fact, any semantic segmentation methods are possible. I have emailed you the SPVNAS weights.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Yi 1080p Home RFUS - 12.0.35 - y291ga_0.2.5 - Does not record video in Motion Detection mode

The camera records video correctly in "24/7" mode, but does not record video in "Motion Detection" mode (without y291ga, the camera works correctly in both modes)
Serial Number: RFUSY62V************
Base Version: <IP_ADDRESS>_202211241029
Firmware Version: 0.2.5
Model Suffix: y291ga
UPDATE: lower_half_init.sh from https://github.com/roleoroleo/yi-hack-Allwinner-v2/issues/540
backup: https://disk.yandex.ru/d/WN2ccQuH0sLmSQ

This problem is hard to fix.
I need your support because I don't have this model.
When motion detection doesn't work, you mean through the app, I think. Does motion detection work via mqtt?
Could you list the running processes in both configurations (with and without the hack)?

I'll be happy to help.
Switching "24/7" and "Motion Detection" is performed in "YI Home".
"Motion Detection" does not work - I mean the absence of records for this event.
I checked "MQTT" - the camera does not send messages.
(With identical settings, I checked the test for QFUS_9.0.36_y211ga_0.2.5 - messages come about "motion_detection", "motion_detection_image" and "motion_files")

Ok, next step...
I need a list of the running processes in both configurations.
Without the hack and with the hack configured with "Disable cloud"=off.

Sorry, I do not know how to get a "list of running processes". Do you mean information from web pages (configurations, mqtt, camera_settings, eventsdir)? Or save the configuration? config_RFUS_12.0.35.tar.bz2 - https://disk.yandex.ru/d/SPLnmMMmqpF9lw
"With the hack" - maybe there is some command to output this information? (but "Without the hack" - is it possible to get such information from the camera somehow in the "YI Home" application?)

With or without the sd card containing the hack, you should be able to enter to the cam using telnet.
Open putty and run a telnet session.
The command to show the processes is 'ps'.

Ok. List of running processes "With the hack" and "Without the hack" - https://disk.yandex.ru/d/FSzf1Wi9CJno-w

You should try to edit the file lower_half_init.sh in the root folder of your sd card:

Remove the sd from the cam.
Put the sd into your pc.
Make a backup copy of the file lower_half_init.sh lower_half_init.sh_ori
Open the file lower_half_init.sh with your preferred text editor.
Change the line
LD_PRELOAD=/tmp/sd/yi-hack/lib/ipc_multiplex.so ./dispatch &
with
./dispatch &
near the end of the file.
Save and eject the sd card.
Put the sd into the cam.
Check if motion detection works with the original app.

Sorry. Both lines are found in the file.
line 146: ./dispatch &
line 177: LD_PRELOAD=/tmp/sd/yi-hack/lib/ipc_multiplex.so ./dispatch &
I tried
changing "line 146" to LD_PRELOAD=/tmp/sd/yi-hack/lib/ipc_multiplex.so ./dispatch &
and
changing "line 177" to ./dispatch &
I didn't notice any difference. There are no records.

Try to remove the file /tmp/sd/yi-hack/bin/cloudAPI_real
# rm /tmp/sd/yi-hack/bin/cloudAPI_real
and restart the cam.

"lower_half_init.sh" - returned the original
executed the command rm /tmp/sd/yi-hack/bin/cloudAPI_real and rebooted the camera

I didn't notice any changes. There are no records.
Opened the SD via the computer: in the folder "H:\yi-hack\bin " the file "cloudAPI_real" is present, but without the "creation/modification date". After restarting the camera - did it create itself?
https://disk.yandex.ru/i/FwYd98tgNdJGFQ

Opened the SD via the computer: in the folder "H:\yi-hack\bin " the file "cloudAPI_real" is present, but without the "creation/modification date". After restarting the camera - did it create itself?

The hack creates this file. It's ok.
I probably found the problem, Try this beta please:
y291ga_0.2.5.tar.gz

"this beta" is a continuous reboot loop.
update "lower_half_init.sh" from #540 - continuous reboot loop.
The "Swap file" is enabled - the camera has stopped restarting.

There are no video recordings.

additionally checked: "lower_half_init.sh" from "this beta" And "Swap File" is Enable = continuous reboot loop.

Another try please:
y291ga_0.2.5.tgz

"last beta" - the camera does not reboot. There are no records.
disable: a) Snapshot for recorded video b) ONVIF c) ONVIF WS-Discovery d) ONVIF watermark e) SSH - camera does not reboot. There are no records.
RTSP Audio - I change the value "null" to "Disabled (default)" - https://disk.yandex.ru/i/JAgyO1UuHROI6Q - continuous reboot loop.
"Reset to yi-hack default" - rebooted several times, but then stopped rebooting. There are no records.
The "Swap file" is enabled AND "RTSP Audio" - I change the value "null" to "Disabled (default)" - camera does not reboot. There are no records.

We need to check if the cam creates records internally.
Using the last beta, login with putty and check the folder /tmp/sd/record when you move the cam.
If there is a file tmp.mp4.tmp your cam has detected the motion.
Run the command:
ls /tmp/sd/record

Run the command: ls /tmp/sd/record - The directory is empty.
I move my hand in front of the camera - Run the command: ls /tmp/sd/record - The directory is empty.

Please, check if cloud application is running:
ps

root@RFUS:~# ps
  PID USER       VSZ STAT COMMAND
    1 root       980 S    /sbin/init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [kworker/0:0]
    5 root         0 SW<  [kworker/0:0H]
    6 root         0 SW   [kworker/u2:0]
    7 root         0 SW   [rcu_preempt]
    8 root         0 SW   [rcu_sched]
    9 root         0 SW   [rcu_bh]
   10 root         0 SW<  [lru-add-drain]
   11 root         0 SW   [kdevtmpfs]
   12 root         0 SW   [kworker/u2:1]
  211 root         0 SW   [oom_reaper]
  212 root         0 SW<  [writeback]
  214 root         0 SW   [kcompactd0]
  215 root         0 SW<  [crypto]
  216 root         0 SW<  [bioset]
  218 root         0 SW<  [kblockd]
  259 root         0 SW   [sys_user]
  266 root         0 SW   [kworker/0:1]
  267 root         0 SW<  [cfg80211]
  274 root         0 SW<  [watchdogd]
  288 root         0 SW<  [spi0]
  298 root         0 SW   [kswapd0]
  382 root         0 SW<  [bioset]
  387 root         0 SW<  [bioset]
  392 root         0 SW<  [bioset]
  397 root         0 SW<  [bioset]
  402 root         0 SW<  [bioset]
  407 root         0 SW<  [bioset]
  412 root         0 SW<  [bioset]
  417 root         0 SW<  [bioset]
  422 root         0 SW<  [bioset]
  450 root         0 SW   [irq/302-sunxi-m]
  452 root         0 SW   [irq/166-sdc0 cd]
  453 root         0 SW   [irq/303-sunxi-m]
  454 root         0 SW   [kworker/0:2]
  458 root         0 SW   [kworker/0:3]
  527 root         0 SW<  [kworker/0:1H]
  528 root         0 SW<  [bioset]
  529 root         0 SW   [kworker/u2:2]
  531 root         0 SW   [mmcqd/0]
  547 root         0 SWN  [jffs2_gcd_mtd4]
  585 root       988 S    /usr/sbin/telnetd
  597 root         0 SW<  [phy0-atbm_wq]
  598 root         0 SW   [phy0-usb_atbm_b]
  651 root      1356 S    ./dispatch
 1213 root     47964 S    ./rmm
 1297 root      1468 S    /backup/tools/wpa_supplicant -c/tmp/wpa_supplicant.c
 1314 root      2736 S    ./mp4record
 1315 root      1228 S    ./cloud
 1316 root      3564 S    ./p2p_tnp
 1317 root      3536 S    ./oss
 1319 root       744 S    ./watch_process
 1333 root       860 S    {httpd} /tmp/sd/yi-hack/bin/busybox /tmp/sd/yi-hack/
 1344 root       844 S    pure-ftpd (SERVER)
 1368 root      1048 S    udhcpc -i wlan0 -b -s /backup/tools/default.script -
 1428 root       860 S    {ntpd} /tmp/sd/yi-hack/bin/busybox /tmp/sd/yi-hack/u
 1463 root       996 S    {wd_rtsp.sh} /bin/sh /tmp/sd/yi-hack/script/wd_rtsp.
 1518 root       860 S    {crond} /tmp/sd/yi-hack/bin/busybox /tmp/sd/yi-hack/
 1768 root      4060 S<   rRTSPServer -m y291ga -r high -a no -p 554
 1902 root       980 S    -ash
 1951 root       980 S    sleep 10
 1977 root         0 Z    [init]
 1979 root       980 R    ps

cloud application is ok, I don't understand...
Just a little recap:

If you remove the sd card, motion detection works.
When the hack is running, motion detection doesn't work.
cloudAPI application is updated and running.
cloud application is running.
All other mandatory applications are running (dispatch, rmm and p2p_tnp).

If that's the case I don't know how to fix it.
I need to connect in console to your cam and do some testing.

If you remove the sd card, motion detection works. - YES
When the hack is running, motion detection doesn't work. - YES
"I need to connect in console to your cam and do some testing." - OK
My English is not good enough to have a conversation in "real-time voice" - but if a website with a translator is opened in parallel and we type, then we will understand each other =) You can connect either through Chrome Remote Desktop or AnyDesk. Having previously written off to Skype or WhatsApp or another messenger.

@schuchelov What do you think about tomorrow?
I'm UTC+1.

You can connect either through Chrome Remote Desktop or AnyDesk. Having previously written off to Skype or WhatsApp or another messenger.

Search roleoroleo on telegram.

@roleoroleo After reading all the recent threads, this is what I believe, please tell me if I am correct.
fw11 motion doesn't work.
fw12 original issue was that camera was rebooting, but you fixed that issue with updated lower_half_init.sh. Now the issue is that motion doesn't work.
So the last fw version that motion works with is 9? Motion does not work with 11/12?
Thank you.

As explained here the motion detection feature is changed between 9 and 11.
https://github.com/roleoroleo/yi-hack-Allwinner-v2/issues/550
It's not true that it doesn't work, simply it changed.
I already updated the hack to work with this new fw but I need to test it.
If you want, I can send you a beta to test.

@roleoroleo This comment was from 4 days ago.
By now I already know that you have the hack working on 12...
I indeed tested it and commented on it here https://github.com/roleoroleo/yi-hack-Allwinner-v2/discussions/547#discussioncomment-4579267

Sorry I'm missing. New Year. Indicated in the "YI Home" application, "motion detection" is enabled in two places.
#1) SD recording mode - "recording detected activity" or "Recording continuously 24/7"
#2) Settings - (Intelligent Detection) Settings - Movement
The v9 - it was enough to switch only in the #1 setting. The v12 - everything worked correctly when I turned on setting #2.
(I don't know what the rules are here - I got a consultation - the problem is solved - the branch can be closed)

I have the same problem. If I do 1+2 as above then it does record a single event, but only every 8-10 minutes, nothing in between. Sensitivity high has no effect.

1 means "recording detected activity" or "Recording continuously 24/7"?

Only activity. I am still testing it. The alert frequency seems to have an effect on it. If I set to the highest, it only leaves a very small gap between the 1min recordings. But this also sends a lot of notifications to the phone, so silly that it is linked at all.

I have one more observation. "Motion Detection" (yi-hack, camera settings) cannot be turned on, only if I edit the config file. If I switch it on in the web UI, I get a single recording and it is off again.

It was a dual package, so I have another camera. This one records clips just as erratically without the yi-hack fw. So disappointing, since I had a 6FUS (MStar) before and that worked flawlessly.

I have one more observation. "Motion Detection" (yi-hack, camera settings) cannot be turned on, only if I edit the config file. If I switch it on in the web UI, I get a single recording and it is off again.

This bug was fixed here:
https://github.com/roleoroleo/yi-hack-Allwinner-v2/commit/b40b880afa217446582eeaa6664541f661ccb59c

It was a dual package, so I have another camera. This one records clips just as erratically without the yi-hack fw. So disappointing, since I had a 6FUS (MStar) before and that worked flawlessly.

I don't understand exactly what do you want to obtain.
Record activity? Notifications?
Please, explain me better.
Regarding the hack, it doesn't change these features on the cam. It just allows to enable/disable them without using the app (and maybe the cloud).

Okay, I'm going to summerize my experience.

before yi-hack, I setup the camera in yi app, changed recording type to "Activity Detection Recording", nothing was recorded, it did not work out-of-the-box...
turned off "Activity Detection Recording", it recorded everything 24*7, as it should
put yi-hack onto sdcard
"Activity Detection Recording" ON again, nothing was recorded, again
searched online, arrived here, figured I also have to enable "Motion Detection" for yi-hack, a partial sub-1min file and the following 1min file was recorded, but nothing more, I could jump up and down in front of the camera, only after 10 minutes did it record again
played with the sensitivity and notification frequency in the yi app and I managed to shorten the delay between two recordings to 5 or 1 minutes, no idea how, but the notification seems to be part of it
now, the strangest part, set "Motion Detection" OFF in the yi app and it started recording for more than 1 minutes continously, and nothing when there was nothing to record
also turned off "Motion Detection" in yi-hack, rebooted, still records correctly (fingers crossed)


Privacy notice

added privacy notice link back in ... I think I forgot to add it initially!
Added the Question label, just checking with @grabbeh

@endymion1818 I think the snapshots updates in all tests might be because you ran a different version of Jest.
Could you revert that? 🙏🏻


Version updates

Proposed changes
Fetching the latest from a pipenv lock run (which should clear out the vulnerability complaints from the dependabot). Other notable changes worth considering:

Bumped the python version from 3.10 to 3.12 (default on 24.04 LTS).
Removed the CHANGES.md file, since it's grossly outdated and we get our changelog now from https://github.com/AI-Planning/pddl/releases

Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[x] Bugfix (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
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING doc
[ ] Lint and unit tests pass locally with my changes

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.07%. Comparing base (8da9fec) to head (3fc8517).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@            Coverage Diff             @@
##             main     #126      +/-   ##
==========================================
- Coverage   88.12%   88.07%   -0.06%
==========================================
  Files          24       24
  Lines        1752     1752
  Branches      233      187      -46
==========================================
- Hits         1544     1543       -1
- Misses        148      149       +1
  Partials       60       60

Flag
Coverage Δ

unittests
88.07% <100.00%> (-0.06%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines
Coverage Δ

pddl/__version__.py
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

Just noticed that we don't even test on 3.12. Quick search shows where things pop up:
https://github.com/search?q=repo%3AAI-Planning%2Fpddl+3.11&type=code
@marcofavorito / @francescofuggitti : Should we shift what versions we cover? 3.10 - 3.12?


samples: drivers: uart: echo_bot: Add support for mec15xxevb_assy6853 board

The  "echo_bot" sample didn't work on the "mec15xxevb_assy6853" board.
I identified three problems:

The serial ISR callback function "serial_cb()" never returns.
The board goes to a deep sleep state after a short moment. In this mode the UARTs are powered down and do no longer work.
The "uart_bot" requires the shell UART to be enabled/defined, which was not the case for the "mec15xxevb_assy6853" board.

With all these fixes the "echo_bot" example is working well on my "mec15xxevb_assy6853" board.
Please find commits with fixes for all three problems.

Please update the commit messages according to the guideline here: https://docs.zephyrproject.org/latest/contribute/guidelines.html#commit-guidelines
Also, remove the merge commits.

Please update the commit messages according to the guideline here: https://docs.zephyrproject.org/latest/contribute/guidelines.html#commit-guidelines

Done.

Please update the commit messages according to the guideline here: https://docs.zephyrproject.org/latest/contribute/guidelines.html#commit-guidelines
Also, remove the merge commits.

Done.

Could you rebase to see if that clears out the CI errors?

Done.


Pagination is not reset on charts after updating an applied filter

Bug description
When server pagination is enabled on a chart and the page is navigated to a higher page number (e.g., 10th page), applying a new filter with a shorter time range (which would result in fewer pages) causes the chart to not load data. It seems that the pagination is not being reset after the filter is updated, causing the chart to request data for a page that no longer exists.
How to reproduce the bug

Enable server pagination on any chart with a significant amount of data for a specific time period (e.g., 30 days) and configure pagination with a maximum of 100 records per page.
The chart will load with several pages of data.
Navigate to a higher page (e.g., the 10th page).
Update the filter to select a shorter time range (e.g., 1 day), assuming the new data set would not have as many pages as the previously selected time period.
The chart fails to load any data, likely because it is still attempting to fetch data for the previous page number.

Screenshots/recordings
No response
Superset version
4.0.2
Python version
3.11
Node version
16
Browser
Chrome
Additional context
No response
Checklist

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

We have checked it, the limit & offset value is not reset on the queries post change of the applied filters, so it does seem to be bug


[bug] Can't connect to MetaMask w/ Next.js

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.0.17
Current Behavior
Not sure if this is a Next.js specific thing - it's happening for me in the example + in my own fresh Next.js app

Simple setup - just following the guide
export const Example = () => {
  const [{ data, error }, connect] = useConnect();

  return (

      {data.connectors.map((x) => (
        <button disabled={!x.ready} key={x.id} onClick={() => connect(x)}>
          {x.name}
          {!x.ready && ' (unsupported)'}
        </button>
      ))}

      {error &&
{error?.message ?? 'Failed to connect'}
}

  );
};

Expected Behavior
No response
Steps To Reproduce
No response
Anything else?
No response

Did you wrap your app in the Provider?
The log error is coming from SSR mismatch since we don't know the name of the InjectedConnector until it hits the browser and can check for isMetaMask, isCoinbaseWallet, etc. on window.ethereum.
You can get rid of that error by waiting until the component is mounted to display the name for the InjectedConnector.
import * as React from 'react'

export const useIsMounted = () => {
  const [mounted, setMounted] = React.useState(false)
  React.useEffect(() => setMounted(true), [])
  return mounted
}

export const Example = () => {
  const isMounted = useIsMounted()
  const [{ data, error }, connect] = useConnect()

  return (

      {data.connectors.map((x) => (
        <button disabled={!x.ready} key={x.id} onClick={() => connect(x)}>
          {isMounted ? x.name : x.id === 'injected' ? x.id : x.name}
          {!x.ready && ' (unsupported)'}
        </button>
      ))}

      {error &&
{error?.message ?? 'Failed to connect'}
}

  )
}

ahhh that works, thanks - I missed the way you did that trick in docs/components/WalletSelector.tsx
p.s. for posterity, if this trips anyone else up -
import * as React from 'react';
import { useConnect } from 'wagmi';

export const useIsMounted = () => {
  const [mounted, setMounted] = React.useState(false);
  React.useEffect(() => setMounted(true), []);
  return mounted;
};

export const Example = () => {
  const isMounted = useIsMounted();
  const [{ data, error }, connect] = useConnect();

  return (

      {data.connectors.map((x) => (
        <button
--          disabled={!x.ready}
++          disabled={isMounted ? !x.ready : false}
          key={x.id}
          onClick={() => connect(x)}
        >
          {isMounted ? x.name : x.id === 'injected' ? x.id : x.name}
--          {!x.ready && ' (unsupported)'}
++          {isMounted ? !x.ready && ' (unsupported)' : ''}
        </button>
      ))}

      {error &&
{error?.message ?? 'Failed to connect'}
}

  );
};

For Next.js specifically, you can also import the component dynamically to get around this issue.
import dynamic from 'next/dynamic'

const DynamicComponent = dynamic(() => import('../components/example'))

Here's the link if you need more info: https://nextjs.org/docs/advanced-features/dynamic-import


SVG "desc" element is not supported on Xamarin.iOS

Hello friends,
I implemented a demo app using Xamarin.Forms 1.5.x and this plugin looks really amazing on the capabilities, however I'm getting an error when trying to run the app on the iPhone simulator, Xamarin fires an error on "FinishedLaunching" event under AppDelegate.cs and the error is on line: LoadApplication(new App());
Any idea or workaround what I could be missing?
Note: I added the nuget plugin on the PCL project, and the iOS project.
My code used:
new SvgImage {
							SvgPath = "MyDemoApp.Resources.Images.mail.svg",
							SvgAssembly = typeof(App).GetTypeInfo().Assembly,
							HeightRequest = 100,
							WidthRequest = 100
						}

Thanks

Hey @vhugogarcia
Open up your svg in a text editor (Notepad++) and search for "desc" elements. Get rid of those elements and try again

Thanks @paulpatarinski  for your faster response.
I removed "desc" element from the SVG file and now the error says: "SVG "mask" element is not supported
However, by removing that  element the image is not like the original design.
Any suggestions?

Currently only a subset of SVG elements are supported. My goal is to eventually support the full spec https://github.com/paulpatarinski/Xamarin.Forms.Plugins/issues/26
In the meantime I can think of the following options :

Try to achieve the same effect by using one of the other supported elements
Remove the mask as a whole
Try to add support for mask (based on my experience most elements are not hard to implement just time consuming to test)

Cheers


i18n(zh-cn): Create missing-middelware-for-internationalization.mdx

Description (required)
Create missing-middelware-for-internationalization.mdx

Related issues & labels (optional)

#7846

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

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

Tracked Files

File
Note
Locale

src/content/docs/zh-cn/reference/errors/missing-middleware-for-internationalization.mdx
Localization added, will be marked as complete.
zh-cn

Warnings reference

Icon
Description

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


ARROW-13116: [R] Test for RecordBatchReader to C-interface fails on arrow-r-minimal due to missing dependencies

@github-actions crossbow submit test-r-minimal-build

@github-actions crossbow submit test-r-linux-valgrind
I don't think this will fix it, but trying just in case it magically does.

LGTM, I'll look into the valgrind error that looks like it's from these tests next week. Thank you for catching this so quickly!


Java implementation is missing

Although WCON has a Scala implementation, Scala's Java interoperability is awkward given the set of features used in that implementation.
An idiomatic Java implementation should be created that presents a less awkward set of features to the user.  In particular, they shouldn't need to know anything about Scala beyond how to type a few simple commands with SBT.

Resolved by https://github.com/openworm/tracker-commons/pull/107


Hostname mapping does not work well with default ports

Problem
Software can allow the specification of an IP address and Port e.g. <IP_ADDRESS>:8080. Some software has a default port number, for example MongoDB default port is 27017.
If I pass in hostname:27017 into the container where the executable entrypoint accepts this parameter, everything is ok.
$ docker run -it --rm alvinr/mongo mongodb_mongodb_1:27017
MongoDB shell version: 3.0.4
connecting to: mongodb_mongodb_1:27017/test
Welcome to the MongoDB shell.
...
mongos>

However, if I just pass the hostname then this appears to get resolved to localhost.
$ docker run -it --rm alvinr/mongo mongodb_mongodb_1
MongoDB shell version: 3.0.4
connecting to: mongodb_mongodb_1
2015-07-23T06:11:56.556+0000 W NETWORK  Failed to connect to <IP_ADDRESS>:27017, reason: errno:111 Connection refused
2015-07-23T06:11:56.557+0000 E QUERY    Error: couldn't connect to server <IP_ADDRESS>:27017 (<IP_ADDRESS>), connection attempt failed
    at connect (src/mongo/shell/mongo.js:179:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:179
exception: connect failed
vero:mongodb$

Solution
Resolve the IP rather than localhost in all cases.
Workaround
Add the port number, although this may not be obvious since its a specific change of behaviour for a containerized app.
Environment
$ docker version
Client:
 Version:      1.8.0-dev
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   8c7cd78
 Built:        Tue Jul 14 23:47:18 UTC 2015
 OS/Arch:      linux/amd64
 Experimental: true

Server:
 Version:      1.8.0-dev
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   8c7cd78
 Built:        Tue Jul 14 23:47:18 UTC 2015
 OS/Arch:      linux/amd64
 Experimental: true

$ docker info
Containers: 6
Images: 43
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 55
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-43-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 2
Total Memory: 7.304 GiB
Name: swarm-0
ID: LO2F:EV7S:H25G:5RSQ:QISR:WIG6:AP25:VMGR:RBA3:IXJN:2HR5:6DKJ
Debug mode (server): true
File Descriptors: 31
Goroutines: 76
System Time: 2015-07-22T23:00:00.59231837Z
EventsListeners: 0
Init SHA1:
Init Path: /usr/bin/docker
Docker Root Dir: /var/lib/docker
WARNING: No swap limit support
Labels:
provider=amazonec2
com.docker.network.driver.overlay.bind_interface=eth0
Experimental: true

$ uname -a
Linux swarm-0 3.16.0-43-generic #58~14.04.1-Ubuntu SMP Mon Jun 22 10:21:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

@alvinr It has been detected that this issue has not received any activity in over 6 months. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?

Thank you!
This issue will be automatically closed in 1 week unless it is commented on.
For more information please refer to https://github.com/docker/libnetwork/issues/1926


Provide an xcode project with a library target

Most react-native npm packages do this; eases and standardizes the installation process. Some examples: react-native-video, react-native-linear-gradient, react-native-activity-view.

+1 for including the .xcodeproj file in the release

I'll have a look at this when I get a chance. In the meantime if anyone wants to submit a pull request to fix this please feel free :)

@brentvatne know of any articles for generating the Xcodeproj file using something like what CocoaPods uses, or even a manual method with steps boiled down for RN library authors? Thanks in advance.

I do not @jhabdas! I have always just created a project from scratch in Xcode and then added the react-native dependency manually

So that's the trick! :P

You the man @darylrowland! Hope the community bands together to make a generator of some kind as time goes on so a tool can come along and automate module generation and consumption.

I think I saw something called rnpm for react native modules the other day. Will take a look when I get a chance. Or if anyone else knows about it, feel free to make a pull request.

On 16 Dec 2015, at 00:52, Josh Habdas<EMAIL_ADDRESS>wrote:
You the man @darylrowland! Hope the community bands together to make a generator of some kind as time goes on so a tool can come along and automate module generation and consumption.
—
Reply to this email directly or view it on GitHub.


Manually set DC truncation strategy in AcidicJob::TestCase

It is unfortunately much more complicated than this. If the user/system already has a particular DatabaseCleaner configuration, this code will nuke-and-pave that configuration and never restore it. What we have to do instead is mutate whatever the original DatabaseCleaner configuration is in order to transform any transaction strategies into deletion strategies. I am cleaning up some code that does this now

Ah yeah I actually wanted to do that, but there's no accessor for DC.strategy ...

Yeah, it was a bit gnarly, but https://github.com/fractaledmind/acidic_job/pull/19/files should do what we want

The short version is that we store whatever the system DatabaseCleaner configuration is at the start of before_setup in an instance variable and then restore that configuration at the end of after_teardown. In between, we run the configuration thru a pipeline that selectively replaces any transaction strategies with a corresponding deletion strategy, leaving any other configured strategies untouched.


[Bug]: Indexing a document in Elasticsearch with ELSER fails due to a null argument in the request

Bug Description
When attempting to index a document into my vector store backed with Elasticsearch and ELSER, I am getting a runtime error from elasticsearch:
[{'index': {'_index': 'pdfs-launch-20240626', '_id': 'temp_id_006', 'status': 400, 'error': {'type': 'document_parsing_exception', 'reason': '[1:21] failed to parse: [rank_features] fields must be json objects, expected a START_OBJECT but got: VALUE_NULL', 'caused_by': {'type': 'illegal_argument_exception', 'reason': '[rank_features] fields must be json objects, expected a START_OBJECT but got: VALUE_NULL'}}, 'data': {'content': 'benefits of mindfulness', 'embedding.tokens': None}}}]
(Note: our logging was truncating the error so we re-created the request, hence '_id': 'temp_id_006',.
Root cause:
When using the sparse strategy, the ElasticsearchStore does not need to generate embeddings. In the async_add function on this line, the method instantiates a list for the embeddings values and populates it with None for each node in the list, as returned by node.get_embedding(). These in turn get passed to self._store.add_texts as the "vector" argument.
Within the elasticsearch code, the list of Nones erroneously evaluates as truthy, causing it it to add the vector_field object to the request on this line.
Adding request["embedding.tokens"] = None to the indexing request results in the error listed above.
Solution: Only pass a list to the vector variable if any of the values are set, instead of passing a list of Nones.
Version
llama-index-vector-stores-elasticsearch==0.2.0 llama-index==0.10.36 elasticsearch[async]==8.13.1
Steps to Reproduce
This should happen any time you attempt to index a document in an ELSER environment. Here's a simplified version of our code:
# Use ELSER in remote environments
strategy = AsyncSparseVectorStrategy(model_id=ELSER_V2_MODEL_ID)

openai_llm = OpenAI(model="gpt-4-turbo-preview", temperature=0, api_key=openai_api_key)

vector_store = ElasticsearchStore(
    index_name=index_name,
    es_client=async_es,
    retrieval_strategy=strategy,
)

index = VectorStoreIndex.from_vector_store(
    vector_store=vector_store,
    llm=openai_llm,
)

doc = Document(
    text="example text",
)

index.insert(doc)

Relevant Logs/Tracbacks
[{'index': {'_index': 'pdfs-launch-20240626', '_id': 'temp_id_006', 'status': 400, 'error': {'type': 'document_parsing_exception', 'reason': '[1:21] failed to parse: [rank_features] fields must be json objects, expected a START_OBJECT but got: VALUE_NULL', 'caused_by': {'type': 'illegal_argument_exception', 'reason': '[rank_features] fields must be json objects, expected a START_OBJECT but got: VALUE_NULL'}}, 'data': {'content': 'benefits of mindfulness', 'embedding.tokens': None}}}]

Modifying async_add that way would cause the embeddings vector to be the wrong length. better would be to only pass the vectors argument if there are any non-None values.
return await self._store.add_texts(
            texts=texts,
            metadatas=metadatas,
            vectors=embeddings if any(embeddings) else None,
            ids=ids,
            create_index_if_not_exists=create_index_if_not_exists,
            bulk_kwargs=add_kwargs,
        )


ReactDOMServer.renderToString is not a function

Hi, I was following the example in the documentation and this happened to me. I am currently using it in a newly created Vite project, it only has Tailwind. I'm using latest version of Chrome and Windows 10 Pro, here are the packages I am using:

// package.json
{
  "name": "pdf-test1",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "@fileforge/react-print": "^0.1.140",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@types/react": "^18.2.66",
    "@types/react-dom": "^18.2.22",
    "@typescript-eslint/eslint-plugin": "^7.2.0",
    "@typescript-eslint/parser": "^7.2.0",
    "@vitejs/plugin-react": "^4.2.1",
    "autoprefixer": "^10.4.19",
    "eslint": "^8.57.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.6",
    "postcss": "^8.4.38",
    "tailwindcss": "^3.4.3",
    "typescript": "^5.2.2",
    "vite": "^5.2.0"
  }
}

When I try to log the HTML, it gives me that error: ReactDOMServer.renderToString is not a function. This comes from the compile function. I've tried changing the import to import { compile } from "@fileforge/react-print/client"; But that just results in the error 'Cannot find module '@fileforge/react-print/client' or its corresponding type declarations.ts(2307)', even though my VS Code recognize and autocompletes it. Now, I've tried in Next.JS 14, and it seems to work just fine in that type of enviorment.

Hey @rivasdiego-dev, thanks for reporting this. We actually walked into a similar issue with our sandbox earlier today, where Vite treeshaking removes the React DOM dependency. Usually, adding await import("react-dom/server") somewhere in the render code keeps the package in the final tree. You should be able to check the code on the onboarding Stackblitz. Let me know if this helps!


Use dedicated ipfs server

Hm, well, actually on Vercel there's another error now:
400 Bad request
Invalid Path

Deployed version of the app is working. I added env variables via Vercel interface after deployment, so they didn't have effect initially, but now they are applied. Some stories are not loaded because of 400 error, but the reason is in incorrect content link in the body. I'll remove them soon.
I'll share env.local with our team

Probably there's something wrong with the data, but the deployed version now doesn't work throwing JS error:

Locally everything is fine though. Is it because of this?

Some stories are not loaded because of 400 error, but the reason is in incorrect content link in the body. I'll remove them soon.

That was fixed


Backup taken with globalRequest enabled cannot be restored

Hopefully I'm just doing something wrong here. I've tried it several ways to no avail though. I can get the backups to work just fine. They look correct in object storage too. If I just backup a single node, I can restore it w/no issues as well. However if I try to restore (even a single node) from a backup with globalRequest: true, it fails with the following error (which I formatted for ease of reading).
There is not one key which satisfies key filter: [
  S3ObjectSummary{
    bucketName='my-bucket',
    key='cassandra/dc1/792aa697-ca02-4b44-83c0-1dc6c48ef47f/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec',
    eTag='ab34f1c0e87d136f503de0b238049575',
    size=5158,
    lastModified=Tue Jul 14 05:44:18 UTC 2020,
    storageClass='STANDARD',
    owner=S3Owner [
      name=6f862b8a-db99-4820-93f5-0b1251d0daca,
      id=6f862b8a-db99-4820-93f5-0b1251d0daca
    ]
  },
  S3ObjectSummary{
    bucketName='my-bucket',
    key='cassandra/dc1/99fe4904-91ad-402a-bc0d-6acbb31def99/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec',
    eTag='68a294ccd1abd9104dbbb5e88f451bdc',
    size=1971,
    lastModified=Tue Jul 14 05:44:18 UTC 2020,
    storageClass='STANDARD',
    owner=S3Owner [
      name=6f862b8a-db99-4820-93f5-0b1251d0daca,
      id=6f862b8a-db99-4820-93f5-0b1251d0daca
    ]
  },
  S3ObjectSummary{
    bucketName='my-bucket',
    key='cassandra/dc1/a0eb1f45-5f0f-4589-9919-c1d32de2c68d/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec',
    eTag='f88d981fad23a80184d421372eb3b21c',
    size=6100,
    lastModified=Tue Jul 14 05:44:18 UTC 2020,
    storageClass='STANDARD',
    owner=S3Owner [
      name=6f862b8a-db99-4820-93f5-0b1251d0daca,
      id=6f862b8a-db99-4820-93f5-0b1251d0daca
    ]
  },
  S3ObjectSummary{
    bucketName='my-bucket',
    key='cassandra/dc2/3852f40d-8bfe-4bc2-b529-3aba699b44d7/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec',
    eTag='90a50752c6813e9d6910d09f2dcbf735',
    size=4198, lastModified=Tue Jul 14 05:44:17 UTC 2020,
    storageClass='STANDARD',
    owner=S3Owner [
      name=6f862b8a-db99-4820-93f5-0b1251d0daca,
      id=6f862b8a-db99-4820-93f5-0b1251d0daca
    ]
  },
  S3ObjectSummary{
    bucketName='my-bucket',
    key='cassandra/dc2/b5cab591-bee5-4649-ac8d-ad80cef79287/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec',
    eTag='c027f679c82e29a21cdffe3f4dd10504',
    size=1754,
    lastModified=Tue Jul 14 05:44:17 UTC 2020,
    storageClass='STANDARD',
    owner=S3Owner [
      name=6f862b8a-db99-4820-93f5-0b1251d0daca,
      id=6f862b8a-db99-4820-93f5-0b1251d0daca
    ]
  },
  S3ObjectSummary{
    bucketName='my-bucket',
    key='cassandra/dc2/bcc2d49c-0416-40ff-b00f-ae208513ceeb/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec',
    eTag='39babb109aa669aee29eaf0cb21c1aba',
    size=5149, lastModified=Tue Jul 14 05:44:17 UTC 2020,
    storageClass='STANDARD',
    owner=S3Owner [
      name=6f862b8a-db99-4820-93f5-0b1251d0daca,
      id=6f862b8a-db99-4820-93f5-0b1251d0daca
    ]
  }
]

So you can see that it's picking out 6 directories/nodes that I have backed up (for testing, I just setup a 2 DC cluster with 3 nodes per DC).

EDIT:
Here's the backup POST body that I'm using:
{
    "type": "backup",
    "storageLocation": "s3://my-bucket",
    "snapshotTag": "hello",
    "entities": "system_auth",
    "k8sNamespace": "craig",
    "k8sSecretName": "c-backup-secret",
    "dataDirectory": "/var/lib/cassandra",
    "globalRequest": true
}

Hi @cin ,
I am sorry you are experience this as we do not have docs fully written yet for 2.0.0-alpha versions so the usage might be a little bit frustrating. We will cut 2.0 soon with all docs etc.
However, the issue you are hitting is that if you backup globally, you have 6 backups, each per a node. If you want to restore, you have to recognize two scenarios:

you want to restore a set of tables / keyspaces on a running cluster
you want to restore whole cluster from scratch meaning you are starting with completely empty cluster (no node started at all) and whole cluster would be brought up back.

Point 2) is implemented only locally (I am working on that as I write this) and it works very well in connection with our operator. I do not want to go into that rabbit hole to explain you how 2) works in detail as it is fairly complicated to explain but just keep in mind but by doing so, you might recreate your whole cluster from a backup.
So, for 1), globalRequest should be set to "true" in your restore request and storageLocation might be as you have it. If you set globalRequst to "false" as you did and you leave storageLocation same, it probably just does not know which node to take a manifest from because there is just a lot of them - each per node - that is what that message is about "There is not one key which satisfies key filter" - it expects exactly one key, but it returned a lot of them. So you request has to be narrowed down.
I wonder why would one want to backup with globalRequet: true but restore with globalRequest: false - something fishy is going on there - you want your cluster to be restored in its entirety for a table / keyspace. Why are you doing this?
However, if you trully want to proceed, you would have to have globalRequest: false, storageLocation: s3://my-bucket/cluster-name/dc-name/node-id.
Anyway, your example is very strange because I do not think you might restore system_auth on a running node. You are using "restorationStrategyType" equal to "import" which means that it will import downloaded SSTables via JMX call but this table is truncated first - which is a cluster-wide operation - so you would basically truncate your whole system_auth which is not a good idea imho but you can try what happens :)
If you omit "restorationStrategyType", it will use so called "InPlaceRestorationStrategy" which just deletes SSTables which should not be there and copies over SSTables which should but you can not do this on a running cluster. That strategy checks that it can not connect to Cassandra node which is a sign that Cassandra node is down so it may proceed with deleting these SSTables directly from the disk and replacing them with downloaded files.

Thanks for the detailed reply. No worries about the docs as it's totally expected given that it's alpha. On the bright side, it's been really easy to find what I'm looking for in the code. :) It did take me a minute to figure out how to restore in general as I didn't realize it requires two calls (download and import). Thankfully you have tests that showed me the way. 💯
Also, I'm only using system_auth for testing since it's small and is using NetworkTopologyStrategy. You're definitely right in that it's not a table you'd even backup, let alone restore, under normal circumstances. I'll switch over to using a non-system table and C* stress to generate some data.
Initially the only reason I set globalRequest to false was bc it didn't work with true. ;) So I thought to remove the coordination and try to simplify. I actually tried it with the storageLocation: s3://my-bucket/cluster-name/dc-name/node-id got the same error.
[pool-1-thread-2] ERROR com.instaclustr.cassandra.backup.impl.restore.RestorationPhase$DownloadingPhase - Downloading phase has failed: There is not one key which satisfies key filter: [S3ObjectSummary{bucketName='my-bucket', key='cassandra/dc1/792aa697-ca02-4b44-83c0-1dc6c48ef47f/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec', eTag='ab34f1c0e87d136f503de0b238049575', size=5158, lastModified=Tue Jul 14 07:29:22 UTC 2020, storageClass='STANDARD', owner=S3Owner [name=6f862b8a-db99-4820-93f5-0b1251d0daca,id=6f862b8a-db99-4820-93f5-0b1251d0daca]}, S3ObjectSummary{bucketName='my-bucket', key='cassandra/dc1/99fe4904-91ad-402a-bc0d-6acbb31def99/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec', eTag='68a294ccd1abd9104dbbb5e88f451bdc', size=1971, lastModified=Tue Jul 14 07:29:21 UTC 2020, storageClass='STANDARD', owner=S3Owner [name=6f862b8a-db99-4820-93f5-0b1251d0daca,id=6f862b8a-db99-4820-93f5-0b1251d0daca]}, S3ObjectSummary{bucketName='my-bucket', key='cassandra/dc1/a0eb1f45-5f0f-4589-9919-c1d32de2c68d/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec', eTag='f88d981fad23a80184d421372eb3b21c', size=6100, lastModified=Tue Jul 14 07:29:22 UTC 2020, storageClass='STANDARD', owner=S3Owner [name=6f862b8a-db99-4820-93f5-0b1251d0daca,id=6f862b8a-db99-4820-93f5-0b1251d0daca]}, S3ObjectSummary{bucketName='my-bucket', key='cassandra/dc2/3852f40d-8bfe-4bc2-b529-3aba699b44d7/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec', eTag='90a50752c6813e9d6910d09f2dcbf735', size=4198, lastModified=Tue Jul 14 07:29:22 UTC 2020, storageClass='STANDARD', owner=S3Owner [name=6f862b8a-db99-4820-93f5-0b1251d0daca,id=6f862b8a-db99-4820-93f5-0b1251d0daca]}, S3ObjectSummary{bucketName='my-bucket', key='cassandra/dc2/b5cab591-bee5-4649-ac8d-ad80cef79287/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec', eTag='c027f679c82e29a21cdffe3f4dd10504', size=1754, lastModified=Tue Jul 14 07:29:21 UTC 2020, storageClass='STANDARD', owner=S3Owner [name=6f862b8a-db99-4820-93f5-0b1251d0daca,id=6f862b8a-db99-4820-93f5-0b1251d0daca]}, S3ObjectSummary{bucketName='my-bucket', key='cassandra/dc2/bcc2d49c-0416-40ff-b00f-ae208513ceeb/manifests/hello-3de05c49-3c0d-39b1-918a-b415379f02ec', eTag='39babb109aa669aee29eaf0cb21c1aba', size=5149, lastModified=Tue Jul 14 07:29:22 UTC 2020, storageClass='STANDARD', owner=S3Owner [name=6f862b8a-db99-4820-93f5-0b1251d0daca,id=6f862b8a-db99-4820-93f5-0b1251d0daca]}]
[pool-1-thread-2] ERROR com.instaclustr.operations.Operation - Operation 839730fa-858d-44de-a667-1079e9590b25 has failed.
com.instaclustr.operations.OperationCoordinator$OperationCoordinatorException: [ResultEntry{failed=false, operation='RestoreOperation{id=839730fa-858d-44de-a667-1079e9590b25, creationTime=2020-07-14T14:52:36.820Z, request=RestoreOperationRequest{storageLocation=StorageLocation{rawLocation=s3://my-bucket/cassandra/dc1/99fe4904-91ad-402a-bc0d-6acbb31def99, storageProvider=s3, bucket=my-bucket, clusterId=cassandra, datacenterId=dc1, nodeId=99fe4904-91ad-402a-bc0d-6acbb31def99, fileBackupDirectory=null, cloudLocation=true}, concurrentConnections=10, cassandraDirectory=/var/lib/cassandra, restoreSystemKeyspace=false, snapshotTag=hello, entities=DatabaseEntities{keyspaces=[system_auth], keyspacesAndTables={}}, restorationStrategyType=IMPORT, restorationPhase=DOWNLOAD, import=ImportOperationRequest{keyspace=null, table=null, keepLevel=false, noVerify=false, noVerifyTokens=false, noInvalidateCaches=false, quick=false, extendedVerify=false, sourceDir=/var/lib/cassandra/data/downloadedsstables}, noDeleteTruncates=false, noDeleteDownloads=false, noDownloadData=false, schemaVersion=null, exactSchemaVersion=false, updateCassandraYaml=true, k8sNamespace=craig, k8sSecretName=c-backup-secret, globalRequest=false}, state=RUNNING, failureCause=null, progress=0.0, startTime=2020-07-14T14:52:36.820Z, shouldCancel=false}', exceptionMessage='com.instaclustr.cassandra.backup.impl.restore.RestorationPhase$RestorationPhaseException: Unable to pass DOWNLOAD phase.'}]
        at com.instaclustr.cassandra.backup.impl.restore.RestoreOperation.run0(RestoreOperation.java:115)
        at com.instaclustr.operations.Operation.run(Operation.java:100)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
        at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

I do think there's a valid use case for this even though I was just trying it for testing. Generally, you'd do entire cluster backups daily, weekly, or w/e. However, you could have a node/persistent volume (or even entire zone) die and only want to restore the keyspaces/tables for that specific node (or nodes). This will afford you the luxury of not having to stream all the data to the new node(s). I'm not familiar enough with the backup strategy yet to understand why a UUID (which is consistent between backups at least) is used as opposed to the node name. So I'm not sure how you'd know what data belongs to what node when backing up an entire cluster. Maybe this isn't a use case your team needs to support? Do you just stream the data over if you have a node or subset of nodes die?
Again, thanks for the time helping sort this out!

To answer your question about the restoration, I ve just finished this, there will be a topology file where this mapping will be done, like this:
{
  "topology" : [ {
    "hostname" : "cassandra-test-cluster-dc1-west1-b-0.cassandra-test-cluster-dc1-seeds.default.svc.cluster.local",
    "cluster" : "test-cluster",
    "dc" : "dc1",
    "rack" : "west1-b",
    "hostId" : "a9753ddd-76db-4c4d-81f8-8ab6ca93a3bb",
    "ipAddress" : "<IP_ADDRESS>"
  }, {
    "hostname" : "cassandra-test-cluster-dc1-west1-a-0.cassandra-test-cluster-dc1-seeds.default.svc.cluster.local",
    "cluster" : "test-cluster",
    "dc" : "dc1",
    "rack" : "west1-a",
    "hostId" : "3e32961c-fa7b-4522-9a88-6055bfba1a35",
    "ipAddress" : "<IP_ADDRESS>"
  }, {
    "hostname" : "cassandra-test-cluster-dc1-west1-c-0.cassandra-test-cluster-dc1-seeds.default.svc.cluster.local",
    "cluster" : "test-cluster",
    "dc" : "dc1",
    "rack" : "west1-c",
    "hostId" : "c759d0f6-82b4-407d-81bb-c0787f50b1c6",
    "ipAddress" : "<IP_ADDRESS>"
  } ]
}

So you know that "if a pod has this name, I fetch this topology file, parse it into some Java model representation and I pick hostId of that pod name".
You might have same cluster name and same datacenter name but these clusters would live in a different k8s namespaces, so you need to make a difference by saving it as host ids.
The problem with the restoration of a node is that it is quite hard to do when a cluster is running, the most "clean" way would be to 1) decommission that node 2) delete that pod 3) start that pod again but in "restore" mode so it would restore and it would join a node. If that node is not reachable at all, one would probably have to remove / assasinate that node or something like that and new node would have to be started. This is quite advanced stuff and our operator does not know this natively or there would have to be some additional work done in this regard.

@cin I ll try to do what you want in a standalone cluster not running in Kubernetes - to restore just one node, pretending what e.g. whole az is down. Sidecar binary "command-wise", it should be possible, but wrapping that into whatever environment you have will be up to you.

Thanks for the clarification @smiklosovic around the host IDs. That makes complete sense given that names could conflict across namespaces. It seems the topology file could be used to resolve the hostname to host ID. I can think of a few ways this could work, but I need to investigate further how things can work with the current capabilities provided in the sidecar/backup. I have a few other things on my plate at the moment, but I'll be back on this tomorrow. Thanks again!


when classes==2, "AssertionError: Two classes is binary classification.          Just specify the posative class value"

import pretrained_microscopy_models as pmm
# setup a UNet model with a ResNet50 backbone.
model = pmm.segmentation_training.create_segmentation_model('Unet', 'resnet50', 'micronet', classes=2)

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
[<ipython-input-18-e7bebb562564>](https://localhost:8080/#) in <module>()
      2
      3 # setup a UNet model with a ResNet50 backbone.
----> 4 model = pmm.segmentation_training.create_segmentation_model('Unet', 'resnet50', 'micronet', classes=2)

[/usr/local/lib/python3.7/dist-packages/pretrained_microscopy_models/segmentation_training.py](https://localhost:8080/#) in create_segmentation_model(architecture, encoder, encoder_weights, classes, activation)
     75     # setup and check parameters
     76     assert classes != 2, "Two classes is binary classification.  \
---> 77         Just specify the posative class value"
     78
     79     if activation is None:

AssertionError: Two classes is binary classification.          Just specify the posative class value

I'm not sure what is meant by "just specify the [positive] class value". Is the suggestion to use a different function?
reproducer: https://colab.research.google.com/drive/1eGvA7_q1dgIEZjHJvugZ0aa-koY3Vg_c#revisionId=0B0MK2L13BxuWaktYK3BYT3RscWxuVXBUQkZIbHNia2M4eCs0PQ

If you are doing binary classification then just set classes=1 and the background class is implicit. E.g., "grain boundary" and "not grain boundary", but the "not grain boundary" is implicit. In this case the model uses a sigmoid activation with 1 output neuron. If you have 2 positive classes and a background (e.g., grain boundary, porosity, everything else) then set classes=3 and the model will use a softmax activation with 3 output neurons.
Basically, there is never any reason for the model to have 2 output neurons.
By the way, how are you labeling the training data?

Ok, good to know. Might be worth modifying the error to say "If you are doing binary classification then set classes=1 and the background class is implicit" or similar.

By the way, how are you labeling the training data?

I haven't run an example with training data yet. Would probably use Fiji, Gimp, or similar, and label the background as black and grain boundaries as white or vice-versa.
I gave it a shot with classes=1 but was running into a different error #5. Not specific to classes=1 though, same error for classes=3 which was working before (not exactly sure what changed).

Good idea!


在运行speaker diarization中的run_audio.sh时发生错误

你好，在运行程序时有以下报错，好像是安装包版本的问题
run_audio.sh Stage 1: Prepare input wavs...
--2024-03-04 12:49:43--  https://modelscope.cn/api/v1/models/damo/speech_campplus_speaker-diarization_common/repo?Revision=master&FilePath=examples/2speakers_example.wav
Resolving modelscope.cn (modelscope.cn)... <IP_ADDRESS>
Connecting to modelscope.cn (modelscope.cn)|<IP_ADDRESS>|:443... connected.

HTTP request sent, awaiting response... 200 OK
Length: 380 [application/octet-stream]
Saving to: 'examples/2speakers_example.rttm'
 0K                                                       100% 1.19M=0s

2024-03-04 12:49:48 (1.19 MB/s) - 'examples/2speakers_example.rttm' saved [380/380]
run_audio.sh Stage2: Do vad for input wavs...
D:\Anaconda3\lib\site-packages\numpy_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:
D:\Anaconda3\lib\site-packages\numpy.libs\libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll
D:\Anaconda3\lib\site-packages\numpy.libs\libopenblas64__v0.3.21-gcc_10_3_0.dll
warnings.warn("loaded more than 1 DLL from .libs:"
2024-03-04 12:49:50,197 - modelscope - INFO - PyTorch version 2.2.1 Found.
2024-03-04 12:49:50,199 - modelscope - INFO - Loading ast index from C:\Users\Coconuttt_.cache\modelscope\ast_indexer
2024-03-04 12:49:50,356 - modelscope - INFO - Loading done! Current index file version is 1.10.0, with md5 6d2959ed63b0f2682e848d2d1a7b8118 and a total number of 946 components indexed
2024-03-04 12:49:53,171 - modelscope - INFO - Use user-specified model revision: v2.0.4
2024-03-04 12:49:53,553 - modelscope - WARNING - ('PIPELINES', 'voice-activity-detection', 'funasr-pipeline') not found in ast index file
Traceback (most recent call last):
File "local/voice_activity_detection.py", line 93, in
main()
File "local/voice_activity_detection.py", line 59, in main
vad_pipeline = pipeline(
File "D:\Anaconda3\lib\site-packages\modelscope\pipelines\builder.py", line 170, in pipeline
return build_pipeline(cfg, task_name=task)
File "D:\Anaconda3\lib\site-packages\modelscope\pipelines\builder.py", line 65, in build_pipeline
return build_from_cfg(
File "D:\Anaconda3\lib\site-packages\modelscope\utils\registry.py", line 198, in build_from_cfg
raise KeyError(
KeyError: 'funasr-pipeline is not in the pipelines registry group voice-activity-detection. Please make sure the correct version of ModelScope library is used.'
我尝试了多种版本如：①funasr==0.8.4 modelscope==1.10.0 ② funasr==0.8.7  modelscope==1.10.0 ③funasr==0.8.8  modelscope==1.10.0 还是不能解决问题

funasr 1.x.x has been released. Please update it to latest version.

I tried to update the funasr to latest version,the result is the same.(modelscope==1.11.0)
KeyError: 'funasr-pipeline is not in the pipelines registry group voice-activity-detection. Please make sure the correct version of ModelScope library is used.
Then I update the modelscope to the latest version 1.12.0,a new error occured.
2024-03-04 14:25:07,616 - modelscope - INFO - initiate model from C:\Users\Coconuttt_.cache\modelscope\hub\iic\speech_fsmn_vad_zh-cn-16k-common-pytorch
2024-03-04 14:25:07,616 - modelscope - INFO - initiate model from location C:\Users\Coconuttt_.cache\modelscope\hub\iic\speech_fsmn_vad_zh-cn-16k-common-pytorch.
2024-03-04 14:25:07,619 - modelscope - INFO - initialize model from C:\Users\Coconuttt_.cache\modelscope\hub\iic\speech_fsmn_vad_zh-cn-16k-common-pytorch
Traceback (most recent call last):
File "D:\Anaconda3\lib\site-packages\modelscope\utils\registry.py", line 212, in build_from_cfg
return obj_cls(**args)
File "D:\Anaconda3\lib\site-packages\modelscope\pipelines\audio\funasr_pipeline.py", line 62, in init
super().init(model=model, **kwargs)
File "D:\Anaconda3\lib\site-packages\modelscope\pipelines\base.py", line 100, in init
self.model = self.initiate_single_model(model, **kwargs)
File "D:\Anaconda3\lib\site-packages\modelscope\pipelines\base.py", line 53, in initiate_single_model
return Model.from_pretrained(
File "D:\Anaconda3\lib\site-packages\modelscope\models\base\base_model.py", line 183, in from_pretrained
model = build_model(model_cfg, task_name=task_name)
File "D:\Anaconda3\lib\site-packages\modelscope\models\builder.py", line 35, in build_model
model = build_from_cfg(
File "D:\Anaconda3\lib\site-packages\modelscope\utils\registry.py", line 184, in build_from_cfg
LazyImportModule.import_module(sig)
File "D:\Anaconda3\lib\site-packages\modelscope\utils\import_utils.py", line 475, in import_module
importlib.import_module(module_name)
File "D:\Anaconda3\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 843, in exec_module
File "", line 219, in _call_with_frames_removed
File "D:\Anaconda3\lib\site-packages\modelscope\models\audio\funasr\model.py", line 7, in
from funasr import AutoModel
ImportError: cannot import name 'AutoModel' from 'funasr' (unknown location)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "local/voice_activity_detection.py", line 93, in
main()
File "local/voice_activity_detection.py", line 59, in main
vad_pipeline = pipeline(
File "D:\Anaconda3\lib\site-packages\modelscope\pipelines\builder.py", line 170, in pipeline
return build_pipeline(cfg, task_name=task)
File "D:\Anaconda3\lib\site-packages\modelscope\pipelines\builder.py", line 65, in build_pipeline
return build_from_cfg(
File "D:\Anaconda3\lib\site-packages\modelscope\utils\registry.py", line 215, in build_from_cfg
raise type(e)(f'{obj_cls.name}: {e}')
ImportError: FunASRPipeline: cannot import name 'AutoModel' from 'funasr' (unknown location)

You can type "pip install --upgrade funasr". @Coconut059

Still the same error.(upgrade funasr and use modelscope==1.10.0or1.11.0)
KeyError: 'funasr-pipeline is not in the pipelines registry group voice-activity-detection. Please make sure the correct version of ModelScope library is used.'
When I update the modlescope  to 1.12.0.The error would turn to:
ImportError: FunASRPipeline: cannot import name 'AutoModel' from 'funasr' (unknown location).
I really don't know what  to do..

What is your funasr version。Please ensure it is latest(1.0.11).

I've updated to the latest version but it's still the same error, so I'm running on jupyter instead, and I'm getting another error.
Computing DER...
2024-03-04 20:20:54,429 - INFO: Concatenating individual RTTM files...
Traceback (most recent call last):
File "/mnt/workspace/3D-Speaker-main/egs/3dspeaker/speaker-diarization/local/compute_der.py", line 72, in
main(args)
File "/mnt/workspace/3D-Speaker-main/egs/3dspeaker/speaker-diarization/local/compute_der.py", line 47, in main
[MS, FA, SER, DER_] = DER(
File "/mnt/workspace/3D-Speaker-main/egs/3dspeaker/speaker-diarization/local/DER.py", line 103, in DER
stdout = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
File "/opt/conda/lib/python3.10/subprocess.py", line 421, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/opt/conda/lib/python3.10/subprocess.py", line 503, in run
with Popen(*popenargs, **kwargs) as process:
File "/opt/conda/lib/python3.10/subprocess.py", line 971, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/opt/conda/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: '/mnt/workspace/3D-Speaker-main/egs/3dspeaker/speaker-diarization/local/md-eval.pl'

I've updated the "egs/3dspeaker/speaker-diarization/local/DER.py". You can solve it by pull the new one.

Thanks a lot!!!It finally worked. I want to know how to use my own data set to run on this model(speaker diarization).

Thanks a lot!!!It finally worked. I want to know how to use my own data set to run on this model(speaker diarization).

The diarization pipeline is based on a pretrained VAD model and speaker embedding model. The pretrained VAD model used is the "iic\speech_fsmn_vad_zh-cn-16k-common-pytorch" in ModelScope. You can train your own speaker embedding model using any speaker verification recipe in this repo.

The diarization pipeline is based on a pretrained VAD model and speaker embedding model. The pretrained VAD model used is the "iic\speech_fsmn_vad_zh-cn-16k-common-pytorch" in ModelScope. You can train your own speaker embedding model using any speaker verification recipe in this repo. You can also use other pretrained speaker models in ModelScope by changing the value of "speaker_model_id" in run_audio.sh


Model exporters are producing incompatible models due to the lack of a vocabulary score

Hi there!
I'm one of the maintainers of https://github.com/rustformers/llama-rs, and we've recently been expanding our model support to cover GPT-NeoX as well as other models. As part of this, we've been testing with models on HuggingFace as appropriate.
We were testing with https://huggingface.co/byroneverson/ggml-stablelm-base-alpha-3b-q4_0 and noticed that the model was exported as a GGJT-format file where each vocabulary token was missing its f32 score - that is, (len, bytes) instead of (len, bytes, score).
I had a quick look at the repo here, and from what I can tell, the scripts and C++ skip over the production/reading of the vocabulary score.
Unfortunately, only the GGML format has scoreless tokens. Both GGMF and GGJT require tokens to have a score. As a result, models produced using this workflow are invalid GGMF/GGJT models for other non-gptneox.cpp loaders.
This may also cause problems in the future with ggml's GPT-NeoX model example, which uses scoreless GGML.
My suggested fixes are one of the following:

use the GGML format
update your script and C++ to write a 0.0 score and to skip over it during the read

Thank you for pointing this out. The newest push now uses 0.0 placeholder scores again for ggjt format. I am currently re-uploading the quantized models to hugging face so they should all be available fairly soon.
I will also be uploading a q4_0 quantized version of TRL-Lib's Stack LLaMa if you would like to test it as well. Meta's original licensing/access applies to Stack LLaMa so be sure to apply for access if you have not already. (I have to imagine you already have at this point so this is more for anyone else that may come across this)
https://ai.facebook.com/blog/large-language-model-llama-meta-ai/


Changing the version of twitter4j

I request you to please change the version of twitter4j-core and twitter4j-stream in dependency from 4.0.4 to 4.0.6.
As there was a known error in 4.0.4 which was fixed in the new version of 4.0.6

Please open a jira for this and mention the jira Id in commit message and branch name. You can't use master branch.
Please make sure you follow the guidelines in "Opening pull request" section of this page: https://apex.apache.org/contributing.html

@Shubham0411  please close this PR as you have opened new one with jira reference.


Url's Without Trailing Slashes

If I turn on AppendTrailingSlash so that all URL's created by `IUrlHelper are created with a trailing slash like so:
// All generated URL's should append a trailing slash.
routeOptions.AppendTrailingSlash = true;

Now I want to create an action in my controller that looks like it returns a file e.g. robots.txt like so:
[Route("robots.txt")]
[NoTrailingSlash]    // Proposed filter attribute
public IActionResult RobotsText()
{
    string content = this.GetRobotsContent();
    return this.Content(content, "text/plain", Encoding.UTF8);
}

In this case I don't want this URL to have a trailing slash as I want it to be treated as a file. when I create a URL, I have to add a TrimEnd('/') like so:
@Url.RouteUrl(HomeControllerRoute.GetManifestJson).TrimEnd('/')

However, this is very error prone and I always forget to add the TrimEnd('/') to the link. Is there some way for me to create a [NoTrailingSlash] attribute which can be added to the action and hooks into an extensibility point for IUrlHelper and remove the trailing slash for me?

Hi. Thanks for contacting us.
We're closing this issue as there was no much community interest in this ask for quite a while now.


remove templates

I think that the contents of templates/ are unused, and can safely be removed. I did git grep template in this repo and in https://github.com/saturncloud/release-images, and didn't find any code referencing them.
How this improves images
This code turns up in search results from GitHub search and with command-line tools like git grep. If this code is actually unused, those search results lead to wasted time and energy.
For example, it looks like @bhperry edited some of these files in #55 because they had a reference to jupyterhub in them: https://github.com/saturncloud/images/pull/55/files#diff-a386892a3859bd567dde24dae074c545bff5aa98552d675898beb0f52755a5bc

Looks reasonable, but I'd like to get someone who knows what they were originally used for to weigh in

please remove templates.  They were something I did before release-images existed.  It's dead.


[Task][Clean-Up]: Create Healthcare Directory under Python SDK IOs

What needs to happen?
To mirror what we have in the Java IOs [1], we should create a new directory under [2], and add the DICOM Python IO. This will make the codebase readability cleaner and give a location for folks to add more healthcare IOs in Python if the need arises.
[1]
https://github.com/apache/beam/tree/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare
[2]
https://github.com/apache/beam/tree/master/sdks/python/apache_beam/io/gcp
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components

[ ] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[X] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

cc: @ahmedabu98 @Abacn @johnjcasey if you are ok with this, I will put up a PR.

.take-issue

Yeah In Java each gcp component has its own package (bigquery/bigtable/healthcare etc) but for Python, for now, most are all in gcp (exception is pubsublite which is an external transform) moving healthcare alone does not improve the situation much
and in general I feel like Python modules tends to have fewer layer. Not sure if this was language convention. We moved kafka connector from apache_beam.io.external to apache_beam.io before

Offline discussion with @Abacn :
The new team I just joined leverages the Healthcare Connectors and so moving these under a healthcare folder will help reduce tech debt in case we contribute Python specific connectors in the future.
We could do what was done in [1] to avoid breaking changes.
cc: @tvalentyn
[1]
https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/external/kafka.py

i don't have a strong opinion, but yes we should pay attention to not make breaking changes.

Agreed on better factoring of connectors.


feat: upgrade seada materials

Close https://github.com/alibaba/lowcode-engine/issues/1273

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

CLA 还得签一下哈，如果有问题可以参考这个 https://lowcode-engine.cn/site/docs/faq/faq021