Gizmo behaving weirdly

Hey,
I've tried implementing this wonderful little library but for reasons I don't understand the gizmo behaves not the way I'd expect it to. Instead of sticking to the object that I want to manipulate, it seems to incorporate the distance to the camera giving it a weird offset to the object from greater distances. Here's what I mean:

I've looked into other issues that seemed to be related to this one and the common fix is to properly call ImGuizmo::SetRect but no matter what I try the behaviour doesn't change.
Here's my code:
        void draw_gizmo(scene::scene& scene, ImVec2 const& panel_size)
        {
            auto selected_entity = scene.selected_entity();
            if (selected_entity)
            {
                return;
            }

            ImGuizmo::SetOrthographic(false);
            ImGuizmo::SetDrawlist();

            auto viewportMinRegion = ImGui::GetWindowContentRegionMin();
            auto viewportMaxRegion = ImGui::GetWindowContentRegionMax();
            auto viewportOffset = ImGui::GetWindowPos();
            auto size = ImGui::GetWindowSize();
            auto min = glm::vec2{viewportMinRegion.x + viewportOffset.x, viewportMinRegion.y + viewportOffset.y};
            auto max =
                glm::vec2{viewportMaxRegion.x + viewportOffset.x, viewportMaxRegion.y - viewportOffset.y / 2};
            ImGuizmo::SetRect(min.x, min.y, max.x, max.y);

            glm::ivec2 isize;
            glfwGetWindowSize(glfwGetCurrentContext(), &isize.x, &isize.y);
            // ImGuizmo::SetRect(viewportOffset.x, viewportOffset.y, isize.x, isize.y);

            ImVec2 windowSize = ImGui::GetWindowSize();
            // ImGuizmo::SetRect(viewportOffset.x, viewportOffset.y, windowSize.x, windowSize.y);
            // ImGuizmo::SetRect(viewportOffset.x, viewportOffset.y, panel_size.x, panel_size.y);

            auto camera_entity = scene.active_camera();
            auto const& camera_component = camera_entity.get_component<scene::camera_component>();

            auto projection = camera_component.projection();
            auto view = camera_component.view();
            auto& transform_component = selected_entity->get_component<scene::transform_component>();
            auto& transform = transform_component.transform();

            float snap[3] = {0.5f, 0.5f, 0.5f};

            if (ImGuizmo::Manipulate(glm::value_ptr(view), glm::value_ptr(projection), ImGuizmo::TRANSLATE,
                                     ImGuizmo::LOCAL, glm::value_ptr(transform), nullptr, snap))
            {
                glm::vec3 scale;
                glm::quat rotation;
                glm::vec3 translation;
                glm::vec3 skew;
                glm::vec4 perspective;

                if (glm::decompose(transform, scale, rotation, translation, skew, perspective))
                {
                    rotation = glm::conjugate(rotation);

                    transform_component.translation() = translation;
                    transform_component.rotation() = glm::radians(glm::eulerAngles(rotation));
                    transform_component.scale() = scale;
                    transform_component.recalculate_transform();
                }
            }
        }
    }

As you can see from the commented-out lines I've tried a number of different versions of ImGuizmo::SetRect (and pretty much any thinkable permutation).
Some more info:

I'm using the docking branch of imgui
I'm using glm as my math library

I'm at a total loss and this is a last ditch effort before I have to implement my own gizmos.

yes, for rendering gizmo to a window, you'll need to do something like this :
float windowWidth = (float)ImGui::GetWindowWidth();
float windowHeight = (float)ImGui::GetWindowHeight();
ImGuizmo::SetRect(ImGui::GetWindowPos().x, ImGui::GetWindowPos().y, windowWidth, windowHeight);

But I don't think it's the issue here. My guess is view and/or projection matrices are row major instead of column major. Can you try to transpose matrices? Also, set transform matrix to identity to be sure it's not interfering with view/projection.

Thank very much you for your response! However, this doesn't seem to fix it. Instead the gizmo disappears altogether which isn't too surprising considering glm is indeed column major!
Here's the updated code:
        void draw_gizmo(scene::scene& scene, ImVec2 const& panel_size)
        {
            auto selected_entity = scene.selected_entity();
            if (!selected_entity)
            {
                return;
            }

            ImGuizmo::SetOrthographic(false);
            ImGuizmo::SetDrawlist();

            float windowWidth = (float)ImGui::GetWindowWidth();
            float windowHeight = (float)ImGui::GetWindowHeight();
            ImGuizmo::SetRect(ImGui::GetWindowPos().x, ImGui::GetWindowPos().y, windowWidth, windowHeight);

            auto camera_entity = scene.active_camera();
            auto const& camera_component = camera_entity.get_component<scene::components::camera_component>();

            auto projection = glm::transpose(camera_component.projection);
            auto view = glm::transpose(camera_component.camera.view());
            auto transform = glm::mat4(1.0f);

            float snap[3] = {0.5f, 0.5f, 0.5f};

            if (ImGuizmo::Manipulate(glm::value_ptr(view), glm::value_ptr(projection), ImGuizmo::TRANSLATE,
                                     ImGuizmo::LOCAL, glm::value_ptr(transform), nullptr, snap))
            {
            }
        }

Removing the calls to transpose will display the gizmo again, but still not where it should be and still moving relative to the camera's distance.

Can you try to get the ImDrawList from your imgui window and set it with SetDrawlist ?

Isn't  my call to ImGuizmo::SetDrawlist(); already doing that? Could you please elaborate?

right, SetDrawlist should be good.
idk for the yup

Just in case you're interested I've created a minimal reproducible example which can be found here:
https://github.com/DennisWG/imguizmo_test
I truly hope this helps in pinpointing this issue! Cheers!

Awesome! Thanks! I'm taking a look.

Any updates in the issue?

nop, it's still on my todo list.

Oh ok, thanks

I'm starting debugging.
I can see gizmo having hard time catching some axis when perfectly aligned with camera.
But after a small transform, it works fine to me. I think I can do something.
I did a few changes here:
https://github.com/DennisWG/imguizmo_test/compare/master...CedricGuillemet:master
Other than that, I'm not sure I could reproduce your issue

Okay, I just figured out what I was doing wrong. When binding the framebuffer, I need to call glViewport(0, 0, framebuffer_width, framebuffer_height); and suddenly the gizmo is being displayed correctly! Not sure why you couldn't reproduce this (is there some implementation weidness going on by the driver?), but this 100% fixes it for me :)
@Pastor111 I hope this'll help you as well!

That's great news!!!

Thats great news, but i will really apreciate if you could provide the fix applied in the code


single-pool-js: Fix ci

Problem
The single-pool js tests are failing in CI, e..g https://github.com/solana-labs/solana-program-library/actions/runs/6560481835/job/17818975411
Solution
It was fiddly, but I needed to make two changes -- one to use the import flag instead of loader, and then to use the common js loader instead of esm. Who knows why this works? Not me! :upside_down_face:

uhh that's really weird... im just gonna check what happens without the commonjs change in a separate pr because i have no idea why it would want that, considering files are... not cjs

ok nevermind I reproduced locally. god this is infuriating. the loader flag is necessary to make everything use ts, but the import flag doesnt actually do what the loader flag is supposed to do, and they removed the loader flag. i hate this platform so much and i also dont care either, if it works it works

Ah nice job tracking that down! Looks like I got frustrated and quit sooner than you


Open Devtool directly when Vue icon clicked in Tool Bar when Vue.js is detected.

What problem does this feature solve?
It would be nice, if browser extension icon when clicked would open the DevTools right into the Vue tab instead of  "Vue is detected" message when Vue is detected. I believe this will help users to open the devtools directly rather then searching for it.
What does the proposed API look like?
if (Vue = detected){
  if (Vue = production) {
    Message = "Vue.js is detected on this page. Devtools inspection is not available because it's in production mode or explicitly disabled by the author. "
  }
  else  {
    toolbar.onclick = Open devtools to Vue Tab);
  }
}
else {
  Message = Vue.js not Detected
}

I don't think it will be useful, as the pane is closed as soon as you click outside of it.


Add podman workaround to make it work with crio networking.

Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1729603

It is already part of snc.


BUG : There is a slight grammatical error on the login page.

Describe the bug
This is how the login page looks:

Expected behavior
It should say :
To stay connected with us,kindly login with your personal information
Screenshots (Mandatory)

Are you contributing under any open-source program ?
I am contributing in the GirlScript Summer of Code 2024 as an open-source contributor.

I can fix the errors. Please assign me the task.

I am ready to fix this issue . please assign me this task

Hi ,
This is a good issue, please come up with all such cases and change them not only in Login page but whole website.
Regards
Project Mentor (GSSoC' 24)

Hey, I am willing to work on the issue under gssoc. Please assign it to me.


update schedule in instructor guide

draft:
Planning: Intermediate MPI June 2022
Schedule
Day 1
9:00-9:10 | Introduction and welcome
9:10-9:50  | Communicators and groups
9:50-10:00 | Break
10:00-10:40 | Derived datatypes
10:40-10:50 | Break
10:50-11:30 | Simple collective communication
Day 2
9:00-9:10 | Recap day 1
9:10-9:55 | Scatter and gather
9:55-10:05 | Break
10:05-10:50 | Generalized forms of gather
10:50-11:00 | Break
11:00-12:10 | Non-blocking point-to-point
Day 3
9:00-9:10 | Recap day 2
9:10-9:50 | Non-blocking collective communication
9:50-10:00 | Break
10:00-10:40 | One-sided communication: concepts
10:40-10:50 | Break
10:50-11:30 | One-sided communications: functions
Day 4
9:00-9:10 | Recap day 3
9:10-10:00 | One-sided communication: synchronization
10:00-10:10 | Break
10:10-11:20 | Introducing MPI and threads
11:20-11:30 | Break
11:30-12:10 | MPI and threads in practice

https://hackmd.io/@enccs/SJWXHjs85


On heroku cedar stack -> bin/hubot: 3: npm: not found

I followed up https://github.com/github/hubot/wiki/Hubot-on-Heroku and deploy hubot-1.1.9.tar.gz to heroku. However I always encountered this issue:

2011-11-07T18:20:14+00:00 heroku[app.1]: Starting process with command bin/hubot -a campfire -n Hubot
2011-11-07T18:20:14+00:00 app[app.1]: bin/hubot: 3: npm: not found

###gist
Here the details of heroku logs, https://gist.github.com/1345730
###help me...
I am wondering I miss something in heroku deployment of procedure, since I check this http://devcenter.heroku.com/articles/node-js for many times.
###hubot image me @ local is working
Please refer https://gist.github.com/1345763

It turns out that error is harmless on heroku, the npm packaging is done at slug compilation time so you can safely ignore it.
If you want to silence the error remove the npm install from bin/hubot

@atmos yep

@tombell I'm of this people, thanks

I'm using the IRC adapter and have a similar issue. The bot (irtsybot) enters the chat room and receives my messages (as indicated in the logs), but doesn't respond. My config and logs look like the following. Any tips?
$ heroku config
HUBOT_IRC_DEBUG  => true
HUBOT_IRC_ROOMS  => #irtsy
HUBOT_IRC_SERVER => irc.freenode.net
PATH             => bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin
REDISTOGO_URL    => redis://...:9069/

$ heroku logs
...
2011-12-12T01:12:21+00:00 app[app.1]: From halfamind to #irtsy: irtsybot help
2011-12-12T01:12:21+00:00 app[app.1]: #irtsy <halfamind> irtsybot help

What is in your Procfile?

$ cat Procfile
app: bin/hubot -a irc -n irtsybot
$ heroku ps
Process  State      Command
-------  ---------  ----------------------------
app.1    up for 4h  bin/hubot -a irc -n irtsybot

Thanks again

You might need to update the hubot-irc package.

I updated my package.json as you recommended:
"dependencies": {
  "hubot": ">= 2.0.7",
  "hubot-irc": ">= 0.0.3",
  "hubot-scripts": ">= 2.0.2",
  "optparse": "1.0.3"
}

...and redeployed, but didn't see any improvement. However, I was able to launch the bot with the same configuration locally (on OSX), and it worked great. On a hunch, I destroyed the heroku app and recreated it, and that did the trick. I guess the heroku env's versions still satisfied the package.json spec? Either way, working great now. Thanks.

I'm getting the same npm error, but this "Invalid access token provided, campfire refused..." might be a false positive since I'm using my personal account and one additional account for my Hubbot. I also tried installing v2.0.4, but didn't take.
2011-12-19T04:57:36+00:00 app[app.1]: Successfully connected to Redis
2011-12-19T04:57:36+00:00 app[app.1]:
2011-12-19T04:57:36+00:00 app[app.1]: /app/node_modules/hubot/src/adapters/campfire.coffee:278
2011-12-19T04:57:36+00:00 app[app.1]:                 throw new Error("Invalid access token provided, campfire refus
2011-12-19T04:57:36+00:00 app[app.1]:                       ^
2011-12-19T04:57:36+00:00 app[app.1]: Error: Invalid access token provided, campfire refused the authentication
2011-12-19T04:57:36+00:00 app[app.1]:     at IncomingMessage. (/app/node_modules/hubot/src/adapters/campfire.coffee:278:23)
2011-12-19T04:57:36+00:00 app[app.1]:     at IncomingMessage.emit (events.js:81:20)
2011-12-19T04:57:36+00:00 app[app.1]:     at HTTPParser.onMessageComplete (http.js:133:23)
2011-12-19T04:57:36+00:00 app[app.1]:     at CleartextStream.ondata (http.js:1213:22)
2011-12-19T04:57:36+00:00 app[app.1]:     at CleartextStream._push (tls.js:291:27)
2011-12-19T04:57:36+00:00 app[app.1]:     at EncryptedStream.write (tls.js:97:13)
2011-12-19T04:57:36+00:00 app[app.1]:     at SecurePair._cycle (tls.js:565:20)
2011-12-19T04:57:36+00:00 app[app.1]:     at Socket.ondata (stream.js:40:26)
2011-12-19T04:57:36+00:00 app[app.1]:     at Socket.emit (events.js:64:17)
2011-12-19T04:57:36+00:00 app[app.1]:     at Socket._onReadable (net.js:676:14)
2011-12-19T04:57:36+00:00 heroku[app.1]: State changed from starting to up
2011-12-19T04:57:38+00:00 heroku[app.1]: Process exited
2011-12-19T04:57:37+00:00 heroku[app.1]: State changed from up to crashed
2011-12-19T04:57:49+00:00 heroku[app.1]: State changed from crashed to created
2011-12-19T04:57:49+00:00 heroku[app.1]: State changed from created to starting
2011-12-19T04:57:53+00:00 heroku[app.1]: State changed from starting to up
2011-12-19T04:57:54+00:00 heroku[app.1]: State changed from up to crashed

That means you provided the incorrect API token for Campfire. You should also update to the latest hubot by updating the version in package.json.

First install of new version of hubot on heroku, I had the same problem, variables were not set for campfire adapter set by default in Procfile.
If you have this problem, verify:

that your Procfile contains only the adapters you need
that you've defined all the variable on heroku for these adapters

and it should work fine.

I had the same problem which I solved by erasing the node_modules folder and then reinstalling every module with npm install --save
Yo had installed every modules but nothing in package.json, and the gitignore was ignoring node_modules


Change link appearance

Change the style of http://localhost:3000 to  http://localhost:3000 to avoid confusion, issue #125

I think you should check the naming convention for branches, the current one is not descriptive enough

I think you should check the naming convention for branches, the current one is not descriptive enough

Sorry about that, the branch name was self-generated by github, but ill change it for later branches


initial implementation

wip

Could you move the code to a directory like novu because then there could be a examples folder on the root

Hey, could this be merged so i can continue working on it? @scopsy

Thank you so much @shahriar-shojib I'm merging this initial content so we can continue iterating on this one. ❤

@kymppi merged it!


Record @deprecated javadoc tags in the Java indexer

Record the contents of @deprecated javadoc tags, and attach them to the
javadoc documentation node under /kythe/java/deprecated.

We've talked about a couple of different ways of representing modifiers like this. Deprecation probably should not be Java-specific, and probably shouldn't require documentation support to work. In any case, we ought to update the schema before (or at least at the same time as) we modify any indexers.

I added #2978 for this topic.

I switched to the tag/deprecated proposal from #2978.

shouldn't require documentation support to work

I'm not sure what this means. You mention in the bug that @Deprecated annotatoins are indexed separately and don't need treatment here. What does that leave besides the @deprecated javadoc tag?

You mention in the bug that @Deprecated annotatoins are indexed separately and don't need treatment here. What does that leave besides the @deprecated javadoc tag?

Your comment above says "Record the contents of @deprecated javadoc tags, and attach them to the
javadoc documentation node under /kythe/java/deprecated." This assumes there will always be a documentation node, which is not the case. My point is that the deprecated tag should go on the semantic node—regardless whether that's because of a @Deprecated source annotation, or a @deprecated JavaDoc annotation.

When can there be a Javadoc tag but no documentation node?  That is, are there cases where we might be parsing Javadoc comments but not creating a documentation node?
(I agree that we should probably be attaching the Kythe "deprecated" tag to the semantic node anyway, but I'm puzzled at the premise.)

Thanks for the explanation. (I was thinking about the implementation not the schema--we need support for processing javadoc comments to make this work for Java, but attaching to the semantic node sounds good.)

When can there be a Javadoc tag but no documentation node?

There can't—my point wasn't about the presence or absence of the JavaDoc annotation, but to ensure that the resulting tag goes to the semantic node, regardless how it got there.


HTTP: Absolute path is a valid request uri

The spec says an absolute path is valid for the request uri.

Hi! Thanks for contributing! Could you please run gulp so that the minified version of the component is generated and include it in this PR please?

@Golmote done!

Thanks!


Update team

Removed some inactive members from the members page, also I've added in the following team members from the existing pull requests.  If folks can make sure that these guys are still ones we should have in this list or not.
cc @DustinCampbell @filipw @peterblazejewicz  If you guys can help ensure this list looks right, I can come back in and move things around as needed.

@DustinCampbell
@dmccaffery
@rajkumar42
@troydai
@gregg-miskelly
@caslan

The following have not been added, but can be added.  I'm just trying to go by contributions, plus recent contriutions as well. (And may be failing)

@Muchiachio
@Pilchie
@SamuelEnglard
@Spinarooni
@mattwar
@sjrmanning
@wesrupert

Note to anyone that was removed: This is not personal we're just trying to keep the list up to date and organized.  We welcome your contributions again in the future if you do return!

closes #67 #69

@troydai, do you want to be listed? I think you've been pulled off onto other things, right?
@gregg-miskelly, @rajkumar42, and @caslan are specifically part of the debugger team and not contributing to OmniSharp as a whole. Are you guys interested in being listed on http://www.omnisharp.net? It's OK if you do or don't want to be, I just wanted to check.
@Pilchie and @mattwar probably shouldn't be added (unless they start doing stuff! :smile:)

I don't have a strong preference. I certainly don't mind being added at all, but since I haven't been contributing to the editor side of the C# extension I certainly wouldn't feel like I was being slighted if I was left off.

I don't mind either way as long as I am allowed to contribute :)

Yeah, I'm pulled off. But I don't mind. I still see chances for me to contribute anyway :).

I'm a pointy-haired-boss and don't write code these days.  I don't need to be listed...

@OmniSharp/all going go with this change sometime tomorrow, unless there are any stern objections.

Agreed, I'm not very active anymore - should also be cut from the Omnisharp GH org?

@david-driscoll  yeah the github organization definitely needs a similar review


AMQP-489: Enhanced RepublishMessageRecoverer

JIRA: https://jira.spring.io/browse/AMQP-489
Support the addition of other headers to the republished message.
cherry-pick to 1.4.x

Merged as https://github.com/spring-projects/spring-amqp/commit/9e3e706bf8eb9750819f511c3071ab00e21eb96c and cherry-picked


azurerm_key_vault_access_policy Error on new pull

Did a pull thinking the new patch you did to pin a working version in the other issue would fix me up, but getting this error still:
azurerm_role_assignment.ph-instance-role-assignment: Refreshing state... [id=/subscriptions/...mysubid.../providers/Microsoft.Authorization/roleAssignments/6fe97f4d-fae9-a444-027d-6ad7d27021fe]
╷
│ Error: expected "object_id" to be a valid UUID, got
│
│   with azurerm_key_vault_access_policy.ph-vault-disk-admin,
│   on az-encryption.tf line 24, in resource "azurerm_key_vault_access_policy" "ph-vault-disk-admin":
│   24:   object_id    = data.azurerm_client_config.ph-client-conf.object_id
│
╵
╷
│ Error: expected "object_id" to be a valid UUID, got
│
│   with azurerm_key_vault_access_policy.ph-vault-storage-admin,
│   on az-encryption.tf line 71, in resource "azurerm_key_vault_access_policy" "ph-vault-storage-admin":
│   71:   object_id    = data.azurerm_client_config.ph-client-conf.object_id
│
╵
╷
│ Error: expected "object_id" to be a valid UUID, got
│
│   with azurerm_key_vault_access_policy.ph-vault-secret-admin,
│   on az-encryption.tf line 118, in resource "azurerm_key_vault_access_policy" "ph-vault-secret-admin":
│  118:   object_id    = data.azurerm_client_config.ph-client-conf.object_id
│

That seems like a new error - haven't seen it before.
I suggest starting over from scratch - you may need to manually destroy the azure resource group.

Okie dokie - is there a way to delete the stuff without losing all the settings and logs?

the pihole and wireguard container data is backed up to azure object storage (azure calls it blob) periodically. This can either be downloaded then uploaded to a new blob storage container for another cloudblock deployment, or if you have terraform re-create the virtual machine - the virtual machine will pull the last backup from object storage.


QuickSight dashboard - Engagement: time unit is incorrect

Summary
In the Engagement tab of QuickSight dashboard, the "Average engagement time per user" and "Session engagement time (min)" doesn't look correct.
Steps to reproduce
Test with Clickstream WeChat SDK and send events to ingestion server. Check QuickSight dashboard Engagement tab.
What is the current bug behavior?
The time is being calculated in the wrong unit.
What is the expected correct behavior?
The source data sent by WeChat SDK is using millisecond. Also confirmed that Web SDK is also using millisecond as time unit.
Relevant logs and/or screenshots

Possible fixes

This is :bug: Bug Report

@zhu-xiaowei / @amliuyong could you confirm the unit of engagement time in data model? Is it milliseconds or minutes?

The engagement time unit in the data model is milliseconds, QuickSight will create a minute unit attribute through the calculated field, eg., (engagement_time/60/1000)

I'm validating the source data sent from WeChat SDK.

The dashboard Engagement metrics looks correct after cleaning up previous test data and retry on the demo mini program.


Go Restful updated to v2.16.0

#57572

Updated to latest version https://github.com/IBM/ibm-iam-operator/pull/666. Thus, closing it.


Docker Images not synced

Hello, first of all, thank you for this amazing project. You really have a vision behind this and it's looking to be awesome! About this issue, it's just that the container won't start, the entrypoint or init string is not found I would guess.  But when built locally, all good, so not an urgent issue for me.

Hi, thanks for your kind words and the heads up! I will look into this.

Hi, thanks for your kind words and the heads up! I will look into this.

Fixed. Could you pull the latest and verify?

Fixed. Could you pull the latest and verify?

Working like a charm, thank you! 🙏🏻

Working like a charm, thank you! 🙏🏻


Release / v2.0.0

Release v2.0.0

I've put random collections and users to showcase.
Forgot to tag you on this one for review. Feel free to merge if needed.
Reverted back banner after merge as this is demo


Add config for new metrics groups

What does this PR do?
Add config the newly added metrics from: https://github.com/DataDog/integrations-core/pull/15592

@Documentation team: merging before our freeze, feel free to comment/request changes if needed and we will fix it


Why is latest beta-6 using Kotlin 2.0.0-RC1?

Question
Hey! I will be honest and I admin that I haven't tried new beta-6 yet but the main reason was seeing Kotlin 2.0.0-RC1. We are using KMP with Apollo and every time there is Kotlin upgrade things break all over the place and we have to update different libs etc.
So my question is: was it really necessary to upgrade it to Kotlin 2.0.0? If so I am curious why, if not, would it be possible for the future to stay on the latest stable Kotlin version please?

Hi 👋 The general idea is:

stable Apollo versions (3.8 right now) are conservative when it comes to Kotlin versions and will always use latest stable (or even older one if there's no reason to upgrade)
alphas/beta use latest KGP but target stable apiVersion/languageVersion.

On JVM projects, there should be no issue using apollo:4.0.0-beta.6 with Kotlin 1.9.x.
It's a bit less clear on Native/JS because there's no languageVersion support for native (related Youtrack)

What we've seen so far is that KMP projects usually need to track the Kotlin version pretty closely because that part of the ecosystem is moving quite fast. If it's slowing down we'll consider being more conservative for alphas/betas as well but being able to use latest build tools while targetting older binaries seems pretty important for the ecosystem overall. I wouldn't give up on this without trying it a bit more. If you have specific issues, please share them so we can make sure the ecosystem evolves smoothly.

@damianpetla for the record, I asked the question of languageVersion support for non-JVM at KotlinConf and looks like it's not coming any time soon.
One argument is that K/N users need to update their KGP version frequently to track Xcode releases so supporting older versions is not very high on the todo list.
As for us, I think we'll continue doing the following:

update KGP as soon as possible and set languageVersion = n - 1
gives ~1 year of upgrade time for JVM
non-JVM users will have to update KGP in their build before they can update to the latest Apollo version. They can obviously keep using the older versions of Apollo.


Fix tests

Two tests where failing due to an invalid setup.

Note to self: investigate lack of coverage.


Update urllib3 handlers

update urllib3 handlers for https://github.com/urllib3/urllib3/pull/1805 to close #688
This does have a problem of "what version of the urllib3 library is installed ?" since vcrpy does not have minimum version enforcement, so the PR as-is would not work with urllib3 < 1.25.9

I have not run the unit tests for this change.

I have a green CI now at #690 but it should be noted that some of the tests calling out to httpbin.org are flakey in the sense that the site sometimes returns status 502 and HTML output rather than JSON. I think midterm the tests should probably move away from talking to httpbin.org.
For now I think a good plan would be:

merge #690 for a start
rebase #689 here onto latest master after
multiply everything in tox.ini that currently says "urllib3" times two:

"urllib3-1" with urllib3<2
"urllib3-2" with urllib3>=2

@vEpiphyte How much of that would you want to do yourself in here?
I could also try it out myself in a new pull request with your commit included via cherry-pick.
Are there other ideas?

@vEpiphyte You also need to update 2 other files, vcr/stubs/boto3_stubs.py and vcr/stubs/urllib3_stubs.py

@vEpiphyte @hartwork The solution, which works for urllib3 >=2 AND urllib3<2, is to make the same change here  to two other files, https://github.com/kevin1024/vcrpy/blob/master/vcr/stubs/boto3_stubs.py and https://github.com/kevin1024/vcrpy/blob/master/vcr/stubs/urllib3_stubs.py

@alisakr thanks for the feedback! I'll wait for a reply from @vEpiphyte a bit more so we can coordinate a good way forward.

@hartwork No problem! In the mean time, I see you landed your pull request to temporarily limit the urllib3 max version. https://github.com/kevin1024/vcrpy/pull/690 Should this be released now?
Last release was august https://github.com/kevin1024/vcrpy/releases

@alisakr I don't have PyPI write permissions unfortunately and the quick-fix only helped CI, not users. Let's get both 1.x and 2.x supported and then ask someone with PyPI access to do a release right after. What do you think?

I had a look and outside of the imports (the fix is unfortunately much more complex than what's done in the PR), there is also at least one change in the response breaking vcrpy: https://github.com/urllib3/urllib3/pull/2649. If you want to support both urllib3 versions that might end up be messy,

@therve thanks for the pointer! I think if we had a pull request that was complete in terms of support for urllib3 >=2, that would greatly help evaluating with the cost of supporting both at the same time. I imagine with some luck we could just look at it it, and "see" the answer.

Hi Everyone - I'm sorry for not giving more feedback on this. My immediate fire was put out by restricting requests (and avoiding a transitive urllib3 dependency change ), so I haven't had the time to get back to this.
I think we ( as vcrpy users / collaborators / maintainers / interested parties ) should make a decision regarded supported versions of the third party libraries like requests / boto3 ( see #693 ), since that would inform the correct way to fix the patching that is going on. I would like to say "let us just support the un-vendored urllib3 library which changed here urllib3/urllib3/pull/1805 " but I don't want to make that call in a vacuum simply because I was the one who put up a PR.
I believe that would make it much easier to maintain vcrpy moving forward and can be clearly documented. A developer who has to use a older version of one of those libraries which relies on a vendored or older version of urllib3 can always use a older version of vcrpy.

@vEpiphyte I agree with you. The ecosystem needs to evolve and maintaining deprecated libraries in new versions is a difficult job that is often not necessary. Software updates are healthy software!
Can you help us by removing support for old versions?

@jairhenrique Thanks! Do you agree that the minimum supported version should be those from #693?
One difficulty is that unlike other libraries we can’t tell pip about those supported versions, so what should we do if an older version of requests is actually in use? It seems to me that raising an exception like a RuntimeError telling users to downgrade vcrpy is the right thing to do.

It seems to me that raising an exception like a RuntimeError telling users to downgrade vcrpy is the right thing to do.

Please take my vote for recommending an upgrade to the other side or to least mention both options.

@jairhenrique Thanks! Do you agree that the minimum supported version should be those from #693?
One difficulty is that unlike other libraries we can’t tell pip about those supported versions, so what should we do if an older version of requests is actually in use? It seems to me that raising an exception like a RuntimeError telling users to downgrade vcrpy is the right thing to do.

Yes.
Downgrade vcr or upgrade project libraries.

@therve thanks for the pointer! I think if we had a pull request that was complete in terms of support for urllib3 >=2, that would greatly help evaluating with the cost of supporting both at the same time. I imagine with some luck we could just look at it it, and "see" the answer.

Unfortunately I couldn't get something working. I'm somewhat getting lost in the patching about which method should return which object.  Code is here if you're curious.

It sounds the consensus is "support the raw urllib3 library with the changes from 1.25.9" should be the way forward?

I have created a PR (#697) which should provide backward compatibility as well as support urllib3>2.

Closing this in favor of #698 which is a much cleaner approach than what I had shotgunned together. Good discussion here though :)


feat($q): finally callback is called with result arguments

before this commit, finally callback was called with no arguments and couldn't know whether the promise was resolved or rejected and why.
Closes #9246

Given that Angular 2 is moving to ES6 Promise, then I would not add anything new to $q. I am going to close this as even if there is enough traction, this can be part of a third party library


NavBar for lower resolution

@evilseye
Issue - The current Navbar for lower resolution (less than 991px) is not aligned properly making it less appealing. I would like to fix this issue if you assign me.

Below are the snapshots of this issue at different width.

Current navbar at 400px width: -

Fixed navbar at 400px width: -

Current navbar at 800px width : -

Fixed navbar at 800px width : -

This would be great @Thisisakr47 . I have assigned the issue to you.

I'll try to fix it. Please assign it to me


Update to ungoogled-chromium 128.0.6613.113-1

Builds and runs fine, no patch updates required:

CI failed twice for both x86 and x64 when compiling gn:
[80/200] CXX src/gn/filesystem_utils.obj
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "C:\ungoogled-chromium-windows\build\src\tools\gn\bootstrap\bootstrap.py", line 142, in <module>
    sys.exit(main(sys.argv[1:]))
  File "C:\ungoogled-chromium-windows\build\src\tools\gn\bootstrap\bootstrap.py", line 128, in main
    subprocess.check_call(cmd)
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', 'C:\\ungoogled-chromium-windows\\build\\src\\out\\Release\\gn_build', 'gn.exe']' returned non-zero exit status 1.
C:\ungoogled-chromium-windows\build\src>exit
Traceback (most recent call last):
  File "C:\ungoogled-chromium-windows\build.py", line 323, in <module>
    main()
  File "C:\ungoogled-chromium-windows\build.py", line 297, in main
    _run_build_process(
  File "C:\ungoogled-chromium-windows\build.py", line 67, in _run_build_process
    subprocess.run(('cmd.exe', '/k'),
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('cmd.exe', '/k')' returned non-zero exit status 1.

Were there any changes to the CI container? Something is wrong with the visual studio toolchain... @Nifury

I think we need to set _LEGACY_CODE_ASSUMES_STRING_VIEW_INCLUDES_XSTRING.
I'll work on this.
https://github.com/microsoft/STL/blob/91e425587a0b9b5ac0d1005844c661fee2e2813b/stl/inc/string_view#L14-L16

This seems to have fixed the issue.
https://github.com/Nifury/ungoogled-chromium-windows/commit/d0913316ffd7f31b87d5400a14a5d85473ed2301

But why did it work before? Did they (GitHub) change anything? There were no GN changes between the last two releases.

I think so. GitHub recently updated the Visual Studio version,
which includes a PR that removes <xstring> from <string_view>, and has caused many compilation issues.

Thanks a lot for digging into the problem. I included your fix in the next release: https://github.com/ungoogled-software/ungoogled-chromium-windows/pull/379


Add i18n to muc-patterlab-vue

Is your feature request related to a problem? Please describe.
Currently muc-patterlab-vue is not available in multiple languages.
Describe the solution you'd like
Add i18n to muc-patterlab-vue for english and german language.

This needs some discussion about the implementation.
How do we select languages? - use some vueuse magic and determine the language from the browser or to we implement some way to configure the language from the outside. The later way the parent app determines the language to be displayed.


Add Wireguard?

PiVPN is really cool. Please add that to the list of things installed.
Thanks
Dennis Womack

I don't have a vote but if I did I would vote no. This is what I call feature creep. One more, logical addition, then another and soon the horse looks like a camel.

@CharlesGodwin - Honestly, that's my thought too. I'm even considering finding ways to break this up a little bit at some point, but the main things for me are monitoring + DNS (and even there, it could be good to break those two things apart!).

I was hesitant to suggest taking PiHole out of it and keep it simple but didn't want to tell others what to do.

Feature creep is the bane of all software and I do agree with that stance. However, given the name and description of the project, I think that this request still falls into scope. Making the whole thing modular, which is kind of done already in the optional config.yml entries, would make it much more versatile.
I'd already run into thinking about this after wanting to add recursive DNS to pihole via Unbound.
Apart from some form of VPN, another complimentary addition might be a DDNS updater for external access and a customised private DNS.
All of this would naturally call for a separate issue with an enhancement tag of course.

I suggested PiVPN basically because of Wireguard. It is computationally very lightweight.  It is even built in to the latest Linux kernels.
PiVPN also provides source code.  The QR code generation is pretty cool.  There are already Wireguard clients in the Apple App Store and in Google Play that will use the camera to acquire the QR code and configure the client.  I have a pi4b running Internet-pi.  I have a pi2b running PiVPN. Today while I was at the mall, I turned on Wireguard on my phone and checked the Internet-pi stats. Works.

The questions I have about Ansible and Docker, etc, are does this method keep these independent tasks from stepping on each other?
Dennis


input type string

make input type string so this way numbers ending or starting in a 0 will be able to be accurately verified ✅

no

i would like to re-open this, still not fixed.


I keep loosing all my work. I wish there was a big red save button.

Describe the bug
Let me just start by saying that I love what you're doing here. This is the first product I used where I can see myself prompting a full (for now landing page) website build. BUT I lost my work 3 times now and ran through 200k credits/tokens which I feel could be resolved with a save button.
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-f7txgx
Steps to reproduce

Prompt changes
a. loose connection
b. leave page
c. refresh
it revert to a step from few minutes to all the way to prompt 1

Expected behavior
Ideally it would auto save on every prompt but if there was a save button that would also work perfectly well.
Screen Recording / Screenshot
No response
Platform
chrome
macOS
Additional context
Awesome work on this project!

Needs git integration like Cursor has.

u can use bookmark for now


Changes in DepartmentUser fields (migration), updates to API endpoints.

This change is

Reviewed 5 of 5 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Broken link in Releases page

/kind bug

The latest release page links to https://docs.openshift.com/container-platform/4.6/cli_reference/openshift_developer_cli/installing-odo.html which does not exist.

It looks like OpenShift Docs slightly changed URL in the latest release.
The correct link is now
https://docs.openshift.com/container-platform/4.6/cli_reference/developer_cli_odo/installing-odo.html
I've fixed the link in our release notes.
Thank you @tetchel for reporting this.
/close


Adding source distribution for xarray-beam on PyPI

Thanks for developing this library. I am interested in submitting a conda-forge recipe for xarray-beam. The most common source url for conda-forge recipes is the PyPI source distribution, followed by the GitHub release source distribution, followed by the GitHub archive (current xarray-beam option). Would you consider adding an sdist to the PyPI xarray-beam release?

Yes, that works (xref https://github.com/conda-forge/staged-recipes/pull/19074). Thank you!


OSTicket v1.10 - Get this on a new email during cron job with no ticket created.

OSTicket v1.10 and I get the following error.
PHP Fatal error:  Uncaught Error: Call to a member function getLastMessage() on null in /var/www/clients/client3/web20/web/include/class.ticket.php:801
Stack trace:
#0 /var/www/clients/client3/web20/web/include/plugins/rocketchat/rocketchat.php(71): Ticket->getLastMessage()
#1 /var/www/clients/client3/web20/web/include/class.signal.php(98): RocketChatPlugin->onTicketCreated(Object(Ticket), NULL)
#2 /var/www/clients/client3/web20/web/include/class.orm.php(619): Signal::send('model.created', Object(Ticket))
#3 /var/www/clients/client3/web20/web/include/class.ticket.php(2740): VerySimpleModel->save(true)
#4 /var/www/clients/client3/web20/web/include/class.ticket.php(3373): Ticket->save()
#5 /var/www/clients/client3/web20/web/include/class.mailfetch.php(796): Ticket::create(Array, Array, 'Email')
#6 /var/www/clients/client3/web20/web/include/class.mailfetch.php(845): MailFetcher->createTicket(1)
#7 /var/www/clients/client3/web20/web/include/class.mailfetch.php(925): MailFetcher->fetchEmails()
#8 /var/www/clients/client3/web20/web/ in /var/www/clients/client3/web20/web/include/class.ticket.php on line 801

Im getting the same...
[Wed Jul 05 20:32:22.980353 2017] [:error] [pid 2909] [client <IP_ADDRESS>:62805] PHP Fatal error:  Uncaught Error: Call to a member function getLastMessage() on null in /var/www/html/osticket/upload/include/class.ticket.php:801\nStack trace:\n#0 /var/www/html/osticket/upload/include/plugins/rocketchat/rocketchat.php(71): Ticket->getLastMessage()\n#1 /var/www/html/osticket/upload/include/class.signal.php(98): RocketChatPlugin->onTicketCreated(Object(Ticket), NULL)\n#2 /var/www/html/osticket/upload/include/class.orm.php(619): Signal::send('model.created', Object(Ticket))\n#3 /var/www/html/osticket/upload/include/class.ticket.php(2740): VerySimpleModel->save(true)\n#4 /var/www/html/osticket/upload/include/class.ticket.php(3373): Ticket->save()\n#5 /var/www/html/osticket/upload/open.php(42): Ticket::create(Array, Array, 'Web')\n#6 {main}\n  thrown in /var/www/html/osticket/upload/include/class.ticket.php on line 801
osTicket Version	v1.10 (901e5ea)
any workaround for this?

I am sorry, but I dont have any time for now to maintain this plugin/repostiory. Neither do I have any running osTicket instances.


Use xensource-inventory file to obtain version information.

I updated Xen after enabling base and a few other repo's in order to install glusterfs.
This must have overwritten my /etc/redhat-release file, because it shows CentOS 5.11 now instead of the Xen version.
There is another file that contains the full version, the /etc/xensource-inventory file.
My modifications successfully use this file to obtain the version in lieu of the redhat-release file, as it appears to be unreliable as a xen version source.

Implemented alternate fix, as this expected fields in /etc/xensource-inventory to be in fixed locations, which isn't necessarily the case. Pushed #52 instead - but many thanks for pointing out this issue none-the-less!


dumps doesn't support indent

As this library should work as "a drop-in replacement for Python's built-in json module" it should support the indent feature for dumps().
import hyperjson

data = {
    'key1': [1,2,3],
    'key2': {
        'a': '1',
        'b': 2
    }
}

text = hyperjson.dumps(data, sort_keys=True, indent=4)
print(text)

Running this code results in the error:
Traceback (most recent call last):
  File "hyperjson_test.py", line 11, in <module>
    text = hyperjson.dumps(data, sort_keys=True, indent=4)
TypeError: dumps() got an unexpected keyword argument: indent

Hey @ScholliYT,
thanks for the bug report. You're right, this should be supported but it isn't. Didn't have the time to add that functionality yet. If you like, you can try adding that.
You'd have to remove the underscore from the _indent option here
and then add a call to serde's indent.
Alternatively, maybe someone else wants to tackle this.


Failed to build layotto

What happened:
I tried to run build this project and know how it works, so I downloaded the source code and then followed the quick-start to run the apollo demo.

Layotto Version: master
OS: Mac OS Big Sur 11.4
I guess that mosn don't support Apple M1 chip well

Thanks for your feedback,I will try to borrow a Mac with M1 chip tomorrow

By the way,which version of golang are you using? @pinxiong

By the way,which version of golang are you using? @pinxiong

****:layotto ****$ go version
go version go1.16.5 darwin/arm64

@pinxiong Hi, I submitted a pr to fix this issue.Could u try again?

Thank you very much! Your PR can fix my issue! (You can close #68)
I have pasted more detailed info for helping other with the same problems before.

Pulled the latest PR (change mosn's version from v0.22.1 to v0.23.0)

****:layotto ****$ git log
commit 8bcebb92b30df8b5c396f1e0bf3b86b143d233d8 (HEAD -> main, upstream/main)
Author: seeflood<EMAIL_ADDRESS>Date:   Mon Jun 21 15:27:22 2021 +0800

    fix m1 compile error (#73)

Run the following command

cd ${projectpath}/cmd/layotto
go build

the lastest mosndownloaded successfully
****:layotto ****$ go build
go: downloading mosn.io/mosn v0.23.0
go: downloading mosn.io/pkg v0.0.0-20210604065522-6e8f5a087814
****:layotto ****$ pwd
/********/layotto/cmd/layotto

And then run ./layotto start -c ../../configs/config_apollo.json

2021-06-21 15:51:56,885 [INFO] [network] [ register pool factory] register protocol: Http1 factory
2021-06-21 15:51:56,888 [INFO] register a new handler maker, name is default, is default: true
2021-06-21 15:51:56,888 [INFO] [config] processor added to configParsedCBMaps
2021-06-21 15:51:56,898 [INFO] register a grpc server named: runtime, success: true
2021-06-21 15:51:56,899 [INFO] load config from :  ../../configs/config_apollo.json
2021-06-21 15:51:56,899 [INFO] mosn parameters parsed cost: 634.458µs
2021-06-21 15:51:56,900 [INFO] [mosn] [init tracing] disable tracing
2021-06-21 15:51:56,900 [INFO] [mosn start] create a new mosn structure
2021-06-21 15:51:56,900 [INFO] [server] [reconfigure] not reconfigure: dial unix /********/layotto/configs/reconfig.sock: connect: no such file or directory
2021-06-21 15:51:56,900 [INFO] [mosn] [NewMosn] new mosn created
2021-06-21 15:51:56,900 [INFO] [mosn start] mosn init cluster structures
2021-06-21 15:51:56,900 [WARN] [config] [parse cluster] No Cluster provided in cluster config
2021-06-21 15:51:56,900 [INFO] [mosn start] mosn init server structures
2021-06-21 15:51:56,900 [DEBUG] [server] [init] add server conn handler, server name =
2021-06-21 15:51:56,900 [INFO] parsing listen config:tcp
2021-06-21 15:51:56,900 [WARN] [streamfilter] createStreamFilterFactoryFromConfig return nil factories
2021-06-21 15:51:56,900 [INFO] [streamfilter] AddOrUpdateStreamFilterConfig add filter chain key: grpc
2021-06-21 15:51:56,900 [DEBUG] [dumpConfig] update app dump config, value={"cpu_max_rate":80,"duration":10,"interval":30,"mem_max_rate":80,"switch":"ON"}
2021-06-21 15:51:56,900 [DEBUG] [DUMP] start updateSampleFlag.
2021-06-21 15:51:56,900 [DEBUG] tcpcopy filter initialized success
2021-06-21 15:51:56,900 [DEBUG] grpc server filter: create a grpc server name: runtime
2021-06-21 15:51:56,900 [INFO] [runtime] init hello service
2021-06-21 15:51:56,900 [INFO] [runtime] init config service
2021-06-21 15:51:56,977 [INFO] [[agollo start finished ! ]]
2021-06-21 15:51:57,35 [INFO] [[agollo start finished ! ]]
2021-06-21 15:51:57,35 [INFO] [runtime] init rpc service
2021-06-21 15:51:57,35 [INFO] [runtime] start initializing pubsub components
2021-06-21 15:51:57,35 [INFO] [runtime] start initializing state components
2021-06-21 15:51:57,35 [DEBUG] grpc server filter initialized success
2021-06-21 15:51:57,35 [INFO] mosn init cost: 136.298916ms
2021-06-21 15:51:57,35 [INFO] [server] [conn handler] [add listener] add listener: <IP_ADDRESS>:34904
2021-06-21 15:51:57,35 [INFO] [mosn start] mosn start xds client
2021-06-21 15:51:57,36 [WARN] [feature gate] feature XdsMtlsEnable is not enabled
2021-06-21 15:51:57,36 [WARN] [feature gate] feature PayLoadLimitEnable is not enabled
2021-06-21 15:51:57,36 [WARN] [feature gate] feature MultiTenantMode is not enabled
2021-06-21 15:51:57,36 [WARN] [feature gate] feature auto_config is not enabled
2021-06-21 15:51:57,36 [WARN] no admin config, no admin api served
2021-06-21 15:51:57,36 [INFO] [admin store] [mosn state] state changed to 1
2021-06-21 15:51:57,36 [INFO] xds client start
2021-06-21 15:51:57,36 [ERROR] StaticResources is null
2021-06-21 15:51:57,36 [WARN] fail to init xds config, skip xds: null point exception
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn parse extend config
2021-06-21 15:51:57,36 [INFO] mosn prepare to start cost: 130.958µs
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn transfer connections
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn clean upgrade datas
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn start server
2021-06-21 15:51:57,36 [INFO] mosn start cost: 9.875µs
2021-06-21 15:51:58,40 [INFO] [server] [reconfigure] reconfigureHandler start
2021-06-21 15:52:27,906 [DEBUG] [DUMP] cpuRate:%!s(float64=22.732919254663774) is less than max rate %!s(float64=79.57048416137695), memRate:%!s(float64=80) is less than max rate %!s(float64=80)
2021-06-21 15:52:27,906 [DEBUG] [DUMP] open sample window
2021-06-21 15:52:37,910 [DEBUG] [DUMP] close sample window
2021-06-21 15:53:08,918 [DEBUG] [DUMP] cpuRate:%!s(float64=25.374999998894054) is less than max rate %!s(float64=78.82013320922852), memRate:%!s(float64=80) is less than max rate %!s(float64=80)
2021-06-21 15:53:08,918 [DEBUG] [DUMP] open sample window

Start the client

cd ${projectpath}/demo/configuration/apollo
go build -o apolloClientDemo
./apolloClientDemo

Verify

****:apollo ****$ ./apolloClientDemo
runtime client initializing for: <IP_ADDRESS>:34904
save key success
get configuration after save, &{Key:key1 Content:value1 Group:application Label:prod Tags:map[feature:print release:1.0.0] Metadata:map[]}
get configuration after save, &{Key:haha Content:heihei Group:application Label:prod Tags:map[feature:haha release:1.0.0] Metadata:map[]}
delete keys success

Thank you very much! Your PR can fix my issue! (You can close #68)
I have pasted more detailed info for helping other with the same problems before.

Pulled the latest PR (change mosn's version from v0.22.1 to v0.23.0)

****:layotto ****$ git log
commit 8bcebb92b30df8b5c396f1e0bf3b86b143d233d8 (HEAD -> main, upstream/main)
Author: seeflood<EMAIL_ADDRESS>Date:   Mon Jun 21 15:27:22 2021 +0800

    fix m1 compile error (#73)

Run the following command

cd ${projectpath}/cmd/layotto
go build

the lastest mosndownloaded successfully
****:layotto ****$ go build
go: downloading mosn.io/mosn v0.23.0
go: downloading mosn.io/pkg v0.0.0-20210604065522-6e8f5a087814
****:layotto ****$ pwd
/********/layotto/cmd/layotto

And then run ./layotto start -c ../../configs/config_apollo.json

2021-06-21 15:51:56,885 [INFO] [network] [ register pool factory] register protocol: Http1 factory
2021-06-21 15:51:56,888 [INFO] register a new handler maker, name is default, is default: true
2021-06-21 15:51:56,888 [INFO] [config] processor added to configParsedCBMaps
2021-06-21 15:51:56,898 [INFO] register a grpc server named: runtime, success: true
2021-06-21 15:51:56,899 [INFO] load config from :  ../../configs/config_apollo.json
2021-06-21 15:51:56,899 [INFO] mosn parameters parsed cost: 634.458µs
2021-06-21 15:51:56,900 [INFO] [mosn] [init tracing] disable tracing
2021-06-21 15:51:56,900 [INFO] [mosn start] create a new mosn structure
2021-06-21 15:51:56,900 [INFO] [server] [reconfigure] not reconfigure: dial unix /********/layotto/configs/reconfig.sock: connect: no such file or directory
2021-06-21 15:51:56,900 [INFO] [mosn] [NewMosn] new mosn created
2021-06-21 15:51:56,900 [INFO] [mosn start] mosn init cluster structures
2021-06-21 15:51:56,900 [WARN] [config] [parse cluster] No Cluster provided in cluster config
2021-06-21 15:51:56,900 [INFO] [mosn start] mosn init server structures
2021-06-21 15:51:56,900 [DEBUG] [server] [init] add server conn handler, server name =
2021-06-21 15:51:56,900 [INFO] parsing listen config:tcp
2021-06-21 15:51:56,900 [WARN] [streamfilter] createStreamFilterFactoryFromConfig return nil factories
2021-06-21 15:51:56,900 [INFO] [streamfilter] AddOrUpdateStreamFilterConfig add filter chain key: grpc
2021-06-21 15:51:56,900 [DEBUG] [dumpConfig] update app dump config, value={"cpu_max_rate":80,"duration":10,"interval":30,"mem_max_rate":80,"switch":"ON"}
2021-06-21 15:51:56,900 [DEBUG] [DUMP] start updateSampleFlag.
2021-06-21 15:51:56,900 [DEBUG] tcpcopy filter initialized success
2021-06-21 15:51:56,900 [DEBUG] grpc server filter: create a grpc server name: runtime
2021-06-21 15:51:56,900 [INFO] [runtime] init hello service
2021-06-21 15:51:56,900 [INFO] [runtime] init config service
2021-06-21 15:51:56,977 [INFO] [[agollo start finished ! ]]
2021-06-21 15:51:57,35 [INFO] [[agollo start finished ! ]]
2021-06-21 15:51:57,35 [INFO] [runtime] init rpc service
2021-06-21 15:51:57,35 [INFO] [runtime] start initializing pubsub components
2021-06-21 15:51:57,35 [INFO] [runtime] start initializing state components
2021-06-21 15:51:57,35 [DEBUG] grpc server filter initialized success
2021-06-21 15:51:57,35 [INFO] mosn init cost: 136.298916ms
2021-06-21 15:51:57,35 [INFO] [server] [conn handler] [add listener] add listener: <IP_ADDRESS>:34904
2021-06-21 15:51:57,35 [INFO] [mosn start] mosn start xds client
2021-06-21 15:51:57,36 [WARN] [feature gate] feature XdsMtlsEnable is not enabled
2021-06-21 15:51:57,36 [WARN] [feature gate] feature PayLoadLimitEnable is not enabled
2021-06-21 15:51:57,36 [WARN] [feature gate] feature MultiTenantMode is not enabled
2021-06-21 15:51:57,36 [WARN] [feature gate] feature auto_config is not enabled
2021-06-21 15:51:57,36 [WARN] no admin config, no admin api served
2021-06-21 15:51:57,36 [INFO] [admin store] [mosn state] state changed to 1
2021-06-21 15:51:57,36 [INFO] xds client start
2021-06-21 15:51:57,36 [ERROR] StaticResources is null
2021-06-21 15:51:57,36 [WARN] fail to init xds config, skip xds: null point exception
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn parse extend config
2021-06-21 15:51:57,36 [INFO] mosn prepare to start cost: 130.958µs
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn transfer connections
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn clean upgrade datas
2021-06-21 15:51:57,36 [INFO] [mosn start] mosn start server
2021-06-21 15:51:57,36 [INFO] mosn start cost: 9.875µs
2021-06-21 15:51:58,40 [INFO] [server] [reconfigure] reconfigureHandler start
2021-06-21 15:52:27,906 [DEBUG] [DUMP] cpuRate:%!s(float64=22.732919254663774) is less than max rate %!s(float64=79.57048416137695), memRate:%!s(float64=80) is less than max rate %!s(float64=80)
2021-06-21 15:52:27,906 [DEBUG] [DUMP] open sample window
2021-06-21 15:52:37,910 [DEBUG] [DUMP] close sample window
2021-06-21 15:53:08,918 [DEBUG] [DUMP] cpuRate:%!s(float64=25.374999998894054) is less than max rate %!s(float64=78.82013320922852), memRate:%!s(float64=80) is less than max rate %!s(float64=80)
2021-06-21 15:53:08,918 [DEBUG] [DUMP] open sample window

Start the client

cd ${projectpath}/demo/configuration/apollo
go build -o apolloClientDemo
./apolloClientDemo

Verify

****:apollo ****$ ./apolloClientDemo
runtime client initializing for: <IP_ADDRESS>:34904
save key success
get configuration after save, &{Key:key1 Content:value1 Group:application Label:prod Tags:map[feature:print release:1.0.0] Metadata:map[]}
get configuration after save, &{Key:haha Content:heihei Group:application Label:prod Tags:map[feature:haha release:1.0.0] Metadata:map[]}
delete keys success

Thanks again for your information.
Welcome to MOSN&Layotto Commutiy!


Wiki module, another type of jokes, minor edits

I added a wiki module but Wit.ai needs some training data. You would need to add a wiki Intent and a query entity. To verify that my code works without even tweaking Wit.ai, you may hardcode intent as movie and visit http://localhost:5000/process/?q=movie%20happyness. You should see Wikipedia results for Happiness.
I also added a different variety of jokes to joke.py. I felt our community would appreciate diversity. I tried to look for APIs to get a random joke, but I could not find any free ones.
Thank you!

Thanks so much for taking the time to contribute!
I'd really appreciate it if you could open another Pull Request for the joke module. (Stick to one module per PR :smile: ) The jokes definitely need to be as diverse as possible, and two APIs are better than one! :stuck_out_tongue_winking_eye:
The wiki module looks great! Just take a look at the lines that I have commented on. I have added the intent wiki so can you add some tests in the corresponding folder?

Thank you for your comments, @swapagarwal. I added lib/wikipedia to make sure that import wikipedia does not throw an error. wiki.py is not in root directory which is why I got an ImportError without the folder.

Run pip install wikipedia
That way, the lib files won't be required, and you can simply use import wikipedia

I did pip install wikipedia. For some reason, I was receiving an ImportError until now. I have removed lib/wikipedia folder (yay).

Are we ready to merge and deploy?

Sure! :smile:


Compiler stack overflows when closure captures (mutually) recursive reference

I tried to write a parser using the modules defined in the parser example but the compiler started to stack overflow when I made it recursive.
thread '<unknown>' has overflowed its stack
fatal runtime error: stack overflow
fish: Job 1, 'roc dev src/main.roc' terminated by signal SIGABRT (Abort)

I made a self-contained example for this issue which is simpler and stubs all the used parser functions by only keeping the pieces necessary to trigger the bug. See gist.
Also, here is the source for my original parser.

Here's a more abstract (and non-sensical to run) example that reproduces the same issue which much less code. See gist.

I found I can work around this by rewrapping the Parser. Maybe that helps diagnose the problem.

Here's a more abstract (and non-sensical to run) example that reproduces the same issue which much less code. See gist.

When I run the code in this gist, I get:
── DEFINITION ONLY USED IN RECURSION ────────────────────────────── Parser.roc ─
This definition is only used in recursion with itself:
5│>  a : P
6│>  a =
7│>      const
8│>      |> andThen (_ -> a)
If you don't intend to use or export this definition, it should be
removed!

This is a bug in the layout generation
  * frame #0: 0x000000010298c2c0 roc`from_var at layout.rs:1850
    frame #1: 0x000000010298be34 roc`build_function_closure_data at layout.rs:1435:14
    frame #2: 0x00000001029961d0 roc`layout_from_flat_type at layout.rs:3375:36
    frame #3: 0x0000000102991b58 roc`new_help at layout.rs:2510:37
    frame #4: 0x0000000102a1a02c roc`{closure#0} at layout.rs:2588:13
    frame #5: 0x000000010299303c roc`from_var [inlined] cached_or<roc_mono::layout::{impl#19}::from_var::{closure_env#0}> at layout
.rs:2392:9
    frame #6: 0x0000000102992680 roc`from_var at layout.rs:2586:9
    frame #7: 0x0000000102991e04 roc`new_help at layout.rs:2543:26
    frame #8: 0x0000000102a1a02c roc`{closure#0} at layout.rs:2588:13
    frame #9: 0x000000010299303c roc`from_var [inlined] cached_or<roc_mono::layout::{impl#19}::from_var::{closure_env#0}> at layout
.rs:2392:9


PD bug: Indeterminate tooltip is empty

tooltip of Indeterminate state tip position in batch edit mix form is empty.

same with blowout also: empty tooltip for indeterminate state.

I'm not able to reproduce this issue for touch tip, I am able to see the issue for tip position and blowout though


Fixes undefined error in superdevmode

Which error did you fix? Could you please share them here.

https://gist.github.com/CheatEx/9d4cae9b7c0ecf5ce1a1


$ not redering

Love markdown-pp, but having trouble with the $ character
Electric standing desks range from $200-$2000.
Rendering: 200-2000. A survey found standing desk advocates would be happy with the  ...
Traceback (most recent call last):
File "/usr/local/bin/markdown-pp", line 11, in
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/MarkdownPP/main.py", line 112, in main
MarkdownPP.MarkdownPP(input=mdpp, output=md, modules=modules)
File "/usr/local/lib/python2.7/site-packages/MarkdownPP/MarkdownPP.py", line 28, in init
pp.process()
File "/usr/local/lib/python2.7/site-packages/MarkdownPP/Processor.py", line 49, in process
transforms = module.transform(self.data)
File "/usr/local/lib/python2.7/site-packages/MarkdownPP/Modules/LaTeXRender.py", line 77, in transform
self.render(tex) +
File "/usr/local/lib/python2.7/site-packages/MarkdownPP/Modules/LaTeXRender.py", line 100, in render
formula = formula.replace("$", "")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 163: ordinal not in range(128)
Tried with \$ and I get the same error
Rendering: 200-\2000. A survey found standing desk advocates would be happy with the  ...
Traceback (most recent call last):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 163: ordinal not in range(128)

THis has been mentioned before.. fixed with:
"append -e latexrender to the command you use to call MarkdownPP."   fixed it for me


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v4.5 to before v4.14.268",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2f4ce5ec1d447beb42143a9653716a2ab025161e",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e89bb266b710ce056f141f29f091fd468a4a8185"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "2f4ce5ec1d447beb42143a9653716a2ab025161e",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "e89bb266b710ce056f141f29f091fd468a4a8185",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "libsubcmd: Fix use-after-free for realloc(..., 0)\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v4.14.268 by commit e89bb266b710ce056f141f29f091fd468a4a8185, it was introduced in version v4.5 by commit 2f4ce5ec1d447beb42143a9653716a2ab025161e. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2022-1000313


Create checkstyle rule to fail if library code catches Throwable instead of Exception

Catching a Throwable is not a good practice as it would also catch Error types which are not safe to handle at the SDK level. So, we should have the rule to throw checkstyle errors.

Realted https://github.com/Azure/azure-sdk-for-java/issues/27975


[graph] Skip backwarding bug fix

Current implementation assumes that the graph is always linear and skips
the backwarding for contiguous set of layers at the start of the model
which should not do the backwarding.
This patch makes a fix to this issue but allowing layers in the middle
of the sorted graph to skip backwarding.
Resolves #1686
Note: this will provide minor speedup for complex models where some more layers backwarding can be skipped.
Signed-off-by: Parichay Kapoor<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1687. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1687-202111011558450.83975410461426-388f1d8c799609b8eec56471628d475bc666432b/.

:octocat: cibot: @kparichay, test/unittest/models/models_test_utils.cpp includes bug(s). Please fix incorrect coding constructs in your commit before entering a review process.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1687-202111011730110.67297601699829-e338f6f86211e4a3513e71840bf0d4fb9854387f/.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1687-202111011754590.40546107292175-aef65c72a4b004483ef0cf4e3c6be6c5838a6654/.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1687-202111011912500.66438293457031-a5d3fb90a98f28f1bb8055a50520b418209bd927/.

V2:

apply bug fix for lstmcell
Currently, the memory was allocated assuming all the nodes were running
backwarding, and all the layers are trainable. But that is not true.
This patch applies the corresponding optimization and allocates memory
corresponding to the functions which will run on these nodes.


Add rick roll support

The source code for https://www.youtube.com/watch?v=dQw4w9WgXcQ doesn't contain the "itag":18,url: string. Instead, video URLs are encoded in a signatureCipher field :
{
  "itag": 18,
  "mimeType": "video/mp4; codecs='avc1.42001E, mp4a.40.2'",
  "bitrate": 342654,
  "width": 640,
  "height": 360,
  "lastModified": "1674233743350828",
  "quality": "medium",
  "fps": 25,
  "qualityLabel": "360p",
  "projectionType": "RECTANGULAR",
  "audioQuality": "AUDIO_QUALITY_LOW",
  "approxDurationMs": "212091",
  "audioSampleRate": "44100",
  "audioChannels": 2,
  "signatureCipher": "s=f%3Dg7YDsIxx09c-gmZw0PPY5t%3DSIBNYUiFBmh8EGrFytQkDQICA69QOmNV3tcGsv5PHELGkzf5ojyL-mLb92UXKMAH3WHgIQRw8JQ0qOAFOAF&sp=sig&url=https://rr2---sn-f5o5-jhod.googlevideo.com/videoplayback%3Fexpire%3D1677629799%26ei%3DB0X-Y82bDqTt1wb4vrQQ%26ip%3D<IP_ADDRESS>%26id%3Do-AFY6sdlJJ1IBUJBDk2CDuTIan2WiYPp2YWaDhwdKkE-m%26itag%3D18%26source%3Dyoutube%26requiressl%3Dyes%26mh%3D7c%26mm%3D31%252C29%26mn%3Dsn-f5o5-jhod%252Csn-h5qzen7d%26ms%3Dau%252Crdu%26mv%3Dm%26mvi%3D2%26pl%3D24%26initcwndbps%3D276250%26vprv%3D1%26mime%3Dvideo%252Fmp4%26ns%3D861xLFuuouDdIvuzeF2DfT0L%26cnr%3D14%26ratebypass%3Dyes%26dur%3D212.091%26lmt%3D1674233743350828%26mt%3D1677607758%26fvip%3D4%26fexp%3D24007246%26c%3DWEB%26txp%3D4530434%26n%3DME4I0_ZBuCo2R7YhTZF%26sparams%3Dexpire%252Cei%252Cip%252Cid%252Citag%252Csource%252Crequiressl%252Cvprv%252Cmime%252Cns%252Ccnr%252Cratebypass%252Cdur%252Clmt%26lsparams%3Dmh%252Cmm%252Cmn%252Cms%252Cmv%252Cmvi%252Cpl%252Cinitcwndbps%26lsig%3DAG3C_xAwRQIhAOgRfSiKHz-i6errp0ktW0qs3vqHxHM-gmDG0B8WJgIeAiBZHYOKcZW1tFU-8quvvCSR19Hpxyz9uxfzjvHKWMAhHw%253D%253D"
}

Found a mention of signatureCipher in base.js :
  RC = function (a) {
    var b = g.M(a, qta) || a.signatureCipher;
    a = { AT: false, zx: "", xz: "", s: "" };
    if (!b) return a;
    b = dw(b);
    a.AT = true;
    a.zx = b.url;
    a.xz = b.sp;
    a.s = b.s;
    return a;
  };

Which is then called here :
        e = RC(n);
        e = tG(e.zx || n.url || "", e.xz, e.s);

The definition of tG is as follows :
  tG = function (a, b, c) {
    b = void 0 === b ? "" : b;
    c = void 0 === c ? "" : c;
    a = new g.oD(a, true);
    a.set("alr", "yes");
    c && ((c = Gta(decodeURIComponent(c))), a.set(b, encodeURIComponent(c)));
    return a;
  };

The definition of Gta is as follows :
  Gta = function (a) {
    a = a.split("");
    nD.uC(a, 61);
    nD.ei(a, 50);
    nD.Ua(a, 3);
    nD.uC(a, 53);
    nD.ei(a, 72);
    nD.uC(a, 24);
    nD.ei(a, 72);
    nD.uC(a, 17);
    nD.Ua(a, 1);
    return a.join("");
  };

Gta relies on the nD object :
  var nD = {
    Ua: function (a, b) {
      a.splice(0, b);
    },
    ei: function (a) {
      a.reverse();
    },
    uC: function (a, b) {
      var c = a[0];
      a[0] = a[b % a.length];
      a[b % a.length] = c;
    },
  };

With all the above I wrote this script :
var g = {};
g.ne = function (a) {
    return encodeURIComponent(String(a));
};

Xh = function (a, b, c) {
    if (Array.isArray(b))
        for (var d = 0; d < b.length; d++) Xh(a, String(b[d]), c);
    else null != b && c.push(a + ("" === b ? "" : "=" + g.ne(b)));
};

g.$h = function (a) {
    var b = [],
        c;
    for (c in a) Xh(c, a[c], b);
    return b.join("&");
};

var oe = function (a) {
    return decodeURIComponent(a.replace(/\+/g, " "));
};

var Ana = /^[\w.]*$/,
    yna = { q: !0, search_query: !0 },
    xna = String(bw);

var wna = function (a) {
    return a && a.match(Ana) ? a : oe(a);
};

var bw = function (a, b) {
    b = a.split(b);
    for (var c = {}, d = 0, e = b.length; d < e; d++) {
        var f = b[d].split("=");
        if ((1 == f.length && f[0]) || 2 == f.length)
            try {
                var h = wna(f[0] || ""),
                    l = wna(f[1] || "");
                h in c
                    ? Array.isArray(c[h])
                    ? g.vb(c[h], l)
                    : (c[h] = [c[h], l])
                    : (c[h] = l);
            } catch (q) {
                var m = q,
                    n = f[0],
                    p = String(bw);
                m.args = [
                    {
                        key: n,
                        value: f[1],
                        query: a,
                        method: xna == p ? "unchanged" : p,
                    },
                ];
                yna.hasOwnProperty(n) || console.log(m);
                throw q;
            }
    }
    return c;
};

dw = function (a) {
    "?" == a.charAt(0) && (a = a.substr(1));
    return bw(a, "&");
};

RC = function (a) {
    var b = a.signatureCipher;
    a = { AT: !1, zx: "", xz: "", s: "" };
    if (!b) return a;
    b = dw(b);
    a.AT = !0;
    a.zx = b.url;
    a.xz = b.sp;
    a.s = b.s;
    return a;
};

var nD = {
    Ua: function (a, b) {
        a.splice(0, b);
    },
    ei: function (a) {
        a.reverse();
    },
    uC: function (a, b) {
        var c = a[0];
        a[0] = a[b % a.length];
        a[b % a.length] = c;
    },
};

Gta = function (a) {
    a = a.split("");
    nD.uC(a, 61);
    nD.ei(a, 50);
    nD.Ua(a, 3);
    nD.uC(a, 53);
    nD.ei(a, 72);
    nD.uC(a, 24);
    nD.ei(a, 72);
    nD.uC(a, 17);
    nD.Ua(a, 1);
    return a.join("");
};

g.oD = function (a, b) {
    this.u = a;
    this.D = void 0 === b ? false : b;
    this.C = this.path = this.B = "";
    this.j = {};
    this.url = "";
    this.alr = "";
};

g.oD.prototype.set = function (a, b) {
    this.j[a] !== b && ((this.j[a] = b), (this.url = ""));
};

tG = function (a, b, c) {
    b = void 0 === b ? "" : b;
    c = void 0 === c ? "" : c;
    a = new g.oD(a, true);
    console.log({ a });
    a.set("alr", "yes");
    c && ((c = Gta(decodeURIComponent(c))), a.set(b, encodeURIComponent(c)));
    return a;
};

g.t = function (a) {
    var b =
        "undefined" != typeof Symbol && Symbol.iterator && a[Symbol.iterator];
    if (b) return b.call(a);
    if ("number" == typeof a.length) return { next: baa(a) };
    throw Error(String(a) + " is not an iterable or ArrayLike");
};

baa = function (a) {
    var b = 0;
    return function () {
        return b < a.length ? { done: !1, value: a[b++] } : { done: !0 };
    };
};

var GP = RC({
    signatureCipher: 's=IUpiZ1l1Vi1-4zxg1UuyAOEWODhwbi5klxsA5SuB6P8GICYey8YXNWGzYBbRQ1q2hse_7c6cvE9YItdRjLMTZ-TyagIARw8JQ0qOO\u0026sp=sig\u0026url=https://rr2---sn-f5o5-jhod.googlevideo.com/videoplayback%3Fexpire%3D1677993585%26ei%3DEdIDZIOwDYnDWcTmorAG%26ip%3D<IP_ADDRESS>%26id%3Do-APpzU-9a5Y_FP3_xBBv7oZssYgbDJeIOdN4dIkvuaCee%26itag%3D18%26source%3Dyoutube%26requiressl%3Dyes%26mh%3D7c%26mm%3D31%252C29%26mn%3Dsn-f5o5-jhod%252Csn-h5qzen7d%26ms%3Dau%252Crdu%26mv%3Dm%26mvi%3D2%26pl%3D24%26initcwndbps%3D233750%26vprv%3D1%26mime%3Dvideo%252Fmp4%26ns%3DxQu0RYUznrlnNoDoPCjxo-EL%26cnr%3D14%26ratebypass%3Dyes%26dur%3D212.091%26lmt%3D1674233743350828%26mt%3D1677971817%26fvip%3D4%26fexp%3D24007246%26c%3DWEB%26txp%3D4530434%26n%3DUI4YeZwb-PucyPT%26sparams%3Dexpire%252Cei%252Cip%252Cid%252Citag%252Csource%252Crequiressl%252Cvprv%252Cmime%252Cns%252Ccnr%252Cratebypass%252Cdur%252Clmt%26lsparams%3Dmh%252Cmm%252Cmn%252Cms%252Cmv%252Cmvi%252Cpl%252Cinitcwndbps%26lsig%3DAG3C_xAwRQIgJi2CgvxAfUVG3jd9D_8_rjo880RRCgxHNfX7XiM9auICIQCvb-FGxdEs1ztcA9fNuhEMbQwV9_Wlh8ivXfvLUs1szw%253D%253D'
});

console.log({ GP });
const e = tG(GP.zx || "", GP.xz, GP.s);
console.log({ e });

console.log(GP.zx + '&' + GP.xz + '=' + e.j.sig);

The resulting URL still produces a 403. After comparing it with a real URL, I realized that the signature and the n parameter are different :
![image](https://user-images.githubusercontent.com/1638227/222936179-a19a1f38-399a-49a1-a198-6681276ce3a9.png)

The real URL also includes extra parameters, but it successfully loaded the video after I removed them so the issue isn't there.

I compared these results with some of the articles out there and found that this is the right approach, even though the resulting URL fails with 403.
As I was reading this I noticed that the decryption function not only has a different name, the algorithm itself is different from mine. I did some tests and it turns out that Youtube changes it on each page load apparently. After grabbing the base.js file from the page where I found the above signature and it finally worked. So in short :

[ ] Download the HTML page
[ ] Parse out the streamingData object
[ ] Parse out the URL of base.js
[ ] Somehow parse out the decryption algorithm
[ ] Apply it on the signatureCipher parameter of the streamingData formats

The trickiest part is going to involve parsing the decryption sequence.

Still not sure why Youtube does this for certain videos only. So far I noticed that it does it for songs, but maybe the rule extends to all copyrighted content.


Add gke test support/srikanth

Add smoke tests for GKE
The main problem with GKE is creating ingress and waiting for them..
some times it take hell lot of time..
Once the ingress is created and worked. the tests pass nicely

Thanks for all your comments.. There is more then anticipated here..

[ ] automatically set up Google Cloud
[ ] ingress is taking lot of time to create, so use port-forward
[ ] include code review comments


No Syntax Highlighting available

Hey folks,
today I've started ST2 and noticed the lack of Sass syntax highlighting. I tried to choose it from the menu in the right bottom corner but Sass isn't listed there. I've reinstalled the plugin twice but it is still not working. No reports in the console log.

it's not working in st3.
I installed plugin via package control. It's not showing syntax highlight, and auto completion. I Have set view->syntax-> sass. still not work.


MarqueeSelection

I've found that MarqueeSelection is causing an issue and the split pane does not resize.
As a workaround I've had to delete the MarqueeSelection component: see my commit below
https://github.com/giuliohome-org/todo-csharp-sql/commit/42878053eedce9c9092358c31ddae872461e1bc4
Do you know what is going on?

Conflict in Event Handling: Resizable panels typically rely on mouse or touch events to detect when a user is trying to resize them. MarqueeSelection components may also listen to similar events to determine the selection area. If there's a conflict in event handling or event propagation between these components, it can lead to unexpected behavior.


File "/lamp0/web/vhosts/my-domain.com/htdocs/.well-known/.htaccess" not found.

It is a very little thing. But I think it should be included in the readme.
The certificate was installed, and everything seems to be working. I can even go to https://my-domain.com and I'll be able to see the green lock symbol (ssl enabled), but it didn't validate the test on https://www.ssllabs.com/ssltest/analyze.html?d=my-domain.com.
I solved it through manually creating the .htaccess file in the .well-known/ folder. And then I executed the installation script again. I assume that if the file is created before installing the plugin, everything will run just fine the first time.

And in case you followed my advice, don't forget to change the permissions of the file:
chmod 664 web/vhosts/my-domain.com/htdocs/.well-known/.htaccess

Uhm... I'm completely unsure about what i just said.


Change service to serivce provider

Resolves #98 by changing  the service to a service provider which allows the user to set default values for the site key, theme, stoken, size, and type. These
defaults can be overridden by setting the values on individual instances
of the directive.
The key validation has been moved out of the directive and into the
service since now the directive does not require a key (as it can use the
default defined in the provider during the config by the user).

stupid thing... you're supposed to create the PR to the original repo... not the fork


chore: create security policy

Description:
Add a new security policy guidelines.
Resolves #1321

Hm, why do we capitalize vulnerability here?

:-) my bad

Tests seem to be a bit flaky.

Tests seem to be a bit flaky.

I don't know what's the problem with GitHub Actions but always pass on CircleCI. I'm about to disable them.


Track1 sdk automation/azure mgmt kusto

move to here: https://github.com/Azure/azure-sdk-for-python/pull/11814


calculating convolved matrices ... Error in intI(i, n = d[1], dn[[1]], give.dn = FALSE)

Is there anyone who has run into this particular error message when running velocity estimations using velocity.R? If so, please advise on how to proceed. I'm running my analysis on 14 aggregated loom matrices.
rvel.cd <- gene.relative.velocity.estimates(emat = emat,
nmat = nmat,
cell.dist = cell.dist,
kCells = 50,
fit.quantile = fit.quantile,
n.cores = 40)
matching cells between cell.dist and emat/nmat ... done
calculating cell knn ... done
calculating convolved matrices ... Error in intI(i, n = d[1], dn[[1]], give.dn = FALSE)

Did you find a solution in the end? I am having the same issue!

Excuse me, did you solve this problem? I am having the same error.


Can TF add a C++ kernel for PRelu?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Red Hat 4.8.5-16
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: NA
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 1.4, master branch, commit id is c188ffcc9e8769e5c6f767b7fb1977e54cad4040
Python version: 2.7
Bazel version (if compiling from source): 0.24.1
GCC/Compiler version (if compiling from source): gcc 6.3
CUDA/cuDNN version: NA
GPU model and memory: NA

Describe the current behavior
Some models(MTCC) uses PRelu as an activation layer, and it will be split to small ops including Relu, Sub(https://github.com/tensorflow/tensorflow/blob/r1.14/tensorflow/python/keras/layers/advanced_activations.py#L141). It's hard to fuse and will impact the performance .
Describe the expected behavior
Hope to have a TF C++ kernel for this op,  then it could call the kernel directly to get good cache locality on CPU or reduce memory access on GPU.
Code to reproduce the issue
NA
Other info / logs
NA

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.


Misleading error message if wgsl import has bad path

Bevy version
Relatively new: 499c978
What you did
I have a wgsl shader which at the start has:
#import bevy_ui::ui_vertex_output::UiVertexOutput
#import bevy_pbr::rand_f

What went wrong
When trying to use rand_f, an error happens:
2024-03-06T10:39:12.086331Z ERROR bevy_render::render_resource::pipeline_cache: failed to process shader:
error: required import 'bevy_pbr' not found
   ┌─ foo.wgsl:14:17
   │
14 │     let noise = rand_f(&rng);
   │                 ^
   │
   = missing import 'bevy_pbr'

Additional information
Theories
While typing out this issue I realized my mistake.
The import should be
#import bevy_pbr::utils::rand_f

not
#import bevy_pbr::rand_f

Suggested fix
Improve the error message to state that bevy_pbr::rand_f does not exist, not the current message which is misleading.

Needs to be filed under https://github.com/bevyengine/naga_oil


Allow parameter coercion in the FirstN/LastN functions

Functions with scalar arguments should support coercions. Currently FirstN/LastN don't, so this PR changes it.

✅ No public API change.

✅ No public API change.

OMG, I was literally about to ask you about this.  Not supporting coercions means needing to add overloads specifically for Decimal.  And I don't see a good reason why this should be different from functions like Mid and Left that do support coercion.
One question: can we do the Index function too?  Coercion is similarly blocked.

Done. Updated both Index functions as well

In reply to:<PHONE_NUMBER>

✅ No public API change.


Adding configuration APIs

Prometheus is great, however, like many other Linux software, it only has APIs for core business but leaves configurations to old-style text files.
As the current trend for software is APIs define everything, I suggest Prometheus adding support for configuration APIs so people don't have to reload configuration by modifying a text file and calling kill -1.

This is a very deliberate decision. The discussion happened in various forms. We plan to document non-goals with a bit of justification in the docs to spare people the time to look it up, see https://github.com/prometheus/docs/issues/149#issuecomment-231055809 .
tl;dr: There will be no config API. Those that need it can build a wrapper that provides an API, creates a config file on the other end and sends a SIGHUP.


Update best-practices.md

Minor typos.

Thanks Craig for your response.

@kencenerelli thanks again for the fixes. we've just pushed our updated content, which includes VS2015 and VS2017 content side-by-side (see the new 'version switcher' above the navigation tree).
Unfortunately this created a merge conflict for your PR. To prevent you having to re-do it, I've made your changes directly in the new folder structure, so I'm closing this PR.
If you have further questions, please continue to respond to this thread, or open an issue. We would welcome future contributions.

Thanks Craig for taking my edits into consideration.


Respond with UNIMPLEMENTED when a requested method is not found

This depends on #3150 and partially addresses #2634.

Is this okay to merge ? Otherwise this will need to be re-done on the beta branch. Also, please don't assign your pull requests to yourself ?

This is not okay to merge. It's assigned to myself because I found an issue with it that I need to correct. I can live with having to redo it against the beta branch.

@ctiller - huh?

@ctiller ahh I see how this works now. Nevermind; sorry for the noise.


Potential issue

[Enter feedback here]
This article (https://learn.microsoft.com/en-us/microsoft-365/compliance/compliance-manager-alert-policies?view=o365-worldwide) reads:
"To create alert policies, you have to be assigned the Manage Alerts role or the Organization Configuration role in the compliance portal or the Defender portal."
And this article (https://learn.microsoft.com/en-us/microsoft-365/compliance/compliance-manager-alert-policies?view=o365-worldwide) reads:
"To create or update alert policies: the Compliance administrator, Compliance data administrator, Security administrator, or Security operator role in Azure AD"
Are they different alert policies?

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

ID: 9f2879ba-e58e-cd47-f488-10d153c31418
Version Independent ID: 391a2c05-d63d-e84e-7c7d-80c3b3518419
Content: Microsoft 365 alert policies - Microsoft Purview (compliance)
Content Source: microsoft-365/compliance/alert-policies.md
Service: o365-seccomp
GitHub Login: @robmazz
Microsoft Alias: robmazz

@neilcalgary Thank you for your feedback. We have made changes to the document to reflect the correct permissions. This can be tracked via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/10006
Once the author approves, the changes will be live.
Thanks
Sri


Disable stubsJar publication by default.

Fixes gh-1168.

A note is that there was an issue with the ScenarioProjectKotlinSpec with it not publishing any libraries because of the tasks being invoked. check uses the classes output and there was no publications for the publishToMavenLocal to react to.

Since I wasn't fully sure if the request was to simply flip and deprecate or fully remove the functionality, I've got both prepared.
https://github.com/shanman190/spring-cloud-contract/commit/60e48cd75739eb854cfc8affecb33444cfdba5bf

@marcingrzejszczak, just checking in to let you know that I've made the requested changes.

As usual great work @shanman190 , thanks a lot!


[Core][Frontend][Doc] Initial support for LLaVA-NeXT and GPT-4V Chat Completions API

To combat scope creep, this PR has been split into smaller ones.

[x] VLM backend

[x] #4197
[x] #4199

[x] OpenAI API server

[x] #4200 #5237

[ ] QA

[ ] #5380

The branch associated with this PR has been frozen (except for critical fixes). Once all dependencies have been merged, I will compare this branch against the merged (main) branch to verify that I didn't miss any changes.

Just a heads-up that I'm developing this in parallel with #4028, so you'll see occasional merges with my openai-typing branch.

Thank you very much for your contribution @DarkLight1337! I'm very interested in testing and reviewing this PR, but could you let me know when it's ready to go? (it seems that you're still iterating on it, and you can always mark this PR back to draft if that's indeed the case)

Thank you very much for your contribution @DarkLight1337! I'm very interested in testing and reviewing this PR, but could you let me know when it's ready to go? (it seems that you're still iterating on it, and you can always mark this PR back to draft if that's indeed the case)

@ywang96 I have finished the main content for this PR. However, to minimize diffs, let's wait until #4028 has been merged first (since this PR depends on some of the changes there).

I've noticed poor performance when applying LLaVA (whether served locally or using OpenAPI server). Originally, I thought that it was because of the implementation of the vision tower, but it turns out that the input image was not preprocessed according to the config.json on HuggingFace. See if this commit fixes the problem.

This force push squashes the commits that were used to debug failing tests., such that their fixes are all contained in a single commit.

This force push consolidates the commits for testing the revision loading logic of image processor.

This patch is in response to this comment in #4008 so we can see whether the patch actually works. As noted, this patch is only temporary and will be removed before this PR is merged (although the tests will be here to stay)

Hmm, seems that the GPU memory fails to be freed between testing each model. Does anyone know how to fix this issue?

Accidentally pushed local WIP changes, so I reverted that using force-push

@ywang96 Regarding your latest comment in #3042:

I'm working on a RFC to share some thoughts for refactoring and will send out tomorrow.

Actually, I have also been working on supporting LLaVA-NeXT as well. As part of the effort, I have further refactored the image processing pipeline to output a dictionary which are used to input kwargs into the model in order to accept image_size. This preserves the contract between the output of HuggingFace processor and the input into the HuggingFace model. As long as those keyword arguments do not conflict with the ones we have in vLLM, I think this is a good way to make the framework flexible enough to support other multi-modal architectures.

As part of the effort, I have further refactored the image processing pipeline to output a dictionary which are used to input kwargs into the model in order to accept image_size.

Yep - this is exactly what I had in my mind as well, but I think there are more issues in addition to it that we may want to address. For example, do we want to support the prompt format the same way as huggingface to make user experience easier, or at least keep it the same on the Interface level? I do think these are worth discussing (and the refactoring can happen later after we merge model support and API server support depending on how much work it will be).

I have just added support for LLaVA-NeXT, with one big caveat: the size of the input image is fixed, otherwise the feature size (i.e. number of <image> tokens to duplicate) would vary for each input.

This force push consolidates the fixes to test_llava.

Thes force pushes consolidates the fixes to the LLaVA test and example code.

@ywang96 I think that this PR is suffering from scope creep. Perhaps I should break apart the changes into smaller segments to facilitate the conversation in #4194? I could split the changes as follows (listed in the form of a dependency tree):

VLM backend
a. Refactor MultiModalData to support image processing.
b. Introduce LLaVA-NexT along with the refactored LLaVA-1.5
OpenAI API server
a. Refactor OpenAPI backend (i.e. #2058)
b. Add GPT-4V support [also depends on 1(a)]

@ywang96 I think that this PR is suffering from scope creep. Perhaps I should break apart the changes into smaller segments to facilitate the conversation in #4194? I could split the changes as follows (listed in the form of a dependency tree):

VLM backend
a. Refactor MultiModalData to support image processing.
b. Introduce LLaVA-NexT along with the refactored LLaVA-1.5
OpenAI API server
a. Refactor OpenAPI backend (i.e. Support VLM model and GPT4V API #2058)
b. Add GPT-4V support [also depends on 1(a)]

I agree - I think OpenAI API server will be a good starting point since they interface should agree with OpenAI protocol anyways, and I'm sorry that this PR suffered :/
One suggestion I have is for a big change like this - it's probably good to have a series of PRs anyways. Take a look at Speculative decoding or Chunked Prefill - those are great examples.

Added #4197.

I have created the child PRs

All of the child PRs have been completed, so I'm closing this now.


jumpscale.py placed in location that violates LSB FSH

https://wiki.linuxfoundation.org/lsb/fhs
the rules for filesystem hierarchies have been created for very specific
reasons, so that when people collaborate on a system, their expectations
are not completely broken.
jumpscale.py, when run from the developer mode (which needs to be the
default), must be installed in /usr/local/lib/pythonN.N/dist-packages
only when the software is to be deployed in PRODUCTION (that being
via a package manager, 0-robot probably qualifying for such) is the
installation permitted to be carried out in /usr/lib/*
this turned out to be extremely important and wasted considerable time,
as the installation of 0-robot turned out to have a critical dependency
on jumpscale.py being installed... which it did not, as it was a new install.
searches and investigations showed that "import jumpscale" from setup.py
was failing, yet there was absolutely no presence of a python module
"jumpscale" in /usr/local/lib/python3.5/dist-packages
only after MODIFYING the setup.py so that installation succeeded could an
strace be run which showed that jumpscale.py existed...
... in /usr/lib/python3.5/dist-packages.

the correct way to do this is to cut/paste the code from a setup.py file (from setuptools import ....) and to use exactly that method.  actually creating a setup.py which goes into the same location as the auto-generated jumpscale.py and exec'ing "python3 setup.py install" may not be strictly necessary: it should be possible to get away with literally using "from setuptools import ...." and calling the setup() function with the location of the auto-generated jumpscale.py.
however... this begs the question, why is the jumpscale.py being created in the first place instead of adding in /opt/core/github/threefoldtech/* entries to sys.path when needed?
https://stackoverflow.com/questions/15109548/set-pythonpath-before-import-statements

however... this begs the question, why is the jumpscale.py being created in the first place instead of adding in /opt/core/github/threefoldtech/* entries to sys.path when needed?

As far as I understand this is done like this to allow to have the jumspcale shell and walk the all tree of module using only j a starting point.
But maybe your technic is cleaner and allow the same

there's a way to patch sys.path to include say /opt/code/github/xxx and /opt/code/github/yyyy literally at the beginning of the module, which then picks up the imports dynamically behind the scenes, so that the code dropped into jumpscale.py looks "clean"... and remains static (not auto-generated).  i'll try to work on that today.


[BUG]: broken icon links in e-mails from Nurture Components solution

Describe the bug
E-mail templates sent from Nurture Components solution contain broken link to Power Automate logo in
the top ribbon (http://powerplatformconference.com/wp-content/uploads/2019/05/FlowIcon256x256.png).
Our client asked us to fix this somehow, but then it would be potentially overwritten by the upgrade and we would need to handle it again and again. That's why we're reporting this. We know it's just a cosmetic issue, but it doesn't make a good impression.
Talking about the logos, the Power Apps one is older version (https://higherlogicdownload.s3.amazonaws.com/PBIUSERGROUP/0dd17701-ca4a-49ad-9e12-8a3458d663ba/UploadedImages/World_Tour/2019/PowerApps.png), but at least it's not displayed like the missing one:

Component (please tell us which flow or app you are experiencing issues with):

Solution Nurture
Version 1.23
App or Flow Training In A Day | Reminder 3 days prior event
Training In A Day | Registration Confirmation
Training In A Day | Feedback Reminder
Admin | Welcome Email

To Reproduce
I believe not needed, it's sufficient to open the flow, find the Outlook action and check the image links.
Expected behavior
Ribbon either containing no Power Apps/Automate logo, or correctly linked.

Hello. Did you fill in the logo field during setup? configure the coe settings table

Hello. Did you fill in the logo field during setup? configure the coe settings table

Sorry from above perhaps I've mis-read. Is your concern about the PowerApps logo or the missing customer logo?
If missing customer logo, then please be sure you've set up the logo field.

Sorry from above perhaps I've mis-read. Is your concern about the PowerApps logo or the missing customer logo?
If missing customer logo, then please be sure you've set up the logo field.

Hi :) no, I am not talking about the customer logo, but the power apps and power automate logos in nurturing e-mails. Marked at the screenshot:

Hi :) no, I am not talking about the customer logo, but the power apps and power automate logos in nurturing e-mails. Marked at the screenshot:

Got it, thanks so much!

Got it, thanks so much!

Our customer also wanted us to change the ribbon color from purple to dark blue (still talking about the screenshot above)

I have done that in CSS used in the environment variable used for e-mail headers. But then the purple powerapps logo looked really... not good (purple logo on a dark blue ribbon) 😃 so I this way I learned that the logo actually is purple, not grayscale transparent 😄 but that's just FYI, that such requests also happen

Our customer also wanted us to change the ribbon color from purple to dark blue (still talking about the screenshot above)

I have done that in CSS used in the environment variable used for e-mail headers. But then the purple powerapps logo looked really... not good (purple logo on a dark blue ribbon) 😃 so I this way I learned that the logo actually is purple, not grayscale transparent 😄 but that's just FYI, that such requests also happen

We have removed these from the email locally and the fix will ship with our next monthly update.
Will hold to let you know when that occurs.
Thanks for using CoE!

We have removed these from the email locally and the fix will ship with our next monthly update.
Will hold to let you know when that occurs.
Thanks for using CoE!

thank you! 👍

thank you! 👍

Hello. This change in the release today.
Please be sure to remove any unmanaged layers before updating as described in installing upates.
And thanks for helping make CoE great!


Add the ability to send all guild messages to a 'log' channel

*This should fall back to ctx.channel if not set