text:
Fix RangeSlider semantics node size

part of https://github.com/flutter/flutter/issues/114225
Description
This PR fixes semantics node size for RangeSlider
Current behavior simply divides the node size in half.  This doesn't match when testing on Android.
Android

Left
Right

Flutter

Before
After

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Does this all work correctly if the text direction is RTL? I expect that there should be a RTL version of the test.

Does this all work correctly if the text direction is RTL? I expect that there should be a RTL version of the test.

Sure, we can add a semantics test for RTL
However, it looks like there is a bug in matchSemantics. Even if I match all everything, it fails in RTL in the last node.
I will look into it further in an isolated test.
Semantics debug tree
SemanticsNode#5
 │ Rect.fromLTRB(0.0, 0.0, 800.0, 600.0)
 │ flags: scopesRoute
 │
 └─SemanticsNode#6
   │ Rect.fromLTRB(0.0, 0.0, 800.0, 600.0)
   │
   ├─SemanticsNode#1
   │   Rect.fromLTRB(526.4, 276.0, 574.4, 324.0)
   │   actions: decrease, increase
   │   flags: hasEnabledState, isEnabled, isSlider
   │   value: "10%"
   │   increasedValue: "15%"
   │   decreasedValue: "5%"
   │   textDirection: rtl
   │
   └─SemanticsNode#2
       Rect.fromLTRB(676.8, 276.0, 724.8, 324.0)
       actions: decrease, increase
       flags: hasEnabledState, isEnabled, isSlider
       value: "30%"
       increasedValue: "35%"
       decreasedValue: "25%"
       textDirection: rtl

test:
              matchesSemantics(
                isEnabled: true,
                isSlider: true,
                hasEnabledState: true,
                hasIncreaseAction: true,
                hasDecreaseAction: true,
                value: '10%',
                increasedValue: '15%',
                decreasedValue: '5%',
                rect: const Rect.fromLTRB(526.4, 276.0, 574.4, 324.0),
              ),
              matchesSemantics(
                isEnabled: true,
                isSlider: true,
                hasEnabledState: true,
                hasIncreaseAction: true,
                hasDecreaseAction: true,
                value: '30%',
                increasedValue: '35%',
                decreasedValue: '25%',
                rect: const Rect.fromLTRB(676.8, 276.0, 724.8, 324.0),
              ),

Result:
 Actual: SemanticsNode:<SemanticsNode#5(Rect.fromLTRB(0.0, 0.0, 800.0, 600.0), flags:
[scopesRoute])>
   Which: rect was: Rect.fromLTRB(676.8, 276.0, 724.8, 324.0)

it looks like there is a bug in matchSemantics

Is there a bug filed for this? @chunhtai can you take a look and confirm?

I've investigate the problem, filed an issue https://github.com/flutter/flutter/issues/115079
Also fixed the tests here.

authors: HansMuller Piinks TahaTesser


text:
TextFormField magnifierConfiguration

TextFormField had no magnifierConfiguration parameter, even though TextField does.  This PR adds it.
Closes https://github.com/flutter/flutter/issues/118029

Not sure why Google testing has been stuck for days, pushing a merge commit to try to fix it.

source: gharchive/pull-request

repo: flutter/flutter

license_type: permissive

license_source: github-api


text:
Redesign Semantic Tree Compilation Algorithm

removes the second pass
allows a parent to take annotations from multiple children (required for multiple text nodes to be merged)
nodes can require that their children cannot annotate them at all (explicitChildNodes)
RenderObjects describe what they want to add to the semantics tree in a SemanticsConfiguration object
do not generate semantics update if nothing has changed (even after calls to markNeedsSemanticsUpdate)
fix a bug where clips were not applied past semantic boundaries during updates
simplifications: remove unused logic, etc.
some more tests

authors: Hixie goderbauer


text:
Roll Flutter Engine from d00fabf0b919 to 933a176a830e (1 revision)

https://github.com/flutter/engine/compare/d00fabf0b919...933a176a830e
2023-10-12 skia-flutter-autoroll@skia.org Roll Skia from ff3c2e3d45bd to 9f5080c58aac (1 revision) (flutter/engine#46809)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


text:
Implement SelectionArea triple click gestures

This change adds support for triple click to select a paragraph at the clicked position and triple click + drag to extend the selection paragraph-by-paragraph when using the SelectionArea widget.
This PR also:

Makes Text widgets a SelectionContainer if a parent SelectionRegistrar exists.
Fixes issues with selectable ordering involving WidgetSpans.

Fixes: https://github.com/flutter/flutter/issues/104552
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
[ ] All existing and new tests are passing.

I just tried doing some QA work here. This one seems to be a bug:
Screencast from 2024-03-05 13-24-04.webm

Code
const SelectionArea(
  child: Text.rich(
    WidgetSpan(
      child: Column(
        children: <Widget>[
          Text('I am a Text widget.'),
          Text('I am a Text widget.'),
          Text('I am a Text widget.'),
          Text('I am a Text widget.'),
          Text('I am a Text widget.'),
          Text('I am a Text widget.'),
          Text('I am a Text widget.'),
          Text('I am a Text widget.'),
        ],
      ),
    ),
  ),
),

And this one is a subtle difference between the native behavior on Linux as an FYI, but I think it's probably not worth fixing. It looks like this PR behaves correctly like Mac does natively, and that behavior seems more intuitive to me IMO.
Screencast from 2024-03-05 13-22-10.webm

Code
const SelectionArea(
  child: Text.rich(
    TextSpan(text: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'),
  ),
),

This is ready for another review. It fixes the case pointed out here https://github.com/flutter/flutter/pull/144563#issuecomment-1979672806 . Regarding the linux behavior, I'll make a follow up PR for that.

@justinmc Thanks for the review! The first bug you pointed out looks like i'm not handling some edge case. I'll check it out, as well as the second bug!

@justinmc https://github.com/flutter/flutter/pull/144563#pullrequestreview-1944285332 the first issue you described is now fixed. The second issue doesn't seem related to this PR so i'll make an issue and look into it more later.
Most of the failing tests are a result of the this commit https://github.com/flutter/flutter/pull/144563/commits/b8d118e00aebfbbcbdd364bf90144af9f8d72d62. I'm still investigating why this is the case.

I looked into the broken tests caused by https://github.com/flutter/flutter/commit/b8d118e00aebfbbcbdd364bf90144af9f8d72d62, they turned out being expected since the test https://github.com/flutter/flutter/blob/7009b926b5e19c614cec91f6a40d04d4db9d77c3/packages/flutter_driver/test/src/real_tests/extension_test.dart#L832 checks the widget tree structure, and the _RichText wrapper changes the structure. For now I decided to use the _RichText wrapper conditionally since it was also breaking customer tests.

authors: Renzo-Olivares justinmc


text:
Add collapsed height param to SliverAppBar

Description
Add the collapsedHeight param to the SliverAppBar, allowing for users to set the minimum height when it is collapsed.
Related Issues
Closes https://github.com/flutter/flutter/issues/21298
Tests
I added the following tests:

SliverAppBar expandedHeight, collapsedHeight

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I signed the CLA.
[X] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I updated/added relevant documentation (doc comments with ///).
[X] All existing and new tests are passing.
[X] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[X] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[X] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

thanks for this

authors: joekendal perclasson


text:
[flutter_tools] don't use verbose when in doctor command

Description
Since flutter doctor -v means something different than flutter any-other-command -v
Fixes https://github.com/flutter/flutter/issues/58759

Seems like a test would be good to avoid this sort of regression again.

Tests aded, I updated the existing command output test for flutter -h and added one for doctor.

authors: jonahwilliams zanderso


text:
[flutter_tools] tool exit after repeated network failure

Description
Exit the tool after a repeated network error to download. previously we were returning null and continuing on, leading to a ProcessException when we unzipped a missing file.
Fixes https://github.com/flutter/flutter/issues/64876
Fixes https://github.com/flutter/flutter/issues/64857

Possibly https://github.com/flutter/flutter/issues/52437#event-3710566736 too

I think the net logic is quite convoluted actually, which is part of the issue with trying to update it. It's not really clear from the contract what sorts of exceptions it should be handling, and which ones to leave to the callers.
If I were going to spend some time on it, what I would do is more or less replace Net with a wrapper that accepted an http client and made the request. The only job would be to turn a non-200 response into an exception so that the caller could handle that in a similar way to other failures.
This would let the artifact updater contain the logic for writing the bytes, which would allow it to handle any IOexceptions from writing.

(also removing the retry logic, to allow the callers to include that if they wanted to)

There is some usage in create.dart (for snippet creation), update_packages for downloading coverage (which doesn't need to be that resilient), and then the cache check that artifacts exist.
As a follow up these could be refactored/removed. Likely we'll want to keep the cache check for existence (header only request) and find out how to remove the others.

I could hoist the retry count into a constant for now, and we could make it configurable if there is a feature request to do so


text:
[flutter_tools] fix --use-existing-app for flutter drive

Description
This is the likely cause of the benchmark regressions

Could you link this to the issues for the benchmark regressions?

Some of them are:
https://github.com/flutter/flutter/issues/69206
https://github.com/flutter/flutter/issues/69204
https://github.com/flutter/flutter/issues/69205
However I have no idea if this will actually fix them as I do not have the devices/time to verify the regressions. But if any of these depended on using an existing app, this fix should change them again


text:
Roll Plugins from 18124285feeb to 207d129aefb5 (1 revision)

https://github.com/flutter/plugins/compare/18124285feeb...207d129aefb5
2021-01-26 dnfield@google.com bump vmservice (flutter/plugins#3463)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.

Commit queue failed; closing this roll.


text:
Exposed set of _field in Form

This pull request will help us get a list of all registered and invalid fields.
As a result, we can get individual field's value, error text, and validity.
I had many cases where this would be very helpful and will improve the UX of the Application so I'm proposing changes.
Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.
List which issues are fixed by this PR. You must list at least one issue.
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Can you elaborate on the cases where this would have been useful?  I want to make sure this would provide more benefit than the downside of bloating the API a bit.
I don't think there has been a PR exactly like this, but this reminds me of some previous debate around form status like https://github.com/flutter/flutter/pull/48155 and https://github.com/flutter/flutter/pull/48948.

Since there hasn't been any response, I am going to close this one for now. If this is still an issue, it may be useful to start a discussion in an issue first to figure out why may be needed.

authors: Tkko goderbauer justinmc


text:
Roll Flutter from 14a2b1323bf9 to 9514106108d1 (3 revisions)

https://github.com/flutter/flutter/compare/14a2b1323bf9...9514106108d1
2022-02-16 engine-flutter-autoroll@skia.org Roll Engine from 4ea2394b8df6 to b09cf532697b (2 revisions) (flutter/flutter#98558)
2022-02-16 tessertaha@gmail.com CupertinoPicker: Update example (flutter/flutter#98525)
2022-02-16 fluttergithubbot@gmail.com Marks Mac_ios flutter_view_ios__start_up to be flaky (flutter/flutter#98420)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins
Please CC ychris@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Plugins: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.

repo: flutter/plugins


text:
Roll Flutter (stable) from 7048ed95a5ad to 994429713884 (10 revisions)

https://github.com/flutter/flutter/compare/7048ed95a5ad...994429713884
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-stable-plugins
Please CC rmistry@google.com,stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter (stable): https://github.com/flutter/flutter/issues/new/choose
To file a bug in Plugins: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


text:
调用show传入ListView后，顶部会多出一截白色空白

版本信息

Flutter版本：[举例：3.4.0]
flutter_smart_dialog版本：[举例：^4.9.7+7]

描述bug/需求
调用show传入ListView后，顶部会多出一截白色空白
问题demo
static showSelectDialog(List list,Function(int) onTap){
SmartDialog.show(builder: (context) {
return Container(
color: Colors.white,
//child: CommonSelectDialog(data: list, onPressed: onTap),
child: ListView.builder(
itemBuilder: (context, index) {
return Text(
list[index],style: TextStyle(color: Colors.black),);
},
itemCount: list.length,
shrinkWrap: true,
),
);
},alignment: Alignment.bottomCenter);
}

https://github.com/fluttercandies/flutter_smart_dialog/issues/146

source: gharchive/issue

license: MIT


text:
Post multiple images to server

Single file post to a server is working fine, now i want to post multiple images to server that user selects from gallery, following is the code from documentation for uploading multiple files
FormData formData = new FormData.from({
"name": "wendux",
"age": 25,
"file1": new UploadFileInfo(new File("./upload.txt"), "upload1.txt"),
// upload with bytes (List)
"file2": new UploadFileInfo.fromBytes(
utf8.encode("hello world"), "word.txt"),
// Pass multiple files within an Array
"files": [
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt"),
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt")
]
});
my question is that how can i implement this in my code for images?? because i don't know that how many images are selected by user.
Following is the screenshot pf postman image_list key is an array key

I'm not sure if this is what you need, but I'm doing a similar thing and using multi_image_picker  to allow the user to pick images. Here's the code I'm using for the upload:
final imagesBytes = {};
for (Asset a in images) {
  final bytes = await a.requestOriginal();
  imagesBytes[a.identifier] = bytes.buffer.asUint8List();
}
final imagesData = images.map((a) => UploadFileInfo.fromBytes(imagesBytes[a.identifier], a.name)).toList();
final response = await Dio(_myBaseOptions()).post('page.php',
  data: FormData.from({
    'images[]': imagesData,
}));

Make sure to add the [] in your key for the images list. I struggled for hours trying to realize why I was getting only one file in the backend even when uploading multiple ones, but it worked after I changed my key from images to images[]

i solved my issue with the following code:
List uploadList = [];     for (var imageFiles in _list) {       uploadList.add(UploadFileInfo(File(imageFiles), "job.jpg"));     }
and then pass uploadList in a key value
"image_list": uploadList

i solved my issue with the following code:
List uploadList = [];
for (var imageFiles in _list) { uploadList.add(UploadFileInfo(File(imageFiles), "job.jpg")); }
and then pass uploadList in a key value
"image_list": uploadList

I do it in the same way, but why my springboot application cannot get list
`List imageList = new List();
for (Asset asset in images) {
ByteData byteData = await asset.getByteData();
List imageData = byteData.buffer.asUint8List();
MultipartFile multipartFile = new MultipartFile.fromBytes(
imageData,
filename: 'load_image',
contentType: MediaType("image", "jpg"),
);
imageList.add(multipartFile);
}
FormData formData = FormData.fromMap({
  "multipartFiles": imageList,
  // "blogTitle" : blogTitleController.text,
  // "blogContent" : blogContentController.text,
  // "blogUserId" : 8
});`

i solved my issue with the following code:
List uploadList = [];
for (var imageFiles in _list) { uploadList.add(UploadFileInfo(File(imageFiles), "job.jpg")); }
and then pass uploadList in a key value
"image_list": uploadList

'''
List imageList = new List();
for (Asset asset in images) {
ByteData byteData = await asset.getByteData();
List imageData = byteData.buffer.asUint8List();
MultipartFile multipartFile = new MultipartFile.fromBytes(
imageData,
filename: 'load_image',
contentType: MediaType("image", "jpg"),
);
imageList.add(multipartFile);
}
FormData formData = FormData.fromMap({
  "multipartFiles": imageList,
  // "blogTitle" : blogTitleController.text,
  // "blogContent" : blogContentController.text,
  // "blogUserId" : 8
});

'''

i solved my issue with the following code:
List uploadList = [];
for (var imageFiles in _list) { uploadList.add(UploadFileInfo(File(imageFiles), "job.jpg")); }
and then pass uploadList in a key value
"image_list": uploadList

I do it in the same way, but I cannot get my list. Could help me?
`List imageList = new List();
for (Asset asset in images) {
ByteData byteData = await asset.getByteData();
List imageData = byteData.buffer.asUint8List();
MultipartFile multipartFile = new MultipartFile.fromBytes(
imageData,
filename: 'load_image',
contentType: MediaType("image", "jpg"),
);
imageList.add(multipartFile);
}
FormData formData = FormData.fromMap({
  "multipartFiles": imageList
});`

Single file post to a server is working fine, now i want to post multiple images to server that user selects from gallery, following is the code from documentation for uploading multiple files
FormData formData = new FormData.from({
"name": "wendux",
"age": 25,
"file1": new UploadFileInfo(new File("./upload.txt"), "upload1.txt"),
// upload with bytes (List)
"file2": new UploadFileInfo.fromBytes(
utf8.encode("hello world"), "word.txt"),
// Pass multiple files within an Array
"files": [
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt"),
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt")
]
});
my question is that how can i implement this in my code for images?? because i don't know that how many images are selected by user.
Following is the screenshot pf postman image_list key is an array key

Please I am a little confused with how you uploaded multiple images. Are you using the package dio or the regular http package. And how will the api look like. Cos, I have tried all and I still can't get it to work.

Single file post to a server is working fine, now i want to post multiple images to server that user selects from gallery, following is the code from documentation for uploading multiple files
FormData formData = new FormData.from({
"name": "wendux",
"age": 25,
"file1": new UploadFileInfo(new File("./upload.txt"), "upload1.txt"),
// upload with bytes (List)
"file2": new UploadFileInfo.fromBytes(
utf8.encode("hello world"), "word.txt"),
// Pass multiple files within an Array
"files": [
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt"),
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt")
]
});
my question is that how can i implement this in my code for images?? because i don't know that how many images are selected by user.
Following is the screenshot pf postman image_list key is an array key

Please I am a little confused with how you uploaded multiple images. Are you using the package dio or the regular http package. And how will the api look like. Cos, I have tried all and I still can't get it to work.

This is my answer in the end. May it could help
`String url = "http://192.168.1.101:8989/users/user/sendBlog";
List imageList = new List();
if (null != blogUser_id) {
for (Asset asset in images) {
ByteData byteData = await asset.getByteData();
List imageData = byteData.buffer.asUint8List();
MultipartFile multipartFile = new MultipartFile.fromBytes(
imageData,
filename: 'load_image',
contentType: MediaType("image", "jpg"),
);
imageList.add(multipartFile);
}
FormData formData = FormData.fromMap({
"multipartFiles": imageList,
"blogTitle": blogTitleController.text,
"blogContent": blogContentController.text,
"blogUserId": blogUser_id
});
  Dio dio = new Dio();
  var response = await dio.post(url, data: formData);`

Single file post to a server is working fine, now i want to post multiple images to server that user selects from gallery, following is the code from documentation for uploading multiple files
FormData formData = new FormData.from({
"name": "wendux",
"age": 25,
"file1": new UploadFileInfo(new File("./upload.txt"), "upload1.txt"),
// upload with bytes (List)
"file2": new UploadFileInfo.fromBytes(
utf8.encode("hello world"), "word.txt"),
// Pass multiple files within an Array
"files": [
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt"),
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt")
]
});
my question is that how can i implement this in my code for images?? because i don't know that how many images are selected by user.
Following is the screenshot pf postman image_list key is an array key

Please I am a little confused with how you uploaded multiple images. Are you using the package dio or the regular http package. And how will the api look like. Cos, I have tried all and I still can't get it to work.

this is my answer in the end.it could help upload images to your server.
String url = "http://192.168.1.101:8989/users/user/sendBlog";
    List<MultipartFile> imageList = new List<MultipartFile>();
    if (null != blogUser_id) {
      for (Asset asset in images) {
        ByteData byteData = await asset.getByteData();
        List<int> imageData = byteData.buffer.asUint8List();
        MultipartFile multipartFile = new MultipartFile.fromBytes(
          imageData,
          filename: 'load_image',
          contentType: MediaType("image", "jpg"),
        );
        imageList.add(multipartFile);
      }

      FormData formData = FormData.fromMap({
        "multipartFiles": imageList,
        "blogTitle": blogTitleController.text,
        "blogContent": blogContentController.text,
        "blogUserId": blogUser_id
      });

      Dio dio = new Dio();
      var response = await dio.post(url, data: formData);

Single file post to a server is working fine, now i want to post multiple images to server that user selects from gallery, following is the code from documentation for uploading multiple files
FormData formData = new FormData.from({
"name": "wendux",
"age": 25,
"file1": new UploadFileInfo(new File("./upload.txt"), "upload1.txt"),
// upload with bytes (List)
"file2": new UploadFileInfo.fromBytes(
utf8.encode("hello world"), "word.txt"),
// Pass multiple files within an Array
"files": [
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt"),
new UploadFileInfo(new File("./example/upload.txt"), "upload.txt")
]
});
my question is that how can i implement this in my code for images?? because i don't know that how many images are selected by user.
Following is the screenshot pf postman image_list key is an array key

Please I am a little confused with how you uploaded multiple images. Are you using the package dio or the regular http package. And how will the api look like. Cos, I have tried all and I still can't get it to work.

this is my answer in the end.it could help upload images to your server.
String url = "http://192.168.1.101:8989/users/user/sendBlog";
    List<MultipartFile> imageList = new List<MultipartFile>();
    if (null != blogUser_id) {
      for (Asset asset in images) {
        ByteData byteData = await asset.getByteData();
        List<int> imageData = byteData.buffer.asUint8List();
        MultipartFile multipartFile = new MultipartFile.fromBytes(
          imageData,
          filename: 'load_image',
          contentType: MediaType("image", "jpg"),
        );
        imageList.add(multipartFile);
      }

      FormData formData = FormData.fromMap({
        "multipartFiles": imageList,
        "blogTitle": blogTitleController.text,
        "blogContent": blogContentController.text,
        "blogUserId": blogUser_id
      });

      Dio dio = new Dio();
      var response = await dio.post(url, data: formData);

something went wrong, i apply same but not work for me

@SunnyBearLittle commented on May 31
something went wrong, i apply same but not work for me

@SunnyBearLittle commented on May 31
this work for me

It is  uploading only one image, Not all selected images.

repo: flutterchina/dio


text:
tfVarsFiles schema is missing from the Helm chart CRDs

Hi,
I was trying to use tfVarsFiles feature using helm chart 0.16.0-rc.4, during flux reconcile I get error that tfVarsFiles is missing in schema. I further investigate the issue and find out that tfVarsFiles crd specification:
https://github.com/flux-iac/tofu-controller/blob/main/config/crd/bases/infra.contrib.fluxcd.io_terraforms.yaml#L9815
is missing in helm chart crd (and also the version in this file is not set to latest 0.16.0-rc.4):
https://github.com/flux-iac/tofu-controller/blob/main/charts/tf-controller/crds/crds.yaml

@DanielAntos90 Thank you for bringing this up.
It seems we have missed this for the RC.
To do so, someone would need to compare schema generated by the makefile and add it to the chart's CRD.

@chanwit i've included the updated CRDs in my helm chart rename PR, so that when that is approved this one should be fixed as well.

authors: DanielAntos90 chanwit ilithanos

repo: flux-iac/tofu-controller


text:
Flux Multi Tenant

A lot of end users want to use Flux in a multi tenant setup. This requires additional configuration both of Flux and the creation of additional resources.
First of all the multi tenancy lock down customizing of Flux needs to be documented.
https://fluxcd.io/flux/cheatsheets/bootstrap/#multi-tenancy-lockdown
On top of that there is a need to explore how the multi tenant resources should be created. One option would be to create a new Terraform resources that manages all of the creation. It could mimic the existing cli command.
https://fluxcd.io/flux/cmd/flux_create_tenant/

Multi-tenancy can be enabled with kustomize_override and flux_bootstrap_git by following the official docs: https://fluxcd.io/flux/installation/configuration/multitenancy/

authors: phillebaba stefanprodan

repo: fluxcd/terraform-provider-flux


text:
🛑 Extranet is down

In d1a9c30, Extranet (https://extranet.osam.org.ar/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Extranet is back up in aa10bb9 after 43 minutes.

repo: flvanney/OSAMuptime


text:
controller fails to destroy old processes after multiple pushes

After multile git pushes, the controller seem to "forget" to recreate the instances/processes created by previous pushes.
Steps to reproduce:

flynn create app1
commit && git push
flynn scale web=1
flynn ps will report 1 web instance, this is OK.
commit && git push
flynn ps will report 2 web workers, this is the BUG. The controller failed to destroyed the first instance/process and it created a second process with the new code, the router/http-proxy is now load balancing between old and new code and is impossible to destroy the process.0 with the old code, flynn scale web=0 will destroy the process with the new code but it never touches the process with the old code for some reason.

the controller seems to keep creating processes over time even when the scale config is web=1.
flynn -a controller ps seems to report 2 controller processes, both of TYPE=controller
Here is the log of the second controller process:
now=2014-08-21T21:31:46+0000 at=start app=controller-scheduler
now=2014-08-21T21:31:46+0000 app=controller-scheduler at=leaderwait
now=2014-08-21T22:59:10+0000 app=controller-scheduler at=leader
now=2014-08-21T22:59:10+0000 fn=watchHost host.id=ip10035 at=start app=controller-scheduler
now=2014-08-21T22:59:10+0000 at=start fn=watchHost host.id=ip10034 app=controller-scheduler
now=2014-08-21T22:59:10+0000 release.id=0bd52078328b437686a10a1e0af5a4c2 type=postgres host.id=ip10034 job.id=fcc8e24621f941ffb8589f1eccb7cc76 app.id=cc065b15c4c548708fb0523ca4811e3d app=controller-scheduler fn=syncCluster at=addFormation
now=2014-08-21T22:59:10+0000 at=addJob release.id=0bd52078328b437686a10a1e0af5a4c2 type=postgres host.id=ip10034 job.id=fcc8e24621f941ffb8589f1eccb7cc76 app.id=cc065b15c4c548708fb0523ca4811e3d app=controller-scheduler fn=syncCluster
now=2014-08-21T22:59:10+0000 type=web host.id=ip10034 job.id=c2621dd0edb14c4886cdc68e58dfbf67 app.id=cc065b15c4c548708fb0523ca4811e3d at=addJob app=controller-scheduler fn=syncCluster release.id=0bd52078328b437686a10a1e0af5a4c2
now=2014-08-21T22:59:10+0000 release.id=e76c75b079334ef2b7c96d1ed0099f3c type=web at=addFormation app=controller-scheduler fn=syncCluster host.id=ip10034 job.id=b39a4e24a89b49eda5b2924b8d7902f0 app.id=2d293d9452c74457aceee39b2ef155f8
now=2014-08-21T22:59:10+0000 release.id=e76c75b079334ef2b7c96d1ed0099f3c type=web app=controller-scheduler at=addJob fn=syncCluster host.id=ip10034 job.id=b39a4e24a89b49eda5b2924b8d7902f0 app.id=2d293d9452c74457aceee39b2ef155f8
now=2014-08-21T22:59:10+0000 at=addFormation host.id=ip10034 job.id=c47455dc878a41fd82238ff207bda46e app.id=919b5c0a99524cfba01e8281481040eb release.id=7e240c606c1347a6b13618969a376bdb type=app app=controller-scheduler fn=syncCluster
now=2014-08-21T22:59:10+0000 app.id=919b5c0a99524cfba01e8281481040eb release.id=7e240c606c1347a6b13618969a376bdb type=app at=addJob app=controller-scheduler fn=syncCluster host.id=ip10034 job.id=c47455dc878a41fd82238ff207bda46e
now=2014-08-21T22:59:11+0000 at=addFormation app.id=faf11e9dbdfc4049b943c8675ea94a41 release.id=e2dd8621091645b1b3146132c5129d2c type=app app=controller-scheduler fn=syncCluster host.id=ip10034 job.id=39525a8321774d5aa0e43fcb9693ae71
now=2014-08-21T22:59:11+0000 at=addJob app.id=faf11e9dbdfc4049b943c8675ea94a41 release.id=e2dd8621091645b1b3146132c5129d2c type=app app=controller-scheduler fn=syncCluster host.id=ip10034 job.id=39525a8321774d5aa0e43fcb9693ae71
now=2014-08-21T22:59:11+0000 at=addFormation host.id=ip10034 job.id=a1df9d2be47e41b594d22862d6863163 app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13 type=web app=controller-scheduler fn=syncCluster
now=2014-08-21T22:59:11+0000 fn=syncCluster host.id=ip10034 job.id=a1df9d2be47e41b594d22862d6863163 app.id=9d5c8429e94e42e4bae64864875d8c83 at=addJob release.id=0429c0df381f400dac6bb0c5e21a4d13 type=web app=controller-scheduler
now=2014-08-21T22:59:11+0000 job.id=28e7e327c6234f49869df83ab1de5b8e app.id=2d293d9452c74457aceee39b2ef155f8 release.id=e76c75b079334ef2b7c96d1ed0099f3c type=scheduler at=addJob app=controller-scheduler fn=syncCluster host.id=ip10035
now=2014-08-21T22:59:11+0000 fn=syncCluster at=addFormation job.id=c0ad46c39acd43cb82ea3fc0c50f3593 app.id=9167a23609d34a998411a6881aa921f4 release.id=e0af35b8fc8c486eb1356a67bd83d594 type=web host.id=ip10035 app=controller-scheduler
now=2014-08-21T22:59:11+0000 release.id=e0af35b8fc8c486eb1356a67bd83d594 type=web host.id=ip10035 at=addJob app=controller-scheduler fn=syncCluster job.id=c0ad46c39acd43cb82ea3fc0c50f3593 app.id=9167a23609d34a998411a6881aa921f4
now=2014-08-21T22:59:11+0000 fn=syncCluster at=addJob release.id=7e240c606c1347a6b13618969a376bdb type=app host.id=ip10035 job.id=5a6d40bca46340c691102fcdab6af299 app.id=919b5c0a99524cfba01e8281481040eb app=controller-scheduler
now=2014-08-21T22:59:11+0000 app=controller-scheduler fn=syncCluster host.id=ip10035 app.id=9d5c8429e94e42e4bae64864875d8c83 err="controller: not found" type=web release.id=42a1373f8a9d479bbd78e30653eeb4ff at=getFormation status=error job.id=6450e98239a149d199d5cafbbc38c142
now=2014-08-21T22:59:11+0000 host.id=ip10035 app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=cc248698259d4da2a5d73f582054bd88 fn=syncCluster at=getFormation status=error type=web app=controller-scheduler err="controller: not found" job.id=c94d8a2699a34fabada0ced6af3118ee
now=2014-08-21T22:59:11+0000 at=addJob type=web host.id=ip10035 job.id=257a46aea4704065ba9ce10fc0c0551f fn=syncCluster app=controller-scheduler app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13
now=2014-08-21T22:59:11+0000 app=controller-scheduler fn=watchFormations at=connect attempt=1
now=2014-08-21T22:59:11+0000 actual=1 diff=0 app.id=cc065b15c4c548708fb0523ca4811e3d app=controller-scheduler expected=1 type=postgres release.id=0bd52078328b437686a10a1e0af5a4c2 fn=rectify at=update
now=2014-08-21T22:59:11+0000 app.id=cc065b15c4c548708fb0523ca4811e3d app=controller-scheduler release.id=0bd52078328b437686a10a1e0af5a4c2 type=web diff=0 fn=rectify expected=1 actual=1 at=update
now=2014-08-21T22:59:11+0000 fn=rectify release.id=e76c75b079334ef2b7c96d1ed0099f3c diff=0 at=update type=web app=controller-scheduler actual=1 expected=1 app.id=2d293d9452c74457aceee39b2ef155f8
now=2014-08-21T22:59:11+0000 fn=rectify release.id=e2dd8621091645b1b3146132c5129d2c type=app actual=1 diff=0 app.id=faf11e9dbdfc4049b943c8675ea94a41 app=controller-scheduler at=update expected=1
now=2014-08-21T22:59:11+0000 app=controller-scheduler fn=rectify actual=2 diff=0 at=update type=web app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13 expected=2
now=2014-08-21T22:59:11+0000 release.id=e0af35b8fc8c486eb1356a67bd83d594 diff=0 app=controller-scheduler fn=rectify app.id=9167a23609d34a998411a6881aa921f4 actual=1 at=update type=web expected=1
now=2014-08-21T22:59:11+0000 release.id=cc248698259d4da2a5d73f582054bd88 app=controller-scheduler fn=watchFormations at=new app.id=9d5c8429e94e42e4bae64864875d8c83
now=2014-08-21T22:59:11+0000 fn=watchFormations app=controller-scheduler app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13 at=update
now=2014-08-21T22:59:11+0000 actual=2 diff=0 fn=rectify app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13 expected=2 app=controller-scheduler at=update type=web
now=2014-08-21T22:59:11+0000 app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=42a1373f8a9d479bbd78e30653eeb4ff at=new fn=watchFormations app=controller-scheduler
now=2014-08-21T22:59:11+0000 app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=db7cac12a2bd42d38bd7dc8bc364aac2 at=new app=controller-scheduler fn=watchFormations
now=2014-08-21T22:59:11+0000 at=new app=controller-scheduler fn=watchFormations app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=039d4d91c3f04d799134dc417da27b96
now=2014-08-21T22:59:11+0000 app.id=4dbf040b0eb84a2691d1ce4b41208312 release.id=ed1c423256944a0ba03ee6bfd68a70b1 at=new app=controller-scheduler fn=watchFormations
now=2014-08-21T22:59:11+0000 at=update app=controller-scheduler fn=watchFormations app.id=faf11e9dbdfc4049b943c8675ea94a41 release.id=e2dd8621091645b1b3146132c5129d2c
now=2014-08-21T22:59:11+0000 release.id=7e240c606c1347a6b13618969a376bdb at=update app.id=919b5c0a99524cfba01e8281481040eb app=controller-scheduler fn=watchFormations
now=2014-08-21T22:59:11+0000 type=app fn=rectify release.id=e2dd8621091645b1b3146132c5129d2c expected=1 diff=0 at=update app=controller-scheduler app.id=faf11e9dbdfc4049b943c8675ea94a41 actual=1
now=2014-08-21T22:59:11+0000 app=controller-scheduler fn=watchFormations app.id=9167a23609d34a998411a6881aa921f4 release.id=e0af35b8fc8c486eb1356a67bd83d594 at=update
now=2014-08-21T22:59:11+0000 app=controller-scheduler fn=watchFormations app.id=2d293d9452c74457aceee39b2ef155f8 release.id=e76c75b079334ef2b7c96d1ed0099f3c at=update
now=2014-08-21T22:59:11+0000 actual=1 diff=0 app=controller-scheduler fn=rectify app.id=9167a23609d34a998411a6881aa921f4 expected=1 release.id=e0af35b8fc8c486eb1356a67bd83d594 at=update type=web
now=2014-08-21T22:59:11+0000 app.id=cc065b15c4c548708fb0523ca4811e3d release.id=0bd52078328b437686a10a1e0af5a4c2 fn=watchFormations app=controller-scheduler at=update
now=2014-08-21T22:59:11+0000 actual=1 diff=0 fn=rectify app.id=cc065b15c4c548708fb0523ca4811e3d release.id=0bd52078328b437686a10a1e0af5a4c2 at=update expected=1 app=controller-scheduler type=web
now=2014-08-21T22:59:11+0000 release.id=0bd52078328b437686a10a1e0af5a4c2 actual=1 diff=0 at=update expected=1 app.id=cc065b15c4c548708fb0523ca4811e3d fn=rectify type=postgres app=controller-scheduler
now=2014-08-21T22:59:11+0000 diff=0 at=update type=app expected=1 actual=1 release.id=7e240c606c1347a6b13618969a376bdb app=controller-scheduler fn=rectify app.id=919b5c0a99524cfba01e8281481040eb
now=2014-08-21T22:59:11+0000 at=update type=app app.id=919b5c0a99524cfba01e8281481040eb expected=1 actual=1 diff=0 app=controller-scheduler fn=rectify release.id=7e240c606c1347a6b13618969a376bdb
now=2014-08-21T22:59:11+0000 release.id=e76c75b079334ef2b7c96d1ed0099f3c actual=1 expected=1 app=controller-scheduler app.id=2d293d9452c74457aceee39b2ef155f8 diff=0 at=update type=web fn=rectify
now=2014-08-21T22:59:11+0000 fn=rectify app=controller-scheduler app.id=2d293d9452c74457aceee39b2ef155f8 release.id=e76c75b079334ef2b7c96d1ed0099f3c diff=1 at=update type=scheduler expected=1 actual=0
now=2014-08-21T22:59:11+0000 host.id=ip10034 fn=add app=controller-scheduler app.id=2d293d9452c74457aceee39b2ef155f8 release.id=e76c75b079334ef2b7c96d1ed0099f3c job.id=b53d1c08a1a54fd4a1c671ba12373c7a
now=2014-08-21T22:59:11+0000 app=controller-scheduler fn=rectify at=update release.id=e76c75b079334ef2b7c96d1ed0099f3c app.id=2d293d9452c74457aceee39b2ef155f8 type=scheduler expected=1 actual=1 diff=0
now=2014-08-21T22:59:18+0000 release.id=0429c0df381f400dac6bb0c5e21a4d13 fn=watchFormations app=controller-scheduler at=update app.id=9d5c8429e94e42e4bae64864875d8c83
now=2014-08-21T22:59:18+0000 release.id=0429c0df381f400dac6bb0c5e21a4d13 at=cleanup type=web count=2 app=controller-scheduler fn=rectify app.id=9d5c8429e94e42e4bae64864875d8c83
now=2014-08-21T22:59:18+0000 release.id=0429c0df381f400dac6bb0c5e21a4d13 host.id=ip10034 job.id=a1df9d2be47e41b594d22862d6863163 app=controller-scheduler fn=remove app.id=9d5c8429e94e42e4bae64864875d8c83
now=2014-08-21T22:59:18+0000 host.id=ip10035 job.id=257a46aea4704065ba9ce10fc0c0551f app=controller-scheduler fn=remove app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13
now=2014-08-21T22:59:18+0000 host.id=ip10035 app=controller-scheduler fn=watchHost at=remove job.id=257a46aea4704065ba9ce10fc0c0551f event=stop
now=2014-08-21T22:59:18+0000 fn=watchHost host.id=ip10034 at=remove job.id=a1df9d2be47e41b594d22862d6863163 event=stop app=controller-scheduler
now=2014-08-21T22:59:36+0000 app=controller-scheduler fn=watchFormations app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13 at=update
now=2014-08-21T22:59:36+0000 app.id=9d5c8429e94e42e4bae64864875d8c83 type=web expected=5 actual=0 diff=5 at=update app=controller-scheduler fn=rectify release.id=0429c0df381f400dac6bb0c5e21a4d13
now=2014-08-21T22:59:36+0000 fn=add app.id=9d5c8429e94e42e4bae64864875d8c83 app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13 host.id=ip10034 job.id=cbb08bc8a5ec432996dd6c0d1f2b350b
now=2014-08-21T22:59:36+0000 app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13 fn=add app.id=9d5c8429e94e42e4bae64864875d8c83 host.id=ip10035 job.id=9507ac53bcf44a46a25778e25864e7a9
now=2014-08-21T22:59:36+0000 fn=add host.id=ip10035 job.id=2f03297af9074f4c9107024e7ccb48c0 app.id=9d5c8429e94e42e4bae64864875d8c83 app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13
now=2014-08-21T22:59:36+0000 fn=add app.id=9d5c8429e94e42e4bae64864875d8c83 app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13 host.id=ip10034 job.id=447048d1882c4ce09bb6cb337005ff59
now=2014-08-21T22:59:36+0000 app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13 fn=add app.id=9d5c8429e94e42e4bae64864875d8c83 host.id=ip10034 job.id=fbd772ec596649e099360a45593e1ff4
now=2014-08-21T23:00:52+0000 fn=watchFormations app.id=9d5c8429e94e42e4bae64864875d8c83 release.id=0429c0df381f400dac6bb0c5e21a4d13 at=update app=controller-scheduler
now=2014-08-21T23:00:52+0000 type=web fn=rectify release.id=0429c0df381f400dac6bb0c5e21a4d13 actual=5 diff=-4 at=update app=controller-scheduler app.id=9d5c8429e94e42e4bae64864875d8c83 expected=1
now=2014-08-21T23:00:52+0000 app.id=9d5c8429e94e42e4bae64864875d8c83 app=controller-scheduler host.id=ip10034 job.id=447048d1882c4ce09bb6cb337005ff59 release.id=0429c0df381f400dac6bb0c5e21a4d13 fn=remove
now=2014-08-21T23:00:52+0000 app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13 fn=remove app.id=9d5c8429e94e42e4bae64864875d8c83 host.id=ip10034 job.id=fbd772ec596649e099360a45593e1ff4
now=2014-08-21T23:00:52+0000 app.id=9d5c8429e94e42e4bae64864875d8c83 host.id=ip10034 job.id=cbb08bc8a5ec432996dd6c0d1f2b350b app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13 fn=remove
now=2014-08-21T23:00:52+0000 app.id=9d5c8429e94e42e4bae64864875d8c83 host.id=ip10035 job.id=9507ac53bcf44a46a25778e25864e7a9 app=controller-scheduler release.id=0429c0df381f400dac6bb0c5e21a4d13 fn=remove
now=2014-08-21T23:00:52+0000 at=remove app=controller-scheduler fn=watchHost host.id=ip10035 job.id=9507ac53bcf44a46a25778e25864e7a9 event=stop
now=2014-08-21T23:00:52+0000 fn=watchHost host.id=ip10034 at=remove job.id=cbb08bc8a5ec432996dd6c0d1f2b350b event=stop app=controller-scheduler
now=2014-08-21T23:00:52+0000 fn=watchHost host.id=ip10034 at=remove job.id=fbd772ec596649e099360a45593e1ff4 event=stop app=controller-scheduler
now=2014-08-21T23:00:52+0000 app=controller-scheduler fn=watchHost host.id=ip10034 at=remove job.id=447048d1882c4ce09bb6cb337005ff59 event=stop

Reproducible on the latest build. Sorry it took longer than expected to get around to testing again.

Does this still happen, now that we replaced the deploy system with the deployer?

Closing, let's reopen if it happens again.

authors: archSeer bithavoc temujin9

repo: flynn/flynn


text:
(draft) Use PluginCleanupPolicy from flyteorg/flyteplugins#203

TL;DR
Per discussion in #feature-discussions Slack channel, I'm opening this as a draft PR as to center discussions related to flyteorg/flyte#1345.
This PR applies the PluginCleanupPolicy interface from flyteorg/flyteplugins#203, if applicable, instead of defaulting to just deleting the resource when the task is aborted.
this will need to be updated once the flyteplugins changed is merged & its version is bumped in go.mod.
cc @regadas , @EngHabu , @kumare3 :)
Type

[ ] Bug Fix
[ ] Feature
[x] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[x] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
Remove the 'fixes' keyword if there will be multiple PRs to fix the linked issue
fixes https://github.com/flyteorg/flyte/issues/
Follow-up issue
NA
OR
https://github.com/flyteorg/flyte/issues/

looks good to me, I will let @EngHabu +1.
Can you sign the dco?

You will need to run git pull origin master and resolve conflicts then git add -A, git merge --continue and git push...

🙇🏽

authors: EngHabu clairemcginty kumare3

repo: flyteorg/flytepropeller


text:
More mssql sp calls cause non-tran statement error.

Which version and edition of Flyway are you using?
v6.0.7
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
command-line
Which database are you using (type & version)?
MSSQL 14.0.x
Which operating system are you using?
Win10 x64
What did you do?
Added a new  Stored Proc   that accesses MSSQL  Replication routines.
What did you expect to see?
For Flyway to automatically detect special  MSSQL keywords,  and allow non-tran,  for that given R script.
What did you see instead?
"ERROR: Detected both transactional and non-transactional statements within the same migration (even though mixed is false)."
its one , some or all of these that is causing this:
EXEC sp_addarticle
EXEC sp_droparticle
EXEC sp_articlefilter
EXEC sp_addsubscription
EXEC sp_dropsubscription

[
If i am not mistaken there already exists a regex/list inside the code (or at least there used to be)   that  does special handling  of   some  keywords  such as these.
See this prev item for ref,  it might help in some way:   https://github.com/flyway/flyway/issues/2175
]

I guess I was thinking about this module & block of code:
SQLServerParser.java
    protected Boolean detectCanExecuteInTransaction(String simplifiedStatement, List<Token> keywords) {
        String current = keywords.get(keywords.size() - 1).getText();
        if ("BACKUP".equals(current) || "RESTORE".equals(current) || "RECONFIGURE".equals(current)) {
            return false;
        }

        if (keywords.size() < 2) {
            return null;
        }

        String previous = keywords.get(keywords.size() - 2).getText();
        // #2175: The procedure 'sp_addsubscription' cannot be executed within a transaction.
        // #2298: The procedures 'sp_serveroption' and 'sp_droplinkedsrvlogin' cannot be executed within a transaction.
        // These procedures is only present in SQL Server. Not on Azure nor in PDW.
        if ("EXEC".equals(previous) && (
                "SP_ADDSUBSCRIPTION".equals(current) ||
                        "SP_DROPLINKEDSRVLOGIN".equals(current) ||
                        "SP_SERVEROPTION".equals(current))) {
            return false;
        }

        // (CREATE|DROP|ALTER) (DATABASE|FULLTEXT (INDEX|CATALOG))
        if (("CREATE".equals(previous) || "ALTER".equals(previous) || "DROP".equals(previous))
                && ("DATABASE".equals(current) || "FULLTEXT".equals(current))) {
            return false;
        }

        return null;
    }

I isolated them 1 by 1 in a new script  and looks like:
EXEC sp_dropsubscription
from the list above, is the only problem child.

... however while figuring the above out,   i have run into a yet different problem with non-tran operation containing scripts   in  Mixed mode.   I will make a new entry for that.

Thanks - our solution to #2546 will be rather more complete, but I can certainly add sp_dropsubscription and some others that I demonstrated were also not transactionable.

Fix for this example coming in 6.0.8; for the more complete solution #2546 we are aiming at 6.1.

authors: juliahayward seb-urbaniak

repo: flyway/flyway


text:
🛑 Contaboo is down

In dbaef2f, Contaboo (https://contabo.com) was down:

HTTP code: 403
Response time: 615 ms

Resolved: Contaboo is back up in 2802b15 after 1 hour, 55 minutes.

repo: fnzv/status


text:
🛑 Contaboo is down

In 1e6489c, Contaboo (https://contabo.com) was down:

HTTP code: 403
Response time: 385 ms

Resolved: Contaboo is back up in bf97e51.


text:
Update Kurzreferenz_shell.md

Meiner MEinung ein sehr wichtiger Short-cut, den man oft brauchen kann.

"Strg - r" ist tatsächlich sehr hiflreich. Da wir den Short-cut auch oft in den Kursen vorführen, habe ich den Änderungsvorschlag übernommen. Vielen Dank!

"Strg - r" ist tatsächlich sehr hiflreich. Da wir den Short-cut auch oft in den Kursen vorführen, habe ich den Änderungsvorschlag übernommen. Vielen Dank!

authors: LukasCBossert Tillsa


text:
Multiple outputs

Right now primitive only writes one output file (except for saving frames 9caadaa),
For instance, if I want to save an svg and a png, I must do this:
primitive -n 100 -i x.jpg -o a.svg
gm convert -size 300 a.svg a.png

But what if primitive supported this,
primitive -n 100 -i x.jpg -o a.svg -o a.png

I don't know if the go flags package supports the above; if not, how about,
primitive -n 100 -i x.jpg a.svg a.png

which is probably easier to implement (but backward incompatible).

@lolilolicon flag.Var function in flag package support this:
primitive -n 100 -i x.jpg -o a.svg -o a.png

Here, a slice of output files is obtained like this [a.svg a.png], and doing a loop of it will get what you want.

authors: cvley lolilolicon

repo: fogleman/primitive

license: mit

license_source: bigquery


text:
Feature/fks 140

Added CaregiverPlanDetailsPage
Added PopupMenuList

Fixed... 👍

repo: fokus-team/fokus


text:
bug: neoconf splits URL in yamlls configuration

Did you check docs and existing issues?

[X] I have read all the neoconf.nvim docs
[X] I have searched the existing issues of neoconf.nvim
[X] I have searched the exsiting issues of plugins related to this issue

Neovim version (nvim -v)
v0.8.3
Operating system/version
Gentoo Linux
Describe the bug
neoconf automatically breaks keys with . in the configuration into an table hierarchy for lspconfig, which makes it impossible to configure schema URLs for yamlls
Using this configuration:
{
  "lspconfig": {
    "yamlls": {
      "yaml.schemas": {
        "https://json.schemastore.org/clang-format.json": ".clang-format"
      }
    }
  }
}

neoconf produces:
{
  redhat = {
    telemetry = {
      enabled = false
    }
  },
  yaml = {
    schemas = {
      ["https://json"] = {
        schemastore = {
          ["org/clang-format"] = {
            json = ".clang-format"
          }
        }
      }
    }
  }
}

Steps To Reproduce

Write the neoconf configuration as described above.
Run nvim -u repro.lua test.yaml
Run :Neoconf lsp

Expected Behavior
This configuration
{
  redhat = {
    telemetry = {
      enabled = false
    }
  },
  yaml = {
    schemas = {
      ["https://json.schemastore.org/clang-format"] = {
            json = ".clang-format"
      }
    }
  }
}

Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")
-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
	vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
	vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
	"folke/tokyonight.nvim",
	"folke/neoconf.nvim",
	"neovim/nvim-lspconfig",
	"williamboman/mason.nvim",
	"williamboman/mason-lspconfig.nvim",
}
require("lazy").setup(plugins, {
	root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
require("neoconf").setup({})
require("mason").setup({})
require("mason-lspconfig").setup({ ensure_installed = { "yamlls" } })
require("lspconfig").yamlls.setup({})

Good catch! Should be fixed now

authors: alaviss folke


text:
bug: Notification transparency displays black background

Did you check docs and existing issues?

[X] I have read all the tokyonight.nvim docs
[X] I have updated the plugin to the latest version before submitting this issue
[X] I have searched the existing issues of tokyonight.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.10.2 and 0.11.0-dev-1357+gcc38630d39
Operating system/version
Arch Linux 6.12.4
Describe the bug
If transparency is set, notifications pop up with a black background. It doesn't seem to do it using Noice, but with snacks.notifier, may be an issue with a HL group. It also does it with all 3 styles (fancy, minimal, compact) of snacks.notifier, and all styles of tokyonight (Although it's a white box for tokyonight-day)
With transparent enabled:

Disabled:

Steps To Reproduce

Run repro
Execute "lua vim.notify("hello", 5)"

Expected Behavior
Expected a transparent notification, but all I got was a black box
Repro
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

require("lazy.minit").repro({
	spec = {
		-- add any other plugins here
		{ "folke/snacks.nvim", opts = {
			notifier = { style = "fancy" },
		} },
		{
			"folke/tokyonight.nvim",
			config = function()
				require("tokyonight").setup({
					style = "moon",
					transparent = false,
				})
				vim.cmd.colorscheme("tokyonight")
			end,
		},
	},
})

Fixed in folke/snacks.nvim@0617e28f8289002310fed5986acc29fde38e01b5


text:
Default Variables for Sass Mixins

Continuing on from #64. Suggestion and quoted content attributed to @cbirdsong.
The proposal suggests that the mixins should include default variables to reduce repetitive code and become more manageable.
e.g. $fontsourceDisplay: swap !default; or $fontsourceWeight: 400 !default;.

For defaults, relying on the mixin arguments is fine for things that are likely to change each time you call the mixin, but it seems really unlikely you'd change font-display, file path and character set for each individual typeface. That feels like an advanced feature and it's good the mixin allows for it, but it introduces a lot of repetition.
I imagine the far more common scenario is someone deciding "we're using font-display: optional; and keeping our compiled files in /dist/", and those people have to repeat those instructions to each "@include fontFace` over and over again. Compare these two code blocks:

@use "@fontsource/open-sans/scss/mixins" as OpenSans;
@use "@fontsource/barlow-condensed/scss/mixins" as Barlow;

@include OpenSans.fontFace($fontDir: "/dist/node_modules/@fontsource/open-sans/files", $display: optional);
@include OpenSans.fontFace($fontDir: "/dist/node_modules/@fontsource/open-sans/files", $display: optional, $style: italic);

@include OpenSans.fontFace($fontDir: "/dist/node_modules/@fontsource/open-sans/files", $display: optional, $weight: 700);
@include OpenSans.fontFace($fontDir: "/dist/node_modules/@fontsource/open-sans/files",  $display: optional, $weight: 700,  $style: "italic");

@include Barlow.fontFace($fontDir: "/dist/node_modules/@fontsource/barlow-condensed/files", $display: optional, $weight: 600);
@include Barlow.fontFace($fontDir: "/dist/node_modules/@fontsource/barlow-condensed/files",  $display: optional, $weight: 600,  $style: "italic");

@use "@fontsource/open-sans/scss/mixins" as OpenSans;
@use "@fontsource/barlow-condensed/scss/mixins" as Barlow;

$fontsourceDir: "/dist/node_modules/@fontsource/"
$fontsourceDisplay: optional;

@include OpenSans.fontFace($weight: 400, $style: normal);
@include OpenSans.fontFace($weight: 400, $style: italic);

@include OpenSans.fontFace($weight: 700, $style: normal);
@include OpenSans.fontFace($weight: 700, $style: "italic");

@include Barlow.fontFace($weight: 600, $style: normal);
@include Barlow.fontFace($weight: 600,  $style: "italic");

The second way leads to much more maintainable code than the first. You can understand what typefaces are being loaded at a glance*, adding another weight is a simple copy/paste, and modifying the file path requires editing only a single line.

Released in 4.2.0.

@DecliningLotus Just opened https://github.com/fontsource/fontsource/issues/153 - a few suggestions there on how to fix the problem introduced by these changes

authors: DecliningLotus davidjb

repo: fontsource/fontsource


text:
cmap 4 idDelta is a signed short

I just got sent a font file which fails MS fontval validation due to problems with the cmap table. It's a CJK font and has lots of glyphs scattered around lots of codepoints.  Debugging this, I noticed one immediate problem:
https://docs.microsoft.com/en-us/typography/opentype/spec/cmap#format-4-segment-mapping-to-delta-values :
int16 | idDelta[segCount] | Delta for all character codes in segment.

https://docs.python.org/3/library/struct.html:

Format
C Type
Python type
Standard size
Notes

h
short
integer
2
(2)

H
unsigned short
integer
2
(2)

https://github.com/fonttools/fonttools/blob/cace698bb029d58cdae00603140438fe4993bfa6/Lib/fontTools/ttLib/tables/_c_m_a_p.py#L907
That should be "h", right?

yes! 'h' is for signed, 'H' for unsigned, so int16 is 'h'. Good catch! PR?

Wait a second, I think there is something more clever going on here. I think those delta array are being computed as twos-complement values. But I am still seeing cmap tables with start code - id delta < 0. Debugging some more.

indeed. cmap4 is basically the default table for most fonts (within Unicode BMP) so i'd be surprised if fonttools produced broken cmap4 tables..

The Apple specification lists it as UInt16, so MS seems to have changed this.
https://docs.microsoft.com/en-us/typography/opentype/spec/cmap
Both specs say "The idDelta arithmetic is modulo 65536". Not sure how this affects the issue.

I meant to link to https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6cmap.html, duh.

This is definitely a broken cmap table:
* FAIL MS-FonVal: The idRangeOffset is 0 and idDelta + startCode is negative DETAILS:
   * PlatID = 0, EncID = 3, Fmt = 4, idDelta[182] = -32329, startCode[182] = 12330
   * PlatID = 0, EncID = 3, Fmt = 4, idDelta[190] = -32573, startCode[190] = 12586
   * PlatID = 3, EncID = 1, Fmt = 4, idDelta[182] = -32329, startCode[182] = 12330
   * PlatID = 3, EncID = 1, Fmt = 4, idDelta[190] = -32573, startCode[190] = 12586 [code: fontval-error]

I know cmap4 is the main way we produce fonts, but I imagine there are corner cases which would only be tickled by fonts which come close to the 64k limit and jump around a lot between glyph ID and Unicode codepoint.

>>> import struct
>>> i = -100
>>> ui = struct.unpack("H", struct.pack("h", i))[0]
>>> x = 200
>>> (x + i) % 0x10000
100
>>> (x + ui) % 0x10000
100

so "the arithmetic is modulo 65536" means it doesn't matter signed or unsigned and fontval is being picky?

Wild guess: the font you're looking at would not build if idDeltaArray were "h"...

Correct - I tried that.

FWIW, an issue related to this was opened on the OT spec due to discussion and (IIUC) disagreement in an issue in HinTak's FontVal repo. That led me to investigate this further.
MS and Adobe did make a change from unsigned to signed at some point in drafting the first version of the OT spec (it was USHORT in a v0.2 draft, but changed to SHORT by v1.01). I haven't discovered why; perhaps it was because of the example that follows (which originated in the earliest version of Apple's TrueType spec) with idDelta values < 0 suggested that signed was actually intended. In fact, unsigned was not intended (and MS's rasterizer has always used USHORT), though the example was a bit misleading.
If interested, I've added more comments in the above issues, including some details I learned on the C/C++ language specifications regarding behaviours of "overflow" for arithmetic operations (and why the spec can't really be disambiguated simply by providing a C snippet to indicate the intent).

authors: PeterCon anthrotype justvanrossum simoncozens

repo: fonttools/fonttools


text:
fix for issue #12 added option to select triggers

fix for #12 added a parameter to fetchApexClassesBasedOnMultipleRegexes  fetchApexClassesBasedOnRegex to specify whether triggers should be included in the query so that the query for test classes would not retrieve any triggers.

Thanks @leboff for the pull request. Can you please confirm if you have signed a CLA with salesforce.com?

I have not

Can you please send your CLA? The instructions are available at https://github.com/forcedotcom/ApexUnit/wiki/Contribution-and-Bug-Issue-tracking

Thank you @leboff once again. I have reviewed the PR. Here is my :+1:

authors: leboff pmedapuram vamshi-sfdc

repo: forcedotcom/ApexUnit


text:
Error on mdapi:deploy asking for location of "server.key"

Summary
I have set up a Jenkins pipeline to automatically deploy to orgs using sfdx cli.
The errors which I have been having recently (they just started to happen since 21st May) is
ERROR running force:mdapi:deploy:  ENOENT: no such file or directory, open '/apps/tempjenkins/workspace/y_Package_Multi_Pipeline_develop@tmp/secretFiles/d446ee9f-22e7-4b4c-8f39-2117c88b29ac/server.key'

The authentication to the target org, which will always be performed as the first step for every pipeline job, was fine according to the log.
2019-06-28T03:01:57.428Z] + sfdx force:auth:jwt:grant --clientid **** --jwtkeyfile **** --username xxxxxxxxxxx --setalias sit --instanceurl https://test.salesforce.com

[2019-06-28T03:01:57.797Z] Successfully authorized xxxxxxxx with org ID 00D0p0000008agxxxx

JWT keyfile is supplied using withCredentials in this context.
The only workaround we could do is to uninstall sfdx and reinstall it and everything will work fine for a period of time before this error started coming up again.
Steps To Reproduce:

Try jenkins with the following snippet of code:

withCredentials([file(credentialsId: 'SIT-SECRET-FILE', variable: 'jwt_key_file')]) {
                    sh 'sfdx force:auth:jwt:grant --clientid ${sitConsumerKey} --jwtkeyfile ${jwt_key_file} --username xxxxxxxx --setalias sit --instanceurl https://test.salesforce.com'
                    sh "sfdx essentials:filter-metadatas -i ./src -o ./package -p ./src/package.xml"
                    sh(returnStdout: false, script: '''
                        if [ -d ./package/classes ]
                        then
                            sfdx force:mdapi:deploy -d ./package -u sit -l RunSpecifiedTests -w -1 -g -r \$(sh testclasses.sh ./package/classes)
                        else
                            sfdx force:mdapi:deploy -d ./package -u sit -l NoTestRun -w -1 -g
                        fi
                    '''.stripIndent())
                }

Remark: I only pasted a snippet of the problematic code here not the full code, because the full code would contain references to libraries and steps which are unique to my Jenkins environment.

Run the Jenkins job

Expected result
The mdapi:deploy command should work properly without errors.
Actual result
ERROR running force:mdapi:deploy:  ENOENT: no such file or directory, open '/apps/tempjenkins/workspace/y_Package_Multi_Pipeline_develop@tmp/secretFiles/d446ee9f-22e7-4b4c-8f39-2117c88b29ac/server.key'

The command failed with the error above without even reaching to Salesforce org.
Additional information
Feel free to attach a screenshot.
SFDX CLI Version sfdx-cli/7.13.0-27dbcb37d3 linux-x64 node-v10.15.3

@nutchanon-pho Thank you, we are tracking this bug internally as it has been reported a few times. The internal work number is W-6086098.

@nutchanon-pho Can you add sfdx force:auth:logout --username xxxxxxxx before running the JWT command? That will force it to regenerate a local auth file.

Are there any work arounds for this issue? This also affects the force:org:create command

@twaugh2020 Here is the Know Issue https://success.salesforce.com/issues_view?id=a1p3A000001SGxLQAW
It has the workaround documented

Hi,
Were you able to resolve this issue. I am facing the same issue?Please help!

Hi I've just encountered this. No changes to my jenkins file throughout the day while there were successful deployments earlier in the day. I did perform some git maintenance (merge ins from master), but shouldn't have affected Jenkins itself. One thing I noticed in output is it's trying to pull in data from a directory unrelated to the job. For example, I'm running a multi-branch Pipe that has base directory X_Partial. Jenkins is trying to reference the key file from another job titled X-Sandbox@tmp. I would expect it to pull in from X_Partial@tmp?? This is a big deal for me as it stops my ability to do any deployments. Hoping I can get to a resolution fast.

What I did to resolve this issue is putting the jwt key files inside the repository to be persistently referenced by the Jenkinsfile. This approach is highly not recommended as it is not secured. It is meant to be a workaround.

Mines odd ...

It's trying to reference the key file from a completely different project. This is prompting me to think there is a cache of sorts on that Jenkins project. Trying to delete that project's folder now.

Mines odd ...

It's trying to reference the key file from a completely different project. This is prompting me to think there is a cache of sorts on that Jenkins project. Trying to delete that project's folder now.

I did encountered something like this which is really unexpected and I suspected it might have something to do with Jenkins' way of handling files and caches itself.
Try what I recommended above on moving the JWT files inside the repository not the Jenkins. After that, try uninstalling the SFDX CLI following the steps here https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_uninstall.htm
Then, try your deployment again.

That's the last thing I want to do!! I will need to do something to move forward though. I will need to revisit tomorrow. Thanks for the pointers.

That's the same thing i have started encountering, even deleting the previous project which it is referring does not resolve the issue.

Now that(I think) cache has cleared, i am receiving below error:
RROR running force:mdapi:deploy:

An internal server error has occurred

An internal server error has occurred
An error has occurred while processing your request. The salesforce.com support team has been notified of the problem. If you believe you have additional information that may be of help in reproducing or correcting the error, please contact <a ..............

Adding the key to repository doesn't work when I use Jenkins. I have to log in to the CLI and perform the SFDX commands manually. Jenkins is the problem here. There's nothing I can do to overcome this at this time other than performing a fresh install of Jenkins I believe. It's Jenkins that's trying to reference a file in a place that doesn't exist. This really sucks.

You have to log out of the org you are authenticating to at the end of the Jenkins job and when the job starts you have to log in to authenticate. When you log out and log back in it forces jenkins to generate a new path to the JWT Key File. Here is an example that fixed this issue for me:
stages {
    stage('Deploy to DEV') {
        steps {
            withCredentials([file(credentialsId: 'JWT_KEY_CRED_ID', variable: 'jwt_key_file')]) {
                bat "sfdx force:auth:jwt:grant --clientid ${CONSUMER_KEY} --username ${PROD_USERNAME} --jwtkeyfile ${jwt_key_file}  --setdefaultdevhubusername"
                bat "sfdx force:auth:jwt:grant --clientid ${DEV_CONSUMER_KEY} --username ${DEV_USERNAME} --jwtkeyfile ${jwt_key_file}  --instanceurl ${SFDC_SANDBOX_HOST} --setalias ${DEV_ALIAS}"
                bat "sfdx force:source:convert -d PortalBilling"
                bat "sfdx force:mdapi:deploy --deploydir PortalBilling -u ${DEV_ALIAS} --testlevel RunSpecifiedTests -r ${UNIT_TESTS}  --wait 30"

            }
        }
    }

    stage('Deploy to ITEST') {
        steps {
            withCredentials([file(credentialsId: 'JWT_KEY_CRED_ID', variable: 'jwt_key_file')]) {
                echo "${PATH}"
                bat "sfdx force:mdapi:retrieve --retrievetargetdir Billing --targetusername ${DEV_USERNAME} -k ./ReleasePackages/deploymentPackage.xml"
                bat "sfdx force:auth:jwt:grant --clientid ${ITEST_CONSUMER_KEY} --username ${ITEST_USERNAME} --jwtkeyfile ${jwt_key_file}  --instanceurl ${SFDC_SANDBOX_HOST} --setalias ${ITEST_ALIAS}"
                bat "sfdx force:mdapi:deploy --zipfile Billing\\unpackaged.zip --testlevel NoTestRun -u ${ITEST_USERNAME} --wait 3"
            }
        }
    }

post {

    cleanup {
        cleanWs()
    }
    always {
        bat "sfdx force:auth:logout -u ${PROD_USERNAME} -p"
        bat "sfdx force:auth:logout -u ${DEV_USERNAME} -p"
        bat "sfdx force:auth:logout -u ${ITEST_USERNAME} -p"
    }
}

I've tried a couple versions of this, none of which produce the actual logout command AFTER it errors out. Perhaps I need a better understanding of the groovy syntax, but this just isn't working for me. I expanded on the groovy code put out by salesforce.com in the JWT Jenkins CI documentation. I'm not doing much else other than this. Any thoughts on how to force a log out? This script still produces this end result as of a moment ago:

`#!groovy
import groovy.json.JsonSlurperClassic
node {
def BUILD_NUMBER=env.BUILD_NUMBER
def RUN_ARTIFACT_DIR="tests/${BUILD_NUMBER}"
def SFDC_USERNAME
def WORKSPACE = env.WORKSPACE
def HUB_ORG_PROD='dev+ga@xxx.com'
def HUB_ORG='dev+ga@xxx.com.partial'
def SFDC_HOST = env.sandbox
def SFDC_HOST_PROD = env.production
def JWT_KEY_CRED_ID = env.JWT_SERVER_KEY
println {$HUB_ORG}
def CONNECTED_APP_CONSUMER_KEY=env.ga_partial_key
def CONNECTED_APP_CONSUMER_KEY_PROD=env.ga_prod_key
def SFDX_USE_GENERIC_UNIX_KEYCHAIN = true
def SANDBOX_TEST_LEVEL='NoTestRun'
def PROD_TEST_LEVEL='RunLocalTests'
def PACKAGE_XML = '/media/jenkins/properties/default/package.xml'

stage('checkout source') {
    // when running in multi-branch job, one must issue this command
    checkout scm
}

withCredentials([file(credentialsId: 'JWT_CRED_ID_DH', variable: 'jwt_key_file')]) {

    if(env.BRANCH_NAME == 'master'){
     stage("Upload"){
        // Artifact repository upload steps here
        }
     stage("Deploy"){
        // Deploy steps here
       }
    }

    if(env.BRANCH_NAME == 'partial'){
        stage("Authorize to Salesforce"){
            rc = sh returnStatus: true, script: "sfdx force:auth:jwt:grant --clientid ${CONNECTED_APP_CONSUMER_KEY} --username ${HUB_ORG} --jwtkeyfile server.key --setdefaultdevhubusername --instanceurl ${SFDC_HOST} --setalias ${HUB_ORG}"
            if (rc != 0) { error 'hub org authorization failed' }
        }
        stage("Convert to mdapi"){
            rc = sh returnStatus: true, script: "mkdir mdapi"
            if (rc != 0) { error 'cannot create mdapi diretory' }
            rc = sh returnStatus: true, script: "sfdx force:source:convert -d mdapi"
            if (rc != 0) { error 'cannot convert source to mdapi' }
        }
        stage("Deploy To Partial Sandbox"){
            // Deploy steps here
            rc = sh returnStatus: true, script: "sfdx force:mdapi:deploy --wait 120 --deploydir ${WORKSPACE}/mdapi --targetusername ${HUB_ORG} --testlevel ${SANDBOX_TEST_LEVEL}"
            if (rc != 0) {
                error 'Salesforce deploy and test run failed.'
            }
        }
        post {
            always {
                rc = sh returnStatus: true, script: "sfdx force:auth:logout -u ${HUB_ORG_PROD} -p"
                if (rc != 0) {
                        error 'Unable to log out of Production Org'
                    }
                rc = sh returnStatus: true, script: "sfdx force:auth:logout -u ${HUB_ORG} -p"
                if (rc != 0) {
                        error 'Unable to log out of Sandbox Org'
                    }
                //bat "sfdx force:auth:logout -u ${HUB_ORG_PROD} -p"
                //bat "sfdx force:auth:logout -u ${HUB_ORG} -p"
            }
        }
    }
    if(env.BRANCH_NAME == 'prod_validate'){
        stage("Authorize to Salesforce"){
            rc = sh returnStatus: true, script: "sfdx force:auth:jwt:grant --clientid ${CONNECTED_APP_CONSUMER_KEY_PROD} --username ${HUB_ORG_PROD} --jwtkeyfile ${jwt_key_file} --setdefaultdevhubusername --instanceurl ${SFDC_HOST_PROD} --setalias ${HUB_ORG_PROD}"
            if (rc != 0) { error 'hub org authorization failed' }
        }
        stage("Convert to mdapi"){
            rc = sh returnStatus: true, script: "sfdx force:source:convert -d mdapi"
            if (rc != 0) { error 'cannot convert source to mdapi' }
        }
        stage("Run Production Validation"){
            // Deploy steps here
            rc = sh returnStatus: true, script: "sfdx force:mdapi:deploy --wait 120 -c --deploydir ${WORKSPACE}/mdapi --targetusername ${HUB_ORG_PROD} --testlevel ${PROD_TEST_LEVEL}"
            if (rc != 0) {
                error 'Salesforce deploy and test run failed.'
                bat "sfdx force:auth:logout -u ${HUB_ORG} -p"
            }
        }
    }
    if(env.BRANCH_NAME == 'prod'){
        stage("Authorize to Salesforce"){
            rc = sh returnStatus: true, script: "sfdx force:auth:jwt:grant --clientid ${CONNECTED_APP_CONSUMER_KEY_PROD} --username ${HUB_ORG_PROD} --jwtkeyfile ${jwt_key_file} --setdefaultdevhubusername --instanceurl ${SFDC_HOST_PROD} --setalias ${HUB_ORG_PROD}"
            if (rc != 0) { error 'hub org authorization failed' }
        }
        stage("Convert to mdapi"){
            rc = sh returnStatus: true, script: "sfdx force:source:convert -d mdapi"
            if (rc != 0) { error 'cannot convert source to mdapi' }
        }
        stage("Run Production Deployment"){
            // Deploy steps here
            rc = sh returnStatus: true, script: "sfdx force:mdapi:deploy --wait 120 --deploydir ${WORKSPACE}/mdapi --targetusername ${HUB_ORG_PROD} --testlevel ${PROD_TEST_LEVEL}"
            if (rc != 0) {
                error 'Salesforce deploy and test run failed.'
            }
        }
    }

}

}`

It's frustrating.I have been into it since long.tried everything.Tried what you had said but still the same error.
#!groovy
import groovy.json.JsonSlurperClassic
node {
def BUILD_NUMBER=env.BUILD_NUMBER
def RUN_ARTIFACT_DIR="tests/${BUILD_NUMBER}"
def SFDC_USERNAME

def HUB_ORG=env.HUB_ORG_DH
def SFDC_HOST = env.SFDC_HOST_DH
def JWT_KEY_CRED_ID = env.JWT_CRED_ID_DH
def CONNECTED_APP_CONSUMER_KEY=env.CONNECTED_APP_CONSUMER_KEY_DH

println 'KEY IS'
println JWT_KEY_CRED_ID
println HUB_ORG
println SFDC_HOST
println CONNECTED_APP_CONSUMER_KEY
def toolbelt = tool 'toolbelt'

stage('checkout source') {
    // when running in multi-branch job, one must issue this command
    checkout scm
}

withCredentials([file(credentialsId: JWT_KEY_CRED_ID, variable: 'jwt_key_file')]) {
    stage('Deploye Code') {
        if (isUnix()) {
            rc = sh returnStatus: true, script: "${toolbelt}/sfdx force:auth:jwt:grant --clientid ${CONNECTED_APP_CONSUMER_KEY} --username ${HUB_ORG} --jwtkeyfile ${jwt_key_file} --setdefaultdevhubusername --instanceurl ${SFDC_HOST}"
        }else{
             rc = bat returnStatus: true, script: "\"${toolbelt}\"sfdx force:auth:jwt:grant --clientid ${CONNECTED_APP_CONSUMER_KEY} --username ${HUB_ORG} --jwtkeyfile \"${jwt_key_file}\" --setdefaultdevhubusername --instanceurl ${SFDC_HOST}"
        }
        if (rc != 0) { error 'hub org authorization failed' }

		println rc

		// need to pull out assigned username
		if (isUnix()) {
			rmsg = sh returnStdout: true, script: "${toolbelt}sfdx force:mdapi:deploy -d force-app/. -u ${HUB_ORG}"
		}else{
		   rmsg = bat returnStdout: true, script: "\"${toolbelt}\"sfdx force:mdapi:deploy -d force-app/main/default/classes -u ${HUB_ORG}"
		}

        printf rmsg
        println('Hello from a Job DSL script!')
        println(rmsg)

        post {

            cleanup {
                cleanWs()
            }
            always {
                bat "sfdx force:auth:logout -u ${HUB_ORG} -p"
            }
        }

    }
}

}

Yes it is frustrating that one day a script works and the next it doesn't when no changes were made to infrastructure and/or scripts. This is definitely an infrastructure issue specific to SFDX/Jenkins, IMHO. I'm very disappointed/frustrated to be going through this. I don't need to be spending time on this after having  just moved my whole Jenkins architecture from ANT to SFDX in October 2019 because of the Eclipse retirement. I thought I was normalized and this was in the past. Apparently not. Scripts written and tested in October were working fine up until yesterday. There has to be a reason for this. It's unacceptable that my primary deployment tool is now a glorified web server with SFDX installed. If SFDX requires a log out, then the sample script provided by salesforce.com should include just that. Jenkins right now is a brick and unusable for my practice.

The fix for this issue will be included in the patch release this Thursday, 1/9/2020.  Apologies for the delay in getting the fix out and for all the CI headaches it's caused!

I just cant believe it..i uninstalled Jenkins completely and installed it afresh with all the plugins and error still refers to the old directory that even my memory does not remember.
:\Program Files (x86)\Jenkins\workspace\Iberia_RM_Salesforce_>"C:\Program Files\Salesforce CLI\bin"sfdx force:auth:jwt:grant --clientid 3MVG9od6vNol.eBhcpvz.YQIN8SrWyA0jYXRDgp8gz7hLCdkjVb1mxmjDHwb2oqmTAXbqkcnKd840DiiMoqx7 --username niit.csingh@iberia.es.lightning --jwtkeyfile "****" --setdefaultdevhubusername --instanceurl https://test.salesforce.com
Successfully authorized niit.csingh@iberia.es.lightning with org ID 00D1q0000008aWUEAY
[Pipeline] echo
0
[Pipeline] isUnix
[Pipeline] bat
ERROR running force:mdapi:deploy:  ENOENT: no such file or directory, open 'C:\Program Files (x86)\Jenkins\workspace\LightningOrg1_LightningOrg2@tmp\secretFiles\8752fa45-3e1d-4b5c-8ce7-bf4c5f5f39f2\server.key'
C:\Program Files (x86)\Jenkins\workspace\Iberia_RM_Salesforce_>"C:\Program Files\Salesforce CLI\bin"sfdx force:mdapi:deploy -d force-app/main/default/classes -u niit.csingh@iberia.es.lightning
1108503 bytes written to C:\Windows\TEMP\classes.zip using 7480.948ms
Deploying C:\Windows\TEMP\classes.zip...

Can somebody please let me know the logic why jenkins is looking for server.key on that folder when i have uploaded it on Jenkins as global variable?

I believe this is the bug you’re seeing. I didn’t have any issues with my key being in a secret file referenced in script prior to this week. Something changed inside SFDX causing scripts to fail.
From: PseudoDarwinist notifications@github.com
Reply-To: forcedotcom/cli reply@reply.github.com
Date: Thursday, January 9, 2020 at 3:02 AM
To: forcedotcom/cli cli@noreply.github.com
Cc: cumulus-robert robert@cumulusvision.com, Comment comment@noreply.github.com
Subject: Re: [forcedotcom/cli] Error on mdapi:deploy asking for location of "server.key" (#124)
Can somebody please let me know the logic why jenkins is looking for server.key on that folder when i have uploaded it on Jenkins as global variable?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

The ONLY workaround I’ve been able to put in is revert back to my ANT scripts for deployments. ANT still works great and was what I was using for CI prior to Oct-19. The challenge here is ANT uses username/password/token and SFDX uses OAUTH JWT Headless. You’d have to have two sets of credentials in Jenkins for the interim until this gets resolved.
Nothing else, no other feedback provided here allows the SFDX script to work again in my case. It just worked one day and stopped working the next. Unacceptable in my eyes, but at least I’m no longer dead in the water.
From: PseudoDarwinist notifications@github.com
Reply-To: forcedotcom/cli reply@reply.github.com
Date: Thursday, January 9, 2020 at 3:02 AM
To: forcedotcom/cli cli@noreply.github.com
Cc: cumulus-robert robert@cumulusvision.com, Comment comment@noreply.github.com
Subject: Re: [forcedotcom/cli] Error on mdapi:deploy asking for location of "server.key" (#124)
Can somebody please let me know the logic why jenkins is looking for server.key on that folder when i have uploaded it on Jenkins as global variable?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

The fix for this issue will be included in the patch release this Thursday, 1/9/2020. Apologies for the delay in getting the fix out and for all the CI headaches it's caused!

Was the patch deployed?It was supposed to be on Thursday!!

I'm curious too. I just ran 'sfdx update' and says I'm on latest
version.Just ran my pipeline in Jenkins and continue to receive the error.
ERROR running force:mdapi:deploy:  ENOENT: no such file or directory, open
On Fri, Jan 10, 2020 at 12:28 AM PseudoDarwinist notifications@github.com
wrote:

The fix for this issue will be included in the patch release this
Thursday, 1/9/2020. Apologies for the delay in getting the fix out and for
all the CI headaches it's caused!
Was the patch deployed?It was supposed to be on Thursday!!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/forcedotcom/cli/issues/124?email_source=notifications&email_token=AB6JAJM4K76OJKGDGW4DOXLQ5AWT5A5CNFSM4H4B3KT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEITC2NI#issuecomment-572927285,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB6JAJK7R7GQYIZ2RB55IITQ5AWT5ANCNFSM4H4B3KTQ
.

--
Robert Brown
Senior Consultant
www.cumulusvision.com
Direct 415.463.1202
25 Taylor Street | San Francisco | CA  | 94102

@cumulus-robert @PseudoDarwinist, we are currently fixing the build for our installers that is causing an issue with sfdx update it should be fixed today but if you need the newest version of the CLI you can uninstall your CLI and use NPM install which does have the latest version https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_install_cli.htm#sfdx_setup_install_cli_npm

Was it fixed?Do i need to uninstall my CLI and install it again because i keep receiving the same error.

Is this resolved yet. I am still facing the same error message . Do we need to uninstall CLI and reinstall ?Also I face this error message only for a deployment to a certain SF instance and not any other instance.

hi @clairebianchi -- this issue crept back up for me. I had to rebuild my Jenkins server, but was sure to install sfdx 47.15.0 during rebuild. This was the version that scripts worked on before the rebuild. Now with the same scripts prior to the rebuild, I'm getting this:

sfdx force:mdapi:deploy --wait 120 -c --deploydir /opt/bitnami/jenkins/jenkins_home/workspace/TAN-pipe_prod_validate/mdapi --targetusername robert.brown@xxxx.com --testlevel RunLocalTests
ERROR running force:mdapi:deploy:  We encountered a JSON web token error, which is likely not an issue with Salesforce CLI. Here’s the error: ENOENT: no such file or directory, open '/opt/bitnami/jenkins/jenkins_home/workspace/TAN-pipe_prod_validate@tmp/secretFiles/ef828807-fd4d-41a0-87da-554870598fce/server.key'

robert@jenkins-4-vm:~$ sfdx plugins --core
@oclif/plugin-autocomplete 0.1.5 (core)
@oclif/plugin-commands 1.2.3 (core)
@oclif/plugin-help 2.2.3 (core)
@oclif/plugin-not-found 1.2.3 (core)
@oclif/plugin-plugins 1.7.9 (core)
@oclif/plugin-update 1.3.9 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-trust 3.0.7 (core)
analytics 1.7.1 (core)
generator 1.1.2 (core)
salesforcedx 47.15.0 (47.15.0)
├─ salesforcedx-templates 47.16.0
└─ salesforce-alm 47.14.0
The environment variables still exist that were added February. Is there any other details than can be shared to potentially overcome this?
This is a new Jenkins instance on Google Cloud Console Marketplace, Jenkins Certified by Bitnami. The previous instance was the same.

@clairebianchi - Sorry for false alarm. Was worried I'd be in another month long no Jenkins scenario at first. It seems there was opportunity in order of operations. I think because I have to install SFDX first with current version, then revert to previous version, any Jenkins project created while on current version needed to be deleted. I deleted my projects and recreated. It seems to be working again.
It is interesting however, that the default install of SFDX is producing this same behavior with Jenkins again, even with the environment variables being set for linux.

Hi @clairebianchi - I want to mention that I continue to have issues with the previous comment. Every day now, I have to reset pipes inside Jenkins because of this failure:
sfdx force:mdapi:deploy --wait 120 -c --deploydir /opt/bitnami/jenkins/jenkins_home/workspace/TAN-pipe_prod_validate/mdapi --targetusername robert.brown@xxxx.com --testlevel RunLocalTests
ERROR running force:mdapi:deploy: We encountered a JSON web token error, which is likely not an issue with Salesforce CLI. Here’s the error: ENOENT: no such file or directory, open '/opt/bitnami/jenkins/jenkins_home/workspace/TAN-pipe_prod_validate@tmp/secretFiles/ef828807-fd4d-41a0-87da-554870598fce/server.key'
Because I have a workaround (deleting and recreating project), it's not urgent but do want to figure out as I have have to delete and recreate projects every day now inside Jenkins.
I'm struggling to understanding why this is happening.
Has anyone seen anything like this. It can be recreated daily. Is there any additional pointers you or team have to address this?

@cumulus-robert can you open a new issue and reference this one? That will bubble this up to the top and we can take a look. I have not heard of this happening to anyone else, sorry it is an issue again.

@clairebianchi
we are experience the exact same issue. Just freshly installed the latest SFDX Cli on a new t3.medium AWS Linux 2 Server.
Build ran perfect for 20 runs or so. Then suddenly this error is popping up.
/usr/local/bin/sfdx force:mdapi:deploy --targetusername jenkins@deloitte_sf_project.com.test --deploydir mdapi/target/src --testlevel RunLocalTests --json --ignorewarnings
{
"status": 1,
"name": "JwtGrantError",
"message": "We encountered a JSON web token error, which is likely not an issue with Salesforce CLI. Here’s the error: ENOENT: no such file or directory, open '/var/lib/jenkins/workspace/SF_Project@tmp/secretFiles/4f5a2156-a68c-4d6a-97aa-e4f0215ebb8b/server.key'",
"exitCode": 1,
"commandName": "MdapiDeployCommand",
"stack": "JwtGrantError: We encountered a JSON web token error, which is likely not an issue with Salesforce CLI. Here’s the error: ENOENT: no such file or directory, open '/var/lib/jenkins/workspace/SF_Project@tmp/secretFiles/4f5a2156-a68c-4d6a-97aa-e4f0215ebb8b/server.key'\n    at Function.create (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/@salesforce/core/lib/sfdxError.js:141:16)\n    at fsReadFile.then.then.catch.error (/usr/local/lib/sfdx/node_modules/salesforce-alm/dist/lib/core/force.js:201:32)\n    at tryCatcher (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/util.js:16:23)\n    at Promise._settlePromiseFromHandler (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/promise.js:517:31)\n    at Promise._settlePromise (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/promise.js:574:18)\n    at Promise._settlePromise0 (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/promise.js:619:10)\n    at Promise._settlePromises (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/promise.js:695:18)\n    at _drainQueueStep (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/async.js:138:12)\n    at _drainQueue (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/async.js:131:9)\n    at Async._drainQueues (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/async.js:147:5)\n    at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/sfdx/node_modules/salesforce-alm/node_modules/bluebird/js/release/async.js:17:14)\n    at runCallback (timers.js:705:18)\n    at tryOnImmediate (timers.js:676:5)\n    at processImmediate (timers.js:658:5)",
"warnings": []
}

Can anyone let me know what is final resolution for the issue ??
ERROR running force:mdapi:deploy:  ENOENT: no such file or directory

@clairebianchi can you please let me know what is the final solution for the issue as its very very urgent for me to solve the below error
ERROR running force:mdapi:deploy: ENOENT: no such file or directory

@pawan22sfdl @ThomasCreemers This ticket is closed. You may want to either create a new one for yourself and/or add to the one I created the other day (https://github.com/forcedotcom/cli/issues/363). This is actually the second time in 3 months I've experienced this issue with Jenkins/SFDX. It seems to me there are environmental issues with SFDX. I'm getting nowhere with Jenkins / Bitnami. Everything leads to SFDX being the culprit. I'm about to go back to my ANT solution in Jenkins as SFDX is still not ready for continuous integration, IMHO. Or, at very least platform testing for solutions like Jenkins (or other pipeline tools) isn't rigorous enough prior to a new SFDX version release. I had to go back to version SFDX version 47.0.15 as the default install of SFDX WILL NOT work. I immediately get this error. If I go back to version 47.0.15, I at least have a partially working solution. I can go a day without getting the error, but then have to perform maintenance on Jenkins server in order for scripts to work again.

Doing the following fixed this issue for me:

wrapping all stages in withEnv
wrapping all stages in withCredentials
adding force:auth:logout --noprompt -u username prior to force:auth:grant

authors: PseudoDarwinist ThomasCreemers bobteplitsky clairebianchi cumulus-robert karanjakrpushkar nutchanon-pho pawan22sfdl shetzel tnoonan-salesforce twaugh2020

repo: forcedotcom/cli


text:
add license

it's a very interesting project!
Would you consider adding a license to this repository to specify under which terms this code can be used or if it's possible to consider adding a permissive license?

I just opened a PR to add the same license as on all our other projects :) #106

thank you. 👍

authors: SkyBulk flemzord

repo: formancehq/control


text:
select options not created

Reproduction
https://formkit.com/playground?fkv=latest&fileTab=Playground.vue&files=jc[('name!'PWyground.vue'~editX!'<scrip6setup3%2F%2F+CSditiSally+updat8H+oTa+q6inpu6based+S+th8valu8oTanother+input.00impX6(jf%2CN+)+fromJvue"xE9jf{(kxfGs9N{{}9>ZiT{E.value.food9%3D%3DJQ"}ZBChocoWte4VanilWL0*)0BPepperSi4CheeseL0kAscript30<O*<M6wfXm1+v-model5E13**2oodRoodUYPizza4QL_*2GRGUfGs_AMt3AO0<styl8scoped3Astyle3'~added!true)]*++0\n1\'2<Mt0***wqt7*Wbel5F3>04"%2CJ5%3D16t+710**8e+9+%3DA<%2FB*return+YEfXmDataGWvXHoptiSsJ+"L"]MFXmKiN+computedOtempWte3QIc8CreamR7*name5fSonTf+U7*%3AH5WlaXorY["Z+(0*_7%2F3*j+rek)}0qselecwtype5x0cSs6xwqkj_ZYXWUTSRQONMLJHGEBA9876543210*_&imports=jc('name!'ImportMap'~editor!'(*+1vue\!1https%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fvue%403%2Fdist%2Fvue.esm-browser.min.js0*)*')*\n0\'1+010*_&css-framework=genesis
Describe the bug
The problem is as follows:
I dynamically populate a select dropdown using the method shown in the linked example.
:options="flavors"
Where flavors is a computed property.
I have the necessity to allow opening the basically same GUI a secondary time in another browser tab.
In my example, when I do option population as illustrated in the linked example in my base-Tab, the select gets correctly populated with options.
Now opening the secondary tab2, reloading the App there.
I copy the options-creating data from base-Tab to the newly opened tab2.
But now, the options don't show up in the new tab2's select dropdown.
I can verify, that methodically everything seems to work:
I start approaching the error with:
:options="['Monaco', 'Tuvalu']"
I see the options for the select in both browser tabs correctly then.
I change this in the vue-code to:
:options="select_roomc"
Relevant App.vue snippet:

{{select_room}}
(...)

(...)

Now I call in context of tab2:
setPreSelect("select_room#OPTNAME1")
This sets (in tab2) the data selected_room to ["OPTNAME1"] which I can verify by inspecting {{selected_room}}
I also see, that the "calculated" function is being called as it set's the tab2 document's title to 1.
But: the OPTNAME1 doesn't occur in tab2 select dropdown box.
Any suggestions why that happens?
Best regards,
Richard
Environment
• OS: [e.g. iOS] Debian 20.04
• Browser [e.g. chrome, safari] Firefox, Chrome (both current version)
• Version [e.g. 22]

Solved the issue. The problem occurred, because of the following:
I had initialized data as:
data: () => ({
(...)
select_room: []
}),
After opening the new tab, I transferred the data by reading the old tabs "select_room" entries and pushing them to the new tabs "select_room". That ended up as described with the options not showing up in the select.
I could solve the issue by doing the following: Before transferring the first element of "select_room", I code-wise reinitialized the "select_room" in the new tab: this.select_room=[];
Then, I proceeded to transfer the data by reading from old tab and pushing to new tab. This made the options occur as expected.
Sorry for any inconveniance and best regards,
Richard

repo: formkit/formkit


text:
Forseti client stuck after model create completion on server

Hi,
We are using version 2.25.1.
We are able to create a model, however forseti client is unable to get response back from server after successful model creation and hence doesn't make model use call.
Due to this, rest of the process (scanner run, notifier run) doesn't execute.
Here is our command execution:
   run_forseti_cmd inventory list
   run_forseti_cmd model list

   # Purge inventory older than 0 days (all)
   run_forseti_cmd inventory purge 0

   # Remove the previous “model_adhoc” if it exists
   run_forseti_cmd model delete model_adhoc

   # Create new inventory and load into new ad hoc model
   # Model name can be anything, randomly using “model_adhoc” here
   run_forseti_cmd inventory create --import_as model_adhoc

   # Use the model for subsequent violations scan
   run_forseti_cmd model use model_adhoc
   run_forseti_cmd scanner run

   # Notify violation results (to GCS bucket, CSCC and/or via email etc)
   run_forseti_cmd notifier run

We are running it on production, and have been trying to get this working for almost a week now. Any help is greatly appreciated.
Thank you,
Abhishek

This issue has happening while Forseti is running as a Docker container on AWS, which is not a supported scenario. Will leave the issue open if any contributors would like to troubleshoot and provide a fix.

Closing it.

authors: abhishekupadhyaya gkowalski-google

repo: forseti-security/forseti-security