Make it work! [Clear Order Button]

By adding
Order_Item.objects.filter(order=current_order).delete()
in pos/views.py, after line 181, in reset_order() method, Clear Order button works for real, deleting Item_Order objects of associated Order object.

OH. Well f***k. How in the flippin heck did I not think of deleting the Item_Order objects...
Thanks I'll look at your pulls

Fixed in #49

Just one thing I noticed later. When an order is cleared, the reset method should look if "stock applies" and refund items. Just like when you remove a single product from anche order. I have the code fix in my laptop bit I'm texting from another PC now. Cya! :)

Blimey the overseights on my end just keep coming....


need more clarifying? about example in MDN WebRTC perfect negotiation pattern

here i belive they miss something unless i do
what they recommended to do in new api to do that

 let handleRenegotiation = async (description) => {
 try {
    if (description) {

 const offerCollision = description.type == "offer" &&
        (makingOffer || yourConn.signalingState != "stable");

        ignoreOffer = !polite && offerCollision;

 if (ignoreOffer) {
          return;
      }

 yourConn.setRemoteDescription(description)
 if (description.type == "offer") {
  await yourConn.setLocalDescription();

            wbsc.emit("SEND_EVENT_EMIT_CALL_AUDIO", {
              data: { type: "answer", answer: yourConn.localDescription, id: connectedUser },
            });
      }
    }

  }catch (e) {
    console.log(e);
  }
  }

i believe this could work if i'm impolite peer
what if i'm polite peer
how to do it should i split the conditions there to check who am i specifically    ? as in here  or similar to
or how i can access 2 peersConnection without  clarify that
yourConn = new RTCPeerConnection(config);
yourConn2 = new RTCPeerConnection(config);
can i use 1 object in this case for both connection to work for both end points in generaly without
yourConn and yourConn2?
or i missed the configuration of onnegotiationneeded ?
also is this how i can implement onnegotiationneeded  ob both side
 yourConn.onnegotiationneeded = async () => {
                  console.warn("yourConn.onnegotiationneeded");
                  try {
                    makingOffer = true;
                    await yourConn.setLocalDescription();
                    wbsc.emit("SEND_EVENT_EMIT_CALL_AUDIO", {
                      data: {
                        type: "negotiation",
                        description: yourConn.localDescription,
                        id: connectedUser,
                      },
                    });
                  } catch (e) {
                    console.log("renegotiationneded fail is ", e);
                  } finally {
                    makingOffer = false;
                  }
                };

yourConn2.onnegotiationneeded = async () => {
              console.warn("yourConn2.onnegotiationneeded");
              const offer = await yourConn2.createOffer();
              try {

                makingOffer = true;
                await yourConn2.setLocalDescription();
                wbsc.emit("SEND_EVENT_EMIT_CALL_AUDIO", {
                  data: { type: "negotiation", description: yourConn2.localDescription, id: connectedUser },
                })
              }
              catch (e) {console.log("renegotiationneded fail is ",e) }
              finally { makingOffer = false }

            }

if so how in handleRenegotiation ()
i accept description with  yourConn.setRemoteDescription(description) that rollback my offer and then create answer and send it to
the remote peer
as i'm the one how sent the offer what i did here is wrong and should be fix? also onnegotiationneeded  fires when or where?
as i guees i as a polite peer do
iceRestart() -> onnegotiationneeded (sending localdesscription ) to handleRenegotiation ()
pass ignoreOffer guard in await yourConn.setLocalDescription(); does it rollback my existing offer  or what should it do?
after that what happend with onnegotiationneeded  does i throw to next step or webrtc will re run onnegotiationneeded  again ?
and within it what happend to my sdp and icecandidate if that the logic i should stick with as they recomended
who restart ice first and making the other peer restart his ice secondly

Closing as duplicate of https://github.com/pion/webrtc/issues/2133
It would be great to see Perfect Negotation in Pion. It doesn't seem to be a highly in demand feature and no one has offered to implement it yet :/


Undefined behaviour

https://github.com/landelare/ue5coro/blob/ec6f8c644cd46ad6ff0cdd2fc68d068dd3fd2d0f/Source/UE5Coro/Public/UE5Coro/Generator.h#L190
co_yield float{} in generator ==> your promise saves pointer to float value in void*, so next step .Current() returns reference to int, but float under it! And dont use static cast with void* please!

Thank you for the bug report, it will be fixed in 1.2. What's wrong with static_cast?


Setup test coverage

Let's see if this works...

Changes Unknown when pulling 7effc56ec3a1ec502aca617c119f738b94b23192 on setup-coverage into ** on master**.


How can we sync subtitles for Delay

How can we sync subtitles for Delay
Suppose we have a video and subtitles in Srt format
Now the video plays with the subtitle but the subtitles are delayed by say 30 second to the actual video how can we adjust the subtitles to sync with the actual video
We have used the following code to display the subtitles
val mediaItem: MediaItem  = MediaItem.Builder()
                    .setUri(uri)
                    .setSubtitleConfigurations(
                        listOf(
                            MediaItem. SubtitleConfiguration.Builder(
                                subtitleUri)

                                    .setMimeType (MimeTypes. APPLICATION_SUBRIP) // The correct MIME type for you
                                    .setLanguage ("en")
                                    .setSelectionFlags(C.SELECTION_FLAG_DEFAULT)

                    .build())) .build()
                mediaItemsList.add(mediaItem)

Also int the above code we have the language set to english how can we set it to the "Default" language of the device or one selected by the user for the App.

The sync part of this question is a duplicate of https://github.com/google/ExoPlayer/issues/854.
I'm going to close that one and leave this one open as it's on our new issue tracker.

Also int the above code we have the language set to english how can we set it to the "Default" language of the device or one selected by the user for the App.

I'm not sure I understand this question - surely the language a subtitle file is in depends on the file itself, not the user's selected device language. If you don't know what language a subtitle file is in, you can leave SubtitleConfiguration.language unset.


feat: TF support for vnet in different RG

@denise89p the PR looks good, please just add the github issue to your commit


add display property to Prefix model

Closes #6189
What's Changed

- add `display` property to `Prefix` model so that it displays as `<prefix>: <namespace.name>`

Screenshots

Before:

After:

TODO

[x] Explanation of Change(s)

[x] Added change log fragment(s) (for more information see the documentation)

[x] Attached Screenshots, Payload Example

[x] Unit, Integration Tests

[ ] Documentation Updates (when adding/changing features)

[ ] Example App Updates (when adding/changing features)

[ ] Outline Remaining Work, Constraints from Design

I submitted another commit to fix the ruff formatting and also the changelog fragment


created classes for primitive types

@danilk3 Could you provide a shot summary of the PR please?

@danilk3 Also I would suggest you to run the following command before sending a PR:
mvn clean install -Pqulice

The same command is run in CI pipelines

Seems we can close this PR as outdated. If you continue with these changes, please create another PR.


Added support to not load translations automatically when using toArray

The model forces to load translations even when I don’t want to load it (this is done when using toArray which loops supported keys and forces them to be loaded).
The previous functionality is preserved. Manageable via config

HI @dimsav, the build step with composer fails due permissions :(

@pionl Thank you for your help. This feature was added in #315. Not merged this because tests where missing.


Fix display issue with the truncated alleles

Please, could you push the fix on release/82 as well ?
Thanks

Does this want to go live on the 82 site ?

Hi Steve,
Yes, please.
Thanks.


Failed to add requirements into the requirement.txt

When you added new python package, you need to add it into requirement.txt

Done


[Support] Why does RefResolver take a referring document?

Hi,
I'm trying to embed some schema into a local tool that I'm going to use to validate my own custom data with. As a result, I need to load the data myself as they're stored within the python package rather than "locally" as per normal.
My issue is that RefResolver makes almost no sense to me. But it basically boils down to a single question. Why does it take a referring document? What does that do? Does it actually do anything?
Like, if you're using "from_schema" it makes sense to provide it, but otherwise I can't work out what it does. Does it do nothing? Or is "from_schema" just a wrapper around the constructor where you give it a schema?
It's weird simply because in order to use a resolver you have to present a schema along side it, so what does embedding the schema into the resolver actually do?

Not to say that RefResolver is an example of well designed objects :), and I probably have to go back and check, but probably this is because without a schema, what do you want to do with refs that use #? (Which refers to "the current document")?

Ok. That makes sense.... maybe. I realized I could look myself. Don't know why I didn't before.
from_schema is literally just a constructor wrapper that sets base_uri to the id of the schema.
self.store[base_url] is set to referrer. So, as you said, it's used to resolve # references.
Design is definitely weird, but it does a job.


MFE not launching after installation

 The application does not launch at all!!
The application installs very smoothly and then when it encounters the missing >NET files, I can download them and install them too. But after that, when I try to open the application, it does not launch.
Methods I have tried

Installed earlier, same version of windows and worked perfectly
Installed on Program Files
Installed on Program Files(x86)

--- I have tried older version too, but they do not seem to work at all! ---
A simple demonstration is shown below:
![Untitled](https://user-images.githubusercontent.com/100372553/221359811-298ea4f1-62b4-448e-9318-e81356a10717.gif)

Have you tried VCLibs? https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022

Not launching for me either. Tried the VC Libs as well.

I managed to fix it by installing MSIX file (after self signing) instead of the exe file.


Changes related to Meilisearch v1.6.0

This issue gathers the changes related to the v1.6.0 of Meilisearch that will impact the integrations scope.
📅 Release date: 15/01/2024
TODO
Before pre-release

[ ] Define (with the help of PMs) which integrations should be updated to include the new features in the latest version of Meilisaearch. Most of the time, it will be tier #1 integrations.
Integration to update:

[ ] JS
[ ] PHP
[ ] (?) Python for vector search v2

Pre-release

[ ] With the help of this CI running on rc0, define in which SDKs we have to update the tests

[ ] JS
[ ] PHP
[ ] Python
[ ] Go
[ ] Dart -> looks like there is an issue with the swap of indexes in the Dart tests currently. Can be an issue in the engine so we need to quickly communicate it to engine team if it's an issue on their side.

[ ] Create a branch by running Octopus script: only open branches for the integrations we choose to update + Kubernetes repository + Cloud provider repository (changing the version) + SDKs/integrations where we must update the test suite.
[ ] Update integrations according to the new Meilisearch features (cf below which feature and how 👇)
⚠ If possible, this step is done before pre-release, once the feature is ready thanks to the prototype released by the engine team

[ ] JS
[ ] PHP

[ ] Update integrations having failing test suites with the new RC of Meilisearch (refer to this CI)

[ ] JS
[ ] (?) Dart

[ ] Add code samples for the chosen up-to-date integrations with the new version of Meilisearch
[ ] Update the library version of the related integrations and prepare the changelogs

Release day

[ ] Release the integrations
[ ] Merge the related PR in K8s repository
[ ] Publish DevOps tools:

[ ] create the git tag
[ ] publish images (steps are in CONTRIBUTING.md)

[ ] Open issues in the repositories that are not up-to-date with the latest version of Meilisearch (including code samples)

Features to implement
proximityPrecision settings
Issue: https://github.com/meilisearch/meilisearch/issues/4187
Usage:  https://www.notion.so/meilisearch/Customize-proximity-precision-usage-aa69c2bab2c3402bab9340ae4def4577
Should be implemented for

[ ] JS
[ ] PHP

Vector search v2
TBD
Asking internally for the decision: https://meilisearch.slack.com/archives/C01K0CZKASZ/p1702897580372379

(?) Python for vector search v2

I verified that at a minimum the python tests will need updating for vector search.
test_vector_search result:
meilisearch.errors.MeilisearchApiError: MeilisearchApiError. Error code: missing_search_hybrid. Error message: Invalid request: missing `hybrid` parameter when both `q` and `vector` are present.. Hint: It might not be working because you're not up to date with the Meilisearch version that search call requires. Error documentation: https://docs.meilisearch.com/errors#missing_search_hybrid Error type: invalid_request

Issues opened for proximityPrecision ✅
Are k8s and cloud providers released @brunoocasali?

is this error fixed now? I'm still getting this erro?

is this error fixed now? I'm still getting this erro?

Which SDK are you using? Which version of Meiliesarch? What is the error message?

is this error fixed now? I'm still getting this erro?

Which SDK are you using? Which version of Meiliesarch? What is the error message?

I've got the same error when I do vector search using python sdk 0.30.0 and the version of Meilisearch is 1.6.2:
meilisearch.errors.MeilisearchApiError: MeilisearchApiError. Error code: missing_search_hybrid. Error message: Invalid request: missing hybridparameter when bothqandvector are present.. Hint: It might not be working because you're not up to date with the Meilisearch version that search call requires. Error documentation: https://docs.meilisearch.com/errors#missing_search_hybrid Error type: invalid_request

@sanders41  I'm following this tutorial and I'm get the same error
https://blog.meilisearch.com/langchain-semantic-search-tutorial/

@sanders41 I'm following this tutorial and I'm get the same error and there is nothing about the error code in the docs.

There were breaking changes to vector search in 1.6. I have not used LangChain and don't know much about it, but looking at the example provided it doesn't look like LangChain is compatible with Meilisearch 1.6+ vector search.
@Strift I'm not sure if LangChain needs to be updated, if the tutorial needs updating to mention it works with Meilisearch >=1.3  <1.6, or if it is possible somehow to make it work with Meilisearch 1.6+?

I tried to add an embedder to my meilisearch instance but I got the error bellow. When we add an embedded to meili, it will generate vectors for all documents or only use to embedding queries?
  "message": "The `_vectors` field in the document with id: `\"0c297f065a8c46cab12857ca5999c371\"` is not an object. Was expecting an object with a key for each embedder with manually provided vectors, but instead got `[-0......."

Hello @kauly,
If you want to use LangChain, please use a previous Meilisearch version, like v1.5.
Our current LangChain integration is intended for v1.3, v1.4, and v1.5. @CaroFG is currently updating our LangChain integration. After this, we'll update the tutorial too. 🙏
Thanks @sanders41 for the heads up.


Scroll through decodes?

Is there any option to be able to scroll through the decode types to see what the output would be without having to click on each type? Maybe in the console or something?

Sorry for the late reply, but I'm not super actively working on this project. Currently there's nothing like what you described but that might be something that could be added. Maybe you could write up a feature request that describes what you want including mockups of how you imagine it working?


[BUG] Failed %load commands hang notebook

Describe the bug
When running a %load command that fails it continues to check which locks up the
To Reproduce
Steps to reproduce the behavior:

Try use the %load command on an import that fails
After the "LOAD_FAILED" message appears the cell keeps refreshing
Attempt to run something in the other cell.  It is stuck on [*] waiting for the load cell
To fix you have to stop the kernel and reload the notebook

Expected behavior
After the LOAD_FAILED message is recieved I expect the retries to stop

All we need is to the below line to check for any terminal status values for our bulk loader:
https://github.com/aws/graph-notebook/blob/main/src/graph_notebook/magics/graph_magic.py#L662
if interval_check_response["payload"]["overallStatus"]["status"] == 'LOAD_COMPLETED':

This is done, addressed in #37


Proposal: pipe function

Hello.
I am using option-t in the backend of a NextJS project and I am liking it a lot so far, but I have encoutered this situation multiple times now:
const currentSession = await getCurrentSession();
const session = await R.orElseAsync(currentSession, async (_e) => await createSession(user.id))
const pair = R.map(session, (session) => ({ session, user }));
return R.mapErr(pair, (_e) => UserError.SessionError);

This snippet is really cumbersome; I am forced to define variable names for values that will only be relevant until the next line comes, cluttering the scope.
I understand that with the new pipeline operator proposal, this could be done in a much simpler way, like so:
return await getCurrentSession()
    |> await R.orElseAsync(%, async (_e) => await createSession(user.id))
    |> R.map(%, (session) => ({ session, user }));
    |> R.mapErr(%, (_e) => UserError.SessionError);

But until the proposal is accepted, I feel like it would be convenient to have a pipe function (with both sync and async support) to improve the readability of the code when chaining operations.
return await pipe(
    await getCurrentSession(),
    (s) => R.orElseAsync(s, async (_e) => await createSession(user.id)),
    (s) => R.map(s, (session) => ({ session, user })),
    (p) => R.mapErr(p, (_e) => UserError.SessionError),
);

This is much cleaner than the current approach, and it is also much closer to the pipeline operator code, which means that it would be easier to refactor the code once the proposal lands.
I see that this was implemented in the past in #380, but it was discarded after the change to the new treeshakeable API. It would be beneficial to bring that code back, at least until the pipeline operator is usable.

Thank you for your idea.
But I'm sorry, I think this kind of function is not our business.
This usecase should be covered by:

pipeline operator native syntax.

I still believe that proposal would advance in next several years :)

Or other library providing such feature.


Pd mb 12237 permissions poc

Warning! Do not merge this PR, it contains POC work on permissions with some example restrictions applied to the app that we do not want in the codebase.
Jira ticket for this change
Summary
This is a POC PR that explores how we could better manage user access to specific buttons, pages, components in the application. This is prompted by our access requirements growing in complexity with new roles being introduced that have significantly different access requirements (QAC/CSR). This PR is intended to both spur discussion as well as provide an example of how we could better manage access.
There are 3 aspects to this work:

Extend our current 'roles' implementation by adding the concept of permissions. I have created an ADR to capture this decision and the details around it. It is implemented and working in this PR (see first few commits).

Make use of user permissions on the frontend to manage what a user can see and do (hide or change buttons, pages, components, etc). This is implemented and working in this PR (see last few commits).

Make use of user permissions on the backend to manage/restrict API access. This is being done by Leia MB-12238 and no work related to this is included in this PR (though we of course plan to make use of the same permissions tables/rules on both FE and BE).

Background and Context
I read many different articles and threads around roles and changing UI based on roles. They almost all scolded our current approach of checking a users roles as not scalable and hard to maintain. Most everything I read suggested the use of permissions in addition to roles to solve the common problems and pain points of roles alone. I created ADR-0070-use-permissions-to-manage-access to provide more info on this and support the decision to introduce permissions.
When it came to using these roles and/or permissions on the frontend, the approaches varied somewhat (mostly just syntactically) but did all clearly favor using permissions rather than roles alone.  The frontend approach I found most intriguing came from patterns suggested in this article.  I felt this approach was relatively easy to read/understand in code and not overly complicated to implement. It also required no external packages and felt maintainable as roles/permissions grow in complexity and number.  I was able to get this flushed out and working, it can be seen in this PR.
So what is actually in this PR?
This PR includes the work needed to setup and retrieve permissions from the database and make use of those permissions (for the current user) in the office app. I added some example access restrictions to a few different buttons in the office app with the primary purpose of demonstrating the new patterns. I created 4 'permissions' in the permissions table ('edit.shipment', 'edit.orders', 'edit.max_billable_weight', and 'edit.financial_review_flag') and assigned each of these 4 permissions to the TOO and services counselor but NOT to the TIO (for testing purposes). In the FE, I used the new Restricted component to demonstrate hiding, modifying, or showing components based on these permissions.  For specifics, see the Implementation Overview below.
Setup to Run Your Code
A new migration is included in this PR, be sure to run the migrations first (make db_dev_fresh or similar).
Validation/Review steps

[ ] Run migrations and start server and client
[ ] Access the office application
[ ] Login as a TOO (has all 4 permissions)

[ ] The Flag for Financial Review button is shown
[ ] The 'Edit Orders' button is labeled 'Edit Orders'
[ ] The 'Review Weights' button is shown
[ ] The 'Edit Shipment' button is shown

[ ] Login as a TIO (has none of the 4 permissions)

[ ] The Flag for Financial Review button is not shown
[ ] The button in the orders section is now labeled 'View Orders' rather than 'Edit Orders'
[ ] The 'Review Weights' button is not shown
[ ] The 'Edit Shipment' button is not shown

[ ] Logging as a user with both TIO/TOO roles (permissions based on all roles a user has)

[ ] The Flag for Financial Review button is shown
[ ] The 'Edit Orders' button is labeled 'Edit Orders'
[ ] The 'Review Weights' button is shown
[ ] The 'Edit Shipment' button is shown (since the TOO role has permission).

Screens of restricted TIO access:

Additional Info/Context
Implementation Overview:
I added 2 new tables, 'Permissions' and 'Role-Permissions'. The Permissions table contains permissions like 'add.shipment' and 'edit.orders'. The Role-Permissions table defines which roles have which permissions, it links roles (role_id) to permissions (permission_id).
Using these 2 tables, I updated the backend auth to include all permissions a user has (for all their roles) in the users session. Then I wrapped the Office app in a context provider that provides the user specific permissions with the intention that it will be consumed by the new Restricted component.  This component abstracts away all interactions with permissions and context into a nice, readable API.
	<Restricted to="edit.orders">
		// Children like OrderComponent will only be rendered if the user has permission to edit orders
		<OrdersComponent ... />
	</Restricted>

The Restricted component can be used anywhere in the office app to limit access to child components without having to know anything about a users roles, we only need to know what permission a user should have to be granted access (which should be much more intuitive).
There is also an optional prop, fallback, to provide an alternative to be shown if the user does not have the required permission. By default nothing is shown when the user does not have access.
Important Note on Security:
Frontend 'permissions' are just UX, they provide no real 'security'. The frontend code is run client side and could easily be modified to bypass any illusion of security. The actual security/protection must be enforced on the backend when API requests are made. We do want to use the same rules on both front and back end so the UI permits only what the backend allows.

