having ref in react component causes renderIntoDocument DOM to become empty

react-testing-library version: 3.1.0
react version: 16.3.2
node version: 8.9.1
npm (or yarn) version: 5.5.1

Relevant code or config:
describe("WebhookSender Fetch", () => {

    beforeEach(() => {
        Rendered = renderIntoDocument(componentMarkup);
    });

    afterEach(() => {
        cleanup();
        fetch.resetMocks();
    });

    it("should show render results", async (done) => {

        fetch.mockReject(fetchRejectMsg);
        const sendBtnNode = Rendered.getByText('Send');
        fireEvent(sendBtnNode, new MouseEvent('click', {
            bubbles: true,
            cancelable: true,
          }));

        await wait(() => Rendered.getByText(fetchRejectMsg));
        expect(Rendered.getByText(fetchRejectMsg, {exact: false})).toBeInTheDOM();
        done();
    });

});

What you did:
The test is successful if I comment out the following div with ref, in my react component being tested:

 { this.fetchBottom = bottom; }}>

What happened:

When the div with ref is there, the test fails and the console shows

console.error node_modules/react-dom/cjs/react-dom.development.js:9643
  The above error occurred in the <WebhookSender> component:
      in WebhookSender (at WebhookSender.spec.js:18)
      in MuiThemeProvider (at WebhookSender.spec.js:17)

  Consider adding an error boundary to your tree to customize error handling behavior.
  Visit https://fb.me/react-error-boundaries to learn more about error boundaries.
console.error node_modules/fbjs/lib/warning.js:33
  Warning: Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
      in WebhookSender (at WebhookSender.spec.js:18)
      in MuiThemeProvider (at WebhookSender.spec.js:17)

Reproduction:

Problem description:
I find that if I have the ref in my react component, after the button click, the DOM (look at PrettyDOM(Rendered.container)) becomes just an empty div , thus failing the subsequent getByText.
Is there known issue with having ref for such tests?

Suggested solution:

Could you please create a reproduction of this in codesandbox? That will help a lot I think. Fork this one: http://kcd.im/rtl-example

I am not able to reproduce it in codesandbox, however, when running the code downloaded from codesandbox it reproduces.  So it may be an issue with my environment.  I wonder how codesandbox runs the test (is it in the browser?).  In my local env it's run using jest with env=jsdom so maybe that's the issue?

If you share the sandbox you used I'll verify that. Maybe there really is a problem.

Thanks for your patience.  I finally figured it out.  The problem was that scrollIntoView is not in jsdom (https://github.com/jsdom/jsdom/issues/1695).  I was expecting it to be there as a no-op.
The reproducer is here - https://codesandbox.io/s/8853vq24xl
Test passes on codesandbox.  Download to local and run 'npm i' followed by 'npm test' will show failure.
So it seems I should explore setting up a browser test env instead of jsdom, vs mocking the functions not in jsdom.  Do you recommend running rtl with some other test runners (like cypress, karma)?  jest+rtl works very well for me so far but I would need such tests working.


MPI based communication path for tensor exchange operations

This pull request adds an additional communication path to TensorFlow that allows Tensors to be exchanged using MPI based Send and Recieve routines when running distributed TensorFlow. T
The used MPI implementation will pick the most optimal path available between the two communication points allowing the user to take advantage of high performance networks such as Infiniband.
Certain MPI implementations allow direct data-transfers from GPU buffers (CUDA Aware / GPUDirect RDMA), this option can be enabled using an environment variable. See the README for more details.
Note: Be aware of the known problems that results in unpredictable behavior for certain complex networks. Any help/insight on that from other MPI experts would be appreciated.

Can one of the admins verify this patch?

I think @poxvoculi is more familiar with these changes, so I'll defer to him on the review.

Jenkins test this please

@jhseu can you look at the build/config files?

./configure, .bzl, and BUILD changes LGTM

@tensorflow-jenkins test this please

@jbedorf please address the build file formatting errors reported here: https://ci.tensorflow.org/job/tensorflow-pull-requests-sanity/4354/consoleFull

@rmlarsen  Those errors should now be fixed.
@poxvoculi  Fixed all indicated comments in the latest commit.

Jenkins test this please

Jenkins test this please


Fix missing data parameter for PATCH requests

The data parameter for PATCH requests was not being passed to axios.

Codecov Report

Merging #17 (1df2bbc) into main (3f323b8) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main      #17   +/-   ##
=======================================
  Coverage   12.12%   12.12%
=======================================
  Files           7        7
  Lines         231      231
  Branches       38       38
=======================================
  Hits           28       28
  Misses        200      200
  Partials        3        3

Impacted Files
Coverage Δ

src/requester.ts
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@jfsso thanks a lot for your contribution! 🎉

Available in the 0.0.2 version

@andrii-bodnar thank for the fast release! verified it works all good in 0.0.2 👍🏽

@jfsso apparently, you're the first user of this action, so I would be really happy to receive any feedback 😃

@andrii-bodnar Happy to be the first user and be able to contribute on fixes here :) I've been very satisfied with the results so far, and I especially appreciate the ease with which I can chain steps to create API call sequences using the output of previous steps. Thank you for such a great tool!

@jfsso great, thanks a lot for the feedback! 🚀


Problem adding a sock

Upon adding a sock, I get the following error:
Logger: homeassistant.setup
Source: setup.py:377
First occurred: 23:22:22 (2 occurrences)
Last logged: 23:22:22

Unable to prepare setup for platform owlet.binary_sensor: Platform not found (cannot import name 'DeviceInfo' from 'homeassistant.helpers.device_registry' (/usr/src/homeassistant/homeassistant/helpers/device_registry.py)).
Unable to prepare setup for platform owlet.sensor: Platform not found (cannot import name 'DeviceInfo' from 'homeassistant.helpers.device_registry' (/usr/src/homeassistant/homeassistant/helpers/device_registry.py)).

What Owlet integration version are you using?
What homeassistant version are you using?
I think you might need to update homeassistant, DeviceInfo was moved to the device_registry around 7 months ago. I'm running newest homeassistant and Owlet version and this works fine

@ryanbdclark you are absolutely right, so sorry about that. It seems, HA changed the name of their repo where I pull the docker image, so everytime I updated, I reinstalled 2023.06 without noticing… I now updated to the actual latest version and everything works like a charm now. Thanks so much for a great integration!

No problem :). Thanks for confirming.


Add Total Value to LP tab

Related to #1565
We should show your total value for the LP tables like we have for Longs and Shorts.

For now just add the Chain identifer


Improved Consumer Setup Story

So, I was out in East Columbus today to set up a few devices for Dr. Hood's study, and there are some important take-home lessons that we can use to improve the story for consumers, especially in low-income communities that might be most affected by pollution.

One person indicated that she has now worked 22 back-to-back 12-hour workdays.  When she gets home she just wants to lay down on the floor and sleep.  We need to bring the cost of our devices down.  I'm sure that even $50 would be a considerable expense.  This is support for @bensonk 's preference to move to a custom ESP32 board.
Currently, we expect users to plug a device in outside.  So far, almost no participant in this study has had a home with an outdoor outlet.  Do we have them change batteries out periodically, or are solar panels an option?
Currently, we expect users to stake a device into the ground.  Many sites we've worked with are apartments or units that don't any outdoor spaces to place a device.  It would be ideal if we had a simple, non-destructive way to attach it to a wall or window, or a chassis solution that would allow the device to sit on a window ledge.
Many of our users don't have reliable wifi at home, and use their cell phones.  We do support tethering to a cellular wi-fi network currently, but we don't have much experience with it.

Moving to an ESP32 platform will make solar operation much easier. Supporting Wi-Fi tether operation on that platform is going to be tougher, but it's doable. That will also make it much easier to reduce the size of the unit, which should help quite a lot.
I think for serving communities like that, we need to either acquire grants, or find an income stream that can be used to pay for the devices for these folks. They shouldn't have so pay for this, just hosting it is so much already.


Dockerfile has priority over slug builder

I have a Node.js deis app which contains a Dockerfile in the project root. The Dockerfile is meant for development purposes only or as a convenience for people who don't have access to a PaaS.
As a temporary workaround, I renamed the file to Dockerfile.dev so that the deis builder doesn't mistakenly use it during builds but I was wondering if there would be a more explicit way of telling Deis I don't want it to use the Dockerfile during builds?

The Dockerfile always wins, is the current logic.

Yes, I noticed that. I guess it's not really a big deal anyways, closing.


Faster startup

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description
Since on startup the stream id is found as each TwitchChannel needs to ask for their display name to id conversion. Thus instead of waiting for the roomid over IRC we can get from the api. This speeds up loading a lot (1sec now instead of maybe 10-20sec) and gets rid of cases were sometimes channels fail to load for me.

Can you define what you mean by faster startup? Obtaining user id's via helix doesn't change the rate limited irc join task

IRC is just used for getting messages from chat so you are correct that this does not change that speed.
But there are a lot of other things that rely on the roomId being known.
All these processes are very delayed, with the live and stream title status being of particular usefulness on startup.
Specifically:
// room id loaded -> refresh live status
this->roomIdChanged.connect([this]() {
    this->refreshPubSub();
    this->refreshTitle();
    this->refreshLiveStatus();
    this->refreshBadges();
    this->refreshCheerEmotes();
    this->refreshFFZChannelEmotes(false);
    this->refreshBTTVChannelEmotes(false);
});

