resolveAssetSource return only the filename without extension and path in Android bundled mode

Hello,
When using images outside of a react component (for HTML to PDF) , I have to get their URI so I do resolveAssetSource(require('../../../../assets/images/reports/logo.png').uri);
When packager is running, resolveAssetSource returns me the correct URI like http://<IP_ADDRESS>:8081/assets/assets/images/reports/mood_happy.png?platform=android&hash=f71c0a3b0aaa798d7c88815295081063 and the image is displayed correctly.
When I use a bundled version of my react native code and assets : it instead only returns me assets_images_reports_mood_happy
Environment

Environment:
OS:  macOS Sierra 10.12.6
Node:  8.9.1
Yarn:  1.3.2
npm:  5.5.1
Watchman:  4.9.0
Xcode:  Xcode 9.0 Build version 9A235
Android Studio:  2.3 AI-162.4069837

Packages: (wanted => installed)
react: 16.2.0 => 16.2.0
react-native: 0.53.0 => 0.53.0

Expected Behavior
Return the correct URI to the asset in bundled mode
Actual Behavior
Returns only the filename without path nor extension

Have you reproduced this on 0.54?

I have the same problem with 0.44.0 and 0.53.0. Do you know in which version this is supposed to work properly?
thanks

I have the same problem. any solution?

Well, the topic has been closed for no reasons. The problem resides in metro bundler itself, it doesn't manage subdirectories but flattens path with underscores. You can have a look at haul packager it somehow works. I have found issues and a developer is supposed to provide a fix.
In the meantime, to workaround this issue, I copy manually in android/app/build/intermediates/assets/debug(release) my assets with subdirectories, and use the assetmanager to read files. everything is relative to assets dir.
hope that helps

@hramos reproducible with RN 0.56. Reopen?
If need, i can create repo or expo snack, but all info is here.
@remicoges @windev92 @TiagoCoelhoB
First of all, this is not a bug or metro bundler problem.
Real cause is that Image.resolveAssetSource (react-native/blob/master/Libraries/Image/resolveAssetSource.js) in android release builds returns resource identifier instead of file path (see react-native/Libraries/Image/AssetSourceResolver.js:80).
So that any non-native rendering (like webview / html) can't use resolved identifier "as is".
But there is a "workaround": assets and resources are accessible using file:///android_asset and file:///android_res (info from official android docs).
So in my case it worked as:
// ./utils/getAndroidReleaseImageURI.ts
// require'd image returns resource identifier in uri on android
// see react-native/Libraries/Image/AssetSourceResolver.js:80
const androidDrawableResPath = `file:///android_res/drawable`;
const getAndroidReleaseImageURI = (sourceURI: string) => `${androidDrawableResPath}/${sourceURI}`;

// ./Component.tsx
...
import { Image, Platform } from 'react-native';
import getAndroidReleaseImageURI from './utils/getAndroidReleaseImageURI';

const isAndroidRelease = (Platform.OS ==='android' && !__DEV__);
...
render() {
  const image = Image.resolveAssetSource(require('./rn-required-image.png'));
  const uri = isAndroidRelease ? getAndroidReleaseImageURI(image.uri) : image.uri;
  return (
    <Webview
      html={`<html><body><img src="${uri}"></body></html>`}
    />
  );
}
...

It doesn't work with run-android in release mode (set from rn android developer config), but production build is ok.
As fast fix for run-android - for example, check if resolved uri not to be url to remote file or file with extension from drawableFileTypes (react-native/local-cli/bundle/assetPathUtils.js:38) before call to getAndroidReleaseImageURI
const drawableFileTypes = new Set([
  'gif',
  'jpeg',
  'jpg',
  'png',
  'svg',
  'webp',
  'xml',
]);

But, of course, it could be much better, if it will work "out-of-the-box".
@hramos
As i see, it need to be fixed inside AssetSourceResolver.defaultAsset (react-native/Libraries/Image/AssetSourceResolver.js:80) but not sure, if it affects somewhere else.

@ponomarevv can you submit a new issue?

@remicoges @windev92 @TiagoCoelhoB
First of all, this is not a bug or metro bundler problem.

If you read my last response, I explain you it is a problem with metro bundler and haul can do the job.
The fix is metro javascript code as you said, but there is unfortunately a tendency in the project to close issues asap. Please let me know if you manage to convince anyone to release fixes. I'm still deploying everything without metro and use relative paths...
KR

Are there any official solutions for this yet?
I tried @ponomarevv solution on an Android release build to save a bundled image to CameraRoll with CameraRoll.saveToCameraRoll but it's not working :(


Avoid Repeatation of background in adapter

I am trying to use android:background="@drawable/box_edittext2" but it did not work and If I try to to put this in JAVA it repeat the background for each row ... is it possible to put adapter's row background different and NiceSpinner Background differnet

It's not possible right now, I'll give a look into it.

That's not supported right now, but feel free to open a PR. :)


Implement setChild(element) via Facebook React library

Should this significantly improve performance?
Description of FLUX / React
https://www.youtube.com/watch?v=nYkdrAPrdcw&list=PLb0IAmt7-GS188xDYE-u1ShQmFFGbrk0v#t=638
http://www.infoq.com/articles/reactjs-codecademy

The approach was used in the development of SmartGrid but otherwise YestedFW does not seem suitable for React library.


Create Project > Created Project is not displayed (user role: Project manager) on the projects listing page

Describe the bug
Create Project > Created Project is not displayed (user role: Project manager) on the projects listing page
Steps to Reproduce

Register user with roles i.e. ProjectManager
Login
Click on  Create New Item > Select Project menu > Enter project name
Click on the submit button
View Project listing page

Expected Result
Created Project should be displayed.
Actual Result
Created Project is displayed after refreshing the page.
See video :
https://drive.google.com/file/d/1J6LRbvviPW_e2owBtdTT4q3eVGiwZOQ7/view?usp=drivesdk
cord-field#  6c0299b7

Duplicate of #547


Command Line usage crashing on example from README.md

I copied the example from the readme into the attached test.txt and tried to run my installation in command line mode using:
python linear_algebra.py -o latex test.txt

but it appears to crash
Creating parser...
------------ 9.79 seconds ------------
Traceback (most recent call last):
  File "linear_algebra.py", line 32, in <module>
    for input in args.input: compile_la_file(input, parser_type)
  File "/Users/ajx/Repos/iheartla/la_parser/parser.py", line 289, in compile_la_file
    type_walker, start_node = parse_ir_node(content, model)
  File "/Users/ajx/Repos/iheartla/la_parser/parser.py", line 213, in parse_ir_node
    start_node = type_walker.walk(model)
  File "/Users/ajx/opt/miniconda3/lib/python3.8/site-packages/tatsu/walkers.py", line 18, in walk
    return walker(node, *args, **kwargs)
  File "/Users/ajx/Repos/iheartla/la_parser/type_walker.py", line 237, in walk_Start
    type_info = self.walk(stat_list[index], **kwargs)
  File "/Users/ajx/opt/miniconda3/lib/python3.8/site-packages/tatsu/walkers.py", line 18, in walk
    return walker(node, *args, **kwargs)
  File "/Users/ajx/Repos/iheartla/la_parser/type_walker.py", line 495, in walk_Expression
    value_info = self.walk(node.value, **kwargs)
  File "/Users/ajx/opt/miniconda3/lib/python3.8/site-packages/tatsu/walkers.py", line 18, in walk
    return walker(node, *args, **kwargs)
  File "/Users/ajx/Repos/iheartla/la_parser/type_walker.py", line 1155, in walk_Factor
    node_info = self.walk(node.op, **kwargs)
  File "/Users/ajx/opt/miniconda3/lib/python3.8/site-packages/tatsu/walkers.py", line 18, in walk
    return walker(node, *args, **kwargs)
  File "/Users/ajx/Repos/iheartla/la_parser/type_walker.py", line 679, in walk_Summation
    ret_info = self.walk(node.exp, **kwargs)
  File "/Users/ajx/opt/miniconda3/lib/python3.8/site-packages/tatsu/walkers.py", line 18, in walk
    return walker(node, *args, **kwargs)
  File "/Users/ajx/Repos/iheartla/la_parser/type_walker.py", line 552, in walk_Multiply
    return self.make_mul_info(left_info, right_info)
  File "/Users/ajx/Repos/iheartla/la_parser/type_walker.py", line 557, in make_mul_info
    ret_type = self.type_inference(TypeInferenceEnum.INF_MUL, left_info.ir, right_info.ir)
  File "/Users/ajx/Repos/iheartla/la_parser/type_walker.py", line 1705, in type_inference
    left_line = left_info.parse_info.buffer.line_info(left_info.parse_info.pos)
AttributeError: 'ParseInfo' object has no attribute 'buffer'

Am I calling this correctly?

The way you call that is correct.
I can generate the output using your command and input. I use Python3.7 and Tatsu 4.4.0
What's the version of Tatsu on your computer? Is it version 5.5.0?

Please update the code, it should work now.

I'm not sure whether it's related to TatSu module. It ran correctly on my local system(Python3.7+Tatsu4.4 and Python3.8 +Tatsu5.5).  Can you try this demo? tatsu_test.py.txt
It's a very simple demo with TatSu. If python tatsu_test.py.txt can generate output like this, then TatSu module should be fine.

Here's what I get:
Python version
3.7.9 (default, Aug 31 2020, 07:22:35)
[Clang 10.0.0 ]
Version info.
sys.version_info(major=3, minor=7, micro=9, releaselevel='final', serial=0)
version: 4.4.0
compile ['3', '+', ['5', '*', ['(', ['10', '-', '20'], ')']]]

It's very strange. Python3.7.9 still works for me.

Based on the output, the parser is created successfully. I don't know why it fails to parse since the input is already very simple.
∑_i a_i b_i
where
a_i: ℝ
b_i: ℝ

The simplest input would be a=2, the program may fail to parse this either.

I encountered a similar problem before.
But in that case, TatSu module is completely not working.

Fixed with newer release versions.


Add BasePaginator#fetchWhile

This allows the callback to stop paginating before the limit is reached

:+1:


Kernel boot logo

Steps to reproduce issue
Connect to the HDMI connected to a monitor
Boot the device
Expected result
The tux (linux) logos should not be visible on the screen
Actual result
black screen, nothing output
Other information
Reported by: Shaun Mulligan
Test configuration: Odroid C1
Test case number: TC08
Test run: https://resinio.testlodge.com/projects/16238/runs/230391?tab=2&run_section_id=253460&executed_case_id=10655804#executed_case_10655804