Warnings

:warning:
This PR does not include changes to storybook, even though it affects component code.

:warning:
This PR does not include changes to unit tests, even though it affects app code.

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 8c0216b74abf2a9674e744df289ea0ef14db254f

A good analogy for anyone not super familiar with roles/permissions that has helped me in the past is to think about it in the context a school. There are several roles in a school setting: Student, Teacher, Principle, etc. If you were in charge of restricting access to somewhere in the school like the teachers lounge, you could ask each person coming in if they were either a teacher or a principal or a janitor or any other role that can access the teachers lounge. This is obviously tedious and with more roles and restrictions would be quite painful. An alternative way to restrict access to the teachers lounge would be to simply ask each person if they have permission to access teachers lounge. Assuming they are honest, this would mean I no longer have to care about the persons role (or any roles for that matter) and can instead get right to the point by asking if they have permission to do the action they are wanting to perform (enter the teachers lounge).


Speed up comparison of environments

When comparing environments, the declarations are unnecessarily compared, as they almost always come from the same source code (cf. #38). This pull request removes these unnecessary comparisons by annotating the declarations with their location in the code and comparing these first.
Note that the implementation can become unsound if nested mutual block are allowed (currently, resolveNonMutualDecl will just crash).
Also fixes one unrelated regression: cubical no longer builds on GHC 7.8.

Looks good to me.

I did some benchmarks and it makes things a lot faster. The only drawback is the problem with nested mutual blocks. However we never use this and I can add a comment saying that it is not supported (and maybe make the resolver not crash but print an error message). If we ever need nested mutuals we can either revert these changes or come up with something that works. Does this sound good? Unless someone objects I'll merge this soon.


Support server-side routes to non /api paths

If I implement a route as follows...
   app.get('/permalink/:slug', function(req, res, next) { next(); });

it causes the browser to simply throw a 404.
Per @BrockMcKean, special handling has been implement on /api to avoid #! in URLs
I'd like to be able to implement non /api routes server-side, preferably with no additional code other than implement the express route per above.

This may also be the reason that Swagger (at /docs) currently does not work


adding tarekabouzeid to kubeflow org

Contributions and discussions:

https://github.com/kubeflow/manifests/pull/2872
https://github.com/kubeflow/manifests/pull/2864

Sponsors:

@juliusvonkohout
@rimolive
can you please sponsor my membership ?

Test:
================================== test session starts ===================================
platform linux -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0
rootdir: /home/tarek/git_local/kubeflow_os/kubeflow-internal-acls/github-orgs
plugins: anyio-4.4.0
collected 1 item

test_org_yaml.py .                                                                 [100%]

=================================== 1 passed in 0.10s ====================================

/lgtm

/assign @johnugeorge

/lgtm

cc @andreyvelich


Small post view improvements.

Move sluglify js below script definition, Remove php inside blade syntax

Maybe better idea will be add Laravel Collective and using it for creating forms?


how to solve captcha with random positions.

E.g
1.

2.

3.

4.

5.

I solved...But it is not properly segmented...

It looks like the border is getting in the way. You could try using the crop command first to cut it off, but I think the easier way is to set blob_min_pixels to something small enough to filter out the large border blob while still allowing the letters through.

@skotz  could you provide me the solution code?

What's your current code look like?

What's your current code look like?

      var cbl = new CBL({
preprocess: function(img) {

    img.debugImage("debugPreprocessed");
    img.convolute([ [1, 1, 0],
                    [1, 2, 1],
                    [0, 1, 0] ], 1/6);
    img.debugImage("debugPreprocessed");
    img.binarize(242);
    img.debugImage("debugPreprocessed");
},
       /* The set of characters that could potentially be in this CAPTCHA system. */
        character_set: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
        /* The minimum number of pixels required to call a grouping of similar pixels a blob. Use this to filter out small specks before segmentation. */
         pattern_width: 20,
        /* The height of the extracted blobs. All patterns are normalized to this height. */
        pattern_height: 20,
        /* Enable advanced logging in the browser's console. */
        allow_console_log: true,
        /* Compare the differences between colors using algorithms based on how the human eye perceives color (instead of just an RGB comparison). */

        /* The ID of the element to output all work-in-progress images of segmented characters from each image. */

    });

Try specifying the min and max blob sizes.
blob_min_pixels: 10,
blob_max_pixels: 150,

And adding a call to colorRegions as the last command in the preprocess section.
img.colorRegions(50);

Try specifying the min and max blob sizes.
blob_min_pixels: 10,
blob_max_pixels: 150,

And adding a call to colorRegions as the last command in the preprocess section.
img.colorRegions(50);

It is not working in most cases..

I'd recommend that you continue to play around with the image manipulation methods. This one might be a bit tricky, but it looks doable.


Tablighi Jamaat / reason

Is your feature request related to a problem? Please describe.
The Indian media is constantly saying something and social media is saying something and other blogs are depicting something else. There's so much of confusion over the breakup of diagnosed cases based on the reason.
Describe the solution you'd like
Is it possible to add a filter so that we can know exactly how much is foreign travel the culprit and how much has tablighi jamaat contributed to this menance. Since you are recording data for reason, creating a filter won't be much of a problem I suppose.
Describe alternatives you've considered
I've heard in news that all states are already recording Tablighi Jamaat cases separately except Rajasthan, so depicting that would not be that much difficult. If you could add religion / gender / age / travel history or any such characteristic, that might also be a good start.

These things are not so important i guess, at least at this point of time. Thsese will just degrade the website's performance. Already it became heavier as lots of features have been added recently.

Closing this. We will never add religion or anything that can lead to discrimination.


RACSignal+Operations: Fix -sample behavior.

The -sample operator completes once the receiver completes. This behavior is not suited for this particular operator, which should more likely complete once the both sampler and the sampled signals complete, truly indicating it will not send any more values.
Both signals still pass through errors.

ReactiveX's sample operator works slightly differently.
It does complete once the sampler completes. But it also waits for the receiver to complete.
However it does other things different as well - samples don't repeat receiver values, but instead send a new value only if it changed. Also the sampler completion acts as a next - sending the latest receiver value if not already sent. So I'm not sure we should base things on that.

Fixed as discussed.

LGTM


Update query string decoding to decode pluses

When decoding a query string pluses are not decoded.
This is a problem for 2 reasons:

It doesn't match the PHP behavior.
When using this value to create a new request the plus is encoded resulting in a different request.

Since the decode function is used to decode other parts of the URI I didn't update it and instead used urldecode directly when decoding query parts.

Coverage remained the same at 61.346% when pulling 065ad87a59a3cf3b02991a34b38c3e3f8e2629e8 on jvasseur:fix-pluses-decoding into 69e66acc34e930953b6fda6c366173932051234f on icicleio:v0.3.x.

Possibly related: https://github.com/icicleio/http/issues/12


move style to express static

Signed-off-by: maulana<EMAIL_ADDRESS>

Thanks! That's indeed a best practice, but I think we should keep the chat example as simple as possible.

Thanks! That's indeed a best practice, but I think we should keep the chat example as simple as possible.


Kata Containers 1.12.0-rc0

Handle PCI paths consistently and more generally
action: Improve porting checks
Consistent device address matching between getDeviceName() and listenToUdevEvents()
Fix potential major:minor conflicts during device updates
network: Fix Could not create destination mount point: /etc/resolv.conf
action: Require PR porting labels
action: Add issue to project and move to "In progress" on linked PR

9804b1e device: Generalize PCI paths to any number of bridges
134f55a device: Reorganize TestPciPathToSysfs
da4bc1d device: Introduce PciPath type, name things consistently
0eb612f device: Rename and clarify semantics of getDevicePCIAddress
0a4d443 device: Simplify uevent matching in listenToUdevEvents()
bd4dcc5 device: Rename pciDeviceMap in sandbox struct
27ebdc9 device: Check type as well as major:minor when looking up devices
d88d468 device: Index all devices in spec before updating them
8336b5b action: Improve porting checks
5cc719a action: Add issue to project and move to "In progress" on linked PR
427dc4e action: Require PR porting labels
a48a062 network: Fix Could not create destination mount point: /etc/resolv.conf

/test-ubuntu

/test-vfio


ESLint YAML .eslintrc file does not work

Description
ESLint supports .eslintrc being written in YAML. The Interactive Linter displays and error message and cannot use the file.
Steps to reproduce
Configure brackets.json appropriately:
{
"interactive-linter.javascript": [
        "eslint"
    ]
}

Create a .eslintrc file in your project directory with the following content:
---
  env:
    browser: true

  rules:
    camelcase:
      - 2

An alert prompt displays the following:

Error processing linter settings
SyntaxError: Unexpected number

Other details

OS: Windows 8.1
Brackets version: 1.4
No errors  logged in Debug > "Show Developer Tools" - "Console view".
Other extensions:

Beautify
Brackets Git
Code Folding
Advanced New File
Brackets File Icons
CDN Finder
Code Outline
Extract for Brackets (Preview)
Indentator
Inline Regex Editor
QuickDocsJS
QuickDocsRegEx
Show Whitespace
Son of Hammsidian
Themes for Brackets
Todo
Tomorrow Night
White Space Sanitizer
YAML Linter

I suspect the issue is on this line, wherein it is assumed that the settings file in in JSON.
How after deferring the parsing of the file to ESLint (see getConfigForFile())?

@StephenGregory thanks for logging this issue.  Currently, interactive linter only supports json formatted settings files.  I am not totally against supporting YAML.  Would you be willing to put together a PR?

Sure! For reference, how have you gone about getting the single eslint.js in your repo?

Yes, I have hit the issue when I switched from JSHint to ESLint, generating (with eslint --init) a Yaml file.
I switched to Json, but I would prefer to use Yaml as it allows comments...
BTW (slightly unrelated, I can create a new issue if needed), how can we cleanly update the ESLint version? Some options seems to be unrecognized or limited (eg. line ending and brace placement).


TypeScript support

It would be awesome to add support for the TypeScript programming language.

ts-node looks very promising: https://stackoverflow.com/questions/39197034/how-do-i-run-typescript-files-directly-without-generating-any-javascript-files

Released in 0.16.0


Enabling package on ubuntu 18.04 does not work correctly

When trying to enable the ziti-edge-tunnel package on Ubuntu 18.04 by issuing "sudo systemctl enable ziti-edge-tunnel.service --now I get the following error:
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:

A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
In case of template units, the unit is meant to be enabled with some
instance name specified.

If I copy /lib/systemd/system/ziti-edge-tunnel.service to /etc/systemd/system/ I am then able to successfully enable the service.

fyi this also came up in https://openziti.discourse.group/t/openziti-tunneler-on-ubuntu-18-lts/1622


Download logic not working if file is empty

@htrack(None)
def ensure_file_downloaded(
    source_url: str,
    target_path: str,
    unpack: bool = False,
    downloader_executable: str = "wget",
    unpack_type: Optional[str] = None,
):
    """Download `source_url` to `target_path` if it doesn't exist."""
    with FileLock(f"{target_path}.lock"):

        # In case a download fails like for example downloading from a repo without the right permissions you might end up with an empty file and have to manually delete
        if os.path.exists(target_path):
            # Assume it's all good
            hlog(f"Not downloading {source_url} because {target_path} already exists")
            return

Maybe duplicate of #1932?

oh yes true


feature/pre commit

Formatting and Linting Hooks
Description
Added:

ESLint
prettier
husky (which uses lint-staged for nice terminal outputs)
.editorconfig file for uniform configuration of things like indent sizes

I expect this might remain open for a bit longer than other PRs, so I'm going to forego constantly merging the latest main until we've settled on a good set of rules.
PR Checklist

[] Merged latest main
[ ] Version number in package.json has been bumped since last release
[ ] Version numbers match between package package.json and src/version.js
[ ] Ran npm install and npm run build AFTER bumping the version number
[ ] Updated documentation if necessary (currently just in api_spec.md)
[ ] Added changes to changelog.md

Breaking API Changes
nope

To get started I made a couple of commits on src/index.js and src/toolbox.ts, so we could see linting/formatting on both javascript and typescript files. I separated prettier, eslint complaints, and eslint auto-fixes (when applicable) into separate commits so you could inspect them separately.
The only rule I've set is 4 spaces for indentation, which (mostly) matches what we've been doing.
For many of the eslint complaints, I left TODOs if I was concerned about harming functionality; we can always fix those later.
As a side note, prettier's philosophy is to not be very configurable, so if we find anything we hate that we can't configure, we should can it sooner rather than later.
@TrevorBurgoyne @csolbs24 please complain as much as possible - I'd prefer to get a good set of rules now so we don't need massive diffs down the road.

i think eslint has both an import sorter and a jsdoc requirement option so id say we turn both those on. maybe the jsdoc can just be a warning for now?

Yeah, I toggled sort-imports on in b4be8bc, and fixed all the complaints in 2095c8a. It doesn't auto-fix everything, and the default settings are very particular about ordering. We might want to adjust some of the rules, or consider using a sorting plugin that does all the heavy lifting for us.

JSDoc enforcement is now done via the eslint-plugin-jsdoc plugin. It has some conflicts with our typescript packages. Seeing as we're going to all-typescript anyways (#180), should we just pick a plugin that enforces TSDoc and let that all shake out when #180 is solved?

i think eslint has both an import sorter and a jsdoc requirement option so id say we turn both those on. maybe the jsdoc can just be a warning for now?

Yeah, I toggled sort-imports on in b4be8bc, and fixed all the complaints in 2095c8a. It doesn't auto-fix everything, and the default settings are very particular about ordering. We might want to adjust some of the rules, or consider using a sorting plugin that does all the heavy lifting for us.

yeah iirc it likes alphabetical where caps come first, and then multiple imports before single imports. i really don't care much about the rules, the multiples-first can get annoying to manually fix but does look nice. if there is a plugin that moves them automatically like isort that would be lovely

@TrevorBurgoyne
I went through the rules alphabetically (through F) and added what I thought was logical in 5506824.
The @stylistic formatting is in 39819a3. Much more minimal changes. I'll peruse the rest of the rules for anything notable.

@TrevorBurgoyne I went through the rules alphabetically (through F) and added what I thought was logical in 5506824. The @stylistic formatting is in 39819a3. Much more minimal changes. I'll peruse the rest of the rules for anything notable.

Actually scratch that, they have presets that I wasn't leveraging, I'm going to change to using those.

OK I used the shared config in e587692,  d6cab45, and f5f7680, and then applied the new formatting in c2a2f7b.

@TrevorBurgoyne does this look good to go forward with? Should I blindly apply to the whole codebase to see if there's any disasters?

@TrevorBurgoyne does this look good to go forward with? Should I blindly apply to the whole codebase to see if there's any disasters?

yeah i like all the rules... so feel free to send it 🚀

yeah i like all the rules... so feel free to send it 🚀

OK, currently working on this.
I did the automatic fixes in f770571.
I did some manual fixes for the no-unsafe-function-type rule in 7178400, and it seemed like the best way to handle this case was generics (typescript docs, w3schools docs).
I've used generics in python, but this is my first time in typescript. I did them for the time_function as that wraps an arbitrary function. Let me know if you think the set_local_storage_item and get_local_storage_item are a good case for them too.

I resolved the any annotations in subtask.ts with some new types in 20ea6cf. Let me know if these are sufficient.

@TrevorBurgoyne I've finished resolving ESLint issues.
I left a lot of TODOs, a lot of any types are related to #131 so aren't really worth chopping up now.
We currently don't have anything for import sorting or JSDoc/TSDoc enforcement. I can try to sort those out in this PR if we want, or add them to #103 and sort them out later.

I can try to sort those out in this PR if we want, or add them to #103 and sort them out later.

Yeah i have to scroll down far enough on this pr as is, id say split those out for later 👍

Yeah i have to scroll down far enough on this pr as is, id say split those out for later 👍

I added a note on #103. There aren't any other PRs that look like they're close to merging, so I'll get the latest main merged and get this up-to-date.

very close, a couple notes. also i think we should add a GHA as a linting check to make sure ppl actually have their pre commit hooks setup correctly

Opened #192 to track this


unable to import osgeo gdal from lambda layer

Hello,
working with layer arn:aws:lambda:us-west-2:524387336408:layer:gdal33-al2:1 and having set the env vars for GDAL_DATA and PROJ_LIB I'm unable to import gdal from osgeo.
curious if I'm missing any configuration here..

👋 @satwikthegit maybe because you are using https://github.com/lambgeo/docker-lambda ;-)
the layer gdal33-al2 doesn't provide any python libs, please checkout the repo documentation


Lower/upper bound on automatic tab not updating

On Mac (Mountain Lion) using Eclipse Juno (4.2) the lower and upper bound on the automatic tab are not editable, thus not updating.
This could be an issue of either Mac or a newer version of Eclipse. Eclipticon was originally developed on Eclipse 3.4, thus the newer version of Eclipse (4.2) could be causing some functionality to not work as expected.
Solution wise would be to refactor/fix this such that the lower/upper bounds work again on the newest version of Eclipse and/or Mac.

I'm closing this issue as a great deal of time has passed. If there is renewed interest just reopen or make a new issue and link to this one.


Uncaught # on running schemaBuilder.connect() ?

@arthurhsu , I was using lovefield for a project of mine. It was working perfectly a couple of days ago. However, on running the same code today, I got the following error on (anonymous function)	@	lovefield.js:2092. What could be a reason? I'm using Google Chrome. I tested it on the Quick Start code as well (the only change being replacing the script src to :-
    <script src="lf_scripts/lovefield.js"></script>
where lf_scripts is a local folder containing the lovefield.js file. What could be a plausible reason for the same?

I just tested the quick start example and found no issues. If you had modified any of the examples, please give your source code and someone may be able to provide a more useful help than this reply.
Questions like this belong to our discussion forum, not in the bug tracker. Please continue this discussion there if you have additional questions.

@arthurhsu , I'm sorry for posting this here, I've moved it to https://groups.google.com/forum/#!topic/lovefield-users/a9qampu2dT4


Document reviewer - fetch document from S3

Title of ticket:
Description
Summarize issue
Dependencies
Are there any dependencies?
DOD

[ ] fetch S3 account for group (Ministry/IAO team)
[ ] fetch document path based on mapper
[ ] fetch document from S3

@richard-aot - can you provide an estimate for this task?


received MMS never backing up

After getting a Samsung Galaxy S5, and getting the 1.5.5 version of this, I noticed that incoming MMS messages are not getting backed up. I looked at the other MMS issues listed here and none of them are the same (i.e. i'm not getting them mislabeled, they just aren't there). Which is unfortunate, because it's not just the media content that's missing, the text that comes included with it is also missing.
I know that in at least one case of this, the sender is using iOS, which I know does weird things with MMS when Android receives them.

I thought I was having the exact same problem with my Samsung Galaxy Core Prime, but it turns out that I found the MMS messages received from others, they were wrongly being recorded as being sent  from myself! I still get some MMS messages recorded as sent to me from the right sender, but it is inconsistent.

Does this problem still exist in the most recent version of SMS Backup? (There have been several updates to SMS Backup since this issue was raised.)

No response, closing issue


Please generate and publish as ES5

This project has broken on every node version except 6.0 since the 2.0 release - can you please transpile it to ES5 instead of ES6? See https://travis-ci.org/TypeStrong/ts-node/builds/164519486.

Yeah, you're right. That's exactly why it was a major bump instead of a minor one.
It was a breaking change for dropping support on older Node versions.

But why? There's literally no reason to do this, and as a result I'll end up just forking the entire project and working by myself instead because I can't recommend this to anyone anymore. I'd love not to duplicate efforts and I see zero reason why'd you change this - it's not like it changes development for you either, since you're using TypeScript as a transpiler.

For reference, every single project I develop is currently broken. That's around 100 projects for me alone. It's pretty ridiculous to impose a min-node version on a development tool like linting. If you don't want to support older node versions (which, by the way, are currently being used in production still - not everyone runs on the cutting edge, 4.0 is still LTS) I'll be happy to maintain a fork instead.

I can also rely on 1.0 as you suggest, but you aren't developing the 1.0 branch anymore and it still contains all those bugs I just fixed. If you are maintaining 1.0, please open a branch so I can make PRs against that instead to maintain it.

I'm with @blakeembrey on this one. Not everyone is yet using node 6.0, in some cases I have found myself going back to node v5 simply because node 6 breaks some of my projects. Can we get transpilation to es5 pretty please?

OK, you have fair concerns. I'll accept a PR for changing the compilation target to ES5.

Please, while targeting ES5, some contributors started using Map and Promise. None of them are available in ES5, so you'll need to add type definitions for them.

@buzinas , Promise and Map seems to be included in node_modules/typescript/lib/lib.es6.d.ts which is included in the build process as a source file. Perhaps we can change to es6 once the TSLint project changes to it: https://github.com/palantir/tslint/blob/master/scripts/tsconfig.json

If we're referencing it, we must do it inside tslint.json instead of one of the parameters to gulp-tslint.

Can I replace Map and Promise with ES5 equivalents? I couldn't find where Promise is used, and fixing the Map usage is also pretty straightforward since it's only used as a dictionary anyway.

@blakeembrey Promises are used in src/readme to deal with reading files asynchronously.

@blakeembrey for me, absolutely no problems in replacing them.

@jmlopez-rod Is that only for generation and not runtime? I'd be fine not touching that then.

@blakeembrey , yeah, those are only for generating the readme file contents, they are not used within the rules. Either way, saw the PR, it looks good. I was going to add it but I did not feel so comfortable adding another .d.ts file. With TS 2.0 many projects include their definitions so this looks really good.


Not Responsive for different Height view

Yup! going through same problem. I think there is need of  media-query to make this website responsive on all different screens. :)


Overlay is showing streak months for subs rather then actual months subbed

Today when @electrichavoc resubbed (about 3 hours 4 minutes into the stream), the new overlay showed that it was 11 months, however, the Twitch channel showed it as 12 months. The 11 months was from the stream streak rather than the total amount of months subbed.

@allcontributors please add @cmjchrisjones for bugs


Add ability to allow or disable specific metrics

Would there be any interest in new configuration that allows the users to choose which metrics are sent by the exporter? I can submit a pull request.
In my use case we have thousands of pods running apache and we have exceeded our quota for metrics so we want to restrict the metrics sent to the ones that are needed.

The Apache exporter is straightforward. We do not really have any metrics that makes more sense than others.
My suggestion is that you should use Prometheus relabeling to keep the metrics you are interested in.

Thanks for the information! I found some filtering examples online.

Feel free to submit a PR with some changes to the README with some examples, in case it's useful to someone else too :)


⚠ Guya.moe Proxied has degraded performance

In 4b930db, Guya.moe Proxied (https://ice.guya.moe/) experienced degraded performance:

HTTP code: 200
Response time: 22162 ms

Resolved: Guya.moe Proxied performance has improved in 4f6b7b2 after 1 hour, 4 minutes.


Output does not show sink if used with wildcards

Description
When using variables with wildcards instead of actual function names, the location where a variable is used is not shown.
For example { $b = getenv(_); _(_, $b); } vs { $b = getenv(_); printf(_, $b); }
Expected
void displayHelp()
{
  char *c = getenv("HOME");
  int t;
  endwin();
  printf("%s\n",version);
  printf("Usage: dav [arguments] [FILENAME] [FILENAME] [LNUM] ...\n");
  printf("  where FILENAMEs, if specified, are the names of the files you wish to load.\nThe + or -l arguments must be after the filename.\n");
..
  }
  printf("  Ctrl-C : Quit (won't ask for save)\n");
  printf("  Ctrl-K : Erase to end of line\n");
  printf("  Ctrl-U : Erase whole line\n");
  printf("Personal options:\n");
  printf("  Located in %s/.davrc\n",c);
  printf("  Edit %s/.davrc to customize function key bindings\n",c);
  initscr();
  quit("");
}

Actual
void displayHelp()
{
  char *c = getenv("HOME");
  int t;
  endwin();
  printf("%s\n",version);
  printf("Usage: dav [arguments] [FILENAME] [FILENAME] [LNUM] ...\n");
  printf("  where FILENAMEs, if specified, are the names of the files you wish to load.\nThe + or -l arguments must be after the filename.\n");
..
}

So the problem is that _(...) is actually a special syntax for sub expressions
For example, _(x) would match on x+10 or &buf[func(x)]. So _($b) and $randomvar($b) match on completely different stuff.
Using _(..) with more than a single argument is not supported, so the $b in your example query was just silently dropped.
That's pretty bad so ee46063 tries to make this a bit more user-friendly: It warns when a user uses a sub expression wildcard with more than a single argument and it automatically converts them to a query matching on function calls instead.
The correct long-term (and breaking) change is probably to find a better syntax for sub expressions. I'm open for suggestions :)


Improve error messages when Mistral task does not get required inputs

If a task in a Mistral workflow has required inputs, but those inputs are not provided, the error message is not particularly helpful.
Here's an example workflow:
---
description: Run core.local via workflow
enabled: true
runner_type: mistral-v2
entry_point: workflows/cmd_workflow.yaml
name: cmd_workflow
pack: default
parameters:
  cmd:
    required: false
    type: string
  workflow:
    default: default.cmd_workflow.main
    immutable: true
    type: string

And here's the workflow definition:
---
version: '2.0'

default.cmd_workflow:

  input:
    - cmd
  tasks:
    task1:
      # [374, 321]
      action: core.local
      input:
        cmd: <% $.cmd %>

Note that we are calling core.local, which has a required parameter cmd.
If we register this action, and run it with a cmd: parameter, it works as expected:
extreme@EWC:~$ st2 run default.cmd_workflow cmd=id
...
id: 5aa317c499c96b638d4188bf
action.ref: default.cmd_workflow
parameters:
  cmd: id
status: succeeded
result_task: task1
result:
  failed: false
  return_code: 0
  stderr: ''
  stdout: uid=1001(stanley) gid=1001(stanley) groups=1001(stanley)
  succeeded: true
start_timestamp: Fri, 09 Mar 2018 23:24:52 UTC
end_timestamp: Fri, 09 Mar 2018 23:24:58 UTC
+--------------------------+------------------------+-------+------------+----------------------------+
| id                       | status                 | task  | action     | start_timestamp            |
+--------------------------+------------------------+-------+------------+----------------------------+
| 5aa317c499c96b638d4188c2 | succeeded (0s elapsed) | task1 | core.local | Fri, 09 Mar 2018 23:24:52  |
|                          |                        |       |            | UTC                        |
+--------------------------+------------------------+-------+------------+----------------------------+
extreme@EWC:~$

However, if we run it without providing cmd, the error message is overly complicated:
extreme@EWC:~$ st2 run default.cmd_workflow
...
id: 5aa317f599c96b638d4188c4
action.ref: default.cmd_workflow
parameters: None
status: failed
result_task: task1
result:
  content:
    faultstring: None is not of type 'string'
  cookies: {}
  elapsed: 0.052204
  encoding: null
  headers:
    Access-Control-Allow-Credentials: 'true'
    Access-Control-Allow-Headers: Content-Type,Authorization,X-Auth-Token,St2-Api-Key,X-Request-ID
    Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
    Access-Control-Allow-Origin: http://<IP_ADDRESS>:3000
    Access-Control-Expose-Headers: Content-Type,X-Limit,X-Total-Count,X-Request-ID
    Connection: keep-alive
    Content-Length: '53'
    Content-Type: application/json
    Date: Fri, 09 Mar 2018 23:25:41 GMT
    Server: gunicorn/19.7.1
    X-Request-ID: 6e7d45ee-4d8f-4c84-ae67-558d3dc1e5c3
  history: []
  reason: Bad Request
  status: 400
  url: http://<IP_ADDRESS>:9101/v1/actionexecutions
start_timestamp: Fri, 09 Mar 2018 23:25:41 UTC
end_timestamp: Fri, 09 Mar 2018 23:25:47 UTC
result:
  content:
    faultstring: None is not of type 'string'
  cookies: {}
  elapsed: 0.052204
  encoding: null
  headers:
    Access-Control-Allow-Credentials: 'true'
    Access-Control-Allow-Headers: Content-Type,Authorization,X-Auth-Token,St2-Api-Key,X-Request-ID
    Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
    Access-Control-Allow-Origin: http://<IP_ADDRESS>:3000
    Access-Control-Expose-Headers: Content-Type,X-Limit,X-Total-Count,X-Request-ID
    Connection: keep-alive
    Content-Length: '53'
    Content-Type: application/json
    Date: Fri, 09 Mar 2018 23:25:41 GMT
    Server: gunicorn/19.7.1
    X-Request-ID: 6e7d45ee-4d8f-4c84-ae67-558d3dc1e5c3
  history: []
  reason: Bad Request
  status: 400
  url: http://<IP_ADDRESS>:9101/v1/actionexecutions
extreme@EWC:~$

The key line is faultstring: None is not of type 'string', but that's not obvious at first, and it's unclear what it's referring to.
In the Web UI this does not render well either. It's not obvious that it's related to calling the first task.
I'm not sure how best to improve this, but it feels like we could make this more obvious to users somehow.

Not sure if you were communicating this too, but just to reiterate/state: We should also improve this error message. Ideally, especially in this scenario, we can point the user to the exact issue.

Yup, you got it

It's Mistral, don't care anymore


🧹 Cleanup: Use an observer on saved replies button click, not a quick setTimeout loop

Overview
while (
  !document.querySelector(
    `markdown-toolbar details-menu[src="/settings/replies?context=issue"]`
  )
) {
  await new Promise((resolve) => setTimeout(resolve, 10));
}

This code exists because there's a non-zero amount of time between clicking the Saved Replies button and when the menu pops into existence. Asking for the menu every 10ms is a reasonable way to wait until it exists... but a more responsive, elegant way would be to use MutationObserver to detect the exact moment the element pops into existence.

Dibs (👉ﾟヮﾟ)👉
First time tackling an issue ԅ(¯﹃¯ԅ)

@JoshuaKGoldberg
the dom element:
markdown-toolbar details-menu[src="/settings/replies?context=issue"]
seems to always exist. even inspecting the page source, that markup exists, so I'm not sure we should even be polling for its existence. I could be completely wrong here though.
Thoughts ?

Hmm. When I tried implementing this originally last month, that element only seemed to always exist. But when I tried looking for it in code, it took a few ms after clicking to exist. Are you sure?
If it does always exist I suppose you could send a PR that removes the "wait for the element to exist" code.

After inspecting the incoming document response + inspecting the page source, the element does infact exist even before javascript has had a chance to load. I even tried loading the page with javascript disabled, and the element still exists.

I'll put up a PR removing the check for it, but let me know if you're seeing different behavior


Rework ignored prefixes to also exclude during AS monitoring

I believe this should fix #100;
Currently if a monitor is looking for a missing prefix it cannot rely upon the implementation of getMoreSpecificMatch.
At the time getMoreSpecificMatch was written, excluding all ignored prefixes made sense as there was no monitor for missing prefixes,
however now it excludes prefixes that we have a configuration match for, but desire to exclude from monitoring.
The primary purposes of this is for monitorAS not to respect the prefix's ignore attribute,
ensureing that we do not emit un-configured messages for a prefix that has explicitly been 'ignored in monitoring'.
Hopefully this ensures the current documentation (Exclude the current prefix from monitoring. Useful when you are monitoring a prefix and you want to exclude a particular sub-prefix) now reflects reality.

This could also be done by passing a include/exclude ignored flag into the getMoreSpecificMatch method, I don't really have a preference.

Please, review my latest commit here

Hey, I think your solution is good. Why did you remove the test improvement? (which was also good in my opinion)
Also, let me know if you want I add you to the contributor list (maybe in this format: "Damian Zaremba, Fastly - fix #100")

Ok, I apply this for now

Thanks for merging this so quickly.
I realised the test case isn't as simple to implement - currently there is no testing for the exclusion of events (messages), only that the expected ones are present.
Testing either if events are not there, or testing if the amount of messages are equal to the number of expected messages is a good idea to check that the ignore functionality is working properly.
Need to think about the best way to go about this since the tests currently rely on
            if (Object.keys(expectedData).length === 0){
                done();
            }

to cleanly finish and just asserting the timeout happened feels like a potential path to flakey tests.
I'll raise another issue for tracking that for the moment.
Feel free to add me to the contributors list, thanks again!

I added you to the contributor list, in the dev branch. Will be merged in master with the next release.


Swap out WASM for native Rust access in bindings layer

access to native prover instead of wasm prover when using nodejs
TODO: write up

Please please please!

Also: when doing that please make it so that one could provide own native backend like through https://deno.com/blog/roll-your-own-javascript-runtime


institut la ferreria in montcada i reixac added

pulling up a file contains the institut la ferreria in Montcada i Reixac in Barcelona

@SebastianARG The first verification stage is complete: the official domain for  institut la ferreria is agora.xtec.cat, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: https://agora.xtec.cat/ieslaferreria/secretaria-2/

@SebastianARG Thank you for your patience while waiting for a review and processing your request. Pull request merged.


MWPW-157776 Fix a bug

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 67.71%. Comparing base (55524e6) to head (7544f9b).

Additional details and impacted files
@@           Coverage Diff           @@
##            stage     #825   +/-   ##
=======================================
  Coverage   67.71%   67.71%
=======================================
  Files          48       48
  Lines        7604     7604
=======================================
  Hits         5149     5149
  Misses       2455     2455

Flag
Coverage Δ

67.71% <100.00%> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Project setting changes aren't always saved to project.godot when pressing Ctrl + S

Godot version
3.4.stable, 4.0.dev (84f59c60b)
System information
Fedora 34, GeForce GTX 1080 (NVIDIA 470.74)
Issue description
Project setting changes aren't always saved to project.godot. If I change a setting, close the Project Settings dialog, press Ctrl + S then run the project, the new project setting's value isn't always taken into account by the running project. This seems to happen sporadically, but I've had it happen dozens of times by now. Pressing Ctrl + S multiple times in a row can sometimes ensure the value is saved correctly, but pressing it twice isn't always enough.
This occurs both on 3.4-stable and master. I've seen this happen as far back as 3.3 and may be linked to https://github.com/godotengine/godot/pull/31747.
So far, I've only reproduced this on Linux, but I don't use the editor on Windows often enough to notice the issue there.
Steps to reproduce

Open Project > Project Settings.
Change any setting's value (for instance, Fullscreen or Print Fps). It doesn't matter whether the editor needs to be restarted after the setting is changed.
Close the editor settings.
Run the project.

Minimal reproduction project
N/A

Isn't it just that at the times it didn't work, you didn't have any scene open? Ctrl+S saves the scene, not the project, and it's the former which also happens to save project.godot. If there's no scene opened, it might refuse saving.

Isn't it just that at the times it didn't work, you didn't have any scene open?

This occurs even with a scene currently open in the editor. I can still reproduce the issue as of 4.0.alpha12.

Sometimes, I actually have to run the project 3 times to be able to see a change (only seen in 4.0.beta so far).

I'm running into this too when trying to get/set ProjectSettings via a tool. I see the validly-updated setting when I navigate to Project Settings in the GUI, but when I run the app, it reads an old project setting that I had previously manually inputted via the GUI (and doesn't show the new Project Setting that I set via ProjectSettings.set_setting)
Version: 4.0.beta
OS: Mac

I encountered this issue in a C++ module. I found that the settings I wanted to save were being filtered out by the initial value check in ProjectSettings::save_custom. A workaround for me was to call ProjectSettings::get_singleton()->set_initial_value(setting_key, Variant()). I was also able to fix this by moving GLOBAL_DEF to a later point in the startup process, which feels a bit less like a hack. I'm not sure how much of this would transfer to a tool script, but both options worked for me.

I can still reproduce this on 4.2.2.stable and 4.3.dev6 (Linux).


Missing 'top-app-bar' code on NPM

Could you push the top-app-bar code? I only see an .scss file in it.

Related to #529


LoginRequired throws 'ForbiddenHttpException' for AJAX requests

What steps will reproduce the problem?

Sign in
Remove session cookie
Try to make simple AJAX request

What is the expected result?
Redirect to login page.
What do you get instead?
Sine 2.0.8 I get 403 error instead.
Additional info
As I see it's because of '$canRedirect' variable. Tested in Chrome 51.

Q
A

Yii version
2.0.8

PHP version
5.6

Operating system
Debian

@flowip This behavior was changed in 2.0.8.
Are you setting your accept headers to something that does not include html? If you are requesting json via AJAX then redirecting you to a page that returns html is not the logical thing to do.
If you prefer to have the old behavior you can set $acceptableRedirectTypes and have it include the mime type of the request you are making.

I'm closing the issue unless further information provided.

@SilverFire
I'm sending AJAX request  to get html with the following headers:
Accept:*/*
X-Requested-With:XMLHttpRequest

If it's desired behavior since 2.0.8 to return 403 error if a user is not logged in for requests with these headers, I think this ticket should be closed.
I do want to redirect user if he was logged out.
I have implemented redirect this way in my controller:
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                ],
                'denyCallback' => function ($rule, $action) {
                    if (Yii::$app->user->getIsGuest()) {
                        Yii::$app->user->loginRequired(true, false);
                    } else {
                        throw new ForbiddenHttpException(Yii::t('yii', 'You are not allowed to perform this action.'));
                    }
                },
            ],
        ];
    }

@flowip When I do Yii::$app->user->loginRequired(true, false) in beforeAction, it runs the action first and then redirects.

Don't necro unrelated issues please.


Remove 'Clear Local Events'

this feature is not needed anymore

Why it is not needed? You can delete old events to speed up the application and save the disk space.

this feature works until the next sync, and the sync action happens all the time, which it doesn't make sense to me.
also as I understood from @jelkosz, this feature was introduced  when movirt was very very rocky and it's not needed any more.

I guess you are right.

@suomiy yep, she is right :) it used to be a rescue button when something went terribly wrong. Did not need to use it anymore, may go away now.


Image carousel component

Adminstrative Info
Closes #35
Make sure your branch name conforms to:
<feature/staging/hotfix/...>/[username]/[3-4 word description seperated by dashes]. Otherwise, please rename your branch and create a new PR.
Changes
What changes did you make?

Add ImageCarousel component
Add react-native-dotenv package

.env file contains API_URL

Testing
How did you confirm your changes worked?

Copy image IDs from MongoDB and pass them into the component - see screenshot

Confirmation of Change
Upload a screenshot, if possible. Othwerwise, please provide instructions on how to see the change.

NOTE: When developing locally, you have to tell the Android emulator to map the backend localhost port to a port on the emulator. Otherwise it won't be able to find localhost:3000. Steps are as follows:

npm run dev in backend
npm start in frontend
Launch Android emulator
adb reverse tcp:3000 tcp:3000
Now requests to localhost:3000 will go through to your machine

We could update the start script in package.json to be "expo start && adb reverse tcp:3000 tcp:3000" so you don't have to always type that


Securely included node doesn't show up as secure

I tried to include a Qubino Flush Dimmer in zwavejs2mqtt but unfortunately it shows up as non-secure. What's wrong?
zwave-284642.log
$ npm start

><EMAIL_ADDRESS>start /home/niko/devel/zwavejs2mqtt
> node bin/www

  z2m:Store scenes.json not found +0ms
  z2m:Store nodes.json not found +2ms
  z2m:App zwavejs2mqtt version: 0.0.0 +0ms
  z2m:App Application path:/home/niko/devel/zwavejs2mqtt +1ms
  z2m:Mqtt MQTT is disabled +0ms
  z2m:Zwave Connecting to /dev/ttyACM0 +0ms
Logging to file:
/home/niko/devel/zwavejs2mqtt/bin/zwave-284642.log
  z2m:App Listening on port 8091 +0ms
  z2m:App New connection ohv-AeAq0ZkOcAPRAAAA +1s
  z2m:Zwave Zwave driver is ready +2s
  z2m:Zwave Driver ready +1ms
  z2m:Zwave Node added 1 +1ms
  z2m:Zwave Scanning network with homeid: 0xc54055a2 +0ms
  z2m:Zwave Node 1 is alive +59ms
  z2m:Zwave Node 1 doesn't support groups associations +3ms
  z2m:Zwave Node 1: value added 1-32-0-currentValue => undefined +3ms
  z2m:Zwave Node 1: value added 1-32-0-targetValue => undefined +1ms
  z2m:Zwave Node 1 ready: AEON Labs - ZW090 (Z‐Stick Gen5 USB Controller) +1ms
  z2m:Zwave Scan completed +0ms
  z2m:Zwave Network scan complete. Found: 1 nodes +1ms
  z2m:Zwave Node 1: interview completed, all values are updated +1ms
  z2m:App User disconnected ohv-AeAq0ZkOcAPRAAAA +8s
GET / 304 8.727 ms - -
GET /static/css/app.ac70a60bcc407fe11707.css 304 4.830 ms - -
GET /static/js/app.a4eeee65f64587f9e920.js 304 0.763 ms - -
  z2m:App New connection -xi4jW9V5OFHT317AAAB +396ms
GET /static/logo.png 304 0.690 ms - -
  z2m:App Zwave api call: startInclusion [ true ] +22s
  z2m:Zwave Secure inclusion started +29s
  z2m:Zwave Success zwave api call startInclusion true +1ms
  z2m:Zwave Node 2: added +13s
  z2m:Zwave Node added 2 +1ms
  z2m:Zwave Inclusion stopped +5ms
  z2m:Zwave Node 2 is alive +104ms
  z2m:Zwave Node 2: value added: 114-0-manufacturerId => 345 +52ms
  z2m:Zwave Node 2: value added: 114-0-productType => 1 +1ms
  z2m:Zwave Node 2: value added: 114-0-productId => 81 +0ms
  z2m:Zwave Node 2: value added: 134-0-libraryType => 3 +57ms
  z2m:Zwave Node 2: value added: 134-0-protocolVersion => 4.5 +0ms
  z2m:Zwave Node 2: value added: 134-0-firmwareVersions => 3.7 +0ms
  z2m:Zwave Node 2: value added: 94-0-zwavePlusVersion => 1 +490ms
  z2m:Zwave Node 2: value added: 94-0-nodeType => 0 +0ms
  z2m:Zwave Node 2: value added: 94-0-roleType => 5 +1ms
  z2m:Zwave Node 2: value added: 94-0-installerIcon => 7168 +0ms
  z2m:Zwave Node 2: value added: 94-0-userIcon => 7168 +1ms
  z2m:Zwave Node 2: metadata updated: 38-0-Up +45ms
  z2m:Zwave Node 2: metadata updated: 38-0-Down +1ms
  z2m:Zwave Node 2: value added: 38-0-currentValue => 0 +61ms
  z2m:Zwave Node 2: value added: 37-0-currentValue => false +65ms
  z2m:Zwave Node 2: metadata updated: 50-0-reset +50ms
  z2m:Zwave Node 2: metadata updated: 50-0-value-65537 +92ms
  z2m:Zwave Node 2: metadata updated: 50-0-previousValue-65537 +0ms
  z2m:Zwave Node 2: metadata updated: 50-0-deltaTime-65537 +1ms
  z2m:Zwave Node 2: value added: 50-0-value-65537 => 64 +0ms
  z2m:Zwave Node 2: value added: 50-0-deltaTime-65537 => 0 +0ms
  z2m:Zwave Node 2: metadata updated: 50-0-value-66049 +91ms
  z2m:Zwave Node 2: metadata updated: 50-0-previousValue-66049 +1ms
  z2m:Zwave Node 2: metadata updated: 50-0-deltaTime-66049 +1ms
  z2m:Zwave Node 2: value added: 50-0-value-66049 => 0 +1ms
  z2m:Zwave Node 2: value added: 50-0-deltaTime-66049 => 0 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-1 +7ms
  z2m:Zwave Node 2: metadata updated: 112-0-2 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-3 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-4 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-10 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-11 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-12 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-20 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-21 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-30 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-40 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-42 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-60 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-61 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-65 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-66 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-67 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-68 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-100 +1ms
  z2m:Zwave Node 2: metadata updated: 112-0-101 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-110 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-120 +0ms
  z2m:Zwave Node 2: metadata updated: 112-0-250 +1ms
  z2m:Zwave Node 2: value added: 112-0-1 => 0 +80ms
  z2m:Zwave Node 2: value added: 112-0-2 => 0 +72ms
  z2m:Zwave Node 2: value added: 112-0-3 => 0 +73ms
  z2m:Zwave Node 2: value added: 112-0-4 => 0 +124ms
  z2m:Zwave Node 2: value added: 112-0-10 => 255 +77ms
  z2m:Zwave Node 2: value added: 112-0-11 => 0 +72ms
  z2m:Zwave Node 2: value added: 112-0-12 => 0 +70ms
  z2m:Zwave Node 2: value added: 112-0-20 => 0 +69ms
  z2m:Zwave Node 2: value added: 112-0-21 => 0 +71ms
  z2m:Zwave Node 2: value added: 112-0-30 => 0 +77ms
  z2m:Zwave Node 2: value added: 112-0-40 => 10 +70ms
  z2m:Zwave Node 2: value added: 112-0-42 => 0 +72ms
  z2m:Zwave Node 2: value added: 112-0-60 => 10 +71ms
  z2m:Zwave Node 2: value added: 112-0-61 => 99 +71ms
  z2m:Zwave Node 2: value added: 112-0-65 => 100 +77ms
  z2m:Zwave Node 2: value added: 112-0-66 => 3 +73ms
  z2m:Zwave Node 2: value added: 112-0-67 => 0 +69ms
  z2m:Zwave Node 2: value added: 112-0-68 => 0 +76ms
  z2m:Zwave Node 2: value added: 112-0-100 => 0 +77ms
  z2m:Zwave Node 2: value added: 112-0-101 => 0 +69ms
  z2m:Zwave Node 2: value added: 112-0-110 => 32536 +71ms
  z2m:Zwave Node 2: value added: 112-0-120 => 5 +68ms
  z2m:Zwave Node 2: value added: 112-0-250 => 0 +39ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-1 => 1 +325ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-1 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-1 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-2 => 16 +238ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-2 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-2 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-3 => 16 +237ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-3 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-3 =>  +0ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-4 => 16 +235ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-4 =>  +0ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-4 =>  +0ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-5 => 16 +233ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-5 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-5 =>  +0ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-6 => 16 +235ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-6 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-6 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-7 => 16 +235ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-7 =>  +0ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-7 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-8 => 16 +233ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-8 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-8 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-9 => 16 +239ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-9 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-9 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-10 => 16 +238ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-10 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-10 =>  +1ms
  z2m:Zwave Node 2: value added: 142-0-maxNodes-11 => 16 +237ms
  z2m:Zwave Node 2: value added: 142-0-nodeIds-11 =>  +2ms
  z2m:Zwave Node 2: value added: 142-0-endpoints-11 =>  +1ms
  z2m:Zwave Node 2: value updated: 142-0-maxNodes-1 1 => 1 +321ms
  z2m:Zwave Node 2: value updated: 142-0-nodeIds-1  => 1 +2ms
  z2m:Zwave Node 2: value updated: 142-0-endpoints-1  =>  +1ms
  z2m:Zwave Node 2: value updated: 142-0-maxNodes-11 16 => 16 +390ms
  z2m:Zwave Node 2: value updated: 142-0-nodeIds-11  => 1 +1ms
  z2m:Zwave Node 2: value updated: 142-0-endpoints-11  =>  +2ms
  z2m:Zwave Node 2: value updated: 142-0-maxNodes-11 16 => 16 +31ms
  z2m:Zwave Node 2: value updated: 142-0-nodeIds-11 1 =>  +1ms
  z2m:Zwave Node 2: value updated: 142-0-endpoints-11  =>  +1ms
  z2m:Zwave Node 2: metadata updated: 113-0-Power Management-Over-load status +1s
  z2m:Zwave Node 2: value added 2-38-0-targetValue => undefined +27ms
  z2m:Zwave Node 2: value added 2-38-0-duration => undefined +4ms
  z2m:Zwave Node 2: value added 2-38-0-currentValue => 0 +0ms
  z2m:Zwave Node 2: value added 2-38-0-Up => undefined +0ms
  z2m:Zwave Node 2: value added 2-38-0-Down => undefined +1ms
  z2m:Zwave Node 2: value added 2-94-0-zwavePlusVersion => 1 +0ms
  z2m:Zwave Node 2: value added 2-94-0-nodeType => 0 +0ms
  z2m:Zwave Node 2: value added 2-94-0-roleType => 5 +0ms
  z2m:Zwave Node 2: value added 2-94-0-installerIcon => 7168 +0ms
  z2m:Zwave Node 2: value added 2-94-0-userIcon => 7168 +1ms
  z2m:Zwave Node 2: value added 2-134-0-libraryType => 3 +0ms
  z2m:Zwave Node 2: value added 2-134-0-protocolVersion => 4.5 +0ms
  z2m:Zwave Node 2: value added 2-134-0-firmwareVersions => 3.7 +2ms
  z2m:Zwave Node 2: value added 2-134-0-hardwareVersion => undefined +0ms
  z2m:Zwave Node 2: value added 2-114-0-manufacturerId => 345 +0ms
  z2m:Zwave Node 2: value added 2-114-0-productType => 1 +0ms
  z2m:Zwave Node 2: value added 2-114-0-productId => 81 +0ms
  z2m:Zwave Node 2: value added 2-37-0-currentValue => false +1ms
  z2m:Zwave Node 2: value added 2-37-0-targetValue => undefined +0ms
  z2m:Zwave Node 2: value added 2-50-0-value-65537 => 64 +0ms
  z2m:Zwave Node 2: value added 2-50-0-deltaTime-65537 => 0 +0ms
  z2m:Zwave Node 2: value added 2-50-0-value-66049 => 0 +0ms
  z2m:Zwave Node 2: value added 2-50-0-deltaTime-66049 => 0 +0ms
  z2m:Zwave Node 2: value added 2-50-0-reset => undefined +1ms
  z2m:Zwave Node 2: value added 2-50-0-previousValue-65537 => undefined +0ms
  z2m:Zwave Node 2: value added 2-50-0-previousValue-66049 => undefined +0ms
  z2m:Zwave Node 2: value added 2-113-0-Power Management-Over-load status => undefined +0ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-1 => 1 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-1 => 1 +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-1 =>  +1ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-2 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-2 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-2 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-3 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-3 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-3 =>  +1ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-4 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-4 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-4 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-5 => 16 +1ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-5 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-5 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-6 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-6 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-6 =>  +1ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-7 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-7 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-7 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-8 => 16 +1ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-8 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-8 =>  +1ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-9 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-9 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-9 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-10 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-10 =>  +1ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-10 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-maxNodes-11 => 16 +0ms
  z2m:Zwave Node 2: value added 2-142-0-nodeIds-11 =>  +0ms
  z2m:Zwave Node 2: value added 2-142-0-endpoints-11 =>  +0ms
  z2m:Zwave Node 2: value added 2-112-0-1 => 0 +1ms
  z2m:Zwave Node 2: value added 2-112-0-2 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-3 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-4 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-10 => 255 +1ms
  z2m:Zwave Node 2: value added 2-112-0-11 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-12 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-20 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-21 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-30 => 0 +1ms
  z2m:Zwave Node 2: value added 2-112-0-40 => 10 +0ms
  z2m:Zwave Node 2: value added 2-112-0-42 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-60 => 10 +0ms
  z2m:Zwave Node 2: value added 2-112-0-61 => 99 +0ms
  z2m:Zwave Node 2: value added 2-112-0-65 => 100 +1ms
  z2m:Zwave Node 2: value added 2-112-0-66 => 3 +0ms
  z2m:Zwave Node 2: value added 2-112-0-67 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-68 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-100 => 0 +0ms
  z2m:Zwave Node 2: value added 2-112-0-101 => 0 +1ms
  z2m:Zwave Node 2: value added 2-112-0-110 => 32536 +0ms
  z2m:Zwave Node 2: value added 2-112-0-120 => 5 +0ms
  z2m:Zwave Node 2: value added 2-112-0-250 => 0 +0ms
  z2m:Zwave Node 2 ready: Qubino - ZMNHDD (Flush Dimmer Plus) +2ms
  z2m:Zwave Node 2: interview completed, all values are updated +2ms

[Node 002] node info received
                      supported CCs:
                      · Z-Wave Plus Info
                      · Version
                      · Device Reset Locally
                      · Manufacturer Specific
                      · Powerlevel
                      · All Switch
                      · Binary Switch
                      · Multilevel Switch
                      · Meter
                      · Notification
                      · Association
                      · Multi Channel Association
                      · Association Group Information
                      · Configuration
                      controlled CCs:
                      · Multilevel Switch

Either the device does not support security (then a "secure" inclusion will just be a normal inclusion) or you need to do a special activation sequence during inclusion. Aeotec devices for example require a double press of the button. Not sure about Qubino

The device does support security (but only S0 and not S2 according to Qubino) and there is no special inclusion procedure documented in the manual to enable it.

Ok could you re-include it and send me a log of that?

The log I provided should already contain the inclusion part, doesn't it?
If you look at the console output the inclusion is the first thing I did after starting zwavejs2mqtt.

Oh yeah, you're right. The node information frame it sends definitely does not include the Security CC. It might be that you have to factory-reset the device in order to re-include it securely.
Normally the list of supported (unencrypted) CCs is pretty short - this is not the case here.

I did factory reset it before inclusion...

Then I don't know what to do. If the device does not tell the controller that it supports Security, it cannot be included securely.

This is weird, because if I recall correctly OZW 1.4 used to show my devices as secure, while OZW 1.6 has the same issue as zwave-js.
Also I have proof that it's somehow possible to show it as secure:

This is a screenshow of latest openzwave2mqtt, but unfortunately I don't remember what I did differently to show such specific device as secure :(

I actually believe it is a problem of your specific device. I remember a report (Qubino ZMNHSD1) where the device completely forgot that it supports Security CC but somehow got stuck in secure mode (thus listing no supported Command Classes except Z-Wave+ CC and another one).
I think it would be worth contacting the Qubino support with that problem. When you do, please include the following log excerpt, so they can parse the device information themselves from that serial message. Otherwise they'll probably tell you it is a problem with the controller software:
11:33:55.298 SERIAL « 0x0107004a02060200b4                                                 (9 bytes)
11:33:55.299 SERIAL » [ACK]                                                                   (0x06)
11:33:55.301 DRIVER   handling request AddNodeToNetwork (74)
11:33:55.302 CNTRLR   finished adding node 2:
                        basic device class:    Static Controller
                        generic device class:  Multilevel Switch
                        specific device class: Multilevel Power Switch
                        supported CCs:
                        · Basic (0x20)
                        · Multilevel Switch (0x26)
                        · All Switch (0x27)
                        · Z-Wave Plus Info (0x5e)
                        · Version (0x86)
                        · Device Reset Locally (0x5a)
                        · Manufacturer Specific (0x72)
                        · Powerlevel (0x73)
                        · Binary Switch (0x25)
                        · Meter (0x32)
                        · Notification (0x71)
                        · Association (0x85)
                        · Multi Channel Association (0x8e)
                        · Association Group Information (0x59)
                        · Configuration (0x70)
                        controlled CCs:
                        · Multilevel Switch (0x26)

@darkbasic There are a couple of options:

you own an older revision of the device, that doesn't support S0
you own a device, which has the configurable parameter 250 for enabling/disabling s0 inclusion
a failed S0 inclusion interview, due to which the device is included in unsecure mode
a missing S0 key, that is not configured in Zwave2Mqtt

you own an older revision of the device, that doesn't support S0

I've bought 25 of them on December 2018. The reseller didn't have any stock so they came directly from Qubino.

you own a device, which has the configurable parameter 250 for enabling/disabling s0 inclusion

This is the first time I see this. In the copy of the manual I downloaded from your website when I first bought these devices there is no mention of parameter 250 at all.

a failed S0 inclusion interview

Why could it fail?

a missing S0 key, that is not configured in Zwave2Mqtt

I do have a network key, not sure if I need a separate one just for S0 but I can't configure more than one
Also please note that I experience the same issue with my Flush Shutters (I bought 16 of them on Dicemeber 2018) with a VERY recent firmware because I had to return all of them in 2020 to update the firmware due to bugs.

Why could it fail?

Missing required messages, elapsed timeouts between subsequent messages, etc.. This shouldn't be the case since the S0 bootstrapping takes place after the AddNodeToNetwork is handled (which already doesn't show Security S0 in its list).

I do have a network key, not sure if I need a separate one just for S0 but I can't configure more than one

zwave-js only supports S0 so far, so there is only one key.

there is no mention of parameter 250

Can you check in the dashboard if it is there? The config file for ZMNHDD does have that parameter.

Can you check in the dashboard if it is there? The config file for ZMNHDD does have that parameter.

It's in the dashboard, but the config contains parameters for all different kind of firmwares.

zwave-js only supports S0 so far, so there is only one key.

Really? That's a big problem because lots of devices don't support S0 at all because of bugs in the zwave SDK which lead to all sort of problems including packets loss. Some vendors have patched it, others only support S2.

@petrovcicklemen the same problem happens with latest openzwave by the way

Really?

I already have a S2 supporting device lying on my TODO heap. Implementing it is not trivial, especially without devices to test (which I didn't until someone lent me one recently). OZW and OpenHAB do not support S2 either, so if everything goes as planned, zwave-js is going to be one of the first that do.

I've bought 25 of them on December 2018. The reseller didn't have any stock so they came directly from Qubino.
Yes, and they could have the mentioned revision, where the parameter is implemented. Especially, since you are observing this on multiple different gateways. So there are two options:
a) try enabling the mentioned parameter and reinclude the device
b) use the PC Controller app, to see if the device has the parameter and if it includes in S0 (so you test without the gateway's overhead).

This is the first time I see this. In the copy of the manual I downloaded from your website when I first bought these devices there is no mention of parameter 250 at all.
The website manual is for the latest revision, which is also stated at the end of the manual:

You should have received the manual, for your revision, in the form of a small pamflet, that was packaged in the blisters.

Also please note that I experience the same issue with my Flush Shutters (I bought 16 of them on Dicemeber 2018) with a VERY recent firmware because I had to return all of them in 2020 to update the firmware due to bugs.
I'm almost 99% those Shutters support S0, so I think there is something else going on here. If you have the option of obtaining the mentioned PC application, that would be of big help.

The website manual is for the latest revision, which is also stated at the end of the manual

@petrovcicklemen I'm not talking about the website manual available right now, I'm talking about the website manual I downloaded and printed when I initially bought my devices:

As you can see it says SW version S3 (the one I have) and it doesn't mention parameter 250 at all.

You should have received the manual, for your revision, in the form of a small pamflet, that was packaged in the blisters

I did, but as you can see from the following images there is no mention of parameter 250 either:

The whole thing is completely undocumented.

If you have the option of obtaining the mentioned PC application, that would be of big help

I would need to get a Windows PC in order to do so, because my sole OS is Linux.

try enabling the mentioned parameter and reinclude the device

I tried parameter 250 and it works. It should really have been documented.

@AlCalzone this is the log with parameter 250 enabled:
zwave-2621.log

@darkbasic My apologies for the outdated manual. I also though the installation manual, provided in the blisters would list the supported command classes, since the last time I looked at them, I think they did. Noted.

this is the log with parameter 250 enabled:

That looks good! I'm gonna go ahead and close this issue, since it was a configuration/device issue.


Resizing of static volumes based on cephfs subvolumes

Describe the feature you'd like to have
Make possible the resizing of static volumes when they use a cephfs subvolume.
What is the value to the end user? (why is it a priority?)
Static volumes can be used to recover data from dynamic volumes after an Openshift cluster reinstallation.
Being able to resize them would unify the way we manage our PVs/PVCs during their lifecycle and avoid involving the admin each time a user need more space.
How will we know we have a good solution? (acceptance criteria)
The resizing would work as it does for dynamic volumes by just editing the size of the PVC

We dont have any plan to support resize/clone/snapshot on the static volumes. I see two options for you

why can't you take a pvc/PV object backup and restore it after reinstallation
OR recalculate the volumeHandle as per the requirement of cephcsi and create the PV object; cephcsi will still consider this as the dynamic PVC

cc @ceph/ceph-csi-maintainers

Closing as not planned.


Implement slideshow template

💡 Implement slideshow template
It would be very interesting to have a template for creating slideshows. Main users of this target would be developers who want to:

Focus on slide content rather in final style, that is using a Markup language.
Avoid Power Point interaction while still being able to export to this format.
HTML and PDF export support.
Have support for LaTeX math, image customization and code snippets.

📝 Implementation
From personal experience during SciPyConf 2022, Marp turned out to be an excellent tool covering all previous requirements.
We could implement our own Ansys theme for this theme, emulating the current one for Power Point presentations.

Notice that another slideshow option could be Beamer.
I am not opposed to implement Beamer based template, but compared to Marp, it is a big effort.


⚠ Bofrost.de has degraded performance

In 2ed1b1b, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1223 ms

Resolved: Bofrost.de performance has improved in b7511d8.


No need to expand location since this is not a user-provided flag

It didn't. Just a refactoring I stumble upon while looking at the implementation :)


Fix Jenkins unit test failures

Opening this issue to track unit test failures on Jenkins.
Using this PR: https://github.com/deeplearning4j/nd4j/pull/1367
Test failures:
nd4j-aeron
org.nd4j.aeron.ipc.response.AeronNDArrayResponseTest.testResponse - assertion failure
org.nd4j.aeron.ipc.AeronNDArraySerdeTest.testToAndFrom
org.nd4j.aeron.ipc.AeronNDArraySerdeTest.testToAndFromCompressed
org.nd4j.aeron.ipc.AeronNDArraySerdeTest.timeOldVsNew
org.nd4j.aeron.ipc.NdArrayIpcTest.testIpc - java.lang.ExceptionInInitializerError
Other 3 tests: java.lang.NoClassDefFoundError: Could not initialize class org.nd4j.linalg.factory.Nd4j
Run locally (IntelliJ):

AeronNDArraySerdeTest tests - all passing
AeronNDArrayResponseTest - passing
NdArrayIpcTest - failing - assertion error (failing on assertFalse(running.get());)

nd4j-cuda-8.0
org.nd4j.linalg.api.ndarray.TestSerialization

.testSerializationOnViewsJava - looks like a legitimate test failure
.testSerializationOnViewsNd4jWriteRead - IndexOutOfBoundsException

TestSerializationDoubleToFloat - failed assertion

.testSerializationOnViewsJava - failed assertion
.testSerializationOnViewsNd4jWriteRead

TestSerializationFloatToDouble

.testSerializationOnViewsJava - failed assertion
.testSerializationOnViewsNd4jWriteRead - failed assertion

(haven't run these locally yet)
nd4j-kryo
TestNd4jKryoSerialization.testSerialization: java.lang.ExceptionInInitializerError
-> Runs fine locally (IntelliJ)
nd4j-parameter-server-client
org.nd4j.parameterserver.client.ParameterServerClientTest.testServer: java.lang.ExceptionInInitializerError
-> Can't run this locally... "Unable to connect...trying again on channel aeron:udp?endpoint=localhost:40123" - repeatedly

We need to rerun this.