Also on setRoomId, we call loadRecentMessages - does this change properly interact with the recent messages api? that is, are historical messages loaded & does this change result in a gap in chat history between the recent message api call & irc join event?

Also on setRoomId, we call loadRecentMessages - does this change properly interact with the recent messages api? that is, are historical messages loaded & does this change result in a gap in chat history between the recent message api call & irc join event?

Yes it does. The query to the recent api uses the displayname, thus doesn't depend on the roomId. The historical service is actually down for me right now, but it worked as intended when I tested it last night. Historical messages are always appended to the top (back of the message queue) above the IRC messages.

Yes it does. The query to the recent api uses the displayname

I don't like this approach, ideally login names should be used. Display names sound like a wrong solution, even if the "non-ascii names" are taken care off.

I'm not sure if this is the right way to do it, we'd load the room ID which is equivalent to us being JOINed the chatroom, but in reality that only happens once we receive either first ROOMSTATE or a JOIN for our own user.
There are be cases where our JOIN request might get lost (either due to somehow getting rate-limited or whatever) which results in us not being JOINed a chatroom yet we'd have its ID loaded anyway. Not sure if my rambling makes sense but tl;dr this'd not speed up anything and could lead to potential unhandled edge-cases.

I'm not sure what this does, feel free to create a new PR with a bit more information about what this is supposed to do, and how it does it.


Create gRPC infrastructure in Rust

Overview
Create the necessary Rust services and gRPC backbones to handle the associated requests. The actual CRUD methods that are part of each service are tracked in: #10
Tasks

[x] Overall infrastructure / gRPC server
[x] AuthService implementation
[x] CollectionService implementation
[x] ObjectService implementation
[x] ObjectGroupService implementation

Discussions

Fixed in #34


subsys/mgmt/hawkbit: change 'Hawkbit' & 'hawkbit' to 'hawkBit'

Change 'Hawkbit' and 'hawkbit' to 'hawkBit' wherever makes sense.
preview

Thanks @kartben, good catch!

@kartben I also made some changes to the 'frdm_k64f', LMK what you think, thanks


[SPARK-33580][CORE] resolveDependencyPaths should use classifier attribute of artifact

What changes were proposed in this pull request?

This patch proposes to use classifier attribute to construct artifact path instead of type.
Why are the changes needed?

resolveDependencyPaths now takes artifact type to decide to add "-tests" postfix. However, the path pattern of ivy in resolveMavenCoordinates is [organization]_[artifact][revision](-[classifier]).[ext]. We should use classifier instead of type to construct file path.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Unit test. Manual test.

cc @sunchao @HyukjinKwon @dongjoon-hyun

Test build #131893 has started for PR 30524 at commit 788ff08.

Build finished.

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

Test build #131893 has finished for PR 30524 at commit 788ff08.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Build finished.

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

Thank you @sunchao @dongjoon-hyun

Thanks @HyukjinKwon


Updating Shared scope description

@bandersmsft
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Ensure modal scrolling is contained

Make use of the new overscroll-behavior tag to contain the scrolling in the modal itself.
Supported on Chrome 63 and above: https://caniuse.com/#feat=css-overscroll-behavior
More info: https://developers.google.com/web/updates/2017/11/overscroll-behavior#overlay

Client reported some bugs with scrolling on Android devices so thought this would fix it, but i'm unable to replicate the bugs in the first place now on Chrome 64 emulator. Will close this for now and if i have any more info and/or a replication case, will reopen it :)


[Question] Why not official onedrive app from android play store doesnt ask for Apploication Id generated from Azure Portal

Was using official app of onedrive to access onedrive business, and app never ask for application id from azure portal, which is necessary for developer to create and give during login process.
More over on providing email id and password, got logged in successful.
Why it is that the official app doesnt requires application id created from azure portal for login process?

Application IDs identify the application making requests to the service. An app should never prompt the user to enter an application ID, since that's something the developer must take care of. The developer registers their app with Azure Active Directory, gets an application ID, and then uses that to get authentication tokens. The official OneDrive app has it's own application ID that's hard coded in the app, just like 3rd party apps do.

@rgregg Thank for the reply.
I knew that app Id must be hard coded in the app and should never be prompted by the app.
But the application must be created in once azure portal na ( customer )also we must provide the permission to access files etc?
Though we never created any thing for official app on once azure portal, how it is able to access the details and able to login?

The app registration (done by the developer) defines the permissions the app requires. This is true for all apps.
When a user logs into a 3rd party application the user is required to consent to the permissions required by the app. Microsoft applications accessing Microsoft services do not show the consent screen and consent is automatically granted, as the app and service involved are both owned by Microsoft.

@rgregg thank for quick update on this...
The whole point for checking was that we have customer, who want that there employees should not be able to login through official ondrive app or 3rd party apps available at play store.
Can be accessible from only one app that is register on there azure portal.
Is there a way to restrict such cases?


Add a defines.h generator to simplify configuration

This adds a generator in the docs for the defines.h file, to help new users configure their hardware.

Just FYI I also changed all the docs to match the new DEG_ system in this push, as well as a bunch of updates based off documentation (notes on BNO pricing, driver for D1 mini etc.)


Bloodcat no longer works

Bloodcat now requires a captcha before allowing to download.

For the time being ignored since there's no urgent need to add new download mirrors.


Use cross-env for NODE_ENV

Haven't looked through everything yet, but in your scripts your are using
"scripts": {
  "webpack": "webpack --progress --hide-modules",
  "dev": "webpack --watch --progress --hide-modules",
  "hmr": "webpack-dev-server --inline --hot",
  "production": "export NODE_ENV=production && webpack --progress --hide-modules"
}

Where export is not supported in non-UNIX platforms. I suggest pulling in cross-env as additional dev dependency.
This way, I am able to run yarn run production and npm run production on windows.

Alternatively, you could use webpack -p which will automatically set NODE_ENV to production. But that only works when webpack.config is a callback iirc

@QWp6t I thought this wouldnt work because everything is nested in different closures. Did you try that yet?


Kafka Input Plugin: Deleting Known Topic

Version: logstash-6.7.0, kafka 2.2.0
Operating System: CentOS Linux 7
When deleting a topic from Kafka that is known to Logstash, the following errors are thrown:
[2019-04-29T14:53:18,886][WARN ][org.apache.kafka.clients.consumer.internals.Fetcher] [Consumer clientId=logstash-0, groupId=logstash] Received unknown topic or partition error in fetch for partition <TOPIC>
[2019-04-29T14:53:18,890][ERROR][org.apache.kafka.clients.consumer.internals.ConsumerCoordinator] [Consumer clientId=logstash-0, groupId=logstash] Offset commit failed on partition <TOPIC> at offset 1475: This server does not host this topic-partition.

These error messages seem sensible and descriptive.
If the topic no longer exists after being deleted by an outside action, we cannot commit our offset on a partition from that topic that we were previously assigned, which is an error condition. The error clearly states that the server does not host the topic-partition that we were previously assigned.
What are you hoping to accomplish by reporting this? How could the error message (which is propagated from the Kafka client library) be improved?


WebRTC is unable to play video streams in the H.265 format.

Describe the bug
WebRTC is unable to play video streams in the H265 format.
Version
The version of SRS is 6.0.48.
To Reproduce
Steps to reproduce the behavior:

./configure --gb28181=on --h265=on
make
/objs/srs -c conf/push.gb28181.conf

Expected behavior
The Safire browser is capable of playing H.265 format videos.
Screenshots

Additional context
Viewing the printed data in the console, the generated offer in the Safire browser's SDP includes H.265 format within the 'm=video' section. However, after receiving the answer, the selected format is still H.264.
Screenshots

Additional context
Add any other context about the problem here.
TRANS_BY_GPT4

可以看出got answer 对应的接口方法为:/rtc/v1/play，我之前没接触过C++和go语言，在\trunk\3rdparty\srs-bench\srs中的player.go文件是不是对应着/rtc/v1/play的方法，如果是，import中
"github.com/pion/webrtc/v3/pkg/media/h264writer"
"github.com/pion/webrtc/v3/pkg/media/ivfwriter"
"github.com/pion/webrtc/v3/pkg/media/oggwriter"
是不是缺少h265

@cxkjnszstm #4263 is a similar issue, play your whep or rtc-play url with codec parameter.
Here is SRS supported url encoded parameters:
https://github.com/ossrs/srs/blob/741613426251c9988304aa79b255bc3d8511d7a2/trunk/src/app/srs_app_rtc_api.cpp#L142-L150


Bumpversion to 0.4.9-rc1

Codecov Report

Merging #168 (b3209f1) into main (dd99885) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #168   +/-   ##
=======================================
  Coverage   80.38%   80.38%
=======================================
  Files          90       90
  Lines        5673     5673
  Branches      949      949
=======================================
  Hits         4560     4560
  Misses        946      946
  Partials      167      167

Impacted Files
Coverage Δ

orchestrator/__init__.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Setup backend connection to load all products.

Setup Relay to work with Vite.
Add schema to be used by Relay.
Show all products by querying them.
The query result is not well typed but it's just a matter of figuring it out.

I agree. The changes are for one subject but there are too many of them.
I'll keep it small.


Publish/Export via API Layer 2 components

Created by Luis Marin Vera via monday.com integration. 🎉

Layer 2 Topology (label: epic_topo_l2_pub): Publish/Export via API Layer 2 components of network topology. (Yufeng)


Flashing doesn't work on XZ2 Compact with latest commit (3328b0a)

Logs from attempt to flash with latest code:

Repartitioning...
Found partition_delivery.xml in partition folder.
Determining LUN0 size...

LUN0 size = 62480384

Processing partition-image-LUN0_X-FLASH-ALL-B6B5.sin
 - Extracting from partition-image-LUN0_X-FLASH-ALL-B6B5.sin
 - Extracting signature partitionimage_0.cms
 - Uploading signature ./partition/partitionimage_0.cms
      signature:0000053c
      OKAY.
 - Extracting sparse chunk partitionimage_0.000
 - Uploading sparse chunk ./partition/partitionimage_0.000
      download:00006000
      OKAY.
      Repartition:0
 - (ep_in) ERROR: n = -1, errno = 110 (Connection timed out)
 - Error reply: null!
      Error, no Repartition OKAY reply!

 - (ep_out size=12)ERROR: n = -1, errno = 110 (Connection timed out)
Error writing command 'set_active:a'!

End. You can disconnect your device when you close newflasher

I checked out the previous commit, built, and successfully reflashed my XZ2C, so the new timeout seems to be way too low.

Thanks for info! Can you please try with #define USB_TIMEOUT 0

Thanks! Revrted now.


lfs.c:4198:error: Invalid block size (488200 != 488200)

[01:24:45:211] [LFS READ]Block 1, offset 0, size 512␍␊
[01:24:45:211] ./main/bab.data.sqlite3/lfs.c:4198:error: Invalid block size (488200 != 488200)␍␊
[01:24:45:259] ./main/bab.data.sqlite3/lfs.c:5357:trace: lfs_mount -> -22␍␊
[01:24:45:259] mount failed -22␍␊
???

        if (superblock.block_size != lfs->cfg->block_size) {

            LFS_ERROR("Invalid block size (%"PRIu32" != %"PRIu32")",
                    superblock.block_count, lfs->cfg->block_count);
            err = LFS_ERR_INVAL;
            goto cleanup;
        }

if you see this, then you have serious memory leak or something wrong with your memory organization.


[Bug]: LaunchTemplateVersions are being created with zero changes to the actual spec

Is there an existing issue for this?

[X] I have searched the existing issues

Affected Resource(s)

ec2.aws.upbound.io/v1beta1 - LaunchTemplate

Resource MRs required to reproduce the bug
apiVersion: ec2.aws.upbound.io/v1beta1
kind: LaunchTemplate
metadata:
  name: rudimk-sandbox-prometheus-worker-group2024031306373753250000001c
  annotations:
    crossplane.io/external-name: lt-0c6b0d243a829bd82
spec:
  deletionPolicy: Orphan
  forProvider:
    region: us-east-2
  providerConfigRef:
    name: 2591-rudimk-sandbox

Steps to Reproduce

Create a new LaunchTemplate / import an existing one into Crossplane. After doing so, make no changes.
Every 30 odd seconds, note the events being logged in the LaunchTemplate.
Check launch template version history on the AWS console / CLI.

You'll see the versions increment every minute or so.
What happened?
Apparently the provider ends up running a reconciliation loop(I've used Cluster API a lot so pardon the parlance) where it will create a fresh LaunchTemplateVersion even if the original LaunchTemplate on Crossplane hasn't been modified. This is fairly unexpected behaviour, since the whole idea behind versioning is to have some semblance of change across every version. Versions with no changes between them make it a lot more harder to track what actually may have changed. In addition, fairly certain AWS was going to either throw a 429 at some point / blacklist my credentials thinking I'm a malicious actor.
Relevant Error Output Snippet
No errors per se.

Crossplane Version
1.17.1-up.1
Provider Version
1.15.0
Kubernetes Version
1.31
Kubernetes Distribution
Kind
Additional Info
Related issue - #105

Was thinking about this..and I suspect this may be happening because I've only imported a launch template, but I didn't import a corresponding LaunchTemplateVersion, which makes Crossplane go into this loop. Will try bringing in the version into a Managed Resource and see if that fixes this.

Ach couldn't wait to try this. So turns out one can't import the latest version into a MR(no field for that) so I added defaultVersion to the MRs, and imported them. There was a bump of two launch template versions - I'm guessing that's because Crossplane adds template tags? But it's been 5+ mins now and the latest versions on AWS haven't changed beyond the two-version bump so I think this is good! I can always set updateDefaultVersion in the MRs to ensure that if I import launch templates / make changes to MRs, the versioning will stay consistent.
While I'd def like to help document this - I understand every MR has some idiosyncrasy or the other and I'm not sure what that would like. In any case, this bug report - since it's no longer a bug - can be closed.

Actually there is an interesting side effect. To import a launch template and not have the versions go haywire, I need to import the default version in. I'd also like to ensure that if I subsequently make changes to the launch template, the default version's also updated - which is what updateDefaultVersion does. But apparently that clashes with defaultVersion, per https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.15.0/resources/ec2.aws.upbound.io/LaunchTemplate/v1beta1#doc:spec-initProvider-updateDefaultVersion. What would the best way forward be, here?

Sorry for the spam - trying to get to the bottom of this because I wish to import some live production clusters using these launch templates and I'd hate to foul things up. As noted in the previous comment - per the provider docs updateDefaultVersion and defaultVersion don't work together. However - after successfully import the launch template into a managed resource by specifying a defaultVersion, I then edited the managed resource to include the updateDefaultVersion flag(set to true). That triggered another two launch template versions, but luckily no more version bumps after that. The version is now stable - so perhaps this means these two parameters work well together only if one's importing an existing launch template?
Here's the updated ManagedResource for reference:
apiVersion: ec2.aws.upbound.io/v1beta1
kind: LaunchTemplate
metadata:
  name: rudimk-sandbox-worker-group-120240313063737510300000018
  annotations:
    crossplane.io/external-name: lt-014959c347434488e
spec:
  deletionPolicy: Orphan
  forProvider:
    region: us-east-2
    defaultVersion: 842
    updateDefaultVersion: true
  providerConfigRef:
    name: 2591-rudimk-sandbox

To clarify this issue: In my case, the problem stemmed from a mismatch between the default value set by the AWS Launch Template on the cloud provider’s side and the value sent by the AWS Launch Template provider.
Specifically, the iamInstanceProfile.arn attribute was not set—it was effectively Undefined (I’m using KCL for this). Since this attribute is nested in a dictionary, the arn key was skipped entirely. As a result, the value sent to the cloud by the Launch Template provider was an empty dictionary ({}).
It seems that the AWS API replaced this empty dictionary with its own default value, which, importantly, was not an empty dictionary. This discrepancy between the desired state and the actual state on the cloud caused an endless reconcile loop, leading to constant iterations of the Launch Template version.
As soon as I set the entire iamInstanceProfile dictionary to Undefined, the issue was resolved, and everything started working correctly.
Working code snippet:
iamInstanceProfile: oxr.spec.iamInstanceProfile or Undefined

Non-working code snippet:
iamInstanceProfile.arn: oxr.spec.iamInstanceProfile.arn or Undefined


Error when importing solid-js and solid-js/web

This project looks super cool! I was looking at incorporating it into https://playground.solidjs.com, and was running into issues when importing solid-js and solid-js/web together. For example, try these two imports on the demo:
import { render } from "solid-js/web";
import { createSignal } from "solid-js";

Maybe this is because the importer isn't finding the second package.json file at solid-js/web, or is parsing solid-js/web as solid-js but adding it a second time?
Error: ModelService: Cannot add model because it already exists!
    at ModelServiceImpl2._createModelData

If you have any advice about how to work around this (such as disabling imports for the solid-js package and manually adding those in myself), I would love to hear them.

Hi @modderme123!
Hm, interesting problem. From what I can tell after quick inspection, I do think the issue comes from solid-js having two different package.json files as you've said, however monaco-editor-auto-typings always emulates the existence of one top-level package.json file for every package (https://github.com/lukasbach/monaco-editor-auto-typings/blob/master/packages/core/src/ImportResolver.ts#L107).
Maybe its possible to take the original path of the package.json file into consideration. If you want, you can take a PR on this, otherwise I'll see if I find time to solve it.
I can't really think of any easy workarounds. I guess the types you are trying to get from solid-js/web are not exported from solid-js at all, right?

@modderme123
Because it seemed like a solution was not as trivial as I've expected, I've went ahead and implemented a solution myself. monaco-editor-auto-typings should now be able to support packages with nested package.json files as of version 0.0.5, which I've just released. Can you try out the project playground to see if your code produces the expected typings? You might need to clear the declaration cache or your browser cache for it to work. Thanks :)

I setup a local test and it worked! Thanks for figuring this out!

Great, happy to hear! 👍


Route /api/templates returns 404

As the title says. Tested in 0.4.0

This route was removed in April with commit 6fc1bfc074eb03cb5bfe760c55a1d03a5a639065. It has been superseded by /api/config which returns the raw config text. This was all a part of the big rule/config page reworking. Is it still in the docs somewhere?

yes, it is in http://bosun.org/api

This looks to have been done


Really? This is a paid service, just to protect my account with MFA?

I can't believe this is a paid service just to protect my account with MFA and a virtual token... Moving on to another service to investigate.

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

ID: 80005683-d3e5-aab5-2642-677a2ef96203
Version Independent ID: 6abac9a6-5472-62c3-5eae-fa39ecccd12e
Content: Enable Azure Multi-Factor Authentication
Content Source: articles/active-directory/authentication/tutorial-enable-azure-mfa.md
Service: active-directory
Sub-service: authentication
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

Thanks for the ask  . At this time we are reviewing it and we will reply back as soon as we can .

@expresspotato You need Azure AD Premium license to enable Multi-Factor Authentication with Conditional Access.  However, Basic multi-factor authentication features are available to Office 365 and Azure Active Directory (Azure AD) administrators for no extra cost.  Please refer to pricing page and MFA documentation for details.

@expresspotato We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Stream BarcodeCapture

Hello, I'm trying to implement a start / stop function scanning.
When I press the button, it will start scanning, and when it found a barcode, read from it, a modal will popup and scanner will be stopped
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_application/lib.dart';
import 'package:mobile_scanner/mobile_scanner.dart';
class SignUpScanQRPage extends StatefulWidget with WidgetsBindingObserver {
static const String routeName = 'LoginPage';
SignUpScanQRPage({super.key});
@override
State createState() => _SignUpScanQRPageState();
}
class _SignUpScanQRPageState extends State {
StreamSubscription? streamSubscriptionScanner;
final qrScanController = MobileScannerController();
void startListenToScannerCapture() {
streamSubscriptionScanner =
qrScanController.barcodes.listen(scannerlistener);
}
void scannerlistener(BarcodeCapture barcodeCapture) async {
print('START TO RUN');
print(barcodeCapture);
streamSubscriptionScanner?.cancel();
}
@override
Widget build(BuildContext context) {
return BackgroundOverlay(
child: Scaffold(
backgroundColor: Colors.transparent,
body: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
AppConstants.kSpacingItem70,
const Text('A'),
AppConstants.kSpacingItem75,
Expanded(
child: MobileScanner(
placeholderBuilder: (p0, p1) {
return Container(
height: 20,
width: 20,
color: Colors.red,
);
},
overlayBuilder: (context, constraints) {
return Container(
constraints: constraints,
decoration: BoxDecoration(
color: Colors.transparent,
border: Border.all(color: Colors.blue)),
);
},
errorBuilder: (p0, p1, p2) {
return Container();
},
),
),
CommonButton(
btnText: 'Scan',
onPress: () {
startListenToScannerCapture();
},
)
],
),
));
}
}
I dont know why the PRINT won't ever run. Please help me, tks!

What version of mobile_scanner are you using? It seems that the controller is not starting, so the StreamSubscription never gets any events.


console.log("PLAY")

Could you please reomve console which in media-source.js ?

Whoops, sorry about that. Will fix today 😄


Connectivity.IpAddress throwing exception on iOS Release Build

When I try to take  Connectivity.IpAddress property value, It is throwing;
System.Net.Sockets.SocketException: Could not resolve host 'YH's iPhone'
My phone name is YH's iPhone.
If you need anything I can help, please feel free to ask.

Fixed in 4.0.2


Parse_cubes does not account for different frames

Eg. if a geometry is oriented differently in one cube file than another, the algorithm only populates the universe (onebody, etc) with the first cube file.
A check if _gen_one_df returns the same df as the first cube file else create a new frame ought to sort it out.

f8d02eab4d69464e4d65af5a1e64c6349a9e4e7d solves this a bit, although it's called read_cubes and still doesn't handle existing universes


Using Tensorboard behind a reverse proxy

As far as I've understood, the "Launch Tensorboard" command in vs code does nothing more than starting a Tensorboard session and simply opening "localhost:6006" in a new tab. Right?
I don't think you can call this an "integration". It only works fine in a local environment.
This approach means that localhost:6006 of the code-server must be somehow forwarded to localhost:6006 of the client. Which can be worked around for a SSH remote connection but is not as straight forward for other scenarios.
For instance my scenario: A Code-server inside a container in a server behind reverse proxy. Meaning the 8000 port of the container is exposed and redirected to https://mydomain and I use https://mydomain to connect to my Code-server.
In this case localhost:6006 of the container is not forwarded to my machine's localhost:6006 so just opening localhost:6006 does me no good.
I believe the correct way to do this "Tensorboard integration" would be to actually make the VS code session independent from Tensorboard's process. Meaning the code-server must read from localhost:6006 and send what it receives to the opened tab in the VS code GUI, removing the need for client to worry about port forwarding completely.
Also if you don't plan to do this "actual integration", I suggest at least adding more Tensorboard related configurations in the extension settings of VSCode. Such as an option to specify the url to open when Launch Tensorboard is called to override http://localhost:6006. This way I can at least expose localhost:6006 to another domain inside my reverse proxy and tell VS code to open that domain whenever I launch Tensorboard.

Thanks for this feature suggestion, however given the fact that this hasn't recieved any upvotes, I'm closihng this issue


Redesign

Updated the HackPortal to match the HackAI theme

Updated background for the pages
Updated font colors and other UI elements
Added sponsors and FAQs from the backend
Update the homepage with HackAI info and stats
Redirected appropriate links

I think we should revert to a light theme since moving to a dark theme breaks a lot of components (Sign In popup, navbar in mobile view) and also the background image breaking in between components doesn't really look good. We can have a solid light color bg theme and alter in between components like the acm portal.


Bump commit in detached HEAD state not being pushed to master branch

Hey there!
I have this action:
    - id: cz
      name: Create bump and changelog
      if: steps.tag-check.outputs.exists == 'false'
      uses: commitizen-tools/commitizen-action@master
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        push: true
        changelog: true
        commit: true
        branch: master
        no_raise: 21

I was expecting that the branch config would push it into the master branch.
But the commit is in "detached HEAD state", for what I understand.
Can anyone enlighten me?
Thanks!

You'll need to provide the full action. If the pipeline is not running against master it won't work


ci: remove concurrency tag. Merge test projects and use redis locker

Jira: PSGO-528
Changes:

remove concurrency tag from pipeline.
merge $TEST_KBC_$PLATFORM_PROJECTS together into one variable $TEST_KBC_PROJECTS.
move the $TEST_KBC_PROJECTS into github actions repository environment variables.
add envsubst step for substitution of secrets into new $TEST_KBC_PROJECTS variable back.

waiting for https://github.com/keboola/go-utils/pull/33 to be merged and new tag created.


Update about after preset change

it crashes on pressing details

need to check if this error still occurs

Reopen when valid


⚠ Bofrost.be has degraded performance

In 5d10324, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2343 ms

Resolved: Bofrost.be performance has improved in 97d6723 after 7 minutes.


Add nominee: Moja global

Automatic addition of a new nominee submitted through the online form available at https://digitalpublicgoods.net/submission

Digital solutions that are no longer active, or do not provide the required documentation needed for review, will be moved into the archive hence moving Moja global to archives as per the archiving policy. Thanks.


how to backup

Whats the right way to backup aptly?
i didn´t found a how to what is the right way to backup aptly and restore it correctly?
Is it just backing up the aptly folder, aptly.conf and apache conf?
For recover i found https://www.aptly.info/doc/aptly/db/recover/
Thanks for help

First of all, aptly db recover does completely different thing - it tries to recover LevelDB after the crash.
To do proper aptly backup, it's enough to backup aptly root dir (~/.aptly) and config (~/.aptly.conf). Backup tool should be smart enough to detect hardlinks between pool/ and public/ directories contents.

Okay thanks.

sorry to bump a closed bug, but it's related to my problem.
@smira I've made an LVM snapshot of running aptly instance. After that I've discovered that files in db directory are empty (seems, it's an in-memory db and I know nothing about leveldb)
After that there was a power outage and operational instance of aptly was lost.
After rolling that backup I've ended up with consistent pool but completely corrupted database. Any chance to recover from such a situation and any advices concerned LVM snapshots backup strategy, please??

@smira here it is stated that consistent snapshot (using LVM, Btrfs, or other tools) of the data on disk should be a safe backup.
But why it is not the case for aptly?
Also, is it the only way to recover in my case by recreating repos manually and then iteratively calling aptly repo add from my published repos that survived the crash for each aptly repo?

@aol-nnov aptly is using goleveldb which yet another implementation of LevelDB. DB files are written only once, so I have no idea how they ended up being empty. If consistent snapshot is taken, only changes which are not written disk (whatever aptly is working on at the moment) might be lost. Older data should be on disk and should never be affected.
If the DB is lost, unfortunately there's no good way to restore except for trying to re-add the packages back like you described.

Sad, sad news..
Despite I've managed to restore database by re-adding packages, I'm now hesitant about aptly. I'm using it almost two years in our CI pipeline and it's still a bumpy road... gpg woes, corrupted databases, broken links in the internal pool and all other sorts of "joy".
Quite obvious, aptly has nice features like snapshots, publication and such, but yet, it does not "just work". It's been a year since I put aptly into the production pipeline and now I can't, literarly, sleep well because of that...
Btw, is there any way to flush aptly db data on disk before making a snapshot?

I'm running it inside docker container via aptly api serve. Persistent docker volumes are backed by thinly provisioned lvm.
Repos are manipulated via api mainly.

I wonder if that is related to the DB being never closed.
I think aptly api serve -no-lock might be much more crash-resistant

That's right, I'm using it with -no-lock. Sorry, I didn't mention that.


✨(frontend) add a saga to handle timed text tracks languages choices

Purpose
We want to manage language choices in redux store. Once in the store we
can connect every component using them. This will avoid multiple call to
the API for nothing.
Proposal
Description...

[x] create a saga to fetch the API and retrieve language choices.
[x] create a new entry in the redux store with language choices.
[ ] use languages choices in the store on all component using language choices.

@mbenadda this PR is over, you can review it. Thanks


fix: Do not use last in GraphQL Query

This is a version of the GraphQL query which does not use last in the query. I would be great when somebody checks this PR before merging it (after https://github.com/serlo/api.serlo.org/pull/1406 notification mail server would not work again)

I checked and it worked fine


[Storage][File] use sourceConditions field name in public API

for consistency with Blob.
In PR #5672 we adopted the field names conditions and sourceConditions.
This change fixes the only place in File where SourceModifiedAccessConditions
is used in public API to be consistent.

/azp run js - storage-file - tests

/azp run js - storage-file - tests

/azp run js - storage-file - tests

/azp run js - storage - ci


[FEATURE] add caveat for live migration

The problem
Live migration will fail if the VM having any volumes which is CD-ROM type.
The solution
It is expected behavior that CD-ROM volume is read-only, so we should add caveat to let user know the behavior.
(Currently, dashboard will only display live migration failed without any advanced information)
The Alternatives

Add some checker on migrate function to ask user to eject CD-ROM before migration
Improve the error message of live migration

Will need to add the following enhancement:

improve the doc to add the above constraints to https://docs.harvesterhci.io/v1.1/vm/live-migration/#starting-a-migration
add validation to the backend actions where applicable.

@w13915984028 - was this generally already validated with?
https://github.com/harvester/harvester/issues/3429
back in March?

@irishgordo You have validated this feature in https://github.com/harvester/harvester/issues/3429, and https://github.com/harvester/harvester/issues/3600 is for another enhancement.
Could we close this issue ? thanks.

Yes @w13915984028  - that sounds good to me :smile:  :+1:  - as this was validated w/ #3429 back in March - so we can close this out.


Rename extension from suse-jeos to suse-chost

How to categorize this PR?

/area os
/kind cleanup
/priority normal
/os suse-chost
What this PR does / why we need it:
With this pull request we are going to rename the extension from suse-jeos to suse-chost.
Special notes for your reviewer:

❌ Depends on #19

/assign @vpnachev
/invite @vpnachev
Release note:

The SuSE JeOS extension controller has now been renamed to SuSE CHost. Please adapt your `ControllerRegistration` resources accordingly. It is still responsible for both extension types (`suse-chost` and `suse-jeos`, though, `suse-jeos` is deprecated and might be removed in a future version).

The deletion of the old controllerregistration is not allowed as long as there is at least one shoot using it, e.g. there are controllerinstallation resources.
However, if all controllerinstallation resources are deleted, then the controllerregistration can be deleted as well, so please add a release note that all controller installations os-suse-jeos-* must be manually deleted after the new controller registration is created.
Will you also rename the repo  gardener-extension-os-suse-jeos -> gardener-extension-os-suse-chost  ?

Thanks @vpnachev, I've added the release note.
/ready-for-review
Yes, after the PR has been merged I will rename the repository and I will adapt the CI pipeline definition in the refs/meta/ci. This means, however, that this PR won't be able to build the Docker image.

/hold until next release

/unhold
@vpnachev everything okay now?


Is this working on latest Homeassistant?

Is this compatible with latest versions of ha?
as far as I know, python versions used in the latest version did not work with this custom integration…
thanks!!!

It should work - what error message / logs are you getting?

https://community.home-assistant.io/t/dht-sensor-custom-components/390428/24 All this topic is talking about this.


Feature request: Add prefix/suffix to filename with timestamp and/or unique number before moving to archive folder

Add prefix/suffix to filename with human-readable timestamp (datetime.now().strftime("%Y-%m-%d %H:%M:%S")) and/or unique number before moving to archive folder. In my opinion, all files must stay in archive folder without overwriting.
My scanner (HP 426dn) can't generate unique filename with timestamp by himself, and when he scanning to empty folder (/inbox), filename is always myscan0001.pdf, meaning after ocrmypdf-auto proccessing this file and moving it to archive folder, previously scanned file will be overwritten.

This!! in addition to that, it would be great if I could just specify the filename, so my files get names like 2022-11-12_17-22-10.pdf

I kinda made it work by changing the following in ocrmypdf-auto.py:
`
def _map_output_path(self, input_path):
if self.output_mode == AutoOcrScheduler.MIRROR_TREE:
return self.output_dir / (input_path - self.input_dir)
else:
assert self.output_mode == AutoOcrScheduler.SINGLE_FOLDER
output_path = self.output_dir / (input_path.name)
        output_path = self.output_dir / '{}{}'.format(datetime.now().strftime('%Y-%m-%d_%H-%M-%S'),input_path.suffix)
        unique = 1

if output_path.exists() or output_path in self.current_outputs:
suffix = '.{}.{}{}'.format(datetime.now().strftime('%Y%m%d'), unique, output_path.suffix)
output_path = output_path.with_suffix(suffix)
        while output_path.exists() or output_path in self.current_outputs:
            unique = unique + 1
            output_path = self.output_dir / '{}_{}{}'.format(datetime.now().strftime('%Y-%m-%d_%H-%M-%S'), unique,input_path.suffix)

output_path = output_path.with_suffix('.{}{}'.format(unique, output_path.suffix), depth=2)
        return output_path

`
I then mapped it to the container (docker compose):
    volumes:       - "/path/to/modded/file/ocrmypdf-auto_modded.py:/app/ocrmypdf-auto.py"       - "/etc/localtime:/etc/localtime:ro"


ctrl+F5 disables maxAge (cache) in Google Chrome

Whenever I press CTRL+F5 in Chrome the cache/maxAge configuration won't work anymore. I'm always getting a 200 status-code upon the coming requests, where it should be 304.
Any ideas how to fix this? Thank you very much!

Hi! I'm not sure what exactly you mean, especially since the whole point of adding Ctrl to the F5 is literally to ignore all caching.

Alright I didn't know that. Thanks man

No problem :+1:


fields: allow None as a default value so that fields can be nulled

this makes the following import model definition work "as expected" (writing null value if csv import value is empty string):
class import_Retailer( CsvModel ):
	VALID_TO = DateField( null=True, default=None )

(note: I'm sorry, my editor removed those spaces at the line endings on those 2 other lines)
this fixes #18 and maybe also #16

greath, thanks. How can we get a fresh version in pip repository?


create thumbnails for building themes

URL: https://www.redesigner.io/building

Currently building themes are represented by text.
We need to create images to represent each theme.

[ ] pick image of a house from unsplash. Make sure the image is free for use by choosing free license filter
[ ] use our app to redesign the same house in all different themes.
[ ] check if result is clean. If not, try another image from unsplash
[ ] name all images in the format ${building}-${theme}.jpg ex: house-rustic.jpg, house-minimalist.jpg and so on
[ ] And then use some image editing tool to resize al images to 100 x 100 size and then upload them to /public folder

I would like to do this!


Notice font size

The notice accordion looks a bit awkward.
Making the font smaller and maybe darker could be an improvement.
It's also not that clear that you can close it again by clicking the question mark again. Maybe styling it more button-like could help.

On desktop, also changing the cursor to a pointer like for a button could help.


Don't block the editor when rerendering

Somehow this works much better in obsidian. In VSCode when the preview updates I can't type anything in the editor which is quite frustrating, couldn't the compilation happen asynchronously, either cancellable when the user starts typing again or work on a copy of the file at the time of generating the preview?

I can't reproduce this, and the process is asynchronous.  If you want to delay the automatic update, you can change the option:
D2.updateTimer to a larger value.  Or turn off automatic updates with option: D2.autoUpdate.


Enabling caching in development, and discard on each request.

This is the same strategy as followed by ActionView.
Closes: #345
Summary
ViewComponent will on development never cache templates, and thus they are always recompiled. If a given component is rendered in a loop (imagine a component that is rendered on a table), the recompile time starts to add up.
OTOH, ActionView caches, but when ActionView::Resolver.caching? is false, it registers a callback to clear the cache on each request:
https://github.com/rails/rails/blob/3cd1b19ff2e49642191c598d620b87ffe5ec6cda/actionview/lib/action_view/railtie.rb#L96-L99
Thus, the optimal solution would be to do something similar: invalidate the cache on each request.
Other Information

I'm creating as draft because:

~I have yet to test this.~
There is a test failure:

Failure:
ViewComponentTest#test_compiles_unreferenced_component [test/view_component/view_component_test.rb:387]:
Failed assertion, no message given.

I'm not sure why it would be expected that an unreferenced component is compiled

I have tested this code:
  <% Rack::MiniProfiler.step('component') do %>
  <% 10000.times do %>
    <%= render SpecialInput::CheckboxComponent.new(form: f, name: 'test', title: 'asdf') %>
    <br/>
  <% end %>
  <% end %>

Before this change:

7.6 seconds in rendering 10_000 components.
After:

0.6 seconds rendering the same 10_000 components.
Content does change after a change in the template

All done!
I had to configure cache_template_loading in the test app config though for this to work.

test_compiles_unrendered_component is failing on CI but I can't reproduce locally. How can I test the exact rails version?

@fsateler if you prefix your commands with RAILS_VERSION=5.2.3  you should be able to reproduce the issue.
https://github.com/github/view_component/blob/2c8f4f83a8ef8ca5f172090d36efbd8e6e0bbd54/Gemfile#L6

Weird. I still can't reproduce this locally.  What other difference could there be between CI and a local clone?

@fsateler nice work with this! I was only thinking the other day this patch would be helpful for development performance..
FWIW I think the test failures are a test run ordering issue, if IntegrationTest is run before ViewComponentTest it will have invalidated the cache which will lead to.
I'd think we should be running tests with config.action_view.cache_template_loading = true so we're testing with a more production-like setup - but then your integration spec testing the reload behaviour will need to change https://github.com/github/view_component/pull/372/files#diff-008155519288d348c3cc3bbfba09ea30R41-R55

@simonrand good catch!
I don't think that works though, since independent of how I invalidate the cache, should IntegrationTest run before, ViewComponentTest will fail. More changes are needed. I made the cache module property writable so we can swap it and not alter the global state.


Kernel died

import torch
from one_peace.models import from_pretrained
device = "cuda" if torch.cuda.is_available() else "cpu"
model = from_pretrained("ONE-PEACE", device=device, dtype="float32")
when i try to load model my kernel died can you tell me the specification of device like memory requirements, gpu memory allocation etc?

We only tested on a 40GB A100. You can try setting dtype='float16'.

Hi can you tell me how you use the multi modality to retrieve the data ex:-
text+image to image?? It will be very helpful for me??
Thanks
Aakash
On Mon, 8 Jan 2024, 12:53 Wang Peng, @.***> wrote:

We only tested on a 40GB A100. You can try setting dtype='float16'.
—
Reply to this email directly, view it on GitHub
https://github.com/OFA-Sys/ONE-PEACE/issues/46#issuecomment-1880492972,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUXQ2ET3GN2CUTGH64MCNBDYNONI5AVCNFSM6AAAAABBJVZLI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBQGQ4TEOJXGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Like i want to know how we combine multiple embedding to retrieve the image
data
On Mon, 15 Jan 2024, 17:28 aakash panda, @.***> wrote:

Hi can you tell me how you use the multi modality to retrieve the data
ex:- text+image to image?? It will be very helpful for me??
Thanks
Aakash
On Mon, 8 Jan 2024, 12:53 Wang Peng, @.***> wrote:

We only tested on a 40GB A100. You can try setting dtype='float16'.
—
Reply to this email directly, view it on GitHub
https://github.com/OFA-Sys/ONE-PEACE/issues/46#issuecomment-1880492972,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUXQ2ET3GN2CUTGH64MCNBDYNONI5AVCNFSM6AAAAABBJVZLI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBQGQ4TEOJXGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

@apking2000 For guidance on implementing text+image to image retrieval, you can refer to multi-modal-embedding. To accomplish this, simply calculate the mean of text_features and image_features, and then employ the combined features to retrieve images.


chore doc(ExpectAPI)- Added line about accepted iterables.

going through https://github.com/facebook/jest/blob/e0b33b74b5afd738edc183858b5c34053cfc26dd/packages/expect/src/matchers.ts#L454
this can be a good info to add for docs

𝐎𝐤𝐞𝐲
On Mon, Feb 14, 2022, 3:09 AM BIKI DAS @.***> wrote:

@SimenB https://github.com/SimenB what do you think , this can be a
good add?
—
Reply to this email directly, view it on GitHub
https://github.com/facebook/jest/pull/12352#issuecomment-1038357204, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AXNZNGXPSTWGBEBDAB3YCU3U276VZANCNFSM5N73OM7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Allow passing different arguments to different postprocessors

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] Searched the bugtracker for similar pull requests
[x] Read adding new extractor tutorial
[x] Read youtube-dl coding conventions and adjusted the code to meet them
[ ] Covered the code with tests (note that PRs without tests will be REJECTED)
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Allow passing different arguments to different postprocessors like this:
--postprocessor-args "VideoConvertor:-c:v h264_nvenc -preset slow" --postprocessor-args "Metadata:-dn"

For backward compatibility, --postprocessor-args <args> is equivalent to:
--post-processor-args "default:<args>"

This is a stripped down version of the full patch in hopes that keeping the code to the bare minimum would allow this to be merged quicker
Closes https://github.com/ytdl-org/youtube-dl/issues/27593

It's also could be beneficial to have common args for each post-processor entry in postprocessors list for providing arguments programmatically for post-processors known beforehand right away without bothering with postprocessor_args.

@dstftw I assume you are talking about API access. In that case, it would be beyond the scope of this PR

It's also could be beneficial to have common args for each post-processor entry in postprocessors list for providing arguments programmatically for post-processors known beforehand right away without bothering with postprocessor_args.

@dstftw I assume you are talking about API access. In that case, it would be beyond the scope of this PR

i think that instead of passing argument to all post-processors should no longer be encouraged(with the default prefix), instead there should be a prefix for every supported program(ffmpeg, AtomicParsley, etc...) that will pass arguments to all post-processors using the same program.

i think that instead of passing argument to all post-processors should no longer be encouraged(with the default prefix), instead there should be a prefix for every supported program(ffmpeg, AtomicParsley, etc...) that will pass arguments to all post-processors using the same program.

One may need to pass different args to different post-processors based on the same program.

One may need to pass different args to different post-processors based on the same program.

just to clarify my requested change, instead of introducing and encouraging users to use default prefix, i think it would be better to have ffmpeg, AtomicParsley, etc... prefixes.
it's only about the default prefix, it's not related to the invidual post-processor prefixes FFmpegExtractAudio, EmbedThumbnail, etc...

just to clarify my requested change, instead of introducing and encouraging users to use default prefix, i think it would be better to have ffmpeg, AtomicParsley, etc... prefixes.
it's only about the default prefix, it's not related to the invidual post-processor prefixes FFmpegExtractAudio, EmbedThumbnail, etc...

Suggesting using ffmpeg prefix will have the same effect of argument clashes as we have now with applying args to every post-processor so I don't think it's a good idea. As for default, I agree that it should not be mentioned.

Suggesting using ffmpeg prefix will have the same effect of argument clashes as we have now with applying args to every post-processor so I don't think it's a good idea. As for default, I agree that it should not be mentioned.

Suggesting using ffmpeg prefix will have the same effect of argument clashes as we have now with applying args to every post-processor so I don't think it's a good idea.

this happened when there wasn't another way to specify arguments for a specific post-processor, so when both posibilities are available the user should:

use general program prefix(ex: ffmpeg) when he intends to pass a specific parameter to all program invocation(ex: global options such as --log-level, -y, -n, ...) or when the post-processor is using multiple programs.
use specifc post-processor when he want to pass the arguments only to a specific post-processor.

while the default prefix is more prone to causing problems(sending arguments to different programs will cause some of them to fail).

Suggesting using ffmpeg prefix will have the same effect of argument clashes as we have now with applying args to every post-processor so I don't think it's a good idea.

this happened when there wasn't another way to specify arguments for a specific post-processor, so when both posibilities are available the user should:

use general program prefix(ex: ffmpeg) when he intends to pass a specific parameter to all program invocation(ex: global options such as --log-level, -y, -n, ...) or when the post-processor is using multiple programs.
use specifc post-processor when he want to pass the arguments only to a specific post-processor.

while the default prefix is more prone to causing problems(sending arguments to different programs will cause some of them to fail).

@remitamine I get your point and I have an idea how to implement this. But first we need to decide what should happen if the user passes both a ffmpeg and an FFmpegExtractAudio, for example. Should both set of options be used? or only ine should be prefered.

while the default prefix is more prone to causing problems(sending arguments to different programs will cause some of them to fail).

True, but sending the args to all PP is the current behaviour. So we must maintain an option to still do it. We could maybe discourage the user from using default by either:

Providing a warning when default is used
Leaving the default option undocumented
Removing the default prefix. Note that the default args can still be set by using the older --postprocessor-args ARGS syntax

@remitamine I get your point and I have an idea how to implement this. But first we need to decide what should happen if the user passes both a ffmpeg and an FFmpegExtractAudio, for example. Should both set of options be used? or only ine should be prefered.

while the default prefix is more prone to causing problems(sending arguments to different programs will cause some of them to fail).

True, but sending the args to all PP is the current behaviour. So we must maintain an option to still do it. We could maybe discourage the user from using default by either:

Providing a warning when default is used
Leaving the default option undocumented
Removing the default prefix. Note that the default args can still be set by using the older --postprocessor-args ARGS syntax

@remitamine I get your point and I have an idea how to implement this. But first we need to decide what should happen if the user passes both a ffmpeg and an FFmpegExtractAudio, for example. Should both set of options be used? or only ine should be prefered.

if it's going to be added, i think both arguments should be used, if a user uses both the EmbedThumbnail and ffmpeg prefix then both arguments should be passed to the ffmpeg command.
anyway, adding the program suffixes is just a suggestion.

while the default prefix is more prone to causing problems(sending arguments to different programs will cause some of them to fail).

True, but sending the args to all PP is the current behaviour. So we must maintain an option to still do it. We could maybe discourage the user from using default by either:
1. Providing a warning when default is used

2. Leaving the default option undocumented

3. Removing the default prefix. Note that the default args can still be set by using the older `--postprocessor-args ARGS` syntax

imo, a simple warning is sufficient. But I will go with you guys' decision

passing arguments to all post-processor is still allowed by not using any prefix and it will be kept only for backward compatibility(ex: users already having the option in their config file).
so i think option 3 would be best way, for future use the user will be encouraged to only use the specific prefixes and there won't be a default prefix to be used only the old way without specifiying a prefix(a warning here that this usage is deprecated and might be removed in the future can be usefull).

@remitamine I get your point and I have an idea how to implement this. But first we need to decide what should happen if the user passes both a ffmpeg and an FFmpegExtractAudio, for example. Should both set of options be used? or only ine should be prefered.

if it's going to be added, i think both arguments should be used, if a user uses both the EmbedThumbnail and ffmpeg prefix then both arguments should be passed to the ffmpeg command.
anyway, adding the program suffixes is just a suggestion.

while the default prefix is more prone to causing problems(sending arguments to different programs will cause some of them to fail).

True, but sending the args to all PP is the current behaviour. So we must maintain an option to still do it. We could maybe discourage the user from using default by either:
1. Providing a warning when default is used

2. Leaving the default option undocumented

3. Removing the default prefix. Note that the default args can still be set by using the older `--postprocessor-args ARGS` syntax

imo, a simple warning is sufficient. But I will go with you guys' decision

passing arguments to all post-processor is still allowed by not using any prefix and it will be kept only for backward compatibility(ex: users already having the option in their config file).
so i think option 3 would be best way, for future use the user will be encouraged to only use the specific prefixes and there won't be a default prefix to be used only the old way without specifiying a prefix(a warning here that this usage is deprecated and might be removed in the future can be usefull).

@remitamine I will implement your suggestions tonight and let you know

@remitamine I will implement your suggestions tonight and let you know

I added the ability to use general program prefix like ffmpeg.
Additionally, you can also give the arguments much more specifically by using <PP>+<exe>:<args>. For example, you can give FFmpegExtractAudio+FFmpeg: and FFmpegExtractAudio+FFprobe: seperately. Suggestions are welcome for a different syntax to do this.
I have not yet updated the documentation to reflect these changes. Honestly, I am not entirely sure how to explain the feature in a simple way. Please give me suggestions if you have any
Also, I noticed that EmbedThumbnailPP (when using AtomicParsley), MetadataFromTitlePP and XAttrMetadataPP currently ignore --postprocessor-args.

I have added support for AtomicParsley
MetadataFromTitle does not invoke any external application, so the option does not make sense for it
I dont understand XAttrMetadata enough to add support.

I added the ability to use general program prefix like ffmpeg.
Additionally, you can also give the arguments much more specifically by using <PP>+<exe>:<args>. For example, you can give FFmpegExtractAudio+FFmpeg: and FFmpegExtractAudio+FFprobe: seperately. Suggestions are welcome for a different syntax to do this.
I have not yet updated the documentation to reflect these changes. Honestly, I am not entirely sure how to explain the feature in a simple way. Please give me suggestions if you have any
Also, I noticed that EmbedThumbnailPP (when using AtomicParsley), MetadataFromTitlePP and XAttrMetadataPP currently ignore --postprocessor-args.

I have added support for AtomicParsley
MetadataFromTitle does not invoke any external application, so the option does not make sense for it
I dont understand XAttrMetadata enough to add support.

as it now allowed to use the --postprocessor-args option multiple times, it would be better to see how to handle:

the same option(--postprocessor-args) repeated multiple times with

the same prefix but with diffirent arguments(ex: EmbedThumbnail used multiple times)
with mutiple prefix levels(ex: prefix-less arguments with specfic arguments in the same command)

multiple options passed to the post-processor programs(same option passed multiple times to ffmpeg or AtomicParsly with different values).

as it now allowed to use the --postprocessor-args option multiple times, it would be better to see how to handle:

the same option(--postprocessor-args) repeated multiple times with

the same prefix but with diffirent arguments(ex: EmbedThumbnail used multiple times)
with mutiple prefix levels(ex: prefix-less arguments with specfic arguments in the same command)

multiple options passed to the post-processor programs(same option passed multiple times to ffmpeg or AtomicParsly with different values).

the same prefix but with diffirent arguments(ex: EmbedThumbnail used multiple times)

The same way all switches are handled. The latter arguments override the former

multiple options passed to the post-processor programs(same option passed multiple times to ffmpeg or AtomicParsly with different values).

If you pass it with a single switch, it is passed as-is. If you pass it seperately, the latter takes priority. For example,
--post-processor-args "ffmpeg:-map 0 -map 1" = '-map 0 -map 1
--post-processor-args "ffmpeg:-map 0" --post-processor-args  "ffmpeg:-map 1" = '-map 1
This is consistent with how other options work.

with mutiple prefix levels(ex: prefix-less arguments with specfic arguments in the same command)

I don't understand what you mean. Could you provide example?

the same prefix but with diffirent arguments(ex: EmbedThumbnail used multiple times)

The same way all switches are handled. The latter arguments override the former

multiple options passed to the post-processor programs(same option passed multiple times to ffmpeg or AtomicParsly with different values).

If you pass it with a single switch, it is passed as-is. If you pass it seperately, the latter takes priority. For example,
--post-processor-args "ffmpeg:-map 0 -map 1" = '-map 0 -map 1
--post-processor-args "ffmpeg:-map 0" --post-processor-args  "ffmpeg:-map 1" = '-map 1
This is consistent with how other options work.

with mutiple prefix levels(ex: prefix-less arguments with specfic arguments in the same command)

I don't understand what you mean. Could you provide example?

I don't understand what you mean. Could you provide example?

--post-processor-args "ffmpeg:-map 0" --post-processor-args "-map 1"

I don't understand what you mean. Could you provide example?

--post-processor-args "ffmpeg:-map 0" --post-processor-args "-map 1"

--post-processor-args "ffmpeg:-map 0" --post-processor-args "-map 1"

hm.. I looked through the code again and this case is not properly handled. I will make a commit to fix it.
Here's how I think this should work: (--ppa = --postprocessor-args - I dont wanna type it every time)
Eg: --ppa "EmbedThumbnail: et_args" --ppa "ffmpeg: ff_args" --ppa "EmbedThumbnail+ffprobe: probe_args --ppa "def_args"
should result in:

ffprobe in EmbedThumbnail gets probe_args
ffmpeg in EmbedThumbnail gets et_args + ff_args
Atomicparsley in Embedthumbnail gets et_args
All other ffmpeg gets ff_args
Any other PP gets def_args

Let me know if this a reasonable approach or changes need to be made

--post-processor-args "ffmpeg:-map 0" --post-processor-args "-map 1"

hm.. I looked through the code again and this case is not properly handled. I will make a commit to fix it.
Here's how I think this should work: (--ppa = --postprocessor-args - I dont wanna type it every time)
Eg: --ppa "EmbedThumbnail: et_args" --ppa "ffmpeg: ff_args" --ppa "EmbedThumbnail+ffprobe: probe_args --ppa "def_args"
should result in:

ffprobe in EmbedThumbnail gets probe_args
ffmpeg in EmbedThumbnail gets et_args + ff_args
Atomicparsley in Embedthumbnail gets et_args
All other ffmpeg gets ff_args
Any other PP gets def_args

Let me know if this a reasonable approach or changes need to be made

Any other PP gets def_args

i think to preserve the current behaviour, the arguments would be passed to all PPs including the ones that are using specific prefixes.

Any other PP gets def_args

i think to preserve the current behaviour, the arguments would be passed to all PPs including the ones that are using specific prefixes.

i think to preserve the current behaviour, the arguments would be passed to all PPs including the ones that are using specific prefixes.

I don't think it should work like that. It shouldn't be a issue that the new syntax, when used, is overriding the old one. Also, this allows passing args easily to all PP except a specific one. Eg: --ppa "def_args" --ppa "ffprobe:"

i think to preserve the current behaviour, the arguments would be passed to all PPs including the ones that are using specific prefixes.

I don't think it should work like that. It shouldn't be a issue that the new syntax, when used, is overriding the old one. Also, this allows passing args easily to all PP except a specific one. Eg: --ppa "def_args" --ppa "ffprobe:"

i think to preserve the current behaviour, the arguments would be passed to all PPs including the ones that are using specific prefixes.

I don't think it should work like that. It shouldn't be a issue that the new syntax, when used, is overriding the old one. Also, this allows passing args easily to all PP except a specific one. Eg: --ppa "def_args" --ppa "ffprobe:"

this inconsitent with the behaviour that you've described in you're example:

ffmpeg in EmbedThumbnail gets et_args + ff_args

where the ffmpeg command will combine the program specific args and the PP specific args, while in the example i described the options are not combined.

i think to preserve the current behaviour, the arguments would be passed to all PPs including the ones that are using specific prefixes.

I don't think it should work like that. It shouldn't be a issue that the new syntax, when used, is overriding the old one. Also, this allows passing args easily to all PP except a specific one. Eg: --ppa "def_args" --ppa "ffprobe:"

this inconsitent with the behaviour that you've described in you're example:

ffmpeg in EmbedThumbnail gets et_args + ff_args

where the ffmpeg command will combine the program specific args and the PP specific args, while in the example i described the options are not combined.

--post-processor-args "ffmpeg:-map 0" --post-processor-args "-map 1"
while in the example i described the options are not combined.

There is no PP specific args given in this

this inconsitent with the behaviour that you've described in you're example:

No, it is exactly how I specified it

--ppa "EmbedThumbnail: et_args" --ppa "ffmpeg: ff_args" --ppa "EmbedThumbnail+ffprobe: probe_args" --ppa "def_args"
ffprobe in EmbedThumbnail gets probe_args
ffmpeg in EmbedThumbnail gets et_args + ff_args
Atomicparsley in Embedthumbnail gets et_args
All other ffmpeg gets ff_args
Any other PP gets def_args

If PP+exe args is specifically given, only it used.
Otherwise, PP and exe args are combined.
If none of the PP, exe or PP+exe are given, the default is used
Please explain what you find inconsistent with it

--post-processor-args "ffmpeg:-map 0" --post-processor-args "-map 1"
while in the example i described the options are not combined.

There is no PP specific args given in this

this inconsitent with the behaviour that you've described in you're example:

No, it is exactly how I specified it

--ppa "EmbedThumbnail: et_args" --ppa "ffmpeg: ff_args" --ppa "EmbedThumbnail+ffprobe: probe_args" --ppa "def_args"
ffprobe in EmbedThumbnail gets probe_args
ffmpeg in EmbedThumbnail gets et_args + ff_args
Atomicparsley in Embedthumbnail gets et_args
All other ffmpeg gets ff_args
Any other PP gets def_args

If PP+exe args is specifically given, only it used.
Otherwise, PP and exe args are combined.
If none of the PP, exe or PP+exe are given, the default is used
Please explain what you find inconsistent with it

as i think of the prefixes, i think of them as classes from the most specfic to the more generic:

PP+exe
PP
exe
``(prefixless)
but i think you're considiring PP and exe in the same level.
in the way you're classifying the behviour would be consitent(but not backward compatible), but not in the way that i'm classifying the prefixes.
so it would come to:
what classification is more correct.
what behaviour would be better(overiding the generic args with the more specific or combine them) or to allow both of them.

as i think of the prefixes, i think of them as classes from the most specfic to the more generic:

PP+exe
PP
exe
``(prefixless)
but i think you're considiring PP and exe in the same level.
in the way you're classifying the behviour would be consitent(but not backward compatible), but not in the way that i'm classifying the prefixes.
so it would come to:
what classification is more correct.
what behaviour would be better(overiding the generic args with the more specific or combine them) or to allow both of them.

but i think you're considering PP and exe in the same level.

Yes, there is no reasonable way to say which of PP/exe is more specific. AtomicParsley is more specific than EmbedThumbnail which in turn (arguably) has more specificity than ffmpeg. So considering them to be at the same level and combining them makes sense imo.
First I also thought of simply combining all the args. This is also the easiest to code. But it would make it very difficult for the user to override previous args.

Also, this allows passing args easily to all PP except a specific one. Eg: --ppa "def_args" --ppa "ffprobe:"

If you still think that is the way to go, I can modify the code to be so.

but i think you're considering PP and exe in the same level.

Yes, there is no reasonable way to say which of PP/exe is more specific. AtomicParsley is more specific than EmbedThumbnail which in turn (arguably) has more specificity than ffmpeg. So considering them to be at the same level and combining them makes sense imo.
First I also thought of simply combining all the args. This is also the easiest to code. But it would make it very difficult for the user to override previous args.

Also, this allows passing args easily to all PP except a specific one. Eg: --ppa "def_args" --ppa "ffprobe:"

If you still think that is the way to go, I can modify the code to be so.

Yes, there is no reasonable way to say which of PP/exe is more specific. AtomicParsley is more specific than EmbedThumbnail which in turn (arguably) has more specificity than ffmpeg. So considering them to be at the same level and combining them makes sense imo.

a program is not bound to only a specific PP, there nothing that prevents AtomicParsley from been used in another PP, so that's why i think the program prefix is more generic than PP prefix, while in the case of a PP using multiple programs, it is more specific then PP prefix and it's covered by PP+exe prefix.

Yes, there is no reasonable way to say which of PP/exe is more specific. AtomicParsley is more specific than EmbedThumbnail which in turn (arguably) has more specificity than ffmpeg. So considering them to be at the same level and combining them makes sense imo.

a program is not bound to only a specific PP, there nothing that prevents AtomicParsley from been used in another PP, so that's why i think the program prefix is more generic than PP prefix, while in the case of a PP using multiple programs, it is more specific then PP prefix and it's covered by PP+exe prefix.

a program is not bound to only a specific PP

I could argue the same in reverse. But that is beside the point. Honestly, what we are discussing is simply convention and I don't have any strong preference either way. As one of the core maintainers of this project, it is up to you to decide how it should behave. Any of the behaviors we discussed are easy to implement and not too different in usage. We simply need to decide on a convention.
Maybe discuss with @dstftw and finalize how the behaviour should be, I and I will make it so.

a program is not bound to only a specific PP

I could argue the same in reverse. But that is beside the point. Honestly, what we are discussing is simply convention and I don't have any strong preference either way. As one of the core maintainers of this project, it is up to you to decide how it should behave. Any of the behaviors we discussed are easy to implement and not too different in usage. We simply need to decide on a convention.
Maybe discuss with @dstftw and finalize how the behaviour should be, I and I will make it so.

I could argue the same in reverse. But that is beside the point. Honestly, what we are discussing is simply convention and I don't have any strong preference either way. As one of the core maintainers of this project, it is up to you to decide how it should behave. Any of the behaviors we discussed are easy to implement and not too different in usage. We simply need to decide on a convention.

as i'm not the one who started the review process, i'm not even trying to make a full review here(otherwise i would'nt use just comments and would've used the GitHub requested changes process), again, what i have provided untill now are just suggestions, there where some points that i wanted to be taken into considiration.
i think it's better to think about good design(by discussing) that wouldn't just work now, but try to cover future uses as well, generally when things are rushed anddo whatever that would work just now, it would bring more problems in the future.
anyway, i think the points that i wanted to raise can be found in my previous comments.

I could argue the same in reverse. But that is beside the point. Honestly, what we are discussing is simply convention and I don't have any strong preference either way. As one of the core maintainers of this project, it is up to you to decide how it should behave. Any of the behaviors we discussed are easy to implement and not too different in usage. We simply need to decide on a convention.

as i'm not the one who started the review process, i'm not even trying to make a full review here(otherwise i would'nt use just comments and would've used the GitHub requested changes process), again, what i have provided untill now are just suggestions, there where some points that i wanted to be taken into considiration.
i think it's better to think about good design(by discussing) that wouldn't just work now, but try to cover future uses as well, generally when things are rushed anddo whatever that would work just now, it would bring more problems in the future.
anyway, i think the points that i wanted to raise can be found in my previous comments.


Helper text in textformfield is not wrapped.

See image below.

To reproduce
TextFormField(
      decoration: InputDecoration(
        labelText: 'Name',
        helperText: 'Very very very long text. Very very very long text. Very very very long text. Very very very long text',
        border: OutlineInputBorder(),
        enabledBorder: OutlineInputBorder(
          borderSide: BorderSide(color: Colors.grey, width: 0),
        ),
        focusedBorder: OutlineInputBorder(
          borderSide: BorderSide(color: Theme.of(context).primaryColor, width: 1),
        ),
        contentPadding: EdgeInsets.all(14),
      ),

I saw that there's an errorMaxLines parameter but no helperMaxLines. At least, it should use the same value as in errorMaxLines if it is set.


Can anyone give a full example about how to create,access and modify a typical xmind file?

Can anyone give a full example about how to create,access and modify a typical xmind file?  just like the examples in https://pypi.python.org/pypi/mekk.xmind/0.5.0. or  http://bitbucket.org/Mekk/mekk.xmind/

hello,
could you add to the example a way to remove an existing topic within the xmind file?
thanks,

I just tried and failed. There is a removeChild method in xmind/core/__init__.py but each time I try to use it, xml.dom.NotFoundErr is raised. Good luck, keep us posted if you find a solution.

yes, I tried that one too, with same result...
I have also tried with the removePosition() function of the topic element, but that does not work either

Oh, ok. With 67 forks at the moment, maybe someone managed to solve this problem. But that may be painful to look for it.