This issue was moved to resin-os/resinos#434


fix: added missing  RefundStatus.Pending

waiting for nuget updated

Published https://www.nuget.org/packages/Yandex.Checkout.V3/4.0.0


Lesson on using AWS pricing helper

Hello,
Not very tech savvy and I don't know where or how to start using the add-on. Is there any youtube videos or other manuals that can help me understand?
Thanks,
Trevor

It would be good to note that the arguments to the functions should be cell addresses and not string literals. (at least that is what I found)

Yes, this add-on helps to make your calculation sheet with cell addreses :-)


Major rewrite question

Hello @johansatge
First let me say thank you, your library worked out of the box and I managed to do with it what I wanted to. But the more I worked with it the more I stubbed my toes on limitations and work arounds I had to do in my code, so I just for fun started messing around with it for a little while.
Well that has balooned into a major rewrite: https://github.com/ChristianRiesen/workflowy-php/tree/welcome-to-2020
I even contacted the workflowy support to ask some pointed questions and they have been very helpful with answers, which led to some more good updates to the library.
The question now is would like me to make a PR with this rewrite to your repo, or would you prefer for me to have this as a completely new fork keeping it on my repo and make it under a new namespace and package name on packagist?
I'm fine with either, but thought I'd ask you first since you did all the heavy lifting to make it work in the first place, for which I would like ot thank you again.
PS: It's not done yet, and I'd like to add some tests as well, but you can see it breaks pretty much everything in the old code.

Hi!
I started reading the code and I will need more time to dig into it, but I can already tell you: this looks awesome! Thanks a lot for your interest in this project!
Working in johansatge/workflowy-php sounds good to me, so feel free to open a PR.
I could also invite you as a contributor in the repo if you want to keep on maintaining it later. As you probably noticed I didn't have much time myself to do so in the few last years 😅
Thanks again for your work!

Life keeps us busy I completely understand. I only picked this up because I wanted to use WorkFlowy within my personal API project to add items automatically to a todo or a shopping list. I found your library trhough some post on the official workflowy support page and after it did what I wanted and I found it kludgy to do what I wanted, I started altering it and pulling on threads.. well then this thing on my branch happened over time :)
The major thing is that it requires PHP 7.4 now. And then next is the whole interaction is different. All the hard work is done inside the client class, and most other classes are just value objects more or less.
So I'll finish up the changes to export and see that I can at least make sure that php cs fixer is happy and maybe dial back phpstan to a level that is acceptable as well. Once that is done I'll make a MR. Maybe add a test or two.

I always feel like an archaeologist doing this... seems like half the things I google fall into the category of "someone else also once needed that but no longer does"...
You two still alive? Is this repo something that would have to start again with changes to WF or maybe not?
Hope you're doing well 3 years later. :)

@fractaloutlook I have a couple more local commits but frankly things changed so much, I haven't been active on it. What I used it for was a scanner that allows me to scan local grocery items UPC, an API then fetches product data and based on those responses it adds the item to my "Shopping List" on Workflowy. That broke a while ago and I've been swamped like hell since then to fix it.
I do have a little time coming up where I could fix some of it, but I think I will focus on getting base stuff going again (like add a new item) and ignore all the new bells and whistles. And then if you want you could go from there if you have a deeper need that is not covered. Or whats your use case? I could see if I can add that as well.
Also for some reason this notification went into my spam into which I almost never look, so great coonicidence I saw it after only 2 days.

@fractaloutlook I just checked and my local branch seems to be still working fine for at least adding new items (shopping list usage). The problem is the login, that is fully broken. I joined the Workflowy Slack and will poke them about it. There is some kind of API key, but not sure how to apply it. Maybe I can get some response from them next week about it and update it.
However, in the meantime, if you look into your cookies for a session id, you can use that to login with the PHP library still. Those (if memory serves right) have however a lifetime of 1 year from when you logged in and then expire, server side. If that is good enough for your use case right now, then go for that. I'll keep looking into the API key thing.

Hey hey! sorry I missed your Aug 14th reply entirely there... so busy busy... job hunting. Thanks so much for the replies here!
So the use case might even be something you'd use given your other phone app thing, if you're still using workflowy regularly! I've made an android app that takes control of the down-volume button such that when you hold it down it records audio, when you let go it stops, transcribes speech to text, and then updates a file in your google drive with the new voice note added as an item in the list with a timestamp. Each day has its own file in the folder, etc. This works even when your phone is LOCKED (if you have always on display on at least for the dim clock/notifications), and in real-time. You don't even have to take your phone out of your pocket if talk loud enough. XD
I've currently got a Plugin for Obsidian that polls that file frequently and updates an Obsidian note, which is well and good if Obsidian is your jam for a daily... but my IDEAL case would be real-time updates to a specific branch in my workflowy, since it's more capable as a speedy little note-taker to use elsewise for a lot of reasons.
The app is really just for personal use, so I'm down with some janky stuff for sure -- something like grabbing a new session cookie now and again I can likely automate within the app. Two things tho:
1 - "look into your cookies for a session id" <--- web code is not my jam... where would I even look and how would I find this session ID?
2 - Would I need a session ID from the mobile browser or would a PC chrome one be ok also? Servers probably don't much care as long as it's a valid session, but wasn't sure if that would be tied to device or broswer, etc.

I (thankfully, really) can't smoke indoors at my computer desk, so I have to go walk outside. All of this has been effort spent to help me very easily and simply take notes on what I think about while smoking. There are many voice recorder apps, but none I've found that allow you to use your phone like a microcassette recorder without unlocking it, and I'll spend any amount of effort to make it easier for me to be lazy!
thanks again for being there and checking up on the api thing with them (pretty rad there's a workflowy slack you are allowed in? Is that the devs or just a community thing?)
cheers,
-Tim

@fractaloutlook Cheers Tim, I just had that experience of job hunting the last 3 months. Good luck!
Simple first: Workflowy slack is linked on https://blog.workflowy.com/workflowy-community/ where searching for slack you find it instantly. It's a user group kind of slack, but the devs are active in there. Also post new updates etc.
So to use it, you have to use my branch: https://github.com/ChristianRiesen/workflowy-php/tree/welcome-to-2020
In composer I simply add this at the root level:
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/christianriesen/workflowy-php"
        }
    ],

And then select the branch
"johansatge/workflowy-php": "dev-welcome-to-2020",

That way I can test it as if it was really released. Keep in ind that will break once that gets merged, probably into a 1.0 version in here.
Then you need the session id. You can use the one from your browser. If you use chrome, be on the workflowy page and logged in already. Then hit F12, Go to the tab "application", open "cookies" on the left, then select the workflowy domain. There you see a list of cookies. Look for the one named "sessionid" and copy the value to the right. See the red box in the picture (blanked out so nobody can steal my stuff of course :) )

That id, save it somewhere and use it to connect with the library. Just directly supply it when instatiating the main class and it will work fine. It does have a shelflife though, which brings me to another point.
There is an "API", which as I'm told only allows you to add new items to an existing item, which can be accessed via an API key. You can generate that once and it will be valid as long as you don't explicitly delete it. However that's about as far as I know right now in useful info. I think I will make a mini library just for that in PHP as soon as I see how that's done. Which would solve your case and basically my case as well already. So keep an eye on here, I will post it as soon as I have it. But I need more info first and maybe I can get it next week when the workflowy devs are working again after a well deserved weekend.
And by the way, that sounds like an awesome app. Android? I would love to have that. Currently using a simple voice recorder (Zoom H1n) and transfer them by hand as I could not find a good app to do it on my phone. Then dump the audio files in a folder where a docker container grabs them, transcribes and does all the rest of the magic I want it to do. Pushing it to workflowy would actually be a wonderful use case! But yeah, without it running stable I didn't want to move to another workflow yet. So if you ever put your app out there, let me know, I'd pay good money for it too.

Ok, I think I just made the thing work and it's so damn simple @fractaloutlook

Get your API key, after logging in, on https://workflowy.com/api-key/ and make sure it's safely stored somewhere. You can always go to the url and kill it again, but this will not expire any other way.
Go to your item into which you want to post in your browser, so that item is the topmost title on the page. Your url will be something like https://workflowy.com/#/abc123abc123 so make a note of that.
Make a POST http request to https://workflowy.com/api/bullets/create/ and send the header "Authorization" and as content "Bearer YOUR-API-KEY". Very important to have that Bearer in there or it wont do. As the body, send a JSON (and header that you send json) that looks like this:

{
    "new_bullet_id": "68a1e403-8b5d-4b5a-8c85-29ab2a13684b",
    "new_bullet_title": "Title or basic line item in workflowy",
    "new_bullet_note": "The description part that is below an item",
    "save_location_url": "https://workflowy.com/#/abc123abc123"
}

For new_bullet_id send a random UUIDv4, you can generate them however you want. In new_bullet_title is the usual content of your item. If you just make a new one in Workflowy that's where you write the stuff into. With new_bullet_note you have the description field, the extended stuff you can put below an item that moves with it if you do something to the item. You can leave that line off entirely if you want. And lastly save_location_url which is the url from step 2, where you want the item to be added.
This will return a 200 code with a JSON that has what you sent in it, plus the url, and note from the save location item that you posted into. Also contains the url that that new item you generated in case that is useful for your use.
Don't think that even warrants it's own library right now. I just implemented it within my application (symfony framework API) within a simple class of a few lines. I suspect the API is sort of unofficial and used by integrations like Zappier so relative stable and they want to keep it working otherwise suddenly all the zappier stuff would stop working. Good enough for my use and probably also for yours. I mean you could even create an item per day, save that url somewhere and then have the notes of that day in that new day you created, etc. Lot's of possibilities with that one.
If you want a simple client library, let me know and I knock something out. Might make something anyways in case I can get more detailed documentation on the API and expand that out.
To give proper credit, this is not based on my genius, but I stumbled randomly over this repo that has the details in the code for doing that one thing: https://github.com/cameronapak/workflowy-inbox
There is also a profile info, which is just the email when I call it so far.

@ChristianRiesen  - yep that seems like it'll be easy enough to have each day be it's own bullet and generate a new one if there isn't one... which I can likely test for (if even just not getting a 200 code with JSON back)... It's 6:40am here so I gotta sleep, but I'll try to look into this further tomorrow or the next day! I knew that Zapier api was what I needed but I couldn't find a SOUL talking about it last time I went hunting (a couple years ago now I believe.)
Will get back to you if I make progress or for some reason get stuck! Thanks for all the help once again.

Thanks again sir...  I got power-distracted into a a spiral of infinite distraction (lol username checks out) trying to get a portfolio website up and rolling and everything that it entails. I will definitely be returning to this when I fire up the project once again hopefully this week.


openmp pragma break hover

When inspecting a for loop prallelized with openmp, code hover are not shown (code completion works though).
Putting the mouse over the variable th_num in the following code doesn't hover its type.
Removing the pragma or simply comment it solves the issue
#pragma omp parallel for
for (int i = 0; i < count; ++i) {
    int th_num = omp_get_thread_num();
    printf("thread number %d", th_num);
}

System information
Output of clangd --version: 11.0.0
Editor/LSP plugin: vscode/clangd
Operating system: windows (remote ssh on centos 7)

I'm going to forward-dupe this to #1640. The workaround described in this comment is applicable here too.

Duplicate of #1640


Suggestion for custom forms: pass all formData down to nested form groups

Currently, I have a form that uses many groups with query select fields. One difficulty I have come across is trying to access a variable that is present in the root of the form, from inside of a group item, like in this form:

The field Categoría de producto has a key called product_category_id, and in my Specs group, the Spec field is controlled by a query, which has a product_category_id variable. The problem is that because the Spec field is inside a group, it cannot see the product_category_id variable, so the query select in Spec always thinks that there is no product category.
Could it be possible for all nested fields to see variables that are further up in the form? Maybe if there is a field inside the group that has the same name as a variable in the root of the form, it can override its value for that group

thanks @dantevvp, it has been implemented in the newest version:
https://rubygems.org/gems/motor-admin/versions/0.1.75


License?

What license is this library over? Looks great!

Thanks for the question.
I added the MIT License.

Thank you, closing!


Add organisation support

I tried but it blew up.  It shouldn't take much to be able to create the repo under a specified organisation, rather than under an individual account.

+1 - can't use this myself until org support is added.

I've done this by creating it in my personal account first and then transferring it to the org.

I've added org support in  https://github.com/pyupio/statuspage/commit/f911e29e8a815de2030b99a008472c449ea7c5fa
You basically just add --org=your-org to the create/update command.


I love the lib!

Thanks for writing and maintaining this incredibly useful library.  I recently ran into a situation where I need to be able to control my serialization dynamically outside of just using URL params. One suggestion that I had for improving this library would be to encapsulate the acquisition of your include and omit lists into it's own method (or set of methods) so that it can be overridden by subclassing (if, perhaps, you wanted to use a different url parameter or even a whole different source, such as the serializer context).  That's what I did in my current project.
Cheers!

Hey thanks! I'll admit I'm having some trouble following your suggestion. Are you able to give a real life (or realistic) example so I can get it clear in my mind?
would it be something like adding:
def get_omit_params(self):
and
def get_filter_params(self):
rather than what's happening here: https://github.com/dbrgn/drf-dynamic-fields/blob/master/drf_dynamic_fields/init.py#L51


I do not understand the sample code in this page

I do not understand the sample code in this page.

Why do I pass a lambda: 0, which is an anonymous function that returns 0, to context.get_state()?
What does context.get_state() return to current value? In the example we assume the value is an integer, but where did we state that it should be an integer?
What if I want to store a different type, like a dictionary?

import azure.functions as func
import azure.durable_functions as df

# Entity function called counter
@myApp.entity_trigger(context_name="context")
def Counter(context):
    current_value = context.get_state(lambda: 0)
    operation = context.operation_name
    if operation == "add":
        amount = context.get_input()
        current_value += amount
    elif operation == "reset":
        current_value = 0
    elif operation == "get":
        context.set_result(current_value)
    context.set_state(current_value)

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

ID: 87e12177-bb3a-d00c-99a5-422e00f9b03f
Version Independent ID: 2fa1cf0d-2a5f-2fb0-ef25-bccfac3279fd
Content: Durable entities - Azure Functions
Content Source: articles/azure-functions/durable/durable-functions-entities.md
Service: azure-functions
Sub-service: durable
GitHub Login: @cgillum
Microsoft Alias: azfuncdf

@danielniccoli
Thanks for your feedback! We will investigate and update as appropriate.


INSTALLED_APPS bootstrapform should change to 'bootstrap4form'

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Can you give details about the problem here? bootstrap4form only applies to the development work on master, not the 0.2.x release.

yes. and the world is not about development branch? 发自我的华为手机-------- 原始邮件 --------发件人： Garret Wassermann<EMAIL_ADDRESS>2020年8月17日周一 下午3:07收件人： django-helpdesk/django-helpdesk<EMAIL_ADDRESS>wml1993<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>  题： Re: [django-helpdesk/django-helpdesk] INSTALLED_APPS bootstrapform should change to 'bootstrap4form'  (#857)
Can you give details about the problem here? bootstrap4form only applies to the development work on master, not the 0.2.x release.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

this issue is addressed as part of #878 so will close this issue. thanks!


Gherkin tests: Any way to use a glob pattern in the gherkin -> steps array config property

Hi,
It would be great to be able to pass a glob pattern in the steps property of the gherkin configuration section.  Having to include an explicit list of all steps is very cumbersome and can lead to error and missing steps especially for a large project that wants a file per step.
Details
exports.config = {
  output: './output',
  helpers: {
    Playwright: {
      browser: 'chromium',
    }
  },
  include: {},
  mocha: {},
  bootstrap: null,
  teardown: null,
  hooks: [],
  gherkin: {
    features: './features/**/*.feature',
    steps: [
      './step_definitions/steps.ts'
      //, './step_definitions/**/*.step.ts' <---- something like this glob pattern?
    ]
  },
  plugins: {
    screenshotOnFail: {
      enabled: true
    },
    pauseOnFail: {},
    retryFailedStep: {
      enabled: true
    },
    tryTo: {
      enabled: true
    }
  },
  tests: './*_test.ts',
  name: 'web-app-tests'
}

Sorry I realised my mistake here to allow this the step parameter should just be a string rather than an array
exports.config = {
  output: './output',
  helpers: {
    Playwright: {
      browser: 'chromium'
    }
  },
  include: {},
  mocha: {},
  bootstrap: null,
  teardown: null,
  hooks: [],
  gherkin: {
    features: './features/**/*.feature',
    steps: './step_definitions/**/*.step.ts'
  },
  plugins: {
    screenshotOnFail: {
      enabled: true
    },
    pauseOnFail: {},
    retryFailedStep: {
      enabled: true
    },
    tryTo: {
      enabled: true
    }
  },
  tests: './*_test.ts',
  name: 'web-app-tests'
}


Install error (open CFI at the end of file)?

Dear Zipline Maintainers,
Before I tell you about my issue, let me describe my environment:
Environment

Operating System: (Windows Version or $ uname --all)
Linux vultr.guest 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Python Version: $ python --version
Python 2.7.5
Python Bitness: $ python -c 'import math, sys;print(int(math.log(sys.maxsize + 1, 2) + 1))'
64
How did you install Zipline: (pip, conda, or other (please explain))
not yet, but try to pip
Python packages: $ pip freeze or $ conda list

# pip freeze
alabaster==0.7.10
arrow==0.10.0
astroid==1.5.3
Babel==2.5.1
backports-abc==0.5
backports.functools-lru-cache==1.4
backports.shutil-get-terminal-size==1.0.0
backports.ssl-match-hostname==<IP_ADDRESS>
backports.weakref==1.0.post1
beautifulsoup4==4.6.0
bleach==1.5.0
bokeh==0.12.9
certifi==2<IP_ADDRESS>
chardet==3.0.4
configobj==4.7.2
configparser==3.5.0
cycler==0.10.0
decorator==3.4.0
docutils==0.14
entrypoints==0.2.3
enum34==1.1.6
ete3==3.0.0b35
funcsigs==1.0.2
functools32==3.2.3.post2
futures==3.1.1
html5lib==0.9999999
idna==2.5
imagesize==0.7.1
inflection==0.3.1
iniparse==0.4
ipykernel==4.6.1
ipython==5.5.0
ipython-genutils==0.2.0
ipython-sql==0.3.8
ipywidgets==7.0.1
isort==4.2.15
jedi==0.11.0
Jinja2==2.9.6
jsonschema==2.6.0
jupyter==1.0.0
jupyter-client==5.1.0
jupyter-console==5.2.0
jupyter-core==4.3.0
lazy-object-proxy==1.3.1
lxml==4.1.0
Markdown==2.6.9
MarkupSafe==1.0
matplotlib==2.0.2
mccabe==0.6.1
mistune==0.7.4
mock==2.0.0
more-itertools==3.2.0
MySQL-python==1.2.5
mysqlclient==1.3.12
nbconvert==5.3.1
nbformat==4.4.0
notebook==5.1.0
numpy==1.13.3
numpydoc==0.7.0
pandas==0.20.3
pandas-datareader==0.5.0
pandocfilters==1.4.2
parso==0.1.0
pathlib2==2.3.0
patsy==0.4.1
pbr==3.1.1
perf==0.1
pexpect==4.2.1
pickleshare==0.7.4
pivottablejs==0.8.0
prettytable==0.7.2
prompt-toolkit==1.0.15
protobuf==3.4.0
psutil==5.4.0
ptyprocess==0.5.2
pycodestyle==2.3.1
pycosat==0.6.1
pycurl==7.19.0
pyflakes==1.6.0
Pygments==2.2.0
pygobject==3.22.0
pygpgme==0.3
pyliblzma==0.5.3
pylint==1.7.4
PyMySQL==0.7.11
PyOpenGL==3.1.0
pyparsing==2.2.0
python-dateutil==2.6.1
python-linux-procfs==0.4.9
pytz==2017.2
pyudev==0.15
pyxattr==0.5.1
PyYAML==3.12
pyzmq==16.0.2
QtAwesome==0.4.4
qtconsole==4.3.1
QtPy==1.3.1
Quandl==3.2.0
requests==2.17.3
requests-file==1.4.2
requests-ftp==0.3.1
rope==0.10.7
ruamel.ordereddict==0.4.13
ruamel.yaml==0.15.34
scandir==1.6
schedutils==0.4
scikit-learn==0.19.0
scipy==0.19.1
seaborn==0.8.1
simplegeneric==0.8.1
singledispatch==<IP_ADDRESS>
six==1.11.0
sklearn==0.0
slip==0.4.0
slip.dbus==0.4.0
snowballstemmer==1.2.1
Sphinx==1.6.5
sphinxcontrib-websupport==1.0.1
spyder==3.2.4
SQLAlchemy==1.1.14
sqlparse==0.2.4
statsmodels==0.8.0
subprocess32==3.2.7
tensorflow==1.3.0
tensorflow-tensorboard==0.1.8
terminado==0.6
testpath==0.3.1
tornado==4.5.2
traitlets==4.3.2
typing==3.6.2
urlgrabber==3.10
urllib3==1.21.1
version-information==1.0.3
virtualenv==15.1.0
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.12.2
widgetsnbextension==3.0.3
wrapt==1.10.11
yum-metadata-parser==1.1.4

Now that you know a little about me, let me tell you about the issue I am
having:
Description of Issue

What did you expect to happen?
complete to install zipline

What happened instead?
occored below error

# pip install zipline
Collecting zipline
  Using cached zipline-1.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    Unable to find pgen, not compiling formal grammar.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Plex/Scanners.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Plex/Actions.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Pythran.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Lexicon.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Scanning.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Parsing.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Visitor.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/FlowControl.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Code.py because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Runtime/refnanny.pyx because it changed.
    Compiling /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Tempita/_tempita.py because it changed.
    [ 1/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Code.py
    [ 2/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/FlowControl.py
    [ 3/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Lexicon.py
    [ 4/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Parsing.py
    [ 5/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Pythran.py
    [ 6/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Scanning.py
    [ 7/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Compiler/Visitor.py
    [ 8/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Plex/Actions.py
    [ 9/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Plex/Scanners.py
    [10/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Runtime/refnanny.pyx
    [11/11] Cythonizing /tmp/easy_install-DEMa2O/Cython-0.27.2/Cython/Tempita/_tempita.py
    warning: no files found matching '2to3-fixers.txt'
    warning: no files found matching 'Doc/*'
    warning: no files found matching '*.pyx' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.pxd' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.pxd' under directory 'Cython/Utility'
    {standard input}: Assembler messages:
    {standard input}:66435: Warning: end of file not at end of a line; newline inserted
    {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
    gcc: internal compiler error: Killed (program cc1)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <http://bugzilla.redhat.com/bugzilla> for instructions.
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-7FzOpD/zipline/setup.py", line 317, in <module>
        **conditional_arguments
      File "/usr/lib64/python2.7/distutils/core.py", line 112, in setup
        _setup_distribution = dist = klass(attrs)
      File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 335, in __init__
        self.fetch_build_eggs(attrs['setup_requires'])
      File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 456, in fetch_build_eggs
        replace_conflicting=True,
      File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 863, in resolve
        replace_conflicting=replace_conflicting
      File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1141, in best_match
        return self.obtain(req, installer)
      File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1153, in obtain
        return installer(requirement)
      File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 522, in fetch_build_egg
        return cmd.easy_install(req)
      File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 672, in easy_install
        return self.install_item(spec, dist.location, tmpdir, deps)
      File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 698, in install_item
        dists = self.install_eggs(spec, download, tmpdir)
      File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 879, in install_eggs
        return self.build_and_install(setup_script, setup_base)
      File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1118, in build_and_install
        self.run_setup(setup_script, setup_base, args)
      File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1106, in run_setup
        raise DistutilsError("Setup script exited with %s" % (v.args[0],))
    distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 4

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-7FzOpD/zipline/

Here is how you can reproduce this issue on your machine:
Reproduction Steps

pip install zipline

...
What steps have you taken to resolve this already?
especially not
...
Anything else?
...
Sincerely,
Koji

Hi @KojiIzawa have you looked at the full installation guide? http://www.zipline.io/install.html. Seeing as there is a gcc failure there I'm thinking you might not have the right packages installed on your Linux distro.

Hi @freddiev4, Thank you nice answer! Finally, I have installed dnf and the packages are needed. Thank you very much again.


Hash functions take data as const

These functions do not need to modify the data buffer provided. Making them const allows easier use.

@mashumafi Thanks for the review!


mdc thread name in logs is white, same as message thus its hard to read, more colours needed, especially too verbose in postman messages

@rultor release tag=0.5.2

@rultor release tag=0.5.2

@dgroup OK, I will release it now. Please check the progress here

@rultor release tag=0.5.2

@dgroup Done! FYI, the full log is here (took me 4min)


Minecraft Forge 1.8.9 Black Screen Issue for ctjs-1.2.1

Hi. I installed this mod today and got an issue. After I put the mod in the mods folder, and hit play, i get a black screen and a not responding issue.
Steps to reproduce the behavior:

Go to 'Minecraft'
Click on 'Play'
See error

I expected atleast the forge screen but didnt get there. Other mods work just fine

OS: Windows 10 Pro 1909 Build 18363.778
ChatTriggers Version: 1.2.1
Minecraft Version: 1.8.9-forge1.8.9-<IP_ADDRESS>8-1.8.9
Java Version: 1.8.0_251-b08

I ran it with only that mod and no modules. I even ran w/o the mod. Reinstalled forge and minecraft and deleted the .minecraft. Virus protection was also off for it.
-rngk
edit: i did nothing and now i boot minecraft 1.8.9 forge without this mod and it just crashes. Not even 1.15.2 runs or anything.

Hmm... I've been having this problem too. I think it may be outdated forge so why don't you try that. ¯_(ツ)_/¯

Yea me too

Also it might be the wrong version. Where did you download it from?

got it from the chattriggers website https://www.chattriggers.com/ and no, previous version of forge did not work.

Here. I recently got the mods from a video on YouTube. Here are the files you will need.
Give me your Google Drive bc I can't share them in this post.

<EMAIL_ADDRESS>just use that. thanks

Can you send me them too ive also been having this problem
<EMAIL_ADDRESS>


Generated protos for bigtable v2.

Nothing else was changed so everything is broken!!

Superseded by #1903.


Config to run command after login

Is that possible to config .shuttle.json that will run command i.e. cd or etc after login to server
{
"Submenu 2": [
{
"name": "Submenu Item #2.1",
"cmd": "ssh<EMAIL_ADDRESS>-p 3000; cd /www/bla/foo"
}
]
},
or
{
"Submenu 2": [
{
"name": "Submenu Item #2.1",
"cmd": "ssh<EMAIL_ADDRESS>-p 3000;",
"cmd": "cd /www/bla/foo"
}
]
},

no use

My way of writing is this--- "cmd":"sshpass -p xxx ssh -o StrictHostKeyChecking=no -p 14816<EMAIL_ADDRESS>cd /opt" ---but your opinion isn't effective.

@debabratakarfa version 1.2.3 added "inTerminal": "current" using this you can add your cd /www/bla/foo command
So you would have one entry in shuttle to connect to your system and then another entry to run your command.


Add an outline behind the intro videos

During testing it was difficult to determine that they were videos.

Please apply a stroke of lavender 3 at 5px thickness.


Getting 403 error in GET request

{"message":"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details."}

for more detail
Please help me in this

Sorry, I can't with your implementation but I would suggest following the example step by step, that's how I built this library. https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html


allow for events to be cancelled

closes #373

@felixrindt I'm not sure how we want to proceed with a delete button for the event. Should we always offer both options? Or only allow the event to be deleted without being cancelled first when there are no participations?

Coverage: 87.697% (-0.3%) from 87.95% when pulling dd99b80e7e2043747e01b917355bb61f835b75e0 on event-cancellation into 8389f0f89bee64e053cc364dc6e030980127c2df on main.

@felixrindt I'm not sure how we want to proceed with a delete button for the event. Should we always offer both options? Or only allow the event to be deleted without being cancelled first when there are no participations?

I think we should allow both, that is:

deleting an event entirely, even if it has participations without sending an email
the more graceful approach introduced in this PR.

Maybe we can join the two together into one form. Also, what about the bulk delete action? Should it work on events with participations?

@felixrindt I'm not sure how we want to proceed with a delete button for the event. Should we always offer both options? Or only allow the event to be deleted without being cancelled first when there are no participations?

I think we should allow both, that is:
* deleting an event entirely, even if it has participations without sending an email

* the more graceful approach introduced in this PR.

Maybe we can join the two together into one form. Also, what about the bulk delete action? Should it work on events with participations?

I like that idea. The user could then only have one button with "delete event" and can check a checkbox in the delete view with "notify users about the cancellation". if checked, the textarea for the message appears.
I don't see a reason why the bulk action shouldn't work?


Handle bye weeks in matchup string representation

If you print a matchup object where there is a bye week, it fails with an error because there is no away team.
This fix assumes that bye weeks will always have a "home team:

Thanks for fixing this!


Add Soak Tests to provide Performance Issues Insight

Description
This PR adds Soak Tests that run for 5 hours, every 6 hours. It provides visibility to even anonymous users by posting snapshots of the metric results DURING the soak tests to the gh-pages branch at the soak-tests/snapshots folder, and publishes the average results AFTER the soak tests to the gh-pages branch at soak-tests/per-commit-overall-results folder. Eventually it will be visualized as a graph.
It also notifies us by failing the tests and automatically posting an issue.
Pre-requisites
Before this works, we need to:

Set up an AWS account with the correct permission
Set up a Log Group on AWS

Demo
A demo of these Soak Tests can be seen on my example repo.

@anuraaga I updated the PR with almost all of your comments! What is left to do is:

Add the permissions policy to terraform, which requires code change outside of this PR
Use the role pattern for the AWS credentials, which I will experiment with and figure out tomorrow

Please give it another review when you have a chance. Especially the new Python scripts and the git commands which replace the action from before.

With all the permission changes complete, and my demos working, merging this PR.


windows_audit_policy fails when using chef in local mode

Description
When calling windows_audit_policy resource in chef-client local mode (-z), we get a notice about a missing DLL.
Problem doesn't occur if I install Chef Client package instead of workstation package.
There is some some seemingly relevant context suggesting that powershell_exec (used by the windows_audit_policy resource) has questionable support status, but since its used by windows_audit_policy which is a supported resource, we should probably ship the DLL in workstation or have the chef-client team rewrite the windows_audit_policy resource.
LoadError
---------
Could not open library 'Chef.PowerShell.Wrapper.dll': The specified module could not be found.

Cookbook Trace: (most recent call first)
----------------------------------------
  c:/chef/local-mode-cache/cache/cookbooks/lbg_na_windows_10/recipes/default.rb:14:in `from_file'

Relevant File Content:
----------------------
c:/chef/local-mode-cache/cache/cookbooks/lbg_na_windows_10/recipes/default.rb:

  7:  windows_audit_policy 'Logon' do
  8:    action :set
  9:    subcategory "Logon"
 10:    success true
 11:    failure true
 12:  end
 13:

System Info:
------------
chef_version=16.4.38
platform=windows
platform_version=10.0.18363
ruby=ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x64-mingw32]
program_name=C:/opscode/chef-workstation/bin/chef-client
executable=C:/opscode/chef-workstation/bin/chef-client

Chef Workstation Version
20.8.125
Platform Version
Windows 10

Moving this to chef/chef where it belongs

Looking at 20.8.125, the DLL is definitely not where it is supposed to be. I installed the latest version 20.10.168 and the DLLs are installed correctly and I have confirmed that powershell_exec works.


Package it into pseudo native apps with PhoneGap

To be in Apple App Store and Google Play
Use http://build.phonegap.com/

Interesting: https://developer.chrome.com/apps/chrome_apps_on_mobile


How to change the default table headers?

How do I give my custom table headers?

The implementation of Tables in the xAPI Dashboard is pretty rudimentary and isn't actually considered mature yet. As of now, they don't actually support much customization or user interactivity. With that said, if your Table is not using ADL.multiAggregate, then you can change the value of the headers like this:
dash.createTable({
	container: '#tableContainer',
	pre: function(data){
		/*
			Here we are using 'Person' as an alias for actor.name and
			'Points' as an alias for result.score.raw
			Warning: data.select will discard properties that are not explicitly selected
		*/
		data.select('actor.name as Person, result.score.raw as Points');
	},
	groupBy: 'Person',
	aggregate: ADL.min('Points')
});

If your table is using ADL.multiAggregate, then it's a little more complicated because the underlying data is formatted in an entirely different way. Here, it's actually necessary to iterate over each header (after the groupBy header) and manually set it:
dash.createTable({
	container: '#multiTableContainer',
	pre: function(data){
		//Warning: data.select will discard properties that are not explicitly selected
		data.select('actor.name as Person, result.score.raw');
	},
	groupBy: 'Person',
	aggregate: ADL.multiAggregate('result.score.raw', ADL.count, ADL.min, ADL.max, ADL.average),
	post: function(data){
		for(var i = 0; i < data.contents.length; i++){
			//Iterate over each 'aggregate' header and manually set it
			//Here, data.contents[i].key is the old header...
			data.contents[i].key = "Custom " + i;
		}
	}
});

If you plan on doing anything more complicated, it's recommended that you move away from Table and use ADL.Collection directly alongside an MV* framework like or Knockout.js or Angular.js. Here are examples of how to build a "table" with each, respectively:
Simple Table Example (Knockout.js)
More complicated List (Angular.js)

Thanks, I will see to this and let you know more.

@mickmuzac How do you add the basic headers if the aggregate function is ADL.count()? It doesn't take any parameters right?

Right. The easiest way to work around this is to manually set the xpath in your post function (since ADL.count ignores that field). Using the previous example, it would like this:
dash.createTable({
	container: '#tableContainer',
	pre: function(data){
		/*
			Here we are using 'Person' as an alias for actor.name and
			'Points' as an alias for result.score.raw
			Warning: data.select will discard properties that are not explicitly selected
		*/
		data.select('actor.name as Person');
	},
	groupBy: 'Person',
	aggregate: ADL.count(),
	post: function(data){
		this.opts.xpath = "Custom Label";
	}
});

Our hope is that eventually, such workarounds wouldn't be necessary. Until then, this should do exactly what you want.


Remove pyopenssl cruft

Description
Addresses #4831.
Checklist

[x] I have updated tests where applicable.
[x] I have added an entry to the CHANGELOG.

My pleasure @mhils.


Target with supercontrolled gates, but no controlled (only) gates fails to synthesize circuits

Environment

Latest Terra main 33704ea6
Python 3.11
Linux

What is happening?
A target whose only entangling gate is an iSwap gate fails to synthesize a circuit. The decomposer XXDecomposer (which can't use iSwap gates) runs anyway and throws an error.
How can we reproduce the issue?
This is fairly minimal, but not super short. (The duration and error on the gates is probably irrelevant and could be omitted)

Code to trigger bug
from qiskit.circuit import Parameter
from qiskit.converters import circuit_to_dag, dag_to_circuit
from qiskit.circuit import QuantumCircuit
from qiskit.transpiler import Target, InstructionProperties
from qiskit.transpiler.passes import UnitarySynthesis
from qiskit.circuit.library.standard_gates import UGate, CXGate, IGate, RZGate, SXGate, XGate, iSwapGate
from qiskit.quantum_info import Operator
from qiskit.circuit import Measure # , Reset, Delay

def make_target(entangling_gate):
    """Create a target on 4 qubits whose only entangling gate is `entangling_gate`"""
    target = Target()
    theta = Parameter("theta")
    phi = Parameter("phi")

    i_props = {
        (0,): InstructionProperties(duration=35.5e-9, error=0.000413),
        (1,): InstructionProperties(duration=35.5e-9, error=0.000502),
        (2,): InstructionProperties(duration=35.5e-9, error=0.0004003),
        (3,): InstructionProperties(duration=35.5e-9, error=0.000614),
        (4,): InstructionProperties(duration=35.5e-9, error=0.006149),
    }
    target.add_instruction(IGate(), i_props)
    rz_props = {
        (0,): InstructionProperties(duration=0, error=0),
        (1,): InstructionProperties(duration=0, error=0),
        (2,): InstructionProperties(duration=0, error=0),
        (3,): InstructionProperties(duration=0, error=0),
        (4,): InstructionProperties(duration=0, error=0),
    }
    target.add_instruction(RZGate(theta), rz_props)
    sx_props = {
        (0,): InstructionProperties(duration=35.5e-9, error=0.000413),
        (1,): InstructionProperties(duration=35.5e-9, error=0.000502),
        (2,): InstructionProperties(duration=35.5e-9, error=0.0004003),
        (3,): InstructionProperties(duration=35.5e-9, error=0.000614),
        (4,): InstructionProperties(duration=35.5e-9, error=0.006149),
    }
    target.add_instruction(SXGate(), sx_props)
    x_props = {
        (0,): InstructionProperties(duration=35.5e-9, error=0.000413),
        (1,): InstructionProperties(duration=35.5e-9, error=0.000502),
        (2,): InstructionProperties(duration=35.5e-9, error=0.0004003),
        (3,): InstructionProperties(duration=35.5e-9, error=0.000614),
        (4,): InstructionProperties(duration=35.5e-9, error=0.006149),
    }
    target.add_instruction(XGate(), x_props)
    cx_props = {
        (3, 4): InstructionProperties(duration=270.22e-9, error=0.00713),
        (4, 3): InstructionProperties(duration=305.77e-9, error=0.00713),
        (3, 1): InstructionProperties(duration=462.22e-9, error=0.00929),
        (1, 3): InstructionProperties(duration=497.77e-9, error=0.00929),
        (1, 2): InstructionProperties(duration=227.55e-9, error=0.00659),
        (2, 1): InstructionProperties(duration=263.11e-9, error=0.00659),
        (0, 1): InstructionProperties(duration=519.11e-9, error=0.01201),
        (1, 0): InstructionProperties(duration=554.66e-9, error=0.01201),
    }
    target.add_instruction(entangling_gate, cx_props)
    measure_props = {
        (0,): InstructionProperties(duration=5.813e-6, error=0.0751),
        (1,): InstructionProperties(duration=5.813e-6, error=0.0225),
        (2,): InstructionProperties(duration=5.813e-6, error=0.0146),
        (3,): InstructionProperties(duration=5.813e-6, error=0.0215),
        (4,): InstructionProperties(duration=5.813e-6, error=0.0333),
    }
    target.add_instruction(Measure(), measure_props)
    return target

def make_cx_target():
    return make_target(CXGate())

def make_iswap_target():
    return make_target(iSwapGate())

def anonymous_cx_circuit():
    """Make a dagcircuit with a CX gate converted to a matrix"""
    qc = QuantumCircuit(2)
    cxmat = Operator(CXGate()).to_matrix()
    qc.unitary(cxmat, [0, 1])
#    qc.unitary(np.eye(4), [0, 1])
    return circuit_to_dag(qc)

def try_unitary_synth(target, dag):
    """Attept unitary synthesis pass on `dag` with `target`."""
    unitary_synth_pass = UnitarySynthesis(target=target)
    result_dag = unitary_synth_pass.run(dag)
    result_qc = dag_to_circuit(result_dag)
    return result_qc

def try_unitary_synth_with_cx():
    target = make_cx_target()
    dag = anonymous_cx_circuit()
    try_unitary_synth(target, dag)

def try_unitary_synth_with_iswap():
    target = make_iswap_target()
    dag = anonymous_cx_circuit()
    try_unitary_synth(target, dag)

Running code that triggers bug.
Running the function defined above try_unitary_synth_with_iswap() thows IndexError: index out of range. Running  try_unitary_synth_with_iswap() runs and exits normally.
What should happen?
Both examples above should successfully synthesize the circuit and exit normally. We have decomposers for both iswap and cx gates.
Comments
This bug is related to #9983 and several other issues and attempted PRs
The circuit in the example above is a a 2q circuit with a single gate, a CX gate that has been converted to a gate of name unitary defined by an explicit matrix. This forces the synthesizers to try to synthesize gates from this matrix.
A list of 2q decomposers is built with one of the variables in the composers being the 2q entangling gates in the target set. Two groups of entangling gates are discriminated: controlled gates and super-controlled gates. In the example above we used a CX gate and an iSwap gate. The CX gate is both controlled and super-controlled, so it appears in both groups. The iSwap gate is super-controlled but not controlled, so it appears in only the super-controlled group, not in the controlled group.
XXDecomposer is a 2q decomposer which only handles basis sets with controlled gates, and not with super-controlled gates.
The 2q composers are invoked with any 2q gates that they do not support filtered out.
The current logic in unitary_synthesis.py will invoke XXDecomposer unconditionally, with an empty basis set if there are no controlled gates in the target basis set. If the circuit to synthesize has any entangling 2q gates, the error mentioned above will be thrown. This prevents a decomposer that can use an iSwap gate from being used in case there is an iSwap in the target basis set.
We could skip running XXDecomposer in the case that there are no controlled gates in the target basis. However, we currently have a test in the test suite that tests a path including XXDecomposer with an empty list of gates synthesizing a nonentangling gate. That is, a gate that doesn't need any entangling basis gates to be sythesized.  XXDecomposer correctly handles this. If we always skip XXDecomposer in the case that there are no controlled gates this latter test will fail.
See #9994 and references to discussions there for more details.
One solution that would preserve all existing behavior (except for  throwing errors) is to modify the decomposers to return a status flag. If the decomposition failed, you simply ignore the result. Currently XXDecomposer simply errors either graciously with #9994, or ungraciously as before.

I propose (trying) the following. It adds a bit of complexity, but it also removes complexity in the logic.
The two-qubit synthesizers in quantum_info currently return a circuit. Instead they could return an object that contains the synthesized circuit and also some status or report information. For the first implementation, the report would include only one item, a bool telling whether synthesis succeed or failed... or perhaps a failure message too.
The only "normal" path this would be useful for is this test for synthesizing a trivial circuit for a target with no entangling gates:
https://github.com/Qiskit/qiskit-terra/blob/1203a3b18551f06325354208274e61d02d8bd584/test/python/transpiler/test_unitary_synthesis.py#L839-L842
For error paths, it would improve diagnostics. Currently you might throw, say, an index error deep in the algorithm. Instead , the loop that runs all decomposers and compares the results would check the statuses and report that no decomposers succeeded.


Graceful stop of container

docker stop does not stop the container gracefully. Instead after 10s (default) it gets SIGKILL and simply removed from memory by kernel.
This is because /bin/sh is PID 1 in the container which does not have an explicit handler for SIGTERM nor does it forward the signal to its child processes.
Is it for any reason I do not know? Is it for any reason better to SIGKILL the container?
Expected Behavior
Graceful stop of all processes in container.
Actual Behavior
Sudden kill of all processes no matter in which state they are.
Possible Fix
I would suggest something like dumb-init as ENTRYPOINT.
I can create a pull request with a proper PID 1 process (dumb-init, tini, pid1) optimized for container use.
As a side effect it may be possible to route SIGHUP to postfix master to reload changed config without restart.
Steps to Reproduce
docker stop your container and see exit code 137. (128 + 9[SIGKILL])
or
docker exec -ti YOUR_CONTAINER_NAME ps -ef and you see PID 1 is /bin/sh ...

Could you provide a PR for this?


gym is failing on No profiles for 'sdasdfasdf' were found:  Xcode couldn't find a provisioning profile matching 'asdfasfd'. Code signing is required for product type 'Application' in SDK 'iOS 10.3'

New Issue Checklist

[ ] Updated fastlane to the latest version
[ ] I have read the Contribution Guidelines

Issue Description
Below is structure of my project
cert(
username<EMAIL_ADDRESS>team_id: "ABCND",
force: false
)
import_certificates
# Handles app provisioning
sigh(
	adhoc: true,
	force: true,
	app_identifier: ENV["app_identifier_staging"],
	username<EMAIL_ADDRESS>	provisioning_name: 'Distribution Profile Name',
	team_id: "ABCND",
	ignore_profiles_with_different_name: true,
	filename: 'test.mobileprovision'

output_path: '/Users/jenkins/Library/MobileDevice/Provisioning Profiles/'
)

enable_automatic_code_signing(path: "ProjName.xcodeproj", use_automatic_signing: true);

gym(
  toolchain: :swift_3_0,
  workspace: "ProjectName.xcworkspace",
  scheme: "projectName",
  configuration: "Release",
  clean: true,
)

Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

[31m❌  Code signing is required for product type 'Application' in SDK 'iOS 10.3'
** ARCHIVE FAILED **
The following build commands failed:
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
Stack

Key
Value

OS
10.12.4

Ruby
2.3.1

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.rvm/gems/ruby-2.4.0/bin/fastlane

Host
Mac OS X 10.12.4 (16E195)

Ruby Lib Dir
~/.rbenv/versions/2.3.1/lib

OpenSSL Version
OpenSSL 1.0.2k  26 Jan 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.2

System Locale

Variable
Value

LANG
en_GB.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.33.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.0

executable-hooks
1.3.2

bundler-unload
1.0.2

rubygems-bundler
1.4.4

bundler
1.13.4

io-console
0.4.5

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.1

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.4.4

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.2.1

terminal-table
1.8.0

plist
3.3.0

public_suffix
2.0.5

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.4

excon
0.55.0

faraday
0.12.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.2

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.28

json
1.8.3

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.1

faraday_middleware
<IP_ADDRESS>

As the bot suggested, you should read the code signing guide.  From that error, your signing isn't setup correctly.  Ensure you can build from xcode with the same configuration to troubleshoot

Thank you for reply, but i don't want to you match as I do not have git repo at the moment, i m using cert and sigh with that the certificate gets generated and download and also the profile , but i still keep getting the above error message, so not sure where I am going wrong , I have passed Development Team id as well and do I have to pass codesigning_identity through pdxproj ?

I wouldn't be able to say since I don't know your projects structure.  Before you can run gym, the app needs to be setup with the correct signing.
Troubleshooting steps:

Check the logs to see which value is being rejected.
Verify that the project builds in xcode manually. If it does, run your fastlane script and compare the diff afterwards.
Check out the individual tools man pages/docs to learn how to use them to fix the identified problem.

the problem even after running with xcodebuild , i am getting same error
Check dependencies
No profiles for 'com.test.xyz.dev' were found:  Xcode couldn't find a provisioning profile matching 'com.test.xyz.dev'.
Code signing is required for product type 'Application' in SDK 'iOS 10.3'
just could not understand how to find the exact error

the sigh is pushing the profiles in profiles folder and also root folder, is there a better way to debug exact issue ?

I think it failing because it not picking up CODE_SIGN_IDENTITY , but i have already set this in pbxproj , but then why is it not picking up.
Build settings from command line:
TOOLCHAINS = swift_3_0

can anyone help please ? is there way i can pass the CODE_SIGN_IDENTITY through gym

Please be patient and polite. People give their free time to work on fastlane and offer support.
From the looks of your problems, they are not fastlane related.  That said, your questions about iOS project configuration have been posted here and other places like StackOverflow many times.
I encourage you to do more research on iOS project signing.  Once you can repeatedly build your project manually plan how to automate the process.  Take small pieces to automate with fastlane or other tools and carefully build your pipeline

I am sorry , I did not mean to sound rude, I am just in hurry to fix the problem.  But thank for your help and time, i really appreciate that. I have solved my problem anyway :)


2FA Verification Issue

Hello,
I've noticed a persistent issue with the 2fa screen in our application when entering the 2fa while trying to access the backend. When an incorrect verification code is entered, the application gets stuck in an unusual state. Here's what happens:
The button remains in a loading state indefinitely.
Entering the correct code afterwards does nothing.
Refreshing the page and entering the correct code again requires a second attempt for it to work. (sometimes it does not work at all)
I've tested this scenario 6 times, and the same result occurred each time.
Application Details
Current Plugin Version: 3.3.7
Craft Version: 4.9.2
PHP Version: 8.2

@mlewisem, this can be caused by a lot of things. Can you check error logs?

I am experiencing the same problem. It appears that the twofactorauthentication_usertoken table doesn't get created? Is there a way to create that table manually?

Hi @paragonn, did this happen on an existing install or a fresh install of the plugin?
In case of an existing install, it should be installed by m240208_094536_create_usertoken_table.php
You can trigger this again by removing a line from the migrations table.

Hi @roelvanhintum -- Thanks for your response. Yes, there was a previous install that I had uninstalled. I removed the recommended line from the migrations table, uninstalled the plugin and reinstalled it. Unfortunately, the problem is still happening where the twofactorauthentication_usertoken tables does not get created.

Hi @roelvanhintum -- Good news. I was able to get it working by completely removing the plugin via composer and then using composer require to install it again.

I am experiencing the same symptoms described in this issue except I know the craft_twofactorauthentication_usertoken table exists and I can see the codes being created in it. Depending on which version of the form I am using, the button either gets stuck on the "Loading" state or the form shakes like I entered an invalid code. I found some corresponding web log items and have removed my client's name/domain from the text. I am not sure why there would be a 400 status. Any ideas?
Craft Version: 4.5.9
Plugin Version: 3.3.7
{
  "trace": [
    "#0 /home/BOOP/webapps/BOOP-prod/vendor/craftcms/cms/src/web/Controller.php(171): yii\\web\\Controller->beforeAction()",
    "#1 /home/BOOP/webapps/BOOP-prod/vendor/yiisoft/yii2/base/Controller.php(176): craft\\web\\Controller->beforeAction()",
    "#2 /home/BOOP/webapps/BOOP-prod/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction()",
    "#3 /home/BOOP/webapps/BOOP-prod/vendor/craftcms/cms/src/web/Application.php(305): yii\\base\\Module->runAction()",
    "#4 /home/BOOP/webapps/BOOP-prod/vendor/craftcms/cms/src/web/Application.php(608): craft\\web\\Application->runAction()",
    "#5 /home/BOOP/webapps/BOOP-prod/vendor/craftcms/cms/src/web/Application.php(284): craft\\web\\Application->_processActionRequest()",
    "#6 /home/BOOP/webapps/BOOP-prod/vendor/yiisoft/yii2/base/Application.php(384): craft\\web\\Application->handleRequest()",
    "#7 /home/BOOP/webapps/BOOP-prod/public/index.php(24): yii\\base\\Application->run()",
    "#8 {main}"
  ],
  "memory": 3399760,
  "exception": "[object] (yii\\web\\BadRequestHttpException(code: 0): Unable to verify your data submission. at /home/BOOP/webapps/BOOP-prod/vendor/yiisoft/yii2/web/Controller.php:220)"
}

Request Data (removed IPs and client name/domains)
{
  "sessionId": "9dgibe2qquanrjq66p1mn9q2r8",
  "body": "{\"authenticationCode\":\"751970\"}",
  "vars": {
    "_GET": {
      "p": "admin/actions/two-factor-authentication/verify/login-process",
      "v": "1719320857328"
    },
    "_FILES": [],
    "_COOKIE": {
      "_ga_4Y9ZC7MNF0": "GS1.1.17158824<IP_ADDRESS>58825<IP_ADDRESS>",
      "_ga": "GA1.2.451383581.1715882520",
      "OptanonAlertBoxClosed": "2024-05-16T18:02:09.206Z",
      "1031b8c41dfff97a311a7ac99863bdc5_username": "c489bf88a9e60bb8d570026ecf52d0f24601b34bb0257644f781f13f8a7192aaa:2:{i:0;s:41:\"1031b8c41dfff97a311a7ac99863bdc5_username\";i:1;s:12:\"benjaminkohl\";}",
      "OptanonConsent": "isGpcEnabled=0&datestamp=Thu+Jun+20+2024+09:41:26+GMT-0400+(Eastern+Daylight+Time)&version=202403.2.0&browserGpcFlag=0&isIABGlobal=false&hosts=&consentId=3abb531e-0a55-4fe7-a80e-fe2660cad15b&interactionCount=1&isAnonUser=1&landingPath=NotLandingPage&groups=C0005:0,C0002:0,C0004:0,C0001:1&intType=6&geolocation=US;MI&AwaitingReconsent=false",
      "BOOPSession": "9dgibe2qquanrjq66p1mn9q2r8",
      "CRAFT_CSRF_TOKEN": "••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••"
    },
    "_SESSION": {
      "bd62416aa8538ede709019a5e113eea5__flash": [],
      "1031b8c41dfff97a311a7ac99863bdc5__returnUrl": "https://www.BOOP.com/admin"
    },
    "_SERVER": {
      "USER": "BOOP",
      "HOME": "/home/BOOP",
      "SCRIPT_NAME": "/index.php",
      "REQUEST_URI": "/index.php?p=admin%2Factions%2Ftwo-factor-authentication%2Fverify%2Flogin-process&v=1719320857328",
      "QUERY_STRING": "p=admin%2Factions%2Ftwo-factor-authentication%2Fverify%2Flogin-process&v=1719320857328",
      "REQUEST_METHOD": "POST",
      "SERVER_PROTOCOL": "HTTP/1.0",
      "GATEWAY_INTERFACE": "CGI/1.1",
      "REMOTE_PORT": "51616",
      "SCRIPT_FILENAME": "/home/BOOP/webapps/BOOP-prod/public/index.php",
      "SERVER_ADMIN"<EMAIL_ADDRESS>      "CONTEXT_DOCUMENT_ROOT": "/home/BOOP/webapps/BOOP-prod/public/",
      "CONTEXT_PREFIX": "",
      "REQUEST_SCHEME": "http",
      "DOCUMENT_ROOT": "/home/BOOP/webapps/BOOP-prod/public/",
      "REMOTE_ADDR": "BOOP",
      "SERVER_PORT": "80",
      "SERVER_ADDR": "<IP_ADDRESS>",
      "SERVER_NAME": "www.BOOP.com",
      "SERVER_SOFTWARE": "Apache/2.4.59 (Unix) OpenSSL/3.0.2",
      "SERVER_SIGNATURE": "",
      "LD_LIBRARY_PATH": "/RunCloud/Packages/apache2-rc/lib",
      "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin",
      "HTTP_COOKIE": "_ga_4Y9ZC7MNF0=GS1.1.17158824<IP_ADDRESS>58825<IP_ADDRESS>; _ga=GA1.2.451383581.1715882520; OptanonAlertBoxClosed=2024-05-16T18:02:09.206Z; 1031b8c41dfff97a311a7ac99863bdc5_username=c489bf88a9e60bb8d570026ecf52d0f24601b34bb0257644f781f13f8a7192aaa%3A2%3A%7Bi%3A0%3Bs%3A41%3A%221031b8c41dfff97a311a7ac99863bdc5_username%22%3Bi%3A1%3Bs%3A12%3A%22benjaminkohl%22%3B%7D; OptanonConsent=isGpcEnabled=0&datestamp=Thu+Jun+20+2024+09%3A41%3A26+GMT-0400+(Eastern+Daylight+Time)&version=202403.2.0&browserGpcFlag=0&isIABGlobal=false&hosts=&consentId=3abb531e-0a55-4fe7-a80e-fe2660cad15b&interactionCount=1&isAnonUser=1&landingPath=NotLandingPage&groups=C0005%3A0%2CC0002%3A0%2CC0004%3A0%2CC0001%3A1&intType=6&geolocation=US%3BMI&AwaitingReconsent=false; BOOPSession=9dgibe2qquanrjq66p1mn9q2r8; CRAFT_CSRF_TOKEN=f6ba43a1c4f0adef15686f5eafc918a4cee82c65faa4645de8dc422e40ca8f2ca%3A2%3A%7Bi%3A0%3Bs%3A16%3A%22CRAFT_CSRF_TOKEN%22%3Bi%3A1%3Bs%3A40%3A%22Cfh_nfZ6069Ggfa1bZtaJ3mSnv1dbroR3-4RA4AW%22%3B%7D",
      "HTTP_PRIORITY": "u=1, i",
      "HTTP_ACCEPT_LANGUAGE": "en-US,en;q=0.9,ms;q=0.8,la;q=0.7,fr;q=0.6",
      "HTTP_ACCEPT_ENCODING": "gzip, deflate, br, zstd",
      "HTTP_REFERER": "https://www.BOOP.com/index.php?p=admin/actions/two-factor-authentication/verify/login",
      "HTTP_SEC_FETCH_DEST": "empty",
      "HTTP_SEC_FETCH_MODE": "cors",
      "HTTP_SEC_FETCH_SITE": "same-origin",
      "HTTP_ORIGIN": "https://www.BOOP.com",
      "HTTP_SEC_CH_UA_PLATFORM": "\"macOS\"",
      "HTTP_X_REQUESTED_WITH": "XMLHttpRequest",
      "HTTP_ACCEPT": "application/json, text/plain, */*",
      "HTTP_X_REGISTERED_JS_FILES": "",
      "CONTENT_TYPE": "application/json",
      "HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
      "HTTP_X_REGISTERED_ASSET_BUNDLES": "52bc6b65,22e517a2,aee7f8dc,e505ffd6,6b4d7555,e5e48399,bb2f10a0,815d39ea,fc0bc163,1ccab40d,1e21896b,54698ee0,b842675b,1c3c9add,4b1fd285,d8d08e47,8f00ce04,8768f48b,cf3018d6",
      "HTTP_SEC_CH_UA_MOBILE": "?0",
      "HTTP_X_CSRF_TOKEN": "••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••",
      "HTTP_DNT": "1",
      "HTTP_SEC_CH_UA": "\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Google Chrome\";v=\"126\"",
      "CONTENT_LENGTH": "31",
      "HTTP_CONNECTION": "close",
      "HTTP_X_FORWARDED_PROTO": "https",
      "HTTP_X_FORWARDED_FOR": "BOOP",
      "HTTP_X_SERVER_ADDR": "BOOP",
      "HTTP_HOST": "www.BOOP.com",
      "HTTPS": "on",
      "FCGI_ROLE": "RESPONDER",
      "PHP_SELF": "/index.php",
      "REQUEST_TIME_FLOAT":<PHONE_NUMBER>.455863,
      "REQUEST_TIME":<PHONE_NUMBER>
    }
  }
}

@benjaminkohl, that looks like an issue with sessions. There are multiple existing issues involving sessions.
This is usually caused by either cookie settings, session settings (like userSessionDuration or session.cookie_lifetime) or the session store like in https://github.com/born05/craft-twofactorauthentication/issues/64
There is just to much options to figure this out without debugging on your environment.
Probably the same as https://github.com/born05/craft-twofactorauthentication/issues/83 and https://github.com/born05/craft-twofactorauthentication/issues/76
Can also be caused by the debug-toolbar.

@roelvanhintum Okay, thank you. I'll try clearing any open sessions I have and I will disable the debug toolbar for myself. That could explain why it seems like I might be the only person affected as I haven't heard any complaints from the actual client users.


Pattern matching lists?

Is there a way to pattern match elements of a list like you would in OCaml or Hakell?
e.g. a list x1::x2::xs would have elements x1, x2 followed by a list xs. I tried ListItem(X1) ListItem(X2) XS but this does not seem to work.
Additionally, how does one build a list in a similar way.
e.g. something like XS => ListItem(X1) ListItem(X2) XS.

Ah, I just realised from another issue answer just now that ~> is the cons operator for K, so I could write XS => ListItem(X1)~> ListItem(X2) ~> XS. Is this the right idea?

it depends on the sort of your list. If the sort is List, then ListItem(X1) ListItem(X2) XS should work. If the sort is K, then X1 ~> X2 ~> XS should work. The term you wrote is actually going to rewrite to a K list whose elements are Lists with a single element, which is almost certainly not what you intend.

Thanks! X1 ~> X2 ~> XS is what I intended to do.


FSFW in tag management mode doesn't strip VLAN tag from flow_removed match

If a flow_mod is installed with a match that wildcards the VLAN ID, FSFW will apply the slice's VLAN tag for a given port if tag management is enabled.  If a flow_removed message is generated, the VLAN tag is still present in the match that is returned to the controller.

I think that in practice, this wouldn't bite too many experimenters.  Any platform that does strict checking of flows might end up in a confused state, but I'm personally not sure of which platforms are that strict.  I detected this issue with a modified version of oftest's FlowRemoved test.

Good catch I'll see if we can put this in 1.0.5

ok pull request #125 should take care of this

I noticed a problem with this commit... re-opening

OK #126 should fix all of this

This issue is still partially present.  When I run my test to see if a flow_removed message returns the same flow that was used in managed tag mode, the VLAN tag is now zeroed out, but the wildcard value for the dl_vlan in the match is not set.  It looks like [line 1001] (https://github.com/GlobalNOC/FlowSpaceFirewall/blob/88f3f1f32cdb7b2a6a0257f3822a6865e5cafbdc/src/main/java/edu/iu/grnoc/flowspace_firewall/Proxy.java#L1001) attempts to set the wildcard bit, but in testing it seems like it isn't taking place.
Perhaps the setWildcards() method needs to be used instead, similar to how it is called in Line 688?

I'd like to run my tests with this bug fixed, so I'm going to fix it up locally.  I'll submit a PR with a fix for this based off of master.


[💡 Feature]: Cleaner Responsive Widget Nav for smaller width sizes

Is your feature request related to a problem?
Create a dropdown for a more responsive look when widgets widths becomes too small.

Describe the solution you'd like.
Use a dotted dropdown to hold the nav icons when widget width is small.
Describe alternatives you've considered.
N/A
Additional context
N/A
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Will tackle this one.

It seems MUI tracks viewport width of the vscode page rather than the react-grid-layout item so this may be a little more complicated. But will see what I can do.

will be trying to just get width via ref and manually change display based on ref.current.widthOffset

@admc  this is what you had in mind for this correct?

Yup that looks great!
Lorenze Jay Hernandez @.***> schrieb am Do. 9. Juni
2022 um 15:01:

@admc https://github.com/admc this is what you had in mind for this
correct?
[image: marquee-feature-responsive-nav2]
https://user-images.githubusercontent.com/63378463/172952584-1adf1693-b50e-4ef4-b3b6-947a38891b6a.gif
[image: marquee-feature-responsive-nav]
https://user-images.githubusercontent.com/63378463/172952394-addf0c2a-cc30-457c-be9f-a3963d229c3f.gif
—
Reply to this email directly, view it on GitHub
https://github.com/stateful/vscode-marquee/issues/139#issuecomment-1151665135,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAABIGHHB4IVSMMVBMHE7PDVOJSUPANCNFSM5YAZ5JVQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Implemented in #178


Yarn 2 with Plug'n'Play refuses to resolve react-aria due to the wrong peerDependencies

🐛 Bug Report
Yarn v2 (a.k.a Berry) has a new way to resolve Node.js modules called Plug'n'Play, which is faster but forces packages to declare the exact peer dependencies they need. I tried react-aria on the Yarn v2 and I got the following errors caused by the wrong peer dependencies.
🤔 Expected Behavior
I got the following errors
➤ YN0002: │ @react-aria/menu@npm:3.2.0 [7650f] doesn't provide react-dom (pc165d), requested by @react-aria/overlays
➤ YN0002: │ @react-aria/tooltip@npm:3.1.1 [7650f] doesn't provide react-dom (pddff8), requested by @react-aria/overlays
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pe9066), requested by @react-aria/i18n
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pad3cf), requested by @react-aria/interactions
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p6d62f), requested by @react-aria/link
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p594c6), requested by @react-aria/utils
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pc948d), requested by @react-aria/focus
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p056e6), requested by @react-aria/label
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p40c97), requested by @react-aria/ssr
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pb6c69), requested by @react-aria/overlays
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p76c3b), requested by @react-aria/progress
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pc5ca8), requested by @react-aria/visually-hidden
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p262cf), requested by @react-aria/textfield
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p0ed85), requested by @react-aria/menu
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p18df0), requested by @react-aria/breadcrumbs
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p140ee), requested by @react-aria/button
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p0c112), requested by @react-aria/checkbox
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pf92dc), requested by @react-aria/dialog
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pf4fe5), requested by @react-aria/listbox
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pab203), requested by @react-aria/meter
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p7d07d), requested by @react-aria/radio
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p9004d), requested by @react-aria/searchfield
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p8c200), requested by @react-aria/select
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pff1e4), requested by @react-aria/separator
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p6d5fb), requested by @react-aria/slider
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (p2cf1f), requested by @react-aria/switch
➤ YN0002: │ react-aria@npm:3.5.0 doesn't provide react (pb7be5), requested by @react-aria/tooltip
➤ YN0002: │ react-stately@npm:3.4.0 doesn't provide react (p28f66), requested by @react-stately/data

😯 Current Behavior
As I mentioned above, react-aria and other sub-packages do not specify their peer dependencies properly. I haven't checked other packages in this repository like react-spectrum or react-stately so it's worth ensuring.
💁 Possible Solution
The errors above can be summarized into:

react-aria's package.json needs to have react and react-dom as its peer dependency because other @react-aria/* packages have them as peerDependency
@react-aria/menu needs to have react-dom as a peer dependency since its dependency @react-aria/overlays also depends on react-dom
@react-aria/tooltip needs to have react-dom as peer dependency since its dependency @react-aria/overlays also depends on react-dom

This error occurs in Yarn v2, but it's not yarn's specific problem since this is how peer dependencies should originally be treated like.
As a workaround, you can add the following configurations to .yarnrc.yml to suppress the error:
packageExtensions:
  react-aria@*:
    peerDependencies:
      react: "*"
      react-dom: "*"
  react-stately@*:
    peerDependencies:
      react: "*"
      react-dom: "*"
  "@react-aria/menu@*":
    peerDependencies:
      react-dom: "*"
  "@react-aria/tooltip@*":
    peerDependencies:
      react-dom: "*"
  "@react-aria/select@*":
    peerDependencies:
      react-dom: "*

ref: https://yarnpkg.com/configuration/yarnrc/#packageExtensions
🔦 Context

💻 Code Sample
https://github.com/neetbox/react-aria-yarn-v2
You can clone the repository and run yarn to reproduce the errors above.
🌍 Your Environment

Software
Version(s)

react-spectrum react-aria
3.5.0

Browser
N/A

Operating System
macOS Big Sur 11.3 Beta (20E5196f)

🧢 Your Company/Team
N/A
🕷 Tracking Issue (optional)

seems reasonable

@snowystinger thank you for the quick response! I locally built react-aria of #1780 branch and verified that I could install without any warnings

@snowystinger  This would be off-topic for #1780 because of the title, but I later realized that react-stately is also missing react as its peer deps.  Fortunately, regarding stately it doesn't have any nested errors in its sub-packages so it's a bit simpler:

It would be even better if you can also fix it in other PR or so 🙏


Suggest to fix related links

Add "Amazon"
Fix the URL of "Professional Cross-Platform Mobile Development in C#"

OMG, I did typo 'A[a]mazon'

Thanks for the suggestion and updated Wrox link - appreciate the help keeping things up-to-date.


Build error when Werror on when BUILD_TESTS enable

abs is int type not float type !!!
/root/armnn-devenv/armnn/tests/TfLiteYoloV3Big-Armnn/TfLiteYoloV3Big-Armnn.cpp: In function ‘void CheckAccuracy(std::vector, std::vector, std::vector, std::vector, const std::vectoryolov3::Detection&, const std::vector<std::__cxx11::basic_string >&)’:
/root/armnn-devenv/armnn/tests/TfLiteYoloV3Big-Armnn/TfLiteYoloV3Big-Armnn.cpp:265:62: error: conversion to ‘int’ from ‘__gnu_cxx::__alloc_traits<std::allocator >::value_type {aka float}’ may alter its value [-Werror=float-conversion]
compare = abs(expected[j] - outputs[i]->at(j));
if (compare > 0.001f)
{
count++;
}                                                              ^
/root/armnn-devenv/armnn/tests/TfLiteYoloV3Big-Armnn/TfLiteYoloV3Big-Armnn.cpp:265:25: error: conversion to ‘float’ from ‘int’ may alter its value [-Werror=conversion]
compare = abs(expected[j] - outputs[i]->at(j));
^
if (compare > 0.001f)
{
count++;
}

Fix in https://review.mlplatform.org/c/ml/armnn/+/5291

Hi @ek9852,
I've commented on the fix, could you use std::abs just to align with our codebase.
Thanks for contribution,
Francis.

I've merged that review now.
Thanks again,
Francis.


Build failure: materialgram

Steps To Reproduce
Steps to reproduce the behavior:

nix flake update
home-manager switch --flake

Build log
┏━ 1 Errors:
┃ error: builder for '/nix/store/n75nk4d2drbd8in7kzfvwcalj5wsjldx-materialgram-<IP_ADDRESS>.drv' failed with exit code 1;
┃        last 10 log lines:
┃        >                  from /build/source/build/cmake/external/kcoreaddons/org.kde.KIOFuse.VFS.h:14,
┃        >                  from /build/source/build/cmake/external/kcoreaddons/org.kde.KIOFuse.VFS.cpp:12:
┃        > /nix/store/bgfalfi93kbn8j1wfwz0x0dnk1wx9wdp-qtbase-6.8.0/include/QtCore/qchar.h:66:2: error: #error This macro has been removed in Qt 6.8.
┃        >    66 | #error This macro has been removed in Qt 6.8.
┃        >       |  ^~~~~
┃        > [42/1523] Building CXX object cmake/external/glib/cppgir/CMakeFiles/cppgir.dir/tools/cppgir.cpp.o
┃        > [43/1523] Building CXX object cmake/external/glib/cppgir/CMakeFiles/cppgir.dir/tools/repository.cpp.o
┃        > [44/1523] Building CXX object cmake/external/glib/cppgir/CMakeFiles/cppgir.dir/tools/function.cpp.o
┃        > [45/1523] Building CXX object cmake/external/glib/cppgir/CMakeFiles/cppgir.dir/tools/genns.cpp.o
┃        > ninja: build stopped: subcommand failed.
┃        For full logs, run 'nix log /nix/store/n75nk4d2drbd8in7kzfvwcalj5wsjldx-materialgram-<IP_ADDRESS>.drv'.

Additional context
why 😭
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 ~ 𝑠𝑛𝑜𝑤𝑦 𝑝𝑙𝑎𝑐𝑒, 𝑓𝑢𝑙𝑙 𝑜𝑓 𝑓𝑙𝑎𝑘𝑒𝑠! 

╭──╴ on NixOS 24.11.0 ❄
┆ ~
╰─> nix-info -m                                                                                ❲✓ ❳ at ❗ 19:37
 - system: `"x86_64-linux"`
 - host os: `Linux 6.11.2-cachyos, NixOS, 24.11 (Vicuna), 24.11.20241009.5633bcf`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.8`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source`

╭──╴ on NixOS 24.11.0 ❄
┆ ~
╰─>                                                                                was 5s ❲✓ ❳ at ❗ 19:37

Add a :+1: reaction to issues you find important.

Kotatogram has the same problem.

Kotatogram has the same problem.

seems like all tgd have this issue, may be new tgd merge will fix it :D

i think, i should say - this issue related to all tgd forks in nixpkgs, and this is kinda strange imo. i consider not to ping all tgd forks maitainers, as this will be mess, but i think we need to investigate it, as i'll be SO glad to mistake here and just use tgd forks.

Related to the release of Qt 6.8 (what do the relative names of the packages lead to, lol)

Related to the release of Qt 6.8 (what do the relative names of the packages lead to, lol)

do you have any idea how to fix it inside of nixpkgs?

Related to the release of Qt 6.8 (what do the relative names of the packages lead to, lol)

do you have any idea how to fix it inside of nixpkgs?

Maybe something like overlay


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-source-version-target/pull/220 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-source-version-target.git

Docs Build status updates of commit e004558:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: RepositoryUnauthorizedWithSourceCommit] Git data access to 'https://github.com/opstest2/docs-archive-test-source' (branch: Release_Archive_yml-archive-test-branch_2022-02-16-09-41-55) is not authorized.. It looks like this might be the first time user: v-alji submitted a pull request to this repo. Before user can run builds in a pull request, he/she can enable 'v-alji' GitHub account in Docs by visiting Docs Portal (https://ops.microsoft.com). After enabling his/her account (v-alji), close and then reopen this pull request to start another build.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel