Support for building with MSVC

@halfalicious, can you look at this? Maybe you will be able to fix remaining issues quicker than me doing remote compilation on AppVeyor...

ook at this? Maybe you will be able to fix remaining issues quicker than me doing remote compilation on AppVey

Here's my full error log:
evmone_msvc_build_output.txt
Starting to go through the errors...
C:\Users\nilse\Documents\Code\evmone\evmc\include\evmc/helpers.hpp(78): error C2039: 'type': is not a member of 'std:
:enable_if<false,std::size_t>' [C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-host.vcxproj]

Code: https://github.com/ethereum/evmc/blob/6987a50596c62f73364413ecb642b4f5e99ae3f1/include/evmc/helpers.hpp#L78
size_t is typedefd to unsigned int so its 32-bits, presumably you change its size to 1 byte but this doesn't work on Windows?
I think this is issue is causing this block of errors:
"C:\Users\nilse\Documents\Code\evmone\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example.vcxproj" (default target) (3) ->
"C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-host.vcxproj" (default target) (4) ->
(ClCompile target) ->
  C:\Users\nilse\Documents\Code\evmone\evmc\include\evmc/helpers.hpp(81): warning C4244: 'return': conversion from 'uin
t64_t' to 'int', possible loss of data [C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-host.vcxp
roj]
  C:\Users\nilse\Documents\Code\evmone\evmc\include\evmc/helpers.hpp(93): warning C4244: 'return': conversion from 'uin
t64_t' to 'int', possible loss of data [C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-host.vcxp
roj]

"C:\Users\nilse\Documents\Code\evmone\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example.vcxproj" (default target) (3) ->
"C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-host.vcxproj" (default target) (4) ->
(ClCompile target) ->
  C:\Users\nilse\Documents\Code\evmone\evmc\include\evmc/helpers.hpp(78): error C2039: 'type': is not a member of 'std:
:enable_if<false,std::size_t>' [C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-host.vcxproj]
  C:\Users\nilse\Documents\Code\evmone\evmc\include\evmc/helpers.hpp(78): error C2143: syntax error: missing ';' before
 '(' [C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-host.vcxproj]
  C:\Users\nilse\Documents\Code\evmone\evmc\include\evmc/helpers.hpp(78): error C4430: missing type specifier - int ass
umed.    Note: C++ does not support default-int [C:\Users\nilse\Documents\Code\evmone\build\evmc\examples\evmc-example-hos
t.vcxproj]

Codecov Report

Merging #25 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #25   +/-   ##
=======================================
  Coverage   84.54%   84.54%
=======================================
  Files           8        8
  Lines        1585     1585
  Branches      149      149
=======================================
  Hits         1340     1340
  Misses        166      166
  Partials       79       79


[Chapter 11] Fix text for L1 L2 regularization section

Fixing minor typo in Chapter 11 regularization section

Before
After

Good catch, and thanks for the clean PR!


route group

some description:
1, why use setGroupUriPattern and absoluteUriPattern? because i think maybe some people will repeated add route to group, like:
RouteGroup group1 = new RouteGroup("/users");
RouteGroup group2 = new RouteGroup("/posts");
Route route = Route.POST("like", emptyRouteHandler);
group1.addRoute(route);
group2.addRoute(route);  // it will raises an exception

2, why parent-group shared routes to child-group
public RouteGroup(RouteGroup parent, String uriPattern) {
    if (parent != null) {
        this.uriPattern = StringUtils.concatUriPattern(parent.getUriPattern(), uriPattern);
        this.routes = parent.getRoutes();   // parent-children groups shared routes
    } else {
        this.uriPattern = uriPattern;
        this.routes = new ArrayList<>();
    }
}

also because maybe some people forget add the top-group to application… like:
RouteGroup group = new RouteGroup("/users");
RouteGroup child = new RouteGroup(group, "{id}");
Route route = Route.POST("like", emptyRouteHandler);
child.addRoute(route);

// forget it
//router.addRouteGroup(group);

router.addRouteGroup(child);

what do you think?
there will be some problems if used improperly in group.

1, why use setGroupUriPattern and absoluteUriPattern?

It's OK for now. Other variant is to clone this route and add the clone but it's another story.

2, why parent-group shared routes to child-group

Here it's a little complicated and a source for trouble. I'm not happy with this. I would simplify this aspect, so if you forget to add the group you don't have routes from that group, it's fair.

so if you forget to add the group you don't have routes from that group, it's fair.

ok, fixed it

Thanks! I will make some minor modifications.

I feel that I found two issues in DefaultRouter.java
    @Override
    public void addRouteGroup(RouteGroup routeGroup) {
        routeGroup.getRoutes().forEach(this::addRoute);
        routeGroup.getChildren().forEach(this::addRouteGroup); // <-- REMOVE line
    }

    @Override
    public void removeRouteGroup(RouteGroup routeGroup) {
        routeGroup.getRoutes().forEach(this::removeRoute);
        routeGroup.getChildren().forEach(this::removeRouteGroup); // <-- REMOVE line
    }

We must delete two lines. @ScienJus Is my observation correct?

no, this is a recursive method to make sure when we add the group routes we will also add children group's routes in this method, like:
RouteGroup parent = new RouteGroup("/users");
RouteGroup child = new RouteGroup(parent, "/posts");
Route route = child.GET('{id}', emptyRouteHandler);

router.add(parent);  // router.routes.size -> 1, but if we remove this line, router.routes will be empty because route is in child not parent


fix(executor): Preserve type of visual mode

Resolves: #375
How to Test

select a range with v, V or <c-v>
escape
select a range with a different type and leave the cursor on either side
start legendary and choose a builtin motion (e.g. "Start of next word")
assert the type of visual mode and cursor side didn't change

Testing for Regressions
I have tested the following:

[ ] Triggering keymaps from legendary.nvim in all modes (normal, insert, visual)
[ ] Creating keymaps via legendary.nvim, then triggering via the keymap in all modes (normal, insert, visual)
[ ] Triggering commands from legendary.nvim in all modes (normal, insert, visual)
[ ] Creating commands via legendary.nvim, then running the command manually from the command line
[ ] augroup/autocmds created through legendary.nvim work correctly

Also looks like the stylua check is failing.

Thanks for the PR!!


BatchNorm with statistics from whole dataset

I've had a number of issues recently with the batch-norm statistics being "dirty" for some very large networks we are training. It seems the exponential average used has too much history from earlier iterations and the weights have drifted so far away that they are no longer useful. We see this issue manifest itself as a huge difference in training accuracy / loss, and predictiction accuracy /loss on the training data. While this issue "resolves" itself if we let the network continue to train for several more epochs, these models are huge and time consuming - it would be faster to just do an epoch of predictions and get the correct statistics as used in the original paper.
Is there a way to get keras to do this? I'm not seeing an obvious place to try and modify the keras code to add this functionality.

This is not the solution you are looking for, but have you tried a smaller momentum value? Keras' standard value is quite high (0.99). Torch, if I recall correctly, uses 0.9. Maybe that would solve your issue without the trouble of coding a different solution.

I have not yet, no. I want to avoid that due to the immense training time of our models. For us, it would be far more practical if we could load in an already trained model and get the whole data set statistics.
Did the default value change? I thought it used 0.9 originally, but checking the code -- it indeed uses 0.99 right now.

It seems to have been changed on this commit https://github.com/fchollet/keras/commit/3533912016c64f1f03516657c1d93f02a11e5c67. I don't know of an easy way of using the whole dataset statistics though.

I have raised this issue a while back, but got no response (see #3571).
The best I could come up with was a bit hacky:

first, change the momentum variable of bach norm to be a tensor.
post train, go over all layers of the model besides the bn layers, marking  them non trainable
perform a final training epoch, while adjusting the momentum of all bn layers accordingly: first batch, momentum should be 0. second batch, 0.5., etc.

Don't know if its worth it. I ended up decreasing the momentum below 0.9 to get good results.
A better approach would be to change the bn layer to include a post train phase, where the statistics are summed and averaged at the end. This probably entails adding a post-train phase to keras models.
Cheers.


SyntaxHexo

Set to blog use hexo syntax that i made for older m0k1.asia ...
https://gist.github.com/m0k1/cd622f64d7ab48aabd0ed6dfb5a6a761

Done.


RTD Attempts to Serve Mangled file

On a local installation of RTD, latest master, using mkdocs, it looks like files are attempting to be served up with invalid path names:
GET domain.com/docs/project-name/en/latest/queue-work-item
Attempts to serve:
[21/Apr/2015 09:18:13] INFO [core.views:470] Serving queue-work-itemindex.html for Project Name
Notice, the name of the document and index.html are mangled without a path separator.
I believe the issue stems from core/views.py near line 457:
...
            and "font" not in filename
            and not "inv" in filename):
        filename += "index.html"
...

in this case, filename is queue-work-item so appending index.html results in a mangled path.

Actually, upon further inspection, it looks like the filename parameter is not being passed correctly. One of the sections is being passed in filename = communications/ however, the queue-work-item section is being passed in without a trailing /

This is a bug with 0.11.1 mkdocs. Updating to 0.12.1 fixes the problem. PR will follow. I've re-titled the bug to correctly reflect the issue.


4.5.6, .tar.gz, where is the .jar file?

I dont know Java, so sorry if this is something I should know.
I downloaded the latest 4.5.6.tar.gz version, untared, cd'ed into the directory and ran the jar command but get this error
$ java -jar trex-stateless-gui.jar
Error: Unable to access jarfile trex-stateless-gui.jar

I assume there needs to be a .jar file for me to run, where is the .jar file? Are there other steps I need to follow before I can run this command, like compiling the .java files into a .jar, can you share commands needed to accomplish this please?

For Mac and Windows there are automatic installers with Java bundled inside. To install on Linux, you'll have to download Java manually(it is not automatic as requires to login and accept licence agreement)
You can find trex-stateless-gui.jar file inside any *.tgz files on Releases page of the TRex project
Oracle Java 8 can be downloaded here: https://java.com/en/download/
just download it and unpack, set JRE_PATH, add java executable to $PATH env var and then run the jar from trex tgz
Here is an example how to do it:
# download java manually(may require login on Oracle).
# install jre to /opt or any other directory you want, for example $HOME/.local/jre
cd /opt ;  sudo tar xf jre-8u281-linux-x64.tar.gz
#
export JRE_PATH=/opt/jre1.8.0_281/
# download TRex from releases page and unpack
mkdir -p ~/trex-gui ; cd ~/trex-gui;
wget https://github.com/cisco-system-traffic-generator/trex-stateless-gui/releases/download/v4.5.6/trex-stateless-gui-v4.5.6.tgz
tar xf trex-stateless-gui-v4.5.6.tgz
# run trex with Oracle Java
$JRE_PATH/bin/java -jar trex-stateless-gui.jar

if Oracle java is the default java on Linux and included to $PATH - you will be also able to run `java -jar trex-stateless-gui.jar` or `./trex-stateless-gui`

Woops, I git cloned the repo, instead of downloading the release. All good now.


Change ContextClassLoader to NarClassLoader in AdditionalServlet

Motivation
It's AddtionalServelt side change, like #11270
Modifications
Change context class loader through Thread.currentThread().setContextClassLoader(classLoader) before every protocol handler callback, and change it back to original class loader afterwards.
Verifying this change

[x] Make sure that the change passes the CI checks.

Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): ( no)
The public API: ( no)
The schema: ( no)
The default values of configurations: ( no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation
Check the box below and label this PR (if you have committer privilege).
Need to update docs?

[x] no-need-doc

/pulsarbot rerun-failure-checks

Could you add a test to verify this change?

@BewareMyPower  I will do that.

@BewareMyPower
I have added test.

/pulsarbot rerun-failure-checks


DSD-847: Storybook Sidebar

Fixes JIRA ticket DSD-847
This PR does the following:

Updates Storybook's sidebar to:

Welcome
Chakra UI
Style Guide
Components

Chakra Exports

Hooks
Development Guide

I wanted to remove the Autosuggest story which was the only one under the existing "Development Guide", but it wasn't easy to. We might still need this story for those using an Autosuggest-like component in their app, like the Library Card App.
The useCarouselStyles page is empty for now. It's just for the category to show up in the sidebar.
How has this been tested?
Locally.
Accessibility concerns or updates

N/A

Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] I have added relevant accessibility documentation for this pull request.
[ ] All new and existing tests passed.

Front End Review:

[ ] View the example in Storybook

Tugboat has finished building the preview for this pull request!
Link:

https://pr907-zp5zpmpuhk5i1sgr6noseng6yvoshhlo.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/62388c69fa61ec8fbf017b24


question about the pretrained SR 4x model

Which model do you provide in your github？SROOE(T=0)？ or SROOE（Tb）with DIV2K training dataset？or other one？

Thank you for your interest.
SROOE(Tb) trained with DIV2K+Flickr training dataset.


fix multivalued fields behaving inconsistently by not expecting value…

…s of x to be sequenced in field.x
Ponzu was expecting http post parameters of multivalued form fields to be a sequence starting from 0 (myfield.0 myfield.1) however actually they are not like that always (myfield.2 myfield.4). So the values weren't getting saved as expected.

Adding a note for consideration before merging: we want to ensure this change carries forward the guarantee that both admin and API results are in the same order after a save/update as they were prior.

I know what you mean. I will update PR for that.


Mobile skeleton Project for code review

In this project, I have set up a "Mobile portfolio" repository.
The required tasks include.

Creating a new branch called mobile_skeleton according to GitHub flow requirements.
Setup linter to flag any errors or bugs.
Added style.css page, styling my mobile repository HTML page
Added the .gitignore file that contains the node_modules, which should be ignored by git.
Added index.html file using flex
Added the MIT file to grant permissions and indemnify developers for future use.
Added a professional README.md file

@ShahierNashaat
Hello Sir, please look at my work and advice. I attempted a new template to better my understanding, that's what its taken two like two days.Thanks

Hi @EasyPanther

Please make sure to put inside the header the logo and the hamburger button.

The logo should be inside an a tag.

The hamburger button should be inside a nav tag.

Also make sure to put the social icons inside the section tag.

@ShahierNashaat
Hello sir, I have implemented all the required changes.

[ok ] Please make sure to put inside the header only the logo and the hamburger button.
[ok ] The logo should be inside an a tag.
[ok] The hamburger button should be inside a nav tag.
[ok] Also make sure to put the social icons inside the section tag.

@ShahierNashaat
please have a look and recommend any changes. Thanks

@ShahierNashaat
Hello sir, I have done some updates to improve on my work, putting in place all recommendations.
please have a look.

@ShahierNashaat
Please have a look at it.

@ShahierNashaat
Hello sir, do you have any reviews for me?

@roshan-bajgain
Hello,
Please review the changes made. I received an error when I used p in ul li items from webhint. kindly advice


Same host name from different events get repeated/duplicated multiple times on the 'Event Hosts' filter

Pre-requisite:
Create 2 events with same host names
Steps to reproduce:

Launch the Application Under Test url: https://events-qa.on.fleek.co/
On the filters panel, invoke the Event hosts filter

Expected Result:
The host names should not get duplicated and should be displayed as distinct-unique options.
Actual Result:
Same host names get repeated/duplicated and are displayed multiple times - please refer the snapshot attached.
Snapshot:

Fixed issue to show uniques hostnames.. Please verify @WinsCodes

Verified that the issue is now resolved.


Update handling of custom cluster-cidr

Concerning #894
Due to k3s' defaults for cluster-cidr (<IP_ADDRESS>/16) and service-cidr (<IP_ADDRESS>/16) the creation of more than 42 nodepools and their respective subnets conflicted with these IP ranges.
Changes:

Added a variable for setting the service-cidr
Added cluster- and service-cidr to k3s server start arguments
Extended documentation on theoretical maximum of nodepools

@M4t7e afaik the cluster_ipv4_cidr is already passed to cilium in locals.tf:356 (and calico in locals.tf:390 for that matter), so hopefuly fixing the way the cluster- and service cidr is passed to k3s also fixes your problem.
@mysticaltech glad to help :+1:

Released in v2.4.0 🚀


Evaluate math expressions in the editor controls

Closes #234
@skllcrn will love this one

You're something else.

I think this should be documented somewhere. Maybe in a "Tip" section in the readme for now? At least until we have https://github.com/wulkano/kap/issues/624.

Not related to this change, but I think I found a bug in the inputs, if I write 200, tab to the next and then tab back, it changes.

Not related to this change, but I think I found a bug in the inputs, if I write 200, tab to the next and then tab back, it changes.

I've noticed that too, but I don't know what the expected behavior is. It rounds the dimensions when it does the Math, and rounds the other way again. Maybe if I replaced Math.round with Math.floor? Not sure if that would guarantee it doesn't change backwards

https://github.com/wulkano/kap/pull/769#issuecomment-559647107 still needs to be done, but can be done later.


I wish http://kubernetes.io/third_party/swagger-ui/ still worked

The top Google link for "kubernetes swagger UI" is http://kubernetes.io/third_party/swagger-ui/ which now leads to a 404.
I think the bug-reporting may also be broken. I entered "still worked" in the I Wish box at the bottom of the 404 I got on the swagger-ui page, and it generated me an issue with "I wish /v1.1/docs/devel/README/ still worked"

Closing in favor of #105


feature: Add condition option in statuscolumn.

Did you check the docs?

[X] I have read all the snacks.nvim docs

Is your feature request related to a problem? Please describe.
No, just want to have some added functionality
Describe the solution you'd like
statuscol has a feature where an optional cond is passed to each section of the statuscolumn. Additionally, if possible, it would be nice to configure the amount of extra space between the signs and the normal contents of the buffer (between line numbers and buffer content)
Describe alternatives you've considered
A padding value could help.
Additional context
A big motivation for this change is to integrate nicely with neominimap.nvim. This is an awesome plugin, that uses that condition to make the mini map have a more compact look.
Thanks for the awesome plugin. You are the man.

Can you be more explicit on what you want here?
There's is no real padding. Numbers are full width. And there will be reserved space for git signs if you have those enabled.
So a padding param doesn't really make sense.

Of course, I think I don't have a huge understanding of how the plugin works. I just finished finals so I will have more time to explore. But what I mean, more specifically, is having a condition parameter to render signs, or the column itself.
Here is exactly why that is useful, from the neominimap.nvim wiki:
local function is_neominimap(arg)
    return vim.bo[arg.buf].filetype == "neominimap"
end

local function is_not_neominimap(arg)
    return not is_neominimap(arg)
end

return {
    "luukvbaal/statuscol.nvim",
    opts = function()
        local builtin = require("statuscol.builtin")
        return {
            setopt = true,
            relculright = true,
            segments = {
              -- These segments will be shown for normal buffers
              {
                  sign = {
                      namespace = { ".*" },
                      name = { ".*" },
                  },
                  condition = { is_not_neominimap },
              },
              {
                  text = {
                      builtin.lnumfunc,
                      " ",
                      builtin.foldfunc,
                  },
                  condition = { is_not_neominimap },
              },
              {
                  sign = {
                      namespace = { "gitsigns_" },
                  },
                  condition = { is_not_neominimap },
              },

              -- These segments will be shown for minimap buffers
              {
                  sign = {
                      namespace = { "neominimap_search" },
                      maxwidth = 1,
                      colwidth = 1, -- For more compact look
                  },
                  condition = { is_neominimap },
              },
              {
                  sign = {
                      namespace = { "neominimap_git" },
                      maxwidth = 1,
                      colwidth = 1,
                  },
                  condition = { is_neominimap },
              },
            },
        }
    end,
}

From my understanding, neominimap.nvim essentially duplicates the window but with braille to show a "mini map". So the code above allows neominimap to be more compact.
All in all this is probably not an important change, although it would allow me move from statuscol completely over to Snacks.
As far as the "padding", It would be nice if the statuscolumn had one less column, but after looking through the other issues, I can't be confident in ruling out that there isn't another plugin that is messing with the statuscolumn. I will be looking into that when I have time this week.

Just added something where you can now have left/right be a function:
      statuscolumn = {
        left = function(win, buf)
          local is_neominimap = vim.bo[buf].filetype == "neominimap"
          return is_neominimap and { "mark" } or { "mark", "sign" }
        end,
        right = function(win, buf)
          local is_neominimap = vim.bo[buf].filetype == "neominimap"
          return is_neominimap and { "fold" } or { "fold", "git" }
        end,
      },


[doc][chinese] Translate the release page into chinese documentation

What is the purpose of the pull request
Translate the release page into chinese documentation
Brief change log

Translate the release page into chinese documentation
Modify mydoc_sidebar_cn
Add strings_cn
Fix typo in quickstart

Verify this pull request
This pull request is a doc work without any test coverage.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

hi, @leesf, help to review, thanks.

Thanks for opening the PR @lamber-ken ! Looks good overall, only left some minor comments. Also, would you please paste the page snapshot after modification?

@leesf , thanks for review and suggestion, here is the snapshot


[mysql] Optimize the checkpoint be optional under single parallelism

Throw exception message if the checkpoint is not set when incremental.snapshot enable , because scan.incremental.snapshot.enabled feature requires checkpoint setting.

Can it be verified in MySqlParallelSource#createReader.
The scan.incremental.snapshot.enabled parameter is used to create a ParallelSource. When the createReader method is executed, the SourceReaderContext can be used to determine whether to enable checkpoint.

Implemented in a26096910e52f2aec261177435e38c350e1eedba


Proposal for TSC Members to Attend (Pseudo)random Meetings

Background:
One thing that could possibly benefit the TSC (and Hyperledger as a whole) is more awareness of and interaction with different projects.  This could spur more cross-project collaboration, less fragmentation between projects, and, in general, more project happiness with the TSC.
Proposal:
The TSC collectively requests that each TSC member attend one project meeting a month for a project with which they are unaffiliated and have not been a contributor (and, ideally, one that they have not attended before).  Whether people want to introduce themselves and participate or just listen wouldn't matter too much: just attendance would be great.
On the TSC wiki, a page will be created to keep track of meeting attendance in some kind of spreadsheet (either public, if people are OK with it, or private to the TSC) with the main purpose being that TSC members know which meetings other members have attended so that TSC members can stagger their attendance across many project meetings.  This is because this initiative will be much more effective if TSC members attend many different meetings rather than all attending, say, a meeting of what is perceived to be a currently popular project.
We also propose to include SIGs and working groups as possible options for TSC members to attend.  Finally, if non-TSC maintainers wish to be included, we propose to include them as well.
The time commitment--one meeting a month--should be pretty small, and the hope is that going to these meetings would be very informative for TSC members, and an opportunity for projects who aren't strongly connected to the TSC to ask questions about HL as a whole if they want.
We also propose that TSC members be invited (but not required) to report back during TSC meetings about anything they found interesting, noteworthy, or that needs addressing in some sort of brief discussion.  We also suggest that TSC members that adhere to this schedule be rewarded with food and/or drink by the HL staff at the next in-person event.

Note:  Add in suggestion that TSC members should rotate through different groups' meetings, not just attend one repeatedly.

Its good initiative +1

Approved during December 16, 2021 TSC meeting
Votes:

12 approved
1 abstained
2 absent


Kong v0.12.3 support

Not sure why build failing as I have no access to build logs.

@ryadav88 would you please run the build again?


Fix a broken link in docs

Description
This fixes a broken link to the project front page in the docs.
Fixes Related issues

add related
issues here

Checklist

[x] I have read and understand the CONTRIBUTIONS.md file
[NA] I have searched for and linked related issues
[NA] I have created test cases to ensure quick resolution of the PR is easier
[x] I am NOT targeting main branch
[x] I did NOT include the dist folder in my PR

@json-schema-form/angular-schema-form-lead

Thanks @mringer :)


Documentation is damaged

Example http://docs.viewflow.io/viewflow_rest_activation.html
Lots of pages are empty.
Also, admin section was removed

thanks, i'm working on v1.2 release right now that cause the issue.
But admin section is really dropped #373

I have copied base.html for admin from this file https://github.com/viewflow/django-material/blob/67944bda11dfc6a66d20a11339df484297e1d2ae/material/admin/templates/admin/base.html and paste in my project. Currently, django material admin looks good for me. What admin issues should I aware? Thanks in advance.

All closed bugs listed in the #373 (and unknown amount of new happens under django 2.0)

REST docs fixed


User flow for model registry

WHAT
We want to provide a model registry as part of the RHODS MLOps workflow to make it easier for the users to collaborate on models and make the MLOps workflow efficient. To achieve this, we want to create a user flow that presents an overall picture of the model registry and gives us an opportunity to create a seamless UX.
HOW

Develop a user flow that reflects the intended user journey for the feature.
Share the user flow with stakeholders to gather their input and insights.
Facilitate a discussion with stakeholders to address any questions or concerns.
Work collaboratively to reach a consensus on the finalized user flow, ensuring alignment with project objectives and user needs.

DONE

Design an artifact that includes information about user flow, feedback, and other relevant information. (All the content we presented can be found on this Miro board)
UX team and stakeholder review and acceptance.

Updates:

The stakeholder review for the high-level user flow of the RHOAI model registry has been completed. We've reached a consensus on the MVP user flow and gained a comprehensive understanding of both the initial and many of the future use cases that will be incorporated into this feature.
The user flow can be found in this Miro board.


Create a proxy with pre existing oauth2 policies

I have been trying to create a proxy that is using an oauth2 policy with the operation VerifyAccessToken. It seems possible when i look at the file: apigeecli/internal/bundlegen/policies/policies.go lines 38-49, but I don't understand exactly how.

Depending on where you want the policies added, you can choose one of the two methods:

Adding it to the preflow. Here's an example for OAuth and VerifyAPI Key. You can also merge them to add both
Use an OpenAPI spec to add them to the flow. Here's an example


DG minor updates

DG minor updates for formatting

Codecov Report

Merging #302 (80a4059) into master (d9edbf5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #302   +/-   ##
=========================================
  Coverage     65.72%   65.72%
  Complexity      593      593
=========================================
  Files            90       90
  Lines          2098     2098
  Branches        243      243
=========================================
  Hits           1379     1379
  Misses          654      654
  Partials         65       65

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Hyperlinks can be added for improved understand-ability of Basic Image Classification Tutorial

URL(s) with the issue:
Please provide a link to the documentation entry, for example:
https://www.tensorflow.org/tutorials/keras/classification#import_the_fashion_mnist_dataset
https://www.tensorflow.org/tutorials/keras/classification#set_up_the_layers
https://www.tensorflow.org/tutorials/keras/classification#compile_the_model
https://www.tensorflow.org/tutorials/keras/classification#feed_the_model
Description of issue (what needs changing):

The phrase, load the Fashion MNIST data In the statement, Import and load the Fashion MNIST data directly from TensorFlow:, can be linked to https://www.tensorflow.org/api_docs/python/tf/keras/datasets/fashion_mnist/load_data

The word, layer, In the statement, The basic building block of a neural network is the layer can be linked to https://www.tensorflow.org/api_docs/python/tf/keras/layers

For better readability, The arguments in the Dense Layers can be named i.e., tf.keras.layers.Dense(128) can be replaced with tf.keras.layers.Dense(units = 128)

The word compile in the statement, These are added during the model's compile step: can be linked to https://www.tensorflow.org/api_docs/python/tf/keras/Model#compile

The word Loss Function can be linked to https://www.tensorflow.org/api_docs/python/tf/keras/losses

The word Optimizer can be linked to https://www.tensorflow.org/api_docs/python/tf/keras/optimizers

The word Metrics can be linked to https://www.tensorflow.org/api_docs/python/tf/keras/metrics

model.fit in the statement, To start training, call the model.fit method— can be linked to https://www.tensorflow.org/api_docs/python/tf/keras/Model#fit

Clear description
Adding the Hyperlinks for each API helps the beginners understand the functionality.

Closing since the associated PR has been merged. Thanks!


display parameters in /history

The /history view would be a bit more useful with the parameters that the task used.

@jcrobak, you know about the history server the most. Do you want to review? :)

Can you rebase on master and force push again?

@glenndmello, I'd also find this useful. Any chances for the rebase and push?

Want to rebase @glenndmello? Alternatively you can too @jkukul :)

I've merged spotify/luigi.
Cheers.

You should have rebased on master not merged with master.  We can merge this.

See #1050


Skinned Mesh producing faint artifact with SSAO Pass

Description of the bug
Skinned meshes cause incorrect depth calculations, that affect the SSAO pass. I suspect that the problem might be possibly in three.js itself, but I can't know for sure, as this artifact only appears with post-processing enabled. This is more pronounced with Skinned meshes, but I actually think that it's a depth problem in general.
To Reproduce
Use a skinned mesh (doesn't have to be playing an animation), and when inspecting the SSAO pass by setting the blend function mode to NORMAL, faint outlines of the base mesh can be visible.
Expected behavior
No faint outlines of the base mesh should be visible.
Screenshots
These two videos showcase well the outline issue.
https://user-images.githubusercontent.com/22790704/106307671-88b25f00-6257-11eb-969d-c3203c3b849f.mp4
https://user-images.githubusercontent.com/22790704/106307038-bea31380-6256-11eb-97a6-ce6deb8f2b4e.mp4
Library versions used

Three: 0.123.0
Post Processing: 6.20.1

Desktop

OS: Linux
Browser Firefox 85 and Chromium 88
Graphics hardware: AMD RX 480

This is probably caused by three's override system. Try enabling the workaround.

This is probably caused by three's override system. Try enabling the workaround.

I'll look into into Monday first thing in the morning, thank you!

I'll look into into Monday first thing in the morning, thank you!

Indeed, it does fix the issue quite nicely. Thanks for the help!

Quick question, I don't want to open a new issue since it's just a small question regarding SSAO, and not a feature request, nor an issue per se. I'm getting small artifacts due to depth imprecisions, which can mitigated by using logarithmic depth buffer. However, since the variations are now so small that I can't see any effects. Is there any way of using two depth buffers, one for the main rendering, and one for the SSAO?

If you enable logarithmic depth, all materials will use logarithmic depth. The DepthPass would also render logarithmic depth. It's possible to set a different depth texture for the SSAO effect via SSAOEffect.setDepthTexture(depthTexture, depthPacking), but you'll have to write a custom material to render the depth texture.
With the current behaviour of the EffectComposer, the main depth texture will be assigned to passes (and effects) once they are added to it. So the depth texture should only be changed after the associated effect pass has been added to the composer.

I'll try these out today, and I'll report back with the results, thanks for the support!

Sorry, but I'm having a tough time understanding this. Here's the current chain of events:

create a renderer with logarithmicDepthBuffer enabled;
create a new EffectComposer using said rendererd;
create depthDownsamplingPass and normalDepthBuffer for SSAO;
create ssaoTextureEffect and ssaoEffect;
add depthDownsamplingPass to EffectComposer;
create EffectPass for the SSAO, and add it to the EffectComposer;
create custom DepthPass;
set ssaoEffect depth texture to be the texture of the newly created DepthPass;

However, no changes happen. I also tested by adding the last DepthPass to the EffectComposer, but I resulted in some weird results

I think the chain should look more like this:
const renderPass = new RenderPass(scene, camera);
const customDepthPass = new CustomDepthPass();
const normalPass = new NormalPass();

const depthDownsamplingPass = new DepthDownsamplingPass({
	normalBuffer: normalPass.texture
});

const ssaoEffect = new SSAOEffect(camera, null, {
	normalDepthBuffer: depthDownsamplingPass.texture
});

const effectPass = new EffectPass(camera, ssaoEffect);

composer.addPass(renderPass);
composer.addPass(customDepthPass);
composer.addPass(normalPass);
composer.addPass(depthDownsamplingPass);
composer.addPass(effectPass);

depthDownsamplingPass.setDepthTexture(customDepthPass.texture, RGBADepthPacking);
effectPass.setDepthTexture(customDepthPass.texture, RGBADepthPacking);

CustomDepthMaterial (untested)

import { RGBADepthPacking, ShaderMaterial } from "three";

const depthVertexShader = `
#include <common>
#include <uv_pars_vertex>
#include <displacementmap_pars_vertex>
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <clipping_planes_pars_vertex>

varying vec2 vHighPrecisionZW;

void main() {

	#include <uv_vertex>
	#include <skinbase_vertex>

	#ifdef USE_DISPLACEMENTMAP

		#include <beginnormal_vertex>
		#include <morphnormal_vertex>
		#include <skinnormal_vertex>

	#endif

	#include <begin_vertex>
	#include <morphtarget_vertex>
	#include <skinning_vertex>
	#include <displacementmap_vertex>
	#include <project_vertex>
	#include <clipping_planes_vertex>

	vHighPrecisionZW = gl_Position.zw;

}`;

const depthFragmentShader = `
#if DEPTH_PACKING == 3200

	uniform float opacity;

#endif

#include <common>
#include <packing>
#include <uv_pars_fragment>
#include <map_pars_fragment>
#include <alphamap_pars_fragment>
#include <clipping_planes_pars_fragment>

varying vec2 vHighPrecisionZW;

void main() {

	#include <clipping_planes_fragment>
	vec4 diffuseColor = vec4(1.0);

	#if DEPTH_PACKING == 3200

		diffuseColor.a = opacity;

	#endif

	#include <map_fragment>
	#include <alphamap_fragment>
	#include <alphatest_fragment>

	// Higher precision equivalent of gl_FragCoord.z.
	float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;

	#if DEPTH_PACKING == 3200

		gl_FragColor = vec4(vec3(1.0 - fragCoordZ), opacity);

	#elif DEPTH_PACKING == 3201

		gl_FragColor = packDepthToRGBA(fragCoordZ);

	#endif

}`;

class CustomDepthMaterial extends ShaderMaterial {

	constructor(depthPacking = RGBADepthPacking) {

		super({

			type: "CustomDepthMaterial",

			defines: {
				DEPTH_PACKING: depthPacking.toFixed(0)
			},

			fragmentShader: depthFragmentShader,
			vertexShader: depthVertexShader

		});

	}

}

CustomDepthPass (untested)

import { RGBADepthPacking } from "three";
import { CustomDepthMaterial } from "./CustomDepthMaterial";

export class CustomDepthPass extends DepthPass {

	constructor(scene, camera, options) {

		super(scene, camera, options);

		this.renderPass.overrideMaterial = new CustomDepthMaterial({
			depthPacking: RGBADepthPacking
		});

	}

}

Thanks for the help, truly! I'll test these monday morning, thank you once again!

Unfortunately this doesn't work, but it might be because of setup on my end. I can show you the file I'm using here, with the complete setup I'm doing.
I've done things pretty much verbatim, but this is the result I'm getting so far:
https://user-images.githubusercontent.com/22790704/107238703-0e849600-6a20-11eb-88bd-de1a85975533.mp4
However, one good thing that I can see is that the depth pass is indeed changing, as this isn't the result I was getting before. I think that the issue might be in fine-grained configuration for the shaders, what do you thing?

SSAO's distance and proximity settings are sensitive to the near and far plane settings of the camera. You could try to set near/far to a different value for the depth pass:
...
composer.addPass(new LambdaPass(() => {

	camera.near = 0.3;
	camera.far = 1000;

}));

composer.addPass(customDepthPass);

composer.addPass(new LambdaPass(() => {

	camera.near = originalNear;
	camera.far = originalFar;

}));
...

Yeah, that's what I thought initially, but unfortunately that is not the case. I'm inclined to believe it might be a bias problem, since if I have a bias higher than 0 automatically cuts all the impact. It can actually be seen in the video I sent, and I have no idea why.


Update writing-a-provider.md

Fix some formatting in the note about breaking changes

Thanks @Ilan321!


Fix Duration parsing

Fixes https://github.com/pydantic/speedate/issues/34

@samuelcolvin this blocks https://github.com/pydantic/speedate/issues/34 which we want for Pydantic V2 Beta 3

Codecov Report

Merging #35 (eb5e492) into main (aa33bd2) will increase coverage by 0.02%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
+ Coverage   99.50%   99.52%   +0.02%
==========================================
  Files           6        6
  Lines         801      849      +48
==========================================
+ Hits          797      845      +48
  Misses          4        4

Impacted Files
Coverage Δ

src/datetime.rs
96.62% <ø> (ø)

src/duration.rs
100.00% <100.00%> (ø)

src/time.rs
100.00% <100.00%> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update aa33bd2...eb5e492. Read the comment docs.

thanks so much.


[Bug]: API HTTP 500 on /applications

Error Message and Logs
I've got a HTTP 500 error when I request /api/v1/applications
I restarted the server but the error persists.
If I go to the endpoint from a browser I get (without being connected):
500
Error: Unmatched '}'

Logs on storage/logs/laravel.log:
[2024-12-06 12:04:56] production.ERROR: Unmatched '}' {"exception":"[object] (ParseError(code: 0): Unmatched '}' at /var/www/html/app/Http/Controllers/Api/ApplicationsController.php:2854)
[stacktrace]
#0 /var/www/html/vendor/composer/ClassLoader.php(427): Composer\\Autoload\\{closure}()
#1 [internal function]: Composer\\Autoload\\ClassLoader->loadClass()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(1115): is_a()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(1052): Illuminate\\Routing\\Route->controllerMiddleware()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(820): Illuminate\\Routing\\Route->gatherMiddleware()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(802): Illuminate\\Routing\\Router->gatherRouteMiddleware()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\\Routing\\Router->runRouteWithinStack()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\\Routing\\Router->runRoute()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\\Routing\\Router->dispatchToRoute()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(201): Illuminate\\Routing\\Router->dispatch()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#11 /var/www/html/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware->handle()
#13 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#14 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#23 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Pipeline\\Pipeline->then()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#30 /var/www/html/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle()
#31 {main}
"}

Steps to Reproduce
Call /applications endpoint:
curl /api/v1/applications
Example Repository URL
No response
Coolify Version
v4.0.0-beta.375
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
Ubuntu 24.04.1 LTS
Additional Information
Downgrade to v4.0.0-beta.374 doesn't fix the issue.

Hmmm, seems to be a bad code copy/paste at the end of file:
https://github.com/coollabsio/coolify/blob/main/app/Http/Controllers/Api/ApplicationsController.php

Removing all lines from https://github.com/coollabsio/coolify/blob/main/app/Http/Controllers/Api/ApplicationsController.php#L2831 to the end fix the issue.

This  error also occurs on the cloud verison:

+1

It is fixed with https://github.com/coollabsio/coolify/pull/4505 in v367


How can I use dino pre-trained model with video clips as mentioned in the blog post?

Same question here: how to run inference on a sample image. I was looking at eval script, but I assume that a simple segmentation inference it's easier.

https://user-images.githubusercontent.com/46140458/116817046-f0cd5580-ab64-11eb-8b56-18c811f7883e.mp4
this is what I can get using ffmpeg
I can make a notebook if you're interested

Hey @aquadzn, a notebook would be cool! Is it just me or does the left video freeze after ~6 seconds?

yes because there were 6 videos but it's good now, I blended them into one:
https://user-images.githubusercontent.com/46140458/116817761-47885e80-ab68-11eb-9975-d61d5a919e13.mp4

@loretoparisi @shamanez @maxrohleder you can try with this
https://gist.github.com/aquadzn/32ac53aa6e485e7c3e09b1a0914f7422

Really cool, thanks a lot @aquadzn !!
Also feel free to propose a PR to extend visualize_attention.py which supports visualization for an image only atm.
@loretoparisi

how to run inference on a sample image
You can run python visualize_attention.py
https://github.com/facebookresearch/dino#self-attention-visualization

Really cool, thanks a lot @aquadzn !!
Also feel free to propose a PR to extend visualize_attention.py which supports visualization for an image only atm.
@loretoparisi

how to run inference on a sample image

You can run python visualize_attention.py
https://github.com/facebookresearch/dino#self-attention-visualization

https://github.com/facebookresearch/dino/pull/12

Dear @aquadzn I have problem running the inference script, https://gist.github.com/aquadzn/32ac53aa6e485e7c3e09b1a0914f7422
The images I use are orginally grayscale and have been converted to 3 channels. Now the shape of my images are (427, 488, 3)
When I run predict_video(args) I get the following error. Could you please help me here? thanks

RuntimeError                              Traceback (most recent call last)
 in ()
----> 1 predict_video(args)
6 frames
 in predict_video(args)
41
42
---> 43         attentions = model.forward_selfattention(img.cuda())
44
45         nh = attentions.shape[1] # number of head
~/vision_transformer.py in forward_selfattention(self, x)
220         B, nc, w, h = x.shape
221         N = self.pos_embed.shape[1] - 1
--> 222         x = self.patch_embed(x)
223
224         # interpolate patch embeddings
/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
887             result = self._slow_forward(*input, **kwargs)
888         else:
--> 889             result = self.forward(*input, **kwargs)
890         for hook in itertools.chain(
891                 _global_forward_hooks.values(),
~/vision_transformer.py in forward(self, x)
116     def forward(self, x):
117         B, C, H, W = x.shape
--> 118         x = self.proj(x).flatten(2).transpose(1, 2)
119         return x
120
/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
887             result = self._slow_forward(*input, **kwargs)
888         else:
--> 889             result = self.forward(*input, **kwargs)
890         for hook in itertools.chain(
891                 _global_forward_hooks.values(),
/usr/local/lib/python3.7/dist-packages/torch/nn/modules/conv.py in forward(self, input)
397
398     def forward(self, input: Tensor) -> Tensor:
--> 399         return self._conv_forward(input, self.weight, self.bias)
400
401 class Conv3d(_ConvNd):
/usr/local/lib/python3.7/dist-packages/torch/nn/modules/conv.py in _conv_forward(self, input, weight, bias)
394                             _pair(0), self.dilation, self.groups)
395         return F.conv2d(input, weight, bias, self.stride,
--> 396                         self.padding, self.dilation, self.groups)
397
398     def forward(self, input: Tensor) -> Tensor:
RuntimeError: Given groups=1, weight of size [384, 3, 8, 8], expected input[1, 0, 512, 585] to have 3 channels, but got 0 channels instead

@cishwarya are you sure that your image is correctly converted to 3 channels? because it says input[1, 0, 512, 585]

Hi @aquadzn thanks for your reply. As you could see from the below code, inside predict_video(args) function, I tried to print the shape of the image and it shows [3, 512, 585].
import numpy as np
import cv2
import glob
def predict_video(args):

    for filepath in sorted(glob.iglob(args.image_path + "/*")):
        print("filepath",filepath)
        img = Image.open(filepath)
        img = img.convert('RGB')
        transform = pth_transforms.Compose([
            pth_transforms.ToTensor(),
            pth_transforms.Resize(512),
            pth_transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
        ])
        img = transform(img)

        print(".img.shape",img.shape)  # output is torch.Size([3, 512, 585])

yes because there were 6 videos but it's good now, I blended them into one:
example.mp4

Hi @aquadzn,
I'm currently getting the o/p video similar to 6sec to 12sec in your blended video. How can one move from that to the o/p you get in 0sec to 6sec?


Error building docker image

Describe the bug
The build process stops at step 7 out of 7, which is running the command "npm run build". The error message indicates that the build process failed because of a Webpack error.
The specific error message indicates that the module 'components/Editor/Template/NodeJSExpressTemplate/useInstruction' cannot be resolved. This suggests that there may be an issue with the file path or module installation.
To Reproduce
Steps to reproduce the behavior:

git clone the repo (in this case hash 91e333dafb961a5eeffa769a039bfbbd4c2ae42a)
cd to directory
docker build -t image_name .
See error

Expected behavior
Docker file built successfully.
Browser console output
 docker build -t code_agent .
[+] Building 78.4s (11/14)
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 307B                                                                                0.0s
 => [internal] load metadata for docker.io/library/node:lts-slim                                                   1.0s
 => [runner 1/5] FROM docker.io/library/node:lts-slim@sha256:b8a9ad50d8833a2aede22170a517e64c79776e9145811d7f6649  0.0s
 => [internal] load build context                                                                                0.2s
 => => transferring context: 8.22MB                                                                                0.1s
 => CACHED [runner 2/5] WORKDIR /app                                                                               0.0s
 => [builder 3/7] COPY package.json package-lock.json* ./                                                          0.1s
 => [builder 4/7] COPY prisma/schema.prisma ./prisma/schema.prisma                                                 0.0s
 => [builder 5/7] RUN npm ci                                                                                66.6s
 => [builder 6/7] COPY . .                                                                                0.1s
 => ERROR [builder 7/7] RUN npm run build                                                                         10.3s
------
 > [builder 7/7] RUN npm run build:
#11 0.902
#11 0.902 ><EMAIL_ADDRESS>build
#11 0.902 > next build
#11 0.902
#11 1.489 warn  - You have enabled experimental feature (swcPlugins) in next.config.js.
#11 1.490 warn  - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use at your own risk.
#11 1.490
#11 1.618 info  - Skipping validation of types
#11 1.618 info  - Skipping linting
#11 2.023 info  - Creating an optimized production build...
#11 10.22 Failed to compile.
#11 10.22
#11 10.22 ./components/Editor/Template/NodeJSExpressTemplate/Instructions.tsx
#11 10.22 Module not found: Can't resolve 'components/Editor/Template/NodeJSExpressTemplate/useInstruction'
#11 10.22
#11 10.22 https://nextjs.org/docs/messages/module-not-found
#11 10.22
#11 10.22 Import trace for requested module:
#11 10.22 ./components/Editor/Template/NodeJSExpressTemplate/index.tsx
#11 10.22 ./state/template.tsx
#11 10.22 ./state/store.ts
#11 10.22 ./state/StoreProvider.tsx
#11 10.22 ./pages/[projectID].tsx
#11 10.22
#11 10.22
#11 10.22 > Build failed because of webpack errors

Terminal commands & output
See "steps to reproduce"
Screenshots
n/a
Desktop (please complete the following information):

OS: Windows 11
WSL
Docker Desktop

Smartphone (please complete the following information):
n/a
Additional context
Add any other context about the problem here.

I think there is some problem with your git checked files - building 91e333dafb961a5eeffa769a039bfbbd4c2ae42a was OK for me and I also cannot find components/Editor/Template/NodeJSExpressTemplate/useInstruction in the whole codebase.
Also when you try to build the image with docker build -t image_name . (as opposed to using npm run/Compose) there will be error with missing credentials during the build.

@ValentaTomas Different issue with the npm start command:
PS D:\dev\e2b> npm start

><EMAIL_ADDRESS>start
> docker compose build && (npm run db:reset ; npm run db:start && docker compose up)

[+] Building 2.3s (24/37)
 => [e2b/app:latest internal] load build definition from Dockerfile                                                0.0s
 => => transferring dockerfile: 1.08kB                                                                             0.0s
 => [e2b/api:latest internal] load build definition from Dockerfile                                                0.0s
 => => transferring dockerfile: 1.22kB                                                                             0.0s
 => [e2b/app:latest internal] load .dockerignore                                                                   0.0s
 => => transferring context: 418B                                                                                0.0s
 => [e2b/api:latest internal] load .dockerignore                                                                   0.0s
 => => transferring context: 200B                                                                                0.0s
 => [e2b/api:latest internal] load metadata for docker.io/library/node:lts-slim                                    1.0s
 => [e2b/api:latest internal] load metadata for docker.io/nikolaik/python-nodejs:python3.10-nodejs18-slim          1.3s
 => [e2b/api:latest runner 1/5] FROM docker.io/library/node:lts-slim@sha256:b8a9ad50d8833a2aede22170a517e64c79776  0.0s
 => [e2b/app:latest internal] load build context                                                                   0.0s
 => => transferring context: 1.08MB                                                                                0.0s
 => CACHED [e2b/app:latest runner 2/5] WORKDIR /app                                                                0.0s
 => CACHED [e2b/app:latest builder 3/7] COPY package.json package-lock.json* ./                                    0.0s
 => CACHED [e2b/app:latest builder 4/7] COPY prisma/schema.prisma ./prisma/schema.prisma                           0.0s
 => CACHED [e2b/app:latest builder 5/7] RUN npm ci                                                                 0.0s
 => CACHED [e2b/app:latest builder 6/7] COPY . .                                                                   0.0s
 => CANCELED [e2b/app:latest builder 7/7] RUN npm run build                                                        1.1s
 => [e2b/api:latest internal] load build context                                                                   0.0s
 => => transferring context: 803.64kB                                                                              0.0s
 => CANCELED [e2b/api:latest stage-1  1/11] FROM docker.io/nikolaik/python-nodejs:python3.10-nodejs18-slim@sha256  0.8s
 => => resolve docker.io/nikolaik/python-nodejs:python3.10-nodejs18-slim@sha256:40646fa29a3cc2c5fb2fb44f23b8de7bd  0.0s
 => => sha256:40646fa29a3cc2c5fb2fb44f23b8de7bd063bd90f09054eff0718be99327e928 1.79kB / 1.79kB                     0.0s
 => => sha256:9ad47fcd2c0ce7dad385b1c222c44c20c23896837a9b37e314e7f83b1066e97e 0B / 11.53MB                        0.8s
 => => sha256:9da6498f32c0da3ab410d0db380acc83f8b53b9dc5058b4ff681d30adbe35f69 243B / 243B                         0.5s
 => => sha256:b5f03b87ec3306500eb9601faa29b6a26b479da09a80d70c346082380e80ad53 10.98kB / 10.98kB                   0.0s
 => => sha256:9e79879be9c7cd8edaba21c88fa4be66ea65e7a3f56f98e7820bcb7dedac3b00 1.08MB / 1.08MB                     0.4s
 => => extracting sha256:9e79879be9c7cd8edaba21c88fa4be66ea65e7a3f56f98e7820bcb7dedac3b00                          0.1s
 => => sha256:756350766a457544a22c86b629bf9e92434644b083bd213ffcedf13127ba2944 0B / 3.37MB                         0.8s
 => => sha256:e1244dca161248f8b9a2f9e1d6f28a3d8f05ec486869c54a2fcdfe085c2a45a4 0B / 4.16kB                         0.8s
 => CACHED [e2b/api:latest playground 2/9] WORKDIR /playground                                                     0.0s
 => CACHED [e2b/api:latest playground 3/9] COPY playground/package.json playground/package-lock.json ./            0.0s
 => CACHED [e2b/api:latest playground 4/9] RUN npm ci                                                              0.0s
 => CACHED [e2b/api:latest playground 5/9] COPY playground/tsconfig.json ./                                        0.0s
 => CACHED [e2b/api:latest playground 6/9] COPY playground/tsoa.json ./                                            0.0s
 => CACHED [e2b/api:latest playground 7/9] COPY playground/scripts/build.js ./scripts/build.js                     0.0s
 => CACHED [e2b/api:latest playground 8/9] COPY playground/src ./src                                               0.0s
 => ERROR [e2b/api:latest playground 9/9] RUN npm run build                                                        0.7s
------
 > [e2b/api:latest playground 9/9] RUN npm run build:
#0 0.703
#0 0.703 ><EMAIL_ADDRESS>build
#0 0.703 > ./scripts/build.js
#0 0.703
#0 0.708 /usr/bin/env: 'node\r': No such file or directory
------
failed to solve: executor failed running [/bin/sh -c npm run build]: exit code: 127

New to using Docker though npm, and do appreciate feedback on dumb mistakes.

New to using Docker though npm
No worries! It is actually docker compose build that handles the env vars.

The last error you mentioned is actually Git on Windows changing newlines to /r/n and during the Docker (Compose) build the process is expecting just /n newlines.
Here is a relevant StackOvewflow question - you can temporarily fix it by reconfiguring Git behaviour with:
git config --global core.autocrlf false`

This is also the same problem as this one on Discord.

Ahh yes, the dreaded windows CRLF issue. Ya know, you stop using Dockerfiles for 5 minutes and you forget so many things...
I ran docker compose build and when that was complete, ran npm start...
It looks like there is a new error in the npm run db:reset command. The error message suggests that supabase start is not running:
PS D:\dev\e2b> npm start --debug

><EMAIL_ADDRESS>start
> docker compose build && (npm run db:reset ; npm run db:start && docker compose up)

[+] Building 0.6s (38/38) FINISHED
 => [e2b/app:latest internal] load build definition from Dockerfile                                                0.0s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [e2b/app:latest internal] load .dockerignore                                                                   0.0s
 => => transferring context: 35B                                                                                0.0s
 => [e2b/api:latest internal] load build definition from Dockerfile                                                0.0s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [e2b/api:latest internal] load .dockerignore                                                                   0.0s
 => => transferring context: 35B                                                                                0.0s
 => [e2b/app:latest internal] load metadata for docker.io/library/node:lts-slim                                    0.5s
 => [e2b/api:latest internal] load metadata for docker.io/nikolaik/python-nodejs:python3.10-nodejs18-slim          0.4s
 => [e2b/api:latest builder 1/7] FROM docker.io/library/node:lts-slim@sha256:b8a9ad50d8833a2aede22170a517e64c7977  0.0s
 => [e2b/app:latest internal] load build context                                                                   0.0s
 => => transferring context: 7.45kB                                                                                0.0s
 => [e2b/api:latest internal] load build context                                                                   0.0s
 => => transferring context: 8.43kB                                                                                0.0s
 => [e2b/api:latest stage-1  1/11] FROM docker.io/nikolaik/python-nodejs:python3.10-nodejs18-slim@sha256:40646fa2  0.0s
 => CACHED [e2b/app:latest builder 2/7] WORKDIR /app                                                               0.0s
 => CACHED [e2b/app:latest builder 3/7] COPY package.json package-lock.json* ./                                    0.0s
 => CACHED [e2b/app:latest builder 4/7] COPY prisma/schema.prisma ./prisma/schema.prisma                           0.0s
 => CACHED [e2b/app:latest builder 5/7] RUN npm ci                                                                 0.0s
 => CACHED [e2b/app:latest builder 6/7] COPY . .                                                                   0.0s
 => CACHED [e2b/app:latest builder 7/7] RUN npm run build                                                          0.0s
 => CACHED [e2b/app:latest runner 3/5] COPY --from=builder /app/public ./public                                    0.0s
 => CACHED [e2b/app:latest runner 4/5] COPY --from=builder /app/.next/standalone ./                                0.0s
 => CACHED [e2b/app:latest runner 5/5] COPY --from=builder /app/.next/static ./.next/static                        0.0s
 => [e2b/api:latest] exporting to image                                                                            0.1s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:082eca97c6339310a63806af752f88f40e5cde4333d4aa66e425fd63d7adc47f                       0.0s
 => => naming to docker.io/e2b/app:latest                                                                          0.0s
 => => writing image sha256:0709a99a52a1ea07b0964560b4c85239ed22fa76e895e4038947df4eeccb7141                       0.0s
 => => naming to docker.io/e2b/api:latest                                                                          0.0s
 => CACHED [e2b/api:latest stage-1  2/11] RUN poetry config virtualenvs.in-project true                            0.0s
 => CACHED [e2b/api:latest stage-1  3/11] WORKDIR /app                                                             0.0s
 => CACHED [e2b/api:latest stage-1  4/11] COPY pyproject.toml poetry.lock ./                                       0.0s
 => CACHED [e2b/api:latest stage-1  5/11] RUN --mount=type=cache,target=/home/.cache/pypoetry/cache     --mount=t  0.0s
 => CACHED [e2b/api:latest stage-1  6/11] COPY . ./                                                                0.0s
 => CACHED [e2b/api:latest stage-1  7/11] RUN rm -rf ./playground                                                  0.0s
 => CACHED [e2b/api:latest stage-1  8/11] WORKDIR /playground                                                      0.0s
 => CACHED [e2b/api:latest playground 2/9] WORKDIR /playground                                                     0.0s
 => CACHED [e2b/api:latest playground 3/9] COPY playground/package.json playground/package-lock.json ./            0.0s
 => CACHED [e2b/api:latest playground 4/9] RUN npm ci                                                              0.0s
 => CACHED [e2b/api:latest playground 5/9] COPY playground/tsconfig.json ./                                        0.0s
 => CACHED [e2b/api:latest playground 6/9] COPY playground/tsoa.json ./                                            0.0s
 => CACHED [e2b/api:latest playground 7/9] COPY playground/scripts/build.js ./scripts/build.js                     0.0s
 => CACHED [e2b/api:latest playground 8/9] COPY playground/src ./src                                               0.0s
 => CACHED [e2b/api:latest playground 9/9] RUN npm run build                                                       0.0s
 => CACHED [e2b/api:latest stage-1  9/11] COPY --from=playground ./playground/node_modules ./node_modules          0.0s
 => CACHED [e2b/api:latest stage-1 10/11] COPY --from=playground ./playground/lib ./lib                            0.0s
 => CACHED [e2b/api:latest stage-1 11/11] WORKDIR /app                                                             0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

><EMAIL_ADDRESS>db:reset
> npx --yes supabase db reset ; npm run db:start

Error: supabase start is not running.
Try rerunning the command with --debug to troubleshoot the error.

There's no additional debug information given using npm start --debug or npm run db:reset --debug
Found this stackexchange https://stackoverflow.com/questions/75710971/supabase-start-on-windows-failing, but no joy there either.

If you are running npm start for the first time the error should be there but immediately after that the Supabase should be starting. The ; between the command should make it so the error in this one command doesn't cancel the whole command chain.
Did you cancel the npm start immediately after you saw the error or was it somehow (Windows?) canceled automatically?
The --debug is also referring to the supabase db reset command not to our npm start.

That would be great!
You can probably try:
docker compose build && (npm run db:reset || true && npm run db:start && docker compose up)

That would be great! You can probably try:
docker compose build && (npm run db:reset || true && npm run db:start && docker compose up)

instead of the npm start command.

Same issue here, running on Windows 10.
Same exact result when trying to directly execute docker compose build && (npm run db:reset || true && npm run db:start && docker compose up)
However, a simple npx supabase start updated supabase packages to their latest versions and following that, successfully started.
Then, running npm start was able to create the container as intended.
@industriaditat ;)

Great find @voxitme!
Can you please try if using npx<EMAIL_ADDRESS>start (you may need to stop the db first with npx supabase stop first) works on Windows? We may be able to fix it for everybody this way.

@voxitme I pushed an update to main with the Supabase version already changed in package.json scripts.
Can you pull the changes abd do:
npm run stop

then
npm start

and check if everything works?

Yeah everything works out of the box running the latest main branch. Good job!


Type hinting?

Hello.
This library is a bit difficult to use with type hints.
Any way to use the types defined inside the code?
e.g.:
Pyright : Argument of type "str" cannot be assigned to parameter "color" of type "Color | None"

When trying to use a colored output in a function

Please can you show the full warning? Which line is it applying to?
See also https://github.com/termcolor/termcolor/issues/62.


Fixing near interaction capabilities on controls, gizmos and behaviors

Posting this as a draft as a reference for the associated issues
This PR addresses the following issues:

Removes legacy near interaction code for buttons that relies on a pre-render callback on the GUI3DManager
Enables grab interactions on various drag behaviors
Scales TouchHolographicButton to the same size as other controls for consistency
Fixes an issue where near interaction doesn't work when multiple utility layers are present (using both a gizmo and gui3D manager)

Related issues:

related 10511 (resolves the button, but not the slate)
resolves 10496 (there's a prioritization issue noted in this issue that's still present)
resolves 10492

Still to be addressed:

Main issues:

The prioritization issue mentioned in #10496
Bug where you can trigger near touches while grabbing another object
Remove initial commits to bypass breaking changes between Babylon.JS and BabylonNative

Issues that can be pushed off to a second PR:

#10486
#10478
#10511 for slates (currently a scaling difference between slate gizmo and body)
#10513

It looks like the prioritization issue mentioned by @CraigFeldspar in #10496 is caused by WebXRNearInteraction's PickMeshWithSphere only looking at the centers of each mesh when calculating the distance between collidables. Short of looking at the individual triangles on the mesh and incorporating that into the calculations, I'm not sure how to correct the behavior.

It looks like the prioritization issue mentioned by @CraigFeldspar in #10496 is caused by WebXRNearInteraction's PickMeshWithSphere only looking at the centers of each mesh when calculating the distance between collidables. Short of looking at the individual triangles on the mesh and incorporating that into the calculations, I'm not sure how to correct the behavior.

Maybe instead of checking the distance between the centers you send a ray between the centers minus the radius of the finger-sphere?

It looks like the prioritization issue mentioned by @CraigFeldspar in #10496 is caused by WebXRNearInteraction's PickMeshWithSphere only looking at the centers of each mesh when calculating the distance between collidables. Short of looking at the individual triangles on the mesh and incorporating that into the calculations, I'm not sure how to correct the behavior.

Maybe instead of checking the distance between the centers you send a ray between the centers minus the radius of the finger-sphere?

I implemented in my last PR a sphere-to-triangle intersection, so we can check a more accurate intersection point instead of distance to the center of the mesh. I'm not sure if the bug lies in my implementation on somewhere else

It looks like the prioritization issue mentioned by @CraigFeldspar in #10496 is caused by WebXRNearInteraction's PickMeshWithSphere only looking at the centers of each mesh when calculating the distance between collidables. Short of looking at the individual triangles on the mesh and incorporating that into the calculations, I'm not sure how to correct the behavior.

Maybe instead of checking the distance between the centers you send a ray between the centers minus the radius of the finger-sphere?

I implemented in my last PR a sphere-to-triangle intersection, so we can check a more accurate intersection point instead of distance to the center of the mesh. I'm not sure if the bug lies in my implementation or somewhere else

I did some digging yesterday and today into the triangle logic in webXRNearInteraction, and I found a potent bug in the SubMesh triangle-picking logic that explains at least some of the issues I've noticed:
https://github.com/BabylonJS/Babylon.js/issues/10559

Figured out the real cursor position issue - setting something equal to a TmpVector is bad, as it just passes a reference to the vector. So PickMeshWithSphere returns pickedPoint as a reference to a TmpVector, which gets over-written when it checks the next mesh in the list...

I'm going to address the documentation and linting when my morning starts, but aside from that it should be ready for a proper review.
@RaananW on a related note, can you help me understand what some of the CI errors are from? I'm going to look into them in the morning, but at a glance they look strange...

You are missing a few typedoc comments:
[19:03:09] No Return Comment at _generatePointerEventType (id: 118270) in TouchButton3D (id: 118254) dist/preview release/gui/babylon.gui.d.ts:3948
[19:03:09] Missing text for parameter providedType (id: 118271) of _generatePointerEventType (id: 118269) dist/preview release/gui/babylon.gui.d.ts:3948
[19:03:09] Missing text for parameter nearMeshPosition (id: 118272) of _generatePointerEventType (id: 118269) dist/preview release/gui/babylon.gui.d.ts:3948
[19:03:09] Missing text for parameter activeInteractionCount (id: 118273) of _generatePointerEventType (id: 118269) dist/preview release/gui/babylon.gui.d.ts:3948

Don't you want to update the what's new?

And the documentation :-)


run github actions locally via act

https://github.com/nektos/act

obsolete or done in the new yml-based GitHub actions.


Procedural variables or methods returning structures cannot be called as procedures

This program causes a compilation error:
program test;

type
  tvec = array [1..2] of integer;
  tfunc = function: tvec;

function f: tvec;
begin
result[1] := 5;
result[2] := 7;
end;

var
  func: tfunc;

begin
func := @f;
func();
end.

Done.


enact js Version compatibility issue

Rendering issue and Console error
my lg webos device version was 5.30.4 so I have installed enact js libraries with the 3.2.5 version according to the official documentation enact 3.2.5 version is compatible with webOS 5
while integrating video player with enact framework,  after launching the app on the LG WebOS device of version 5 with enactjs framework of 3.2.5 version it is giving me this error Uncaught TypeError: (0 , r.forwardCustom) is not a function   and while launching the app on tv, it is splashing the screen and it goes in blank and throwing this error
Environment
Chromium Version 68.0.3440.0 (Developer Build) (32-bit)
npm version: v10.1.0
node version: v20.7.0
Enact version:
LG WebOS Device version: 05.30.40
Enact cli version: 6.0.2
SDK version: "4.9.0"
"@enact/core": "^3.2.5",
"@enact/i18n": "^3.2.5",
"@enact/spotlight": "^3.2.5",
"@enact/ui": "^3.2.5",
"@enact/webos": "^3.2.5",
"ilib"<EMAIL_ADDRESS>"@enact/sandstone": "^2.7.10",
Error:
Uncaught TypeError: (0 , r.forwardCustom) is not a function

Rendering issue and Console error
my lg webos device version was 5.30.4 so I have installed enact js libraries with the 3.2.5 version according to the official documentation enact 3.2.5 version is compatible with webOS 5
while integrating video player with enact framework, after launching the app on the LG WebOS device of version 5 with enactjs framework of 3.2.5 version it is giving me this error Uncaught TypeError: (0 , r.forwardCustom) is not a function and while launching the app on tv, it is splashing the screen and it goes in blank and throwing this error
Environment
Chromium Version 68.0.3440.0 (Developer Build) (32-bit) npm version: v10.1.0 node version: v20.7.0
Enact version: LG WebOS Device version: 05.30.40 Enact cli version: 6.0.2 SDK version: "4.9.0" "@enact/core": "^3.2.5", "@enact/i18n": "^3.2.5", "@enact/spotlight": "^3.2.5", "@enact/ui": "^3.2.5", "@enact/webos": "^3.2.5", "ilib"<EMAIL_ADDRESS>"@enact/sandstone": "^2.7.10",
Error: Uncaught TypeError: (0 , r.forwardCustom) is not a function

after changing the versions package.json is updated to the latest compatible versions with npm update --save it is updated packages like this 	"dependencies": {
"@enact/core": "^3.5.0",
"@enact/i18n": "^3.5.0",
"@enact/sandstone": "^2.7.10",
"@enact/spotlight": "^3.5.0",
"@enact/ui": "^3.5.0",
"@enact/webos": "^3.5.0",
"ilib": "^14.4.0",
"prop-types": "^15.8.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"web-vitals": "^3.5.0"
}, now after making all these changes i have launched the app on lg webos device now it is throwing a different error

@BhanuMathurthi, It looks like there is a version mismatching issue. @enact/sandstone 2.7.10 version needs to be matched with enact version 4. If you use enact 3.5.0 version, @enact/sandstone 1.5.1 version will be matched. Thank you.

@BhanuMathurthi I highly recommend using the latest Enact and Sandstone version. As you already pointed out the latest Sandstone, you also need to point out the latest Enact. Would you please refer to the migration guide? Enact 3.X is quite old
https://enactjs.com/docs/developer-guide/migration/enact/migrating-to-enact-4/
https://enactjs.com/docs/developer-guide/migration/enact/migrating-to-enact-4.5/

Close this issue as no further discussion. Please create an issue again if necessary.


Add diagnostics event for backoff logic.

Refactor server channel policies that use backoff logic to share same timer and counter of errors (Move logic to BackoffLogicManager that belongs to Transmittor)
Post diagnostic message if backoff interval is more that 30 min and when backoff logic is disabled
TODO in the next pull request: Make 30 min interval overridable.

:shipit:


Extension host terminated unexpectedly

Hey Everyone -
Having an issue with VS Code. I just installed version 1.25.1 and receive the following error

I also receive these errors as well.

Any help with this would be greatly appreciated.
OS: Win 10 Enterprise

Do you see it with extensions disabled? Run code --disable-extensions.
Do you see it on our latest Insiders
Did you do a fresh install of VS Code or upgraded from an older version?
Can you expand the error block in the console and share the details?

Do you see it with extensions disabled? Run code --disable-extensions. - Yes I do. I receive the error if no extensions are installed
Do you see it on our latest Insiders - I haven't looked at this version
Did you do a fresh install of VS Code or upgraded from an older version? - This was a fresh install
Can you expand the error block in the console and share the details? - Screenshot below

@exchangenewbie Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/

Will give this a try. Just an update as well. I've installed 1.25.1 on a different pc and it works just fine

@exchangenewbie Can you please launch VS Code, and then look at the extension host logs. F1 > Developer: Show logs ... > Extension Host. Alternatively, you can reveal the folder where the logs are kept and share them here.

@exchangenewbie I encountered the same problem this morning, which is really annoying. Currently fixed the issue by clear the cache.  The path is AppData\Roaming\Code. Delete the CachedData,cache and folder. You can have a try.

@JMauC Please file an issue directly against the WakaTime extension.

@alexandrudima Sorry for the delay. Here are my logs. I noticed 1.26 was out and I will give that a try and see if my issue is resolved

@alexandrudima I've installed the 1.26 version and its still crashing. Here is the new error codes from the extension developer tool

Here is the Logs:
[2018-08-14 10:54:03.316] [exthost1] [info] extension host started
[2018-08-14 10:54:03.338] [exthost1] [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch {"startup":true,"activationEvent":""}
[2018-08-14 10:54:03.338] [exthost1] [info] ExtensionService#loadCommonJSModule c:\Users\mascott\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\debug-auto-launch\out\extension
[2018-08-14 10:54:03.405] [exthost1] [info] ExtensionService#_doActivateExtension vscode.emmet {"startup":true,"activationEvent":""}
[2018-08-14 10:54:03.405] [exthost1] [info] ExtensionService#loadCommonJSModule c:\Users\mascott\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\emmet\out\extension
[2018-08-14 10:54:03.734] [exthost1] [info] ExtensionService#_doActivateExtension vscode.git {"startup":true,"activationEvent":""}
[2018-08-14 10:54:03.734] [exthost1] [info] ExtensionService#loadCommonJSModule c:\Users\mascott\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\git\out\main
[2018-08-14 10:54:04.709] [exthost1] [info] ExtensionService#_doActivateExtension vscode.merge-conflict {"startup":true,"activationEvent":""}
[2018-08-14 10:54:04.709] [exthost1] [info] ExtensionService#loadCommonJSModule c:\Users\mascott\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\merge-conflict\out\extension
[2018-08-14 10:54:04.812] [exthost1] [info] ExtensionService#_doActivateExtension vscode.search-rg {"startup":true,"activationEvent":"*"}
[2018-08-14 10:54:04.812] [exthost1] [info] ExtensionService#loadCommonJSModule c:\Users\mascott\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\search-rg\out\extension
[2018-08-14 10:54:04.884] [exthost1] [info] eager extensions activated

@exchangenewbie Can you please go ahead and disable (one-by-one) the 5 built-in extensions.

Extensions viewlet
... menu
Show Built-in Extensions
FEATURES
Git, Emmet, etc.

@alexandrudima I've disabled the 5 listed and still receive the error. Logs and Screen shot below

[2018-08-16 13:53:49.399] [exthost1] [info] extension host started
[2018-08-16 13:53:49.413] [exthost1] [info] eager extensions activated

@exchangenewbie Thank you for trying. At this point, I believe there is something environmental on the machine that is causing the crash. With you having disabled those extensions, the extension host is more or less completely "empty" and not doing anything at all. There should be no reason why it would crash, as it is not doing anything...
Were you ever able to use VS Code on this Windows installation? Do you have "funny" Windows settings (i.e. weird corporate policies), do you launch VS Code as administrator or in other "funny" ways? Is there anything out of the ordinary about your environment?


[TW#12150] SpiFlashChip g_rom_flashchip provides wrong values

(just a recap of the issue described in https://esp32.com/viewtopic.php?f=14&p=6739#p6722)
The "SpiFlashChip g_rom_flashchip" structure in sdk/include/esp32/rom/spi_flash.h provides wrong/dummy values since g_rom_flashchip.deviceId is returning 1540ef while esptool.py is returning 1640c8.

Any updates on this issue? I'd really like to use the flash chip deviceId as a unique hardware identifier.

This is being worked on but it's not complete yet, unfortunately.

I'd really like to use the flash chip deviceId as a unique hardware identifier.

This is probably not what you want, as the flash JEDEC ID is a part number identifier not a serial number. So all ESP32s with the same flash chip part will have the same deviceId.
If you want a non-secret unique identifier, I'd suggest using the MAC address or something derived from the MAC address.
If you want a secret unique identifier, you can use the ESP32 RNG to produce a string of random bytes and then store these in efuse BLK3 (which is internal to the ESP32 and not used for anything else).
This issue is the wrong place to discuss unique identifiers, but if you post on https://esp32.com then I can help you further there.

@projectgus ahh this is very helpful. I misunderstood what deviceId is and it makes sense that it could be the part id, not a unique serial number. Sorry for the noise here.

See https://esp32.com/viewtopic.php?f=14&p=6739#p6722

@projectgus Can we close this issue?

We need to merge MR1315 first @jack0c  :)

This has been implemented a while ago in https://github.com/espressif/esp-idf/commit/b1dcb52fec4d427cc831240d675e6804d9aebc6f#diff-e52b7631da27a0e2aecacf4a59cd9a62R122, sorry that we forgot to update this issue.

Please notice that most flash provide a command 4B to get the flash unique id (typically 64bits or 128bits long, depending on the chip). This is not supported (or documented?) for GD25LQ32C chip, but it's supported for GD25LQ64C. I don't know what chip is being installed on WROOM32 modules, but that might worth supporting it.

BTW, the thread on the forum did exactly that, they are sending 4B command, so I guess it also works on GD25LQ32C, it's just not in the datasheet. The remark from @projectgus is not correct through, and I think there is a mix of name in the code.
The RDID command (9F) query the manufactured ID + device information (mainly the size and the possible access mode). Yet, the code calls it device_id which is confusing since there is another command 90 that does get the device ID (but as @projectgus stated, it's the same for all chip with the same reference).
Finally, there's a unique ID in the flash chip that's independent from the device information or device ID (via command 4B). I would have expected this to be implemented (not that hard to add since we already have device_id) since it would save to waste BLK3 precious bits just to store a unique identifier.
In all cases, if such ID are used for any cryptographic source, they are not safe, since they are likely continuous, and as such, one could figure out the "keys" for the 2 products based on their serial number (for example: if they differ by 2, there's a high chance that the MAC's also differ by 2, and so will the flash chip)

Please have a look to this commit for implementation of the idea.

Just a remark, I've tested on 2 devices I've bought at the same time (so likely very close in production) and they returns very different flash UID (but it's consistent, it's always the same value after reboot, either by physical reboot or software reboot). I've no idea what such UID should look like (there is absolutely 0 documentation on the content of these id in the SPI's flash datasheet), so finally, they might look like they are safe to use for a true "pseudo random" UID.
Can you guys confirm they are different on your side with 2 WROOM32 modules that follows in production ?

HI @X-Ryl669 ,

Can you guys confirm they are different on your side with 2 WROOM32 modules that follows in production ?

We have a number of flash chip vendors whose parts are used in production. As our manufacturing team's qualification tests don't include verifying the 4Bh command, you can't rely on this command working on all Espressif modules with the same part number. Sorry.
Going back one step, can you explain exactly what you need to use this for? As you explained, it's a bad choice for any kind of "secret" identifier as it's trivial to recover. There is already a unique MAC address for a non-secret identifier, and if you want a non-secret value that is different to the MAC then you could hash the MAC address bytes (with or without some additional fixed bytes if you want to avoid it being trivially derived from the MAC). Another option is to generate a random identification number and write it to a partition in flash, if you need to reserve efuse BLK3 for another purpose.
If using flash encryption then the recommended approach would be to generate the ID and then store it an encrypted NVS partition.

That's a lot of options, indeed!
Let's sum up a bit:

Unique ID source
Usable for identifying a product
Usable in crypto-secure env
Easily computable

MAC address
Yes
No
Yes (any packet sniffer can deduce it)

Flash UID
Yes
Low security (could be sniffed on the SPI bus, but requires product disassembly)
No

Hash(Flash) or Hash(MAC)
Yes
No to Low
No additional protection compared to no hashing (since it's trivial to test for usual algorithms, even if using a salt)

Unique Key in eFuse
Yes
Yes
No (but a burden to set up and maintain)

Encrypted Flash & NVS
Yes
Yes
No (a burden to set up, but probably inevitable for a safe product release)

Disagree on a few points:

Flash UID is no more secure against physical readout than generating a random number and storing it in unencrypted flash, or storing a key in efuse. In all cases, an attacker with physical access can read this out - including via the serial link (although esptool doesn't have support for sending this RDUID command it has support for sending arbitrary SPI flash commands so it would be a simple job for someone to add it).
The only significant difference is that Flash UID is harder to clone to a new device (would probably need to binary patch the firmware to clone a device, instead).

For Hash(MAC), agree an attacker who knows one MAC can enumerate the full MAC range and come up with a lot of possible Hash(MAC) IDs to test against. Unclear if the RDUID flash properties have the same characteristic of being enumerable or not, might depend on the manufacurer.

To repeat the question from the last comment: What do you need this to do? What's your threat model?

In my case, I'm looking a unique ID that not dump-able (and that's large enough not to be enumerated, like 64bits or more). This is used to derive some cryptographic keys (that are used in turn for programming NFC tags). Upon production, I must know the per-device "root" key (stored in a database) so I can assert if the information in the NFC tag is correct or not.
In my specific case, I guess an encrypted flash is the solution to use (but that means that I must use some kind of production firmware specific for writing the keys, then flash another firmware that's only reading it, without any programming capacity).
This is additional work compared to "just" using the FlashUID that's already here (no additional step while producing the product). But as you said, if it's accessible via serial link, then there's no additional protection compared to eFuse (yet, it's still better than the MAC address since it's never sent on the network).


Wrap getIBLContribution with #ifdef USE_IBL

Without this the shader may fail compilation because the uniforms used in the getIBLContribution function are not being declared.

Thanks @Lunarsong.  Do you want to wrap uniform vec4 u_ScaleIBLAmbient; in that as well?

I'm not sure. How will it affect the stuff on the main.js? My web dev is quite weak so I honestly don't know :) I noticed the shader issue when using it locally in a C program.
I see main.js is referencing u_ScaleIBLAmbient in lines 200 and 282. Is it going to be happy with them removed?
https://github.com/KhronosGroup/glTF-WebGL-PBR/blob/c28b5b8f5a83380857ad8395ac5302594ecc13ae/main.js#L200
Unlike the function which used the missing sampler, keeping these uniforms in won't break compilation.

@Lunarsong You're right, the web side isn't set up to actually remove IBL like that.  We'll take this as-is, thanks!
If you're building anything cool with glTF that you're allowed to talk about, please let us know!

Thanks for merging! I'm working on a game, but it's a side project while maintaining full time job... Hope to get enough progress to share more :) Where should I mention it?

We've been tracking the latest glTF projects in https://github.com/KhronosGroup/glTF/issues/1058.  Finished projects are intended to end up in the main README.md.

Thanks! :)


Something broke between 0.32 and 0.34

The latest available stable version won't capture frames properly for me. The capture will appear in the UI, but when I load it, I can't see any API calls, can't see any textures, etc. All I see in event browser is "frame start" and "SwapBuffers". I have tried both 64 and 32 bit versions. I've made sure that renderdocui, renderdoccmd and my test application are set to use the nvidia gpu in the nvidia control panel tool.
The issue doesn't happen with 0.32. I haven't checked 0.33 or the nightlies.
I have a dual-gpu setup on my laptop (intel integrated graphics + geforce 970m) so that might be the culprit...

You didn't mention your OS or which API you're capturing, but this sounds a lot like #650 ? Can you try a recent nightly build or the workaround mentioned there?

Sorry about that - yes, it is win 10 and I am capturing OpenGL. This does look very similar to what I'm seeing.
I tried the workaround, but it crashed my app after caprturing the first frame.
Then I tried the nightly build, and it worked fine. Thanks for your help!