E0621 19:48:58.458958 8 controller.go:342] error processing service emqx-dashboard (will retry): Load balancer version unknown

Describe the bug
use emqx-operator  2.1.4 deploy emqx:5.0 in huaweicloud cce cluster, the service emqx-dashboard can't  add listener to loadbalace,   the error message: E0621 19:48:58.458958 8 controller.go:342] error processing service emqx-dashboard (will retry): Load balancer version unknown
To Reproduce
use emqx-operator 2.1.4 deploy emqx 5.0  in huaweicloud cce cluster
Expected behavior
add listener to loadbalace successful
Anything else we need to know?:
Environment details::

Kubernetes version: huaweicloud cce,   k8s version 1.23.8-r0
Cloud-provider/provisioner: huaweicloud
emqx-operator version:  2.1.4
Install method: helm

@dylanlee085  - Did you get the replicants and any load balancer for the  MQTT ports ? If not sounds like same issue I have

i can get the replicants,  and  i can see the  container logs  the 1883, 8883, 8083, 18083 port is listen.
i create replicants and loadbalace  by yaml,  but now the  service emqx-listeners  with loadbalace is work ,  the  service emqx-dashboard is not work.   the k8s event:  error update loadbalancer   and   error processing service emqx-dashboard (will retry): Load balancer version unknown
the install doc

I got the emqx-dashboard SVC status and found that the extended IP is in a pending state

I got the emqx-dashboard SVC status and found that the extended IP is in a pending state

Could you please check the event of emqx-dashboard SVC ? I guess it is some reason from public cloud platform.

this is the event of emqx-dashboard svc :
Events:
Type     Reason                    Age                    From                Message

Warning  UpdateLoadBalancerFailed  3m10s (x413 over 34h)  service-controller  error update loadbalancer

I also gueses  it's some reaseon from public cloud platform , but i apply it in another cce cluster(1.23.7-r20) is work.
I am unable to confirm whether the issue is caused by the different small versions of the CCE cluster. Additionally, I can successfully create an SVC with the same port associated with the load balancer directly through the cloud platform console, but creating it using the emqx operator fails

Could you please check the EMQX Operator log and EMQX custom resource event ? Thanks.


use RoBERTa on Summarization/Translation task

Hello,
I just want to know if it is possible to use the RoBERTa architecture on tasks like abstractive summarization? I couldn't find any clue on the documents and codes.
Thanks in advance.

RoBERTa is trained on Masked Language Modeling (MLM) pretraining objecting. Typically MLM objective, does good on NLU (classification, regression etc) like downstream tasks but not as good on generation tasks (summarization, dialog, translation etc). There are some papers out which try to use it but we haven't tried it ourselves.
Saying that, we have another project called BART, which trains seq2seq model on denoising objective. And it does quite good on summarization. (and is almost on par with RoBERTa on NLU tasks). Here are the instructions to use it.


fix(file-manager): match file name based on 'file_name' field

[ ] I have tested my component
[x] I have updated the documentation or there is no documentation needed

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Lastest firmware version is not anymore retrieved

The problem
Since some time, the API endpoint for retrieving charger status does not anymore return information about the latest releases firmware version.
There is however a new API that provides this information:
https://api.easee.com/firmware/$productId/latest
This will require an update to the lib as well.
Version of Easee integration having the issue?
All versions
Version of Home Assistant Core having the issue?
Not relevant
Anything in the logs that might be useful for us?
No response
Additional information
No response

Should be fixed in https://github.com/fondberg/easee_hass/pull/286

Fixed in latest release


Telework: Submission failed at the stage of sending data to ODS

In production tasks we did notice few submissions fails due to null value in employeesignaturetime stamp. This issue occurred in latest and old submission.
Task:

[ ] Fix employeesignatureTimeStamp null value in telework workflow

To test We should submit telework form multiple times and see if any submissions fail.

It is ready for testing in the DEV or TEST environment. Please submit at least 2-3 telework requests and approve them (they will not be processed if denied). Ensure that at least one telework form is edited by the employee before approval.

@ayushdamani I did review all submissions that approved today. they all went successfully. We are good to close this ticket.

Hi @bhumin-fw I've but a couple of teleworks through
"Andrew 02" and a"Andrew 03" have been edited
could you check to see if it sent data

@Stella-Archer
On test environment Andrew TEST  01, Andrew TEST 02, Andrew TEST 03 data sent successfully to ODS test endpoints.

Perfect I think this is good to move to PROD the
PO Approved & sending to deploy


release-2.0.3

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Closing in favor of PR from personal fork.


Functionality Issues with AS35S2SF1FA-WH Air Conditioner Model in Home Assistant

Hello,
I am encountering issues with integrating the AS35S2SF1FA-WH air conditioner model into Home Assistant. The initial setup seems to work fine, however, I’ve noticed that the majority of the functions are displayed in grey and do not respond when attempting to interact with them.
I have attached an image that illustrates the issue. Furthermore, I have reviewed the documentation and found images where the same entities appear to be functioning properly. Could someone assist me in resolving this issue?
Thank you in advance for any help you can provide.

@kikher which version are you using? This looks like an issue I was having but it has been fixed in the beta version for v 14. Try the latest beta

I have the same problem


Updating docker image hash

Updating docker image hash values

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


triggerClusterClick is not captured when running on Android

The event triggerClusterClick is not captured when running on Android.
In order to test that you can open https://googlemaps.github.io/js-marker-clusterer/examples/simple_example.html on an Android, and doubleclick on a cluster, it is not captured, therefore it is processed as a doubleclick on the map and a zoom level +1 is applied.

The same on iOS since a few days.

the same problem when make .apk on Ionic 3

the same problem occurred to me.
I have been able to figure out a temporary fix. I just specified API's version along with key in the script tag. i.e.  v=3& between js? and key=... in my

@Kunal-Saini wow thanks, you saved my day.
As it turns out gmaps broke marker-clusterer tap handler with one of the latest EXPERIMENTAL releases.
Adding v3& loads release version which works fine with marker-clusterer.
From Google Maps docs:

You can indicate which version of the API to load in your application by specifying the v parameter of the Google Maps JavaScript API bootstrap request. The following options are supported:

The experimental version, specified with v=3.exp.
The release version, specified with v=3.
A specific version number. For example v=3.29 or v=3.30.

If you do not explicitly specify a version, you will receive the experimental version by default if you are on the standard plan (this includes customers who do not provide a key). If you're on the premium plan and don't specify a version, you will receive the release version by default.

Thank you so much @Kunal-Saini & @marzubov.
Specifying the release version has solved the problem. I did not know that the experimental version is used by default if you are not using a Premium plan.


Update submodule

I'm not sure whether this is a good idea. We can always revert though. This basically uses the master branch.

We'll embed a different version


feat: extend smoothness category of manifolds with corners to include analytic manifolds

Now that ContDiff includes smoothness exponents up to analytic functions, we can do the same for manifolds. The PR renames SmoothManifoldWithCorners to ContMDiffManifoldWithCorners, and includes an additional smoothness exponent (ranging from 0 to infinity and omega).
The file SmoothManifoldWithCorners itself is not renamed, to avoid confusing git, and will be renamed in a follow-up PR.
The current version of the PR also allows an additional smoothness exponent in the algebraic classes like ContMDiffMul or LieGroup. I wonder if we should not just settle on omega for these, as all the interesting examples are analytic (and there is a theorem saying that any real Lie group has a compatible analytic structure).
I also wonder if we should rename ContMDiffManifoldWithCorners to something much shorter like IsManifold.
I still have to add deprecations. Also, I've deleted the file AnalyticManifold now that it's superseded by the general notion. Should I instead keep it and deprecate everything in there? Or move it to the Deprecated folder?

[ ] depends on: #19682

About naming: how about IsManifoldWithCorners? I agree ContDiff is superfluous, given the exponent as an explicit parameter.

Yes, I will need to pass over all docs to adjust it to the new setting. I'll do that once people agree on what they want in the Zulip discussion.

I'll add the deprecations once everything has been sorted out in the Zulip discussion: no need to do the same work two or three times...

As I also wrote on zulip: I can review the rest of the PR/re-review it on (probably) Tuesday or Wednesday. Review help is very welcome, though.

Remaining steps

address all comments
I trust you that you added deprecations correctly. (Please double-check if there are any issues with namespacing - i.e., search of you modified any lines with namespace.)
audit the remaining occurrences of the word "smooth", if it should be "C^n" instead. I just did most of this; checking the VectorBundle directory should be sufficient for my taste.

This PR is a huge one, but I think this is close to landing!


all: remove unnecessary new line after return statements

In some parts of the codebase, there are unnecessary newline characters following return statements. These newline characters create unnecessary separation in the code.
I searched for them with
rg -tgo -U 'return.*\n\n}'
and found 32 files and all new lines looks like a mistype.
I tried to think of a case where new line after return would be useful, but nothing came to mind. Maybe it would be better to remove them? Or even add new check to gofmt.

i wish the go repos would use gofumpt


[fix] nil error in new_size_input

#4019

Coverage increased (+0.003%) to 84.317% when pulling 431c77d72b6ba782160e17f2a116fa1ad4a941bc on fix-page-size into 9a1460fd369ceb38f904ca96844fa7b883780b69 on master.


Fix for getSpanSize() support lib bug

Catch IndexOutOfBoundsException in getSpanSize() to circumvent
support lib bug.

Fixes #45

Codecov Report

Merging #46 into master will decrease coverage by 0.17%.
The diff coverage is 50%.

@@             Coverage Diff              @@
##             master      #46      +/-   ##
============================================
- Coverage     91.48%   91.31%   -0.18%
  Complexity      384      384
============================================
  Files            22       22
  Lines          1057     1059       +2
  Branches        185      185
============================================
  Hits            967      967
- Misses           28       30       +2
  Partials         62       62

Impacted Files
Coverage Δ
Complexity Δ

...java/com/wayfair/brickkit/BrickSpanSizeLookup.java
75% <50%> (-25%)
3 <2> (ø)

Continue to review full report at Codecov.

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


Movies pages URLS

The scaffolding method generated the CRUD pages in a "Shared" folder, so, in order to open them in the browser, one must go to http://localhost:port/Shared/Movies/Create, etc.

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

ID: 6719f08e-3bd7-dc1a-71df-f2ef9fbca9d8
Version Independent ID: 7096fdb3-612e-9e00-bd0b-8ea4886a09ce
Content: Add a model to a Razor Pages app in ASP.NET Core
Content Source: aspnetcore/tutorials/razor-pages/model.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

You must have specified that folder.


This can't be normal

The definition of "normal" is different for each one of us.


Question about unpredictable behavior that upgrading the page

From the spec,

In a conventional TLB design, it is possible for multiple entries to match a single address if, for example, a page is upgraded to a larger page without first clearing the original non-leaf PTE’s valid bit and executing an IOTINVAL.VMA or IOTINVAL.GVMA as applicable with AV=0. In this case, a similar remark applies: it is unpredictable whether the old non-leaf PTE or the new leaf PTE is used, but the behavior is otherwise well defined.

About this unpredictable behavior, would the usage of whether old non-leaf PTE or the new leaf PTE still matter? In other words, when an implementation uses another value (possibly a mixture of old non-leaf PTE and the new leaf PTE due to multi-hit of TLB), would it violates the intention of the spec?

Consider a 2 MB memory region starting at PA=X. When this region was mapped using 4K pages there are 512 PTEs where first PTE points to X, second to X+4K, and so on. Software can upgrade this to a 2M page using a single PTE mapping which points to X. Now if software did not do a TLB invalidation then hardware may use one of the cached old 512 4K PTEs or the new 2M PTE. As long as both provide same permissions and point to the same memory region whether hardware uses the old 4K PTE or new 2M PTE should lead to same result.

In other words, when an implementation uses another value (possibly a mixture of old non-leaf PTE and the new leaf PTE due to multi-hit of TLB), would it violates the intention of the spec?

By mixture I assume your hardware on a multi-hit ORs the PTE entries? If so that would violate the specification. Hardware should use either the old PTE or the new PTE but any other answer is not allowed. If your implementation uses one TLB structure to hold both 4K and 2M entries and is fully associative then you could prioritize the lowest numbered hit or the highest numbered hit or any one of the hits - but one. If you use a set associative structure and you search in the set corresponding to 4K size and set corresponding to 2M size and hit in both then you can choose one or other - for example you may prioritize 2M set over 4K set. If you use separate TLBs for 4K and 2M sizes and hit in both then again you could choose one over other - for example you may prioritize 2M over 4K.

As long as both provide same permissions and point to the same memory region whether hardware uses the old 4K PTE or new 2M PTE should lead to same result.

I found it from the IOMMU while not in the Privilege spec:

When promoting and/or demoting page sizes, software must ensure that the original and new PTEs have identical permission and memory type attributes and the physical address that is determined as a result of translation using either the original or the new PTE is otherwise identical for any given input. The only PTE update supported by the IOMMU without first clearing the V bit in the original PTE and executing a appropriate IOTINVAL command is to do a page size promotion or demotion. The behavior of the IOMMU if other attributes are changed in this fashion is implementation defined.

Would the constraint (identical permission/memory type attributes/physical address) also get applied in the context of the Privilege spec, since they share the virtual memory?
Further, if the software forgot to first clear the V bit in the original PTE or execute an appropriate IOTINVAL command when updating PTE in an unsupported manner, it seems that hardware should use either the old translation or the new translation, analogously, to follow the spec:

In particular, if a leaf PTE is modified but a subsuming IOTINVAL is not executed, either the old translation or the new translation will be used, but the choice is unpredictable. The behavior is otherwise well-defined.

Am I right?

Would the constraint (identical permission/memory type attributes/physical address) also get applied in the context of the Privilege spec, since they share the virtual memory?

Its a common sense guideline. We dont have too many guidelines in the Priv. spec but the guideline from IOMMU will follow if they share a page table.

Am I right?

Yes


[elastic] Followup changes after we sync to the upstream

:x: Build go-langserver 1.0.251 failed (commit https://github.com/elastic/go-langserver/commit/1c28eb3f70 by @movie-travel-code)

:white_check_mark: Build go-langserver 1.0.252 completed (commit https://github.com/elastic/go-langserver/commit/29df429a38 by @movie-travel-code)

Retry the travis-ci several times, but got continuous failures, the failure message is unreasonable, see https://github.com/travis-ci/travis-ci/issues/2715. Merge this PR first and reopen it when we get travis-ci failures in the future.


Joyride or Intro.js with Webpack?

I apologize in advance if this isn't the appropriate place for this but I've been using FoundationPress for a while and have never really had these issues. The updates that have been added in the latest versions of Foundation have messed with my workflow so I'm trying to figure out what's the best way to do this.
How can this bug be reproduced?
For starters, I've tried two different tour libraries - Joyride (since it used to come with Foundation) and Intro.js since it's totally standalone. I've attempted to install both via NPM and then have tried adding them to the custom.js and app.js files and can't get them to work in any way. I'll break down what I've tried with both.
Intro.js

Install with npm install and saved into dependencies.
Add the line "import introJs from 'intro.js';" to my app.js file.
Add 'introJs().start();' to my custom.js file.

This leaves me with a console error of "Uncaught ReferenceError: introJs is not defined". My understanding, which may be wrong, was that the import line imports that node_module folder with the first part (after import) as the reference. So "import $ from 'jquery';" imports everything in the folder called "jquery" that's in "node_modules" and references it to $ so you can use it the way you normally use jQuery. No idea why the same wouldn't work for introJS.
Joyride
Joyride is a little bit different because there's a version that depends on Foundation that I'm not sure works with Foundation 6 and a standalone one. I tried to get it running the same way as Intro.js and the Foundation version gives me this error:
Error in plugin 'webpack-stream'
Message:
    ./~/foundation-joyride/dist/foundation.joyride.js
Module not found: Error: Can't resolve 'foundation' in '/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/dist'
resolve 'foundation' in '/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/dist'

OS & version: macOS High Sierra
Node version (node -v) [Node v4+ is required] : 4.2.2
FoundationPress version (see line 3 in package.json): Latest
Foundation version (see dependencies in package.json) : 6.4.1

Again, I apologize if this is not the place but I'm not experience enough with Webpack to understand why there are entries in webpack.config.js and also in gulpfile.babel.js and whether I need to mess with those. In the past, I just needed to keep the files in a custom folder and they all got bundled in. I've looked through the other issues for Joyride and IntroJS but haven't found any help. Most of the responses seem to reference the old version of FoundationPress that I'm used to.
Any help would be appreciated.

I think this SO question might help you out:
https://stackoverflow.com/questions/45132662/adding-the-intro-js-library-to-a-vue-cli-webpack-project
Also, a relevant issue: https://github.com/usablica/intro.js/issues/695
I believe your understanding of the jQuery import is partly correct. It's not importing everything in the jquery folder though. Technically it's actually not bundling anything since jQuery is in the external section of the webpack options. jQuery is loaded by CDN so making it an external sort of "ignores" it during bundling. You'll want to read this:
https://webpack.js.org/configuration/externals/#externals
As far as there being webpack options in webpack.config.js and gulpfile.babel.js, I would guess that the webpack.config.js file is not necessary because the webpackConfig variable passes the configuration. @olefredrik might have some insight here.

Thanks for the response.  I think I understand the issue with intro.js in this particular case but do you have any ideas on why Joyride wouldn't work? I've used Joyride in the past and all I'm doing is adding that single line to app.js. Why would that single line cause an error like that ("foundation is undefined")? I can comment out that line and all the foundation js runs fine. If I "import joyride from 'foundation-joyride'", though, I get the error that foundation is undefined. As far as I can tell, I don't even have the option to load the solo version of Joyride through npm, only the foundation version, so why wouldn't it work with FoundationPress?

@dpkonofa can you please provide your app.js so I can see exactly how you are importing it? Thanks.

Definitely!
import $ from 'jquery';
import whatInput from 'what-input';

window.$ = $;

import Foundation from 'foundation-sites';
// If you want to pick and choose which modules to include, comment out the above and uncomment
// the line below
//import './lib/foundation-explicit-pieces';

//import joyride from 'foundation-joyride';
//import introJs from 'intro.js';
import './lib/custom';

$(document).foundation();

Obviously, I'm uncommenting the joyride or introJS line when I'm trying to use them but neither works. I have not had both uncommented for obvious reasons.
Currently, my custom.js file is empty so I know there are no issues being caused there.
Thanks for the help! I really appreciate it. As a sidenote, I set up a brand new Foundation 6 install (not FoundationPress) to test and was able to get Joyride working on it with no issues at all. Not sure why I'm getting different results with this...

@dpkonofa you could try bundling jQuery since that's the main and only difference I see between the two. In the gulpfile, change this:
let webpackConfig = {
  module: {
    rules: [
      {
        test: /.js$/,
        use: [
          {
            loader: 'babel-loader'
          }
        ]
      }
    ]
  },
  externals: {
    jquery: 'jQuery'
  }
}

To this:
let webpackConfig = {
  module: {
    rules: [
      {
        test: /.js$/,
        use: [
          {
            loader: 'babel-loader'
          }
        ]
      }
    ]
  }
}

You should probably delete the webpack.config.js file too just to be sure it's not loading the config from there.

Also go into the node_modules/foundation-sites directory in both FoundationPress and Foundation and look in their package.json file and see if they are both using the same version of Foundation 6.

First off, using your link to the SO question, I was able to get introJS working so, as of right now, I have what I need to complete this project. Thank you so much for that.
If you have the time, though, I'm still curious why this keeps failing when I try using Joyride since it should easily work. Zurb's Joyride page suggests that I just need to call the existing Foundation JS so that leads me to think the issue is in the way that the main foundation.js file is being compiled in FoundationPress.
Same version of Foundation for both but still the same error message:
Error in plugin 'webpack-stream'
Message:
    ./~/foundation-joyride/dist/foundation.joyride.js
Module not found: Error: Can't resolve 'foundation' in '/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/dist'
resolve 'foundation' in '/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/dist'
  Parsed request is a module
  using description file: /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/package.json (relative path: ./dist)
    Field 'browser' doesn't contain a valid alias configuration
  after using description file: /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/package.json (relative path: ./dist)
    resolve as module
      /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/dist/node_modules doesn't exist or is not a directory
      /Users/derekk/Sites/site.com/wp_theme_src/node_modules/node_modules doesn't exist or is not a directory
      /Users/derekk/Sites/site.com/node_modules doesn't exist or is not a directory
      /Users/derekk/Sites/node_modules doesn't exist or is not a directory
      /Users/derekk/node_modules doesn't exist or is not a directory
      /Users/node_modules doesn't exist or is not a directory
      /node_modules doesn't exist or is not a directory
      looking for modules in /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules
        using description file: /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/package.json (relative path: ./node_modules)
          Field 'browser' doesn't contain a valid alias configuration
        after using description file: /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/package.json (relative path: ./node_modules)
          using description file: /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/package.json (relative path: ./node_modules/foundation)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation.js doesn't exist
            .json
              Field 'browser' doesn't contain a valid alias configuration
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation.json doesn't exist
            as directory
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation doesn't exist
      looking for modules in /Users/derekk/Sites/site.com/wp_theme_src/node_modules
        using description file: /Users/derekk/Sites/site.com/wp_theme_src/package.json (relative path: ./node_modules)
          Field 'browser' doesn't contain a valid alias configuration
        after using description file: /Users/derekk/Sites/site.com/wp_theme_src/package.json (relative path: ./node_modules)
          using description file: /Users/derekk/Sites/site.com/wp_theme_src/package.json (relative path: ./node_modules/foundation)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation.js doesn't exist
            .json
              Field 'browser' doesn't contain a valid alias configuration
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation.json doesn't exist
            as directory
              /Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation doesn't exist
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/dist/node_modules]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/node_modules]
[/Users/derekk/Sites/site.com/node_modules]
[/Users/derekk/Sites/node_modules]
[/Users/derekk/node_modules]
[/Users/node_modules]
[/node_modules]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation.js]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation.js]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation.json]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation.json]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation-joyride/node_modules/foundation]
[/Users/derekk/Sites/site.com/wp_theme_src/node_modules/foundation]
 @ ./~/foundation-joyride/dist/foundation.joyride.js 29:4-45
 @ ./src/assets/js/app.js
 @ multi ./src/assets/js/app.js
Details:
    domain: [object Object]
    domainThrown: true

Btw, for the previous post, I'm using these:
app.js
import $ from 'jquery';
import whatInput from 'what-input';

window.$ = $;

import Foundation from 'foundation-sites';
// If you want to pick and choose which modules to include, comment out the above and uncomment
// the line below
//import './lib/foundation-explicit-pieces';

import joyride from 'foundation-joyride';
import './lib/custom';

$(document).foundation();

The only difference between this and the stock app.js file is that one line for Joyride which is dependent on Foundation. I don't see why the foundation module doesn't exist or why it's even looking for it in the foundation-joyride folder instead of the foundation-sites folder.

@dpkonofa did you use one of the Zurb Foundation templates when you got Joyride working? If so, which one? I just tried it with the foundation-zurb-template and am blocked by this error:
[17:10:44] Error in plugin 'webpack-stream'
Message:
    ./~/foundation-joyride/dist/foundation.joyride.js
Module build failed: ReferenceError: Unknown plugin "transform-es2015-arrow-functions" specified in "/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/foundation-joyride/.babelrc" at 0, attempted to resolve relative to "/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/foundation-joyride"
    at /Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-core/lib/transformation/file/options/option-manager.js:180:17
    at Array.map (<anonymous>)
    at Function.normalisePlugins (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-core/lib/transformation/file/options/option-manager.js:158:20)
    at OptionManager.mergeOptions (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-core/lib/transformation/file/options/option-manager.js:234:36)
    at OptionManager.init (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
    at File.initOptions (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-core/lib/transformation/file/index.js:212:65)
    at new File (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-core/lib/transformation/file/index.js:135:24)
    at Pipeline.transform (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
    at transpile (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-loader/lib/index.js:46:20)
    at Object.module.exports (/Users/colinmarshall/Projects/Forks/foundation-zurb-template/node_modules/babel-loader/lib/index.js:163:20)
 @ ./src/assets/js/app.js 15:25-54
 @ multi ./src/assets/js/app.js
Details:
    domain: [object Object]
    domainThrown: true

This is happening because foundation-joyride is looking in its own node_modules directory for the babel presets when it should be looking in node_modules at the root of the template.

Ok I was able to get around that in "hackish" sort of way by entering the node_modules/foundation-joyride directory and running npm install babel-preset-es2015.
I now get the exact same Can't resolve 'foundation' error in the Foundation Zurb Template that you are getting in FoundationPress. Our build systems are basically mirrored so that seems normal to me that they would both give that error. Not that it helps you.
Now I just need to know how you setup your project when you had joyride working with just Foundation. Might help if you just shared the working repo with me so I can troubleshoot.

Same issue here.
I'm trying to import an external js

and I'm getting this

Any ideas?
I feel like here is some lack of documentation for this part of foundationpress.

ok so this is how you load external js

and in my example LineMaker was throwing an error and the fix was:
in linemaker.js added this at the end

export default LineMaker;

I feel like I'm taking crazy pills. I keep having the same thing happening over and over every time I try to use a new node_module and it always errors out with a webpack error.
This time, I tried to install "Waypoints" via npm.
npm install --save waypoints
It installs waypoints without any error. I've also tried npm install --save-dev waypoints which also installs without error.
I add this line to my app.js file:
import waypoints from 'waypoints';
And when I run npm start, I get the same error that I got with Joyride - the module can't be found. At this point, I have to think that I'm not processing something in my head correctly. This can't be an issue with every npm package and I can't imagine that Foundation or FoundationPress have these major bugs that don't allow use of npm modules without extensive editing.
Anyone have any thoughts on what I'm doing wrong here?

@dpkonofa can you please refer back to my post @ https://github.com/olefredrik/FoundationPress/issues/1133#issuecomment-337409015 and let me know how you had Foundation and Joyride working together? Was it with one of the Foundation templates?
As far as waypoints goes, it looks like you just happened to pick a JS component that is outdated and doesn't support webpack yet:

Some major issues which have still not been picked up include ES6 support since you can't even properly import it at the moment which is a big no no.

Source: https://github.com/imakewebthings/waypoints/issues/562
This PR has been open for over a year that would fix it, but the waypoints owner is MIA:
https://github.com/imakewebthings/waypoints/pull/533
It looks like you can install an ES6 compatible version of waypoints through jspm so you can import it. I've never used the jspm registry before though so I can't help you further and it's outside the scope of FoundationPress.
https://github.com/jspm/registry/pull/1055

@colin-marshall - Sorry I missed that comment.  I was working on getting the intro.js stuff working.  I didn't use one of the Foundation templates.  I just cloned the repo and installed that way and set up a test page.  Setting it up with a template breaks it so I think you're right that it's an issue with Foundation's templates and not with FoundationPress itself as you've confirmed that FP uses that template as its base.  I can't share the repo now as our product hasn't launched yet, but I will share once it's live.
Out of curiousity, did you already know about Waypoints or did you search something specifically? I would love to stay out of your hair for stuff like this but, having never really used webpack, I don't even know what to search for most of the time.
Thanks again for the help. This is really above and beyond the call of duty, so I appreciate it tremendously.

@dpkonofa thanks for following up on that question. So when you say you "cloned" the repo, the repo you are referring to is the regular foundation-sites repo?
I don't think it's an issue with the template itself, but something with webpack and the way the build system is setup. It could be that Joyride needs to be updated to work properly as a module with webpack, similar to how Waypoints needs an update.
As for how I figured that out that stuff about Waypoints, I just went to the Waypoints repo and searched for webpack in the issues and followed the trail. It's a shame it hasn't been updated in awhile, I've used Waypoints in other projects and it's really useful.

Out of curiosity what do you feel would be the next easiest thing if for whatever reason you can't import a plugin the webpack way (mostly not defined errors)? I'm contemplating just enqueing them individually, which is sort of a shame. I must admit, I do miss just throwing all my JS in a folder and it compiling!


docmanager open

Opening S3 documents
I added this extension to my jupyterhub environment so that our users can have a visual files system for our s3 storage. The problem is we have our filebrowser's navigateToCurrentDirectory option set up to True and that results in the normal files browser navigating to the s3 directory when a user opens an s3 file due to the command you set up "docmanager: open". It would be amazing to differentiate between opening s3 files and normal files to avoid such behavior and not change the filebrowser context based on s3 context.

The current design goal is that navigateToCurrentDirectory will first switch to the correct browser before attempting to navigate to a directory. Will that satisfy your use case?


Prebuilt Windows binary, please

I don't want to build from source. Please consider providing prebuilt Windows binary. Thanks.

Anyone care about this?

Anyone care about this?

Hey! Sorry for late response. I appreciate that you want to use this application, but I'm afraid I don't want to throw up a binary when the product isn't finished or even very useful. And frankly, I'm not actively working on this project at the moment. I hope that clears things up for you.


Type in your language with Ghosts

I'm using Gboard to type in English (US) (QWERTY). You can try it at: https://gboard.app.goo.gl?utm_campaign=user_referral&amv=26830000&apn=com.google.android.inputmethod.latin&ibi=com.google.keyboard&isi=1091700242&link=https%3A%2F%2Fdeeplink.com.google.android.inputmethod.latin%2F%3FdeeplinkInfo%3DH4sIAAAAAAAA%252F%252BPi52JNzdMNDRZiKyxPLSqplDg2pdcLAJcbHe4WAAAA&utm_medium=deeplink&utm_source=setting_sharing&ofl=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.google.android.inputmethod.latin

Closing because it seems to be spam


don't overwrite install.sh/install.sh.sig when rsyncing

meant for the https://dlang.org/install.sh script

As a preparation for https://github.com/D-Programming-Language/installer/pull/162.
IMO it's a must to have the install script on the main site (dlang.org), but maintaining it in the installer repo makes more sense. It would then be deployed separately and thus we need to teach dlang.org to not delete it.

If you want to try it out, use this to get the latest beta.
curl -fsSL https://dlang.org/install.sh | bash -s dmd-2.070.0-b2

Sorry @MartinNowak, my rsync just deleted it. I've merged so it doesn't happen again :)

Sorry @MartinNowak, my rsync just deleted it. I've merged so it doesn't happen again :)

Already noticed and fixed.
rsync -av --chmod=u=rw,go=r install.sh install.sh.sig martin@digitalmars.com:/usr/local/www/dlang.org/data/

The script makes testing old dmd releases really handy, we could still use a PowerShell version ;).


Docs migration, missing recent changes

@londoncalling since the docs/drivers/azure.md is now moved, I looked at azure.md at https://github.com/docker/docker.github.io/ {master,machine-vnext} branches. I can't see the docs I recently added here: https://github.com/docker/machine/pull/3784/files
Any ideas where they're gone?

@ahmetalpbalkan did you find it? I think what you are looking for is here, right? https://github.com/docker/docker.github.io/blob/vnext-machine/machine/drivers/azure.md


Fix start console with oauth proxy automatic path

Fix proxy fallback on start with oauth

Codecov Report

Merging #15 (6b520db) into main (e55ffb8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #15   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines            8         8
=========================================
  Hits             8         8

Help us with your feedback. Take ten seconds to tell us how you rate us.


Split out some test_decorators test cases.

Prep work for #26365

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

The first commit looks great; I think the second one is worth taking a bit more with, especially since this is in service of a project that likely ends with deleting test_request_variables once we've migrated to a new system.

Removed the extra tests incorrectly extracted. Renamed the first test case in test_has_request_variables to REQTestCase

I glimpsed over the coverage report of has_request_variables.py, and searched for @has_request_variables. test_has_request_variables should have all related tests there now.

Merged, thanks @PIG208!


Non-iid test fail

Hello! I'm trying to reproduct your paper, but fail in the case of non-iid data on cifar10. I just input command like you recommend:
python train_classifier_fed.py --data_name CIFAR10 --model_name resnet18 --control_name 1_10_0.1_non-iid-2_dynamic_a1-e1_bn_0_0
But I get only 50% local accuracy and 10% accuracy after more than 400 epochs, is there some problem? The output is like:
Model: 0_CIFAR10_label_resnet18_1_10_0.1_non-iid-2_dynamic_a1-e1_bn_0_0  Train Epoch: 441(0%)  Local-Loss: 0.7467  Local-Accuracy: 50.1040  ID: 8(1/1)  Learning rate: 0.010000000000000002  Rate: 0.0625  Epoch Finished Time: 0:00:00  Experiment Finished Time: 8:28:55
Model: 0_CIFAR10_label_resnet18_1_10_0.1_non-iid-2_dynamic_a1-e1_bn_0_0  Test Epoch: 441(100%)  Local-Loss: 2.3063  Local-Accuracy: 10.0000  Global-Loss: 2.3063  Global-Accuracy: 10.0000

Thanks for your interest in our work. There are something wrong with the tensorboard logger. I update the source code and run the same exp as yours. Here is what I get. Please let me know if you need any other assistance.
Model: 0_CIFAR10_label_resnet18_1_10_0.1_non-iid-2_dynamic_a1-e1_bn_1_1  Train Epoch: 2(0%)  Local-Loss: 0.3907  Local-Accuracy: 83.5240  ID: 4(1/1)  Learning rate: 0.1  Rate: 1.0  Epoch Finished Time: 0:00:00  Experiment Finished Time: 10:13:44
Model: 0_CIFAR10_label_resnet18_1_10_0.1_non-iid-2_dynamic_a1-e1_bn_1_1  Test Epoch: 2(100%)  Local-Loss: 2.5939  Local-Accuracy: 47.9500  Global-Loss: 6.8864  Global-Accuracy: 17.4800

Thanks, but have you updated the logger for the conv? I try to run your code with conv for cifar 10 but also always get 10% for global accuracy

The logger is universal for different model architecture. This is what I get from the same exp for the first three epochs.
Model: 0_CIFAR10_label_conv_1_10_0.4_non-iid-2_fix_a4-b3-c3_bn_1_1  Test Epoch: 1(100%)  Local-Loss: 1.5772  Local-Accuracy: 54.9684  Global-Loss: 5.4600  Global-Accuracy: 18.4600
Model: 0_CIFAR10_label_conv_1_10_0.4_non-iid-2_fix_a4-b3-c3_bn_1_1  Test Epoch: 2(100%)  Local-Loss: 0.6301  Local-Accuracy: 70.2421  Global-Loss: 3.5569  Global-Accuracy: 18.3900
Model: 0_CIFAR10_label_conv_1_10_0.4_non-iid-2_fix_a4-b3-c3_bn_1_1  Test Epoch: 3(100%)  Local-Loss: 0.5531  Local-Accuracy: 72.0842  Global-Loss: 3.0413  Global-Accuracy: 22.6000

Thank you for your help.But I wonder what's the clients settings in your report for non-iid cases with resnet model and CIFAR10 datasets? I try the default setting but get a low global accuracy(I should have used masked entropy):
Model: 0_CIFAR10_label_resnet18_1_10_0.4_non-iid-2_fix_a4-b3-c3_bn_1_1  Train Epoch: 800(0%)  Local-Loss: 0.0205  Local-Accuracy: 99.6120  ID: 5(1/4)  Learning rate: 0.0010000000000000002  Rate: 0.5  Epoch Finished Time: 0:05:12.298046  Experiment Finished Time: 0:05:12.298046
Model: 0_CIFAR10_label_resnet18_1_10_0.4_non-iid-2_fix_a4-b3-c3_bn_1_1  Train Epoch: 800(50%)  Local-Loss: 0.0147  Local-Accuracy: 99.7093  ID: 3(3/4)  Learning rate: 0.0010000000000000002  Rate: 1.0  Epoch Finished Time: 0:01:44.859544  Experiment Finished Time: 0:01:44.859544
Model: 0_CIFAR10_label_resnet18_1_10_0.4_non-iid-2_fix_a4-b3-c3_bn_1_1  Test Epoch: 800(100%)  Local-Loss: 2.4535  Local-Accuracy: 70.7200  Global-Loss: 4.1188  Global-Accuracy: 19.3200

I use make.py to generate my bash script. In the paper, I use 100 users and 0.1 active rate. The 10 users example in the readme.md is just for demonstration. If you have 10 clients and each of them only has two classes of data, I will suggest you to reduce the number of local epoch in utils.py from 5 to 1, or even try FedSGD. It is known that when training multiple local epochs, the global performance of non-iid data is bad.

Thank you! Then if I use the make.py to generate hte bash script, should each user get 2 classes data?

Yes. The code for data partition is in data.py


[Proposal] We should have mechanism to know that delayed.js is loaded (delay phase has started)

Problem statement:
The delayed.js library is effective for loading third-party or deferred scripts, but if some block needs to handle things during delay phase, it requires importing block code in delayed.js, leading to code dispersion. For example, if a developer wants to utilize the Video.js library for adaptive streaming, it’s beneficial to render a poster image while deferring script loading to improve the LHS score.
Consider the following scenarios:

The video block is not loaded in the page.
The video block is loaded before delayed.js.
The video block is loaded after delayed.js.

This necessitates writing logic within delayed.js to determine whether Video.js needs to be loaded, resulting in scattered code.
// video-block.js
export function loadVideoJs() {
   // fetch scripts and render video
}

// delayed.js
if (document.querySelector('.video-js')) {
   const { loadVideoJs } = await import("./blocks/video-block.js");
   loadVideoJs()
}

While cases 1 and 2 can be managed with scattered code, case 3 poses a challenge.
To handle case 3, we need some identifier to check if delayed.js is loaded since the script is not added to dom.
Proposal :

set DELAYED_PHASE property in window to handle case 3.
Trigger delayed-phase event once delayed.js is loaded

e.g.
// video-block.js
export function loadVideoJs() {
   // fetch scripts and render video
}

export decorate(block) {
   if (window.DELAYED_PHASE) {
      await loadVideoJs();
   } else {
      document.addEventListener('delayed-phase', loadVideoJs);
   }
}

// delayed.js
document.dispatchEvent(new Event('delayed-phase'));
Window.DELAYED_PHASE = true;

Benefits :

Colocated code for blocks which needs to handle things during delay phase
Easier integration for shared blocks. No documentation is needed to use shared block which relies on delay phase

Customers using video block:
Volvo
Maruti suzuki

@rofe , @davidnuescheler , could you please share your thoughts on this ? Do you think it would be beneficial to have a mechanism to indicate delayed phase (via event + state variable) so that code dependent on delayed phase can be decoupled from delayed.js and be handled independently based on the state/ event,

I think this makes sense... but can easily be implemented at the project level (project owns delayed.js and the block code).
If we end up adding those lines to all projects (+/- event name, namespacing...), we will add them to the boilerplate.


Feature Request: console access (exec) into a job

Is your feature request related to a problem? Please describe.
Would be nice to have console access to container apps jobs the same way as it exists now for regular apps.
Describe the solution you'd like.
Ideally az containerapp exec should allow entering into job containers. Now it returns ResourceNotFound error if a job name is specified.
Describe alternatives you've considered.
I need a working console into an application that is independent of existing apps. It's not a good pattern to exec into e.g. app server container to do some troubleshooting or debugging.

This isn't supported yet for jobs. We'll evaluate this as a new feature.


Stability?

Is this library stable enough to be used in production?

Jonatan<EMAIL_ADDRESS>writes:

Is this library stable enough to be used in production?

It has been used in a research setting (so the stakes weren't terribly
high in the case of failure). However, I do believe it's sound.


TS error at lib/typescript/theme/base/types.d.ts

** Before reporting this bug, please...**

[x] Check the latest documentation: https://docs.nativebase.io/
[x] Check for existing open/closed issues for a possible duplicate before creating a new issue: https://github.com/GeekyAnts/NativeBase/issues
[x] Use the latest NativeBase release: https://github.com/GeekyAnts/NativeBase/releases
[x] Check examples from NativeBase KitchenSink https://github.com/GeekyAnts/NativeBase-KitchenSink
[ ] For discussion purpose make use of NativeBase discord: https://discord.gg/TSgCw2UPmb

Describe the bug
typescript check fails at "lib/typescript/theme/base/types.d.ts"
To Reproduce

Install expo typescript & native-base
run tsc (typescript check)
See error :

node_modules/native-base/lib/typescript/theme/base/types.d.ts:1:83 - error TS1005: '?' expected.

1 declare type Join<K, P> = K extends string | number ? P extends string | number ? `${K}${'' extends P ? '' : '.'}${P}` : never : never;
                                                                                ~~~

node_modules/native-base/lib/typescript/theme/base/types.d.ts:1:93 - error TS1005: '}' expected.

1 declare type Join<K, P> = K extends string | number ? P extends string | number ? `${K}${'' extends P ? '' : '.'}${P}` : never : never;
                                                                                ~~~~~~~

node_modules/native-base/lib/typescript/theme/base/types.d.ts:1:113 - error TS1128: Declaration or statement expected.

1 declare type Join<K, P> = K extends string | number ? P extends string | number ? `${K}${'' extends P ? '' : '.'}${P}` : never : never;
                                                                                ~

node_modules/native-base/lib/typescript/theme/base/types.d.ts:1:115 - error TS1005: ';' expected.

1 declare type Join<K, P> = K extends string | number ? P extends string | number ? `${K}${'' extends P ? '' : '.'}${P}` : never : never;
                                                                                ~

node_modules/native-base/lib/typescript/theme/base/types.d.ts:6:1 - error TS1160: Unterminated template literal.

6

fails even with the following tsconfig.json : ```
{
"compilerOptions": {
...
"skipLibCheck": true
}
"exclude": ["node_modules/native-base/lib/typescript/theme/base/types.d.ts",]
}

**Platform**

- NativeBase version [e.g. 3.2.1]
- Expo sdk version [e.g. 42.0.1]
- node [e.g. 14.16.1]
- yarn or npm [e.g. ^6.1]

@arieloO can you upgrade typescript version to >= 4.2 and let us know if the error still persists?

Just updated : It's all good !
thanks !


Small cleanups

Splitting off another bit of NFC cleanup from https://github.com/apple/swift/pull/12892.

@swift-ci Please smoke test


Monitoring tool for queue traffic

If any of the participants in a Msgflo graph deadlocks, or for other reasons* stop to process/send messages, the system will generally fail to perform intended function.
By monitoring the queues that represent the output of the system, we could detect this.
msgflo-monitor --queue sensor.NEWVALUE --expect-periodic 1s --fail-missed 3
Process should probably exit (with non-zero code) on failure. Then one can use for instance in systemd OnFailure=myservice-restart.service to try to recover.
Alternatively it may be useful if it writes a single line on stdout, or can execute some command.
For systems that don't produce data periodically by nature, it is recommended that there is a process generating test message periodically.
To have a chain of trust, the msgflo-monitor program should ideally also be monitored. For instance by using the watchdog feature of systemd.
* crashing process and restarting it usually well handled by the service management already, be it Heroku or systemd (#20).

Related to queue length information in #29


Add size parameter to reindex descriptor

The current scroll search size for reindexing is hard coded. Allow the size to be changed using the ReindexDescriptor.

Nice catch, thanks @shanekenney !  LGTM :+1:


Add extra documentation covering environment variables and running tests

Just pulled a basic config from .travis.yml. Sorry if this was already documented somewhere, I couldn't find it!

@nias-r Thanks for adding the extra documentation to the project!


OpProvider interface requires type of Task's evaluated obj

This will make onSuccess safer when the operator expects a well defined type for the returned object from the Task. However, generic operators that would act on onSuccess without caring about the returned object are not supported as good anymore. We can have two types of operators, the generic one with a different signature for the onSuccess method (i.e. no second argument z).

I will 👎  this because it conflates the operator with the task return type. That would be an impediment to using several operators with a task as they would now have to use a common type.
For the use cases this change was made for, the best way to approach it would be to pass in the required information to the operator while constructing it instead of relying on the task return type.


Prevent horizontal scrolling in main report pane

Currently text in the main report pane does not wrap, but instead allows horizontal scrolling.  We should prevent any horizontal scrolling of the main pane by wrapping the text.
The HTML tables that will not fit should allow horizontal scrolling of just the particular table.

I thought we did this already?

We never really finished it.
Originally we were waiting to get the tables into real HTML tables, but once that was done we did not come back through and complete the css for everything.
Basically, what is left is setting up the css for the<table> and <pre> blocks (for the feature/scenario descriptions and doc strings) so that those individual elements can be horizontally scrolled.  Right now the <pre> blocks still cause the whole pane to scroll while the <table> elements actually compress to fit.  I don't think we want either of these behaviors.


Extract build-only TypeScript configuration

Currently, we exclude test files from TypeScript's purview, so that only
files in src/ get emitted to dist/. This makes sense from a release
perspective, but it interferes with development.
One example of this interference involves module augmentation. We have a
file dependencies.d.ts which we can use to augment types for various
dependencies. Right now we don't have much in this file, but in a future
commit we will be backfilling a lot of types using this mechanism.
TypeScript will see and incorporate these module augmentations for
source files, but not for test files. This causes in-editor
inconsistencies with type analysis and, in some cases, warnings such as:

import can only be used with esInteropModuleFlag: true
X is missing type definitions

To fix this, this commit breaks off the build-specific configuration
from tsconfig.json. tsconfig.json will still be utilized by VSCode
or whatever editor is being used and contains the widest possible
settings; tsconfig.build.json narrows the set of emitted files as in
the original configuration.
Manual testing steps

Check out the main branch.
Open src/assets/AssetsContractController.test.ts.
Hover over MAINNET_PROVIDER on line 6. Note how the type is any. This is because the types for ethjs-provider-http is being stubbed in src/dependencies.d.ts.
Update the declare module 'ethjs-provider-http'; line in src/dependencies.d.ts to read:declare module 'ethjs-provider-http' {
  import type { JsonRpcRequest } from 'json-rpc-engine';
  export type EthQueryMethodCallback<R> = (error: any, response: R) => void;

  export default class HttpProvider {
    host: string;
    timeout: number;

    constructor(host: string, timeout?: number);

    sendAsync<P, R>(
      request: JsonRpcRequest<P>,
      callback: EthQueryMethodCallback<R>,
    ): void;
  }
}

Hover over MAINNET_PROVIDER in src/assets/AssetsContractController.test.ts again. Note how the type is still any.
Remove your changes to src/dependencies.d.ts.
Now check out this branch.
Restore your changes to src/dependencies.d.ts.
Hover over MAINNET_PROVIDER in src/assets/AssetsContractController.test.ts a third time. Note how the type is properly HttpProvider.

Huh. I hadn't considered this before. We should make this update in our template repo as well.

Okay, I've created a similar PR in the template repo here: https://github.com/MetaMask/metamask-module-template/pull/95. As I was doing this, I learned a few more things about type definition files, and updated this PR to match those findings. One more review please 🙏🏻


[BEAM-12164]: allow for nanosecond precision

Nanosecond precision is used by Spanner to track change streams, for which we are adding support here. Previously we only supported microsecond precision.
Implements a timestamp restriction tracker based on the offsetrange tracker to claim timestamps. This was necessary, because the precision can not be represented through a long (with the OffsetRangeTracker).
On top of new TimestampRangeTracker, we built two decorator restriction trackers for each of our SDFs, which behave slightly differently.
The DetectNewPartitionsTracker allows for claiming timestamps equal to or greater than the current restriction timestamp.
The ReadChangeStreamPartitionTracker does the same as the above, but it disallows for splitting when the initial (fake) partition is being queried. We do not want to split at that case, because there is no way to resume from where we left off specifically for the initial change stream query.
This commit also modifies the relevant tests.

DO NOT MERGE yet, still testing it

retest this please

Test failure is unrelated: [org.apache.beam.sdk.io.hadoop.format.HadoopFormatIOElasticTest.classMethod](https://ci-beam.apache.org/job/beam_PreCommit_Java_Commit/21340/testReport/org.apache.beam.sdk.io.hadoop.format/HadoopFormatIOElasticTest/classMethod/)

This has been tested with the verification framework for 7 days (no errors, all records received)
This PR is ready for review / to be merged

R: @pabloem

Run Java PreCommit


Docs: Fix github file location

Summary
What changed?
In order to provide the right github file url I decided to intro packageFileLocation which can be generated on the fly for the generateMetadata step.  As a second step I passed this prop to all docs components.
Why?
the current documentation sometimes has a wrong reference to the github file for example: https://gestalt.pinterest.systems/web/utilities/defaultlabelprovider -> https://github.com/pinterest/gestalt/blob/master/packages/gestalt/src/DefaultLabelProvider.js
Links

Jira
[TDD](link to Paper doc)
[Figma](link to Figma file)

Checklist

[ ] Added unit and Flow Tests
[ ] Added documentation + accessibility tests
[ ] Verified accessibility: keyboard & screen reader interaction
[ ] Checked dark mode, responsiveness, and right-to-left support
[ ] Checked stakeholder feedback (e.g. Gestalt designers)

I tested locally the docs build via clicking all links for github

PTAL @rlingineni @AlbertCarreras @diyorbek @hectoid

Hi, @andreyctkn , thanks for finding this issue. Were there any other examples where the link didn't work.
So far I'm only running into the case with DefaultLabelProvider, but I'm trying to dig for more.


Eslint cleanup

@gtarcea could you please review: if you spot a class of error that can be better fixed by changing code, please let me know, and I'll update the pull request. Thanks.

Oops I got this one wrong!


DTU daily energy not working without internet

Describe the bug
DTU daily energy does not update anymore and stays the same when internet connection is broken and reset to zero after DTU restart.
To Reproduce
Steps to reproduce the behavior:

Disconnect Internet from Router
Monitor DTU AC Daily Energy value (eg. 11:00-12:50 in Screenshot)
Restart DTU
Values are updated but reset to 0 to start from

Expected behavior
As local network is not affected, data should be read as usual.
Screenshots

Desktop (please complete the following information):
Core 2024.4.4
Supervisor 2024.04.0
Operating System 12.2
Frontend 20240404.2
Hoymiles for Home Assistant v0.2.1
HMS-800W-2T:
DTU H00.01.00 / V00.01.11
Inverter H00.04.00 / V01.00.08

Could this be an issue with the DTU rather than the integration?
As you said, it works fine after the DTU is restarted which makes me believe the inverter actually is not updating the data.
It would also explain why the daily energy is reported as 0 afterwards because if it was related to the integration there would be a jump in the graph from 0 to the value previously reported.

Might be the case, but I don't know how I cloud fix this or see if it is related to the inverter. I've read in other issues that there are issues when Internet Access is blocked completely, was wondering if it might also cause this issue.
Is it possible to configure the integration that it continues to count the DTU AC Daily Energy instead of relying what the inverter reports? Does your inverter also Report 0 Wh AC Daily Energy produced after a reboot?

No the Inverter keeps the same ac daily energy (while connected to Internet).
I did not yet test whether this changes if I disable Internet access.


neg_binomial_2_log problem with large values of phi

Summary:
This was reported in stan-dev/stan#428.
When the 3rd argument, phi, is very large, the result ends up positive, which it should not.
Description:
There's a numerical error.
Reproducible Steps:
Put this in a test:
#include <stan/math.hpp>
#include <gtest/gtest.h>

TEST(NegBinomial2,) {
  int N = 100;
  double mu = 8;
  double phi = 1e12;
  for (int n = 0; n < 10; ++n) {
    phi *= 10;
    std::cout << "out = " << stan::math::neg_binomial_2_log<false>(N, mu, phi) << std::endl;
  }
}

Current Output:
out = -163.812
out = -163.5
out = -160
out = -128
out = 0
out = 8192
out = 0
out = 0
out = 0
out = 0

Expected Output:
All the output should be negative. I don't know why it returns the value of 8192.
Current Version:
v2.13.0

@thelseraphim, can you tackle this one?

This is the same bug as https://github.com/stan-dev/math/issues/428

@bgoodri, thanks! I'm closing this one.


Fix timeout exception and Add Integ test for Master task throttling

Signed-off-by: Dhwanil Patel<EMAIL_ADDRESS>Description

Fix Timeout exception, if task is getting timedout while doing retry we would want to throw ClusterEventTimeoutException.
Added Integ tests for the throttling change to cover below scenario.

Tasks are getting submitted to remote master node (multi node cluster)
Tasks are getting submitted to local master node (single node cluster)
Tasks are getting timedout while retrying.

Issues Resolved
[#479 ]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #4588 (389d1e8) into feature/master-task-throttling (1212afd) will increase coverage by 0.00%.
The diff coverage is 82.40%.

@@                        Coverage Diff                        @@
##             feature/master-task-throttling    #4588   +/-   ##
=================================================================
  Coverage                             70.71%   70.72%
+ Complexity                            57644    57621   -23
=================================================================
  Files                                  4665     4666    +1
  Lines                                276614   276704   +90
  Branches                              40297    40300    +3
=================================================================
+ Hits                                 195621   195701   +80
  Misses                                64737    64737
- Partials                              16256    16266   +10

Impacted Files
Coverage Δ

...stermanager/TransportClusterManagerNodeAction.java
83.96% <0.00%> (-0.80%)
:arrow_down:

...search/cluster/service/ClusterManagerTaskKeys.java
0.00% <0.00%> (ø)

...main/java/org/opensearch/script/ScriptService.java
71.65% <0.00%> (-0.45%)
:arrow_down:

...oredscripts/TransportDeleteStoredScriptAction.java
55.55% <50.00%> (+5.55%)
:arrow_up:

.../storedscripts/TransportPutStoredScriptAction.java
55.55% <50.00%> (+5.55%)
:arrow_up:

...ing/delete/TransportDeleteDanglingIndexAction.java
9.58% <50.00%> (+1.13%)
:arrow_up:

...dmin/indices/rollover/TransportRolloverAction.java
51.21% <50.00%> (-0.04%)
:arrow_down:

...ster/metadata/MetadataCreateDataStreamService.java
61.53% <50.00%> (-0.31%)
:arrow_down:

...arch/persistent/PersistentTasksClusterService.java
48.88% <50.00%> (+0.63%)
:arrow_up:

...cluster/metadata/MetadataIndexTemplateService.java
82.98% <83.33%> (+1.15%)
:arrow_up:

... and 523 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

We need a changelog for the build to succeed


ClassCastException

Hi!
I have been using StickyGridHeaders for a month, and it works great, but randomly when I load the gridview I get an exception like this.
0		java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to com.tonicartos.widget.stickygridheaders.StickyGridHeadersBaseAdapterWrapper$FillerView
1	at	com.tonicartos.widget.stickygridheaders.StickyGridHeadersBaseAdapterWrapper.getFillerView(StickyGridHeadersBaseAdapterWrapper.java:261)
2	at	com.tonicartos.widget.stickygridheaders.StickyGridHeadersBaseAdapterWrapper.getView(StickyGridHeadersBaseAdapterWrapper.java:177)
3	at	android.widget.AbsListView.obtainView(AbsListView.java:2597)
4	at	android.widget.GridView.makeAndAddView(GridView.java:1344)
5	at	android.widget.GridView.makeRow(GridView.java:344)
6	at	android.widget.GridView.fillSpecific(GridView.java:546)
7	at	android.widget.GridView.layoutChildren(GridView.java:1243)
8	at	android.widget.AbsListView.onLayout(AbsListView.java:2431)
9	at	android.view.View.layout(View.java:14482)
10	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
11	at	android.widget.FrameLayout.onLayout(FrameLayout.java:448)
12	at	android.view.View.layout(View.java:14482)
13	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
14	at	android.widget.LinearLayout.setChildFrame(LinearLayout.java:1669)
15	at	android.widget.LinearLayout.layoutVertical(LinearLayout.java:1527)
16	at	android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
17	at	android.view.View.layout(View.java:14482)
18	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
19	at	android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
20	at	android.view.View.layout(View.java:14482)
21	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
22	at	android.widget.FrameLayout.onLayout(FrameLayout.java:448)
23	at	android.view.View.layout(View.java:14482)
24	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
25	at	android.widget.FrameLayout.onLayout(FrameLayout.java:448)
26	at	android.view.View.layout(View.java:14482)
27	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
28	at	android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
29	at	android.view.View.layout(View.java:14482)
30	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
31	at	android.widget.FrameLayout.onLayout(FrameLayout.java:448)
32	at	android.view.View.layout(View.java:14482)
33	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
34	at	android.widget.FrameLayout.onLayout(FrameLayout.java:448)
35	at	android.view.View.layout(View.java:14482)
36	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
37	at	android.widget.LinearLayout.setChildFrame(LinearLayout.java:1669)
38	at	android.widget.LinearLayout.layoutVertical(LinearLayout.java:1527)
39	at	android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
40	at	android.view.View.layout(View.java:14482)
41	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
42	at	android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021)
43	at	android.view.View.layout(View.java:14482)
44	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
45	at	android.widget.FrameLayout.onLayout(FrameLayout.java:448)
46	at	android.view.View.layout(View.java:14482)
47	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
48	at	android.widget.LinearLayout.setChildFrame(LinearLayout.java:1669)
49	at	android.widget.LinearLayout.layoutVertical(LinearLayout.java:1527)
50	at	android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
51	at	android.view.View.layout(View.java:14482)
52	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
53	at	android.widget.FrameLayout.onLayout(FrameLayout.java:448)
54	at	android.view.View.layout(View.java:14482)
55	at	android.view.ViewGroup.layout(ViewGroup.java:4469)
56	at	android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2147)
57	at	android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1966)
58	at	android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1179)
59	at	android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4861)
60	at	android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
61	at	android.view.Choreographer.doCallbacks(Choreographer.java:562)
62	at	android.view.Choreographer.doFrame(Choreographer.java:532)
63	at	android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
64	at	android.os.Handler.handleCallback(Handler.java:725)
65	at	android.os.Handler.dispatchMessage(Handler.java:92)
66	at	android.os.Looper.loop(Looper.java:137)
67	at	android.app.ActivityThread.main(ActivityThread.java:5293)
68	at	java.lang.reflect.Method.invokeNative(Native Method)
69	at	java.lang.reflect.Method.invoke(Method.java:511)
70	at	com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
71	at	com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
72	at	dalvik.system.NativeStart.main(Native Method)
May I'm doing something wrong, but is weird I cannot replicate this error easily, just happens.
Thanks in advance for any help!

Hi, am having 2 tabs at the top of the activity,below that a stickyHeaderGridView that will update its content depends on the tab selected at the top, here the problem is when clicking 2'nd tab i need stickyHeaderGridView funtionality that works fine, but when clicking the 1'st tab i want to use the normal gridview functionality instead stickyHeaderGridView, am stucking more than 2 days ,kindly give me any suggestion.

Using Adapter.notifyDataSetChanged() instead of creating it again works fine and fix the bug. Thank you all.

sorry for late reply. i fixed it using the same way you mentioned above,
after some documentation about updating data in list and in grids
..thanks for reply
On Fri, Mar 6, 2015 at 8:51 PM, Marco HC<EMAIL_ADDRESS>wrote:

Using Adapter.notifyDataSetChanged() instead of creating it again works
fine and fix the bug. Thank you all.
—
Reply to this email directly or view it on GitHub
https://github.com/TonicArtos/StickyGridHeaders/issues/40#issuecomment-77575840
.

Eh...ok it does not work, even using the notifyDataSetChanged() it throws from time to time the same exception, any other walk around or fix?

can you say me clearly, in which class and line you face the problem
exactly......
On Mon, Mar 9, 2015 at 4:20 PM, Marco HC<EMAIL_ADDRESS>wrote:

Eh...ok it does not work, even using the notifyDataSetChanged() it throws
from time to time the same exception, any other walk around or fix?
—
Reply to this email directly or view it on GitHub
https://github.com/TonicArtos/StickyGridHeaders/issues/40#issuecomment-77832807
.

Inside StickyGridHeadersBaseAdapterWrapper
private FillerView getFillerView(View convertView, ViewGroup parent, View lastViewSeen) {
    FillerView fillerView = (FillerView) convertView;
    if (fillerView == null) {
        fillerView = new FillerView(mContext);
    }

    fillerView.setMeasureTarget(lastViewSeen);

    return fillerView;
}

This cast FillerView fillerView = (FillerView) convertView; throws the ClassCastException.

hello marco,
your calling this getFillerView(View convertView, ViewGroup parent, View
lastViewSeen) from 2 places.ie (from)inside the getView method of the same
adapter class
like below
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Position adapterPosition = translatePosition(position);
if (adapterPosition.mPosition == POSITION_HEADER) {
HeaderFillerView v =
getHeaderFillerView(adapterPosition.mHeader, convertView, parent);
View view = mDelegate.getHeaderView(adapterPosition.mHeader,
(View)v.getTag(), parent);
mGridView.detachHeader((View) v.getTag());
v.setTag(view);
mGridView.attachHeader(view);
convertView = v;
mLastHeaderViewSeen = v;
v.forceLayout();
} else if (adapterPosition.mPosition == POSITION_HEADER_FILLER) {
convertView = getFillerView(convertView, parent,
mLastHeaderViewSeen);
convertView.forceLayout();
} else if (adapterPosition.mPosition == POSITION_FILLER) {
convertView = getFillerView(convertView, parent, mLastViewSeen);
} else {
convertView = mDelegate.getView(adapterPosition.mPosition,
convertView, parent);
mLastViewSeen = convertView;
}
    return convertView;
}

in the above get view method note the FIRST if condition,
ie.   if (adapterPosition.mPosition == POSITION_HEADER) {
HeaderFillerView v =
getHeaderFillerView(adapterPosition.mHeader, convertView, parent);
View view = mDelegate.getHeaderView(adapterPosition.mHeader,
(View)v.getTag(), parent);
mGridView.detachHeader((View) v.getTag());
v.setTag(view);
mGridView.attachHeader(view);
convertView = v;
mLastHeaderViewSeen = v;
v.forceLayout();
}
in the above code: note the 2nd line
HeaderFillerView v = getHeaderFillerView(adapterPosition.mHeader,
convertView, parent);
above line of code creates view that a type of HeaderFillerView (NOTE - NOT
A TYPE OF FillerView).
in the 6th line you are backing up that view to convertview  as
convertView = v;
now your convertView is ready with type of HeaderFillerView.
YOUR PROBLEM ARISES HERE:
ie in both the "else if" condition of the same getView method
else if (adapterPosition.mPosition == POSITION_HEADER_FILLER) {
convertView = getFillerView(convertView, parent,
mLastHeaderViewSeen);
convertView.forceLayout();
} else if (adapterPosition.mPosition == POSITION_FILLER) {
convertView = getFillerView(convertView, parent, mLastViewSeen);
}
note 2nd line(or 5th line) of the above code
already your convertView is ready with the type of HeaderFillerView(ie.
convertView = v;), your passing that converView to another method like below
getFillerView(convertView, parent, mLastHeaderViewSeen);
right,,,
but in the getFillerView method definition your trying to convert(cast)
that view to FillerView, actualy that is not a type of FillerView,actually
a type of HeaderFillerView
that is why it shows classcasting exception;
ie your Casting a view that is type of HeaderFillerView to FillerView......
On Fri, Mar 13, 2015 at 8:55 PM, Marco HC<EMAIL_ADDRESS>wrote:

Inside StickyGridHeadersBaseAdapterWrapper
private FillerView getFillerView(View convertView, ViewGroup parent, View lastViewSeen) {
FillerView fillerView = (FillerView) convertView;
if (fillerView == null) {
fillerView = new FillerView(mContext);
}
fillerView.setMeasureTarget(lastViewSeen);

return fillerView;

}
This cast FillerView fillerView = (FillerView) convertView; throws the
ClassCastException.
—
Reply to this email directly or view it on GitHub
https://github.com/TonicArtos/StickyGridHeaders/issues/40#issuecomment-79043273
.

Can you provide a fix? :-/

Have you considered using the StickGridHeaders replacement? I know it isn't exactly the same and I am still working on it. However, I think it is much better.
If you don't want to use it, please tell me why. Thanks.

Step 1:
private HeaderFillerView getHeaderFillerView(int headerPosition, View
convertView,
ViewGroup parent) {
HeaderFillerView headerFillerView = (HeaderFillerView)convertView;
if (headerFillerView == null) {
headerFillerView = new HeaderFillerView(mContext);
}
    return headerFillerView;
}

replace above method by
private HeaderFillerView getHeaderFillerView(int headerPosition, View
convertView,
ViewGroup parent) {
if(convertView instanceOf HeaderFillerView ){
HeaderFillerView headerFillerView = (HeaderFillerView)convertView;
}else{
// convertView==null also come here
headerFillerView = new HeaderFillerView(mContext);
}
}
Step 2:
private FillerView getFillerView(View convertView, ViewGroup parent, View
lastViewSeen) {
FillerView fillerView = (FillerView)convertView;
if (fillerView == null) {
fillerView = new FillerView(mContext);
}
    fillerView.setMeasureTarget(lastViewSeen);

    return fillerView;
}

replace above method by
private FillerView getFillerView(View convertView, ViewGroup parent, View
lastViewSeen) {
if(convertView instanceOf FillerView){
FillerView fillerView = (FillerView)convertView;
}else{
//convertView==null also come here
fillerView = new FillerView(mContext);
}
fillerView.setMeasureTarget(lastViewSeen);
return fillerView;
}
On Mon, Mar 16, 2015 at 7:30 AM, Tonic Artos<EMAIL_ADDRESS>wrote:

Have you considered using the StickGridHeaders replacement? I know it
isn't exactly the same and I am still working on it. However, I think it is
much better.
If you don't want to use it, please tell me why. Thanks.
—
Reply to this email directly or view it on GitHub
https://github.com/TonicArtos/StickyGridHeaders/issues/40#issuecomment-81346508
.

@anbarasu-seven Hey thanks - I'll see if that fixes the bug :)
Bzw - why don't you want to send a pull-request? Seems you already fixed it, right?
I have no problem re-compiling the library on my own, but you might do a loooots of folks out there a big favor ;-)
@TonicArtos I don't know anything about a "StickyGridHeaders repalcement" - please tell me more! What is it, where can I find it?

It is mentioned in the readme. It is a RecyclerView LayoutManager called SuperSLiM. You can find it at github.com/TonicArtos/SuperSLiM.

I can't reproduce the CastException again, thanks a lot @anbarasu-seven!

thanks , happy coding.......enjoy exceptions.......
On Tue, Mar 17, 2015 at 4:04 PM, Marco HC<EMAIL_ADDRESS>wrote:

I can't reproduce the CastException again, thanks a lot @anbarasu-seven
https://github.com/anbarasu-seven!
—
Reply to this email directly or view it on GitHub
https://github.com/TonicArtos/StickyGridHeaders/issues/40#issuecomment-82264130
.


PyPI sdist doesnt contain requirements.txt

setup.py opens requirements.txt, which is missing from the sdist on PyPI.

Thanks @jayvdb!  Fixed in Version 2.2.2 which is now up on pypi.


build(deps): upgrade Storybook and related dependencies to 8.2.8

Summary
Upgraded Storybook and related dependencies to version 8.2.8.
Added

None

Changed

Upgraded @storybook/addon-essentials from ^7.6.20 to ^8.2.8
Upgraded @storybook/addon-interactions from ^7.6.20 to ^8.2.8
Upgraded @storybook/addon-links from ^7.6.20 to ^8.2.8
Upgraded @storybook/blocks from ^7.6.20 to ^8.2.8
Upgraded @storybook/react from ^7.6.20 to ^8.2.8
Upgraded @storybook/react-vite from ^7.6.20 to ^8.2.8
Upgraded storybook from ^7.6.16 to ^8.2.8

Deprecated

None

Removed

None

Fixed

None

How to test

Checkout this branch: git checkout origin/build/dependencies/10-storybook
Run yarn and ensure all dependencies are correctly installed without duplication and that there are no issues related to missing or incompatible dependencies.
Run yarn test and verify that all tests run and pass.
Run yarn storybook and verify that the Storybook application runs and behaves as expected.
Run yarn build-storybook and verify the Storybook build succeeds.

Ignoring these upgrades for now.


Fixed issue handling non-int32 enum types

Update to handle non-int32 enum types correctly. E.g., this:
public enum TestEnumInt64 : long
{
  Value1
  Value2
}

was failing with:
System.InvalidCastException : Unable to cast object of type 'TestEnumInt64' to type 'System.Int32'.

This adds a new EnumValueComment.ValueObject that captures the underlying integer value, and .Value will be 0 if not an integer.

Just encountered this issue, this PR should be merged 👍

Same problem here, waiting for merge and new release.


Adding 0's after the "fractionDigits" limit doesn't trigger formatting

$1.2211111111 > $1.22 ❤
$1.2200000000 > $1.2200000000 💔

Hi, there! I would like to take up this issue. Can it be assigned to me?

@gokullan sounds good, submit a PR when you are ready.
Thanks!


kernel: timeout: Optimize setting next alarm

Next timeout was set unconditionally at the end of sys_clock_announce. However, if one of the current expired timeouts was setting a new timeout which is the first to execute then system clock is already configured and setting it at the end is redundant. This can happen if timeout is used for periodic k_timer or if k_timer handler start new timer (which is the nearest from all configured).
New sys_clock timeout is set only in those two places: when new timeout is added and after the announcement so it is possible to track currently configured timeout and skip setting at the end of the announcement if it is redundant.
If timeouts are frequent this optimization can reduce CPU load. In many cases setting the new sys_clock timeout is the most time consuming operation in the sys_clock isr handler. As an example, on the target I used setting new sys_clock timeout is taking 6 uS of 9 uS spent in the isr and it takes 16 uS with the redundant call.

I have a strong feeling that your patch introduces a race.
I think it is much safer the other way around i.e. don't program a new timer
while still processing timers. Let the timer IRQ handler program the actual
final timer at the end instead. Something like this:
diff --git a/kernel/timeout.c b/kernel/timeout.c
index 3d5cb51c0f0..8c727e204f9 100644
--- a/kernel/timeout.c
+++ b/kernel/timeout.c
@@ -135,7 +135,7 @@ void z_add_timeout(struct _timeout *to, _timeout_func_t fn,
 			sys_dlist_append(&timeout_list, &to->node);
 		}

-		if (to == first()) {
+		if (to == first() && announce_remaining == 0) {
 			sys_clock_set_timeout(next_timeout(), false);
 		}
 	}

@npitre I've applied your suggestion.

You should adapt the commit log too.

Commit message updated.

@andyross can you take a look?

@andyross ping


Pytorch Lightning Checkpoint saving and Earlystopping

Recently I have been trying to train an SMP model using pytorch lightning Checkpoint saving and Earlystopping features in my training loop to save progress. it uses a torch.save() method to save the models at each user-specified condition as a .ckpt/.pth file. I used the torch.load() method to load the file:
checkpoint_path = "DeepLabV3Plus_Training\checkpointsaves\last.pth"

model = SegmentationModel.load_from_checkpoint(checkpoint_path, strict = True)

and I got an error saying that there are many keys that do not match in the state dict. I tried it with strict=False and ofc the model acted like there were no weights, showing just imagenet weight results.
Is there a way to make saving and loading the model using torch.save and torch.load work? I have no problem using the provided methods myself, I just want to integrate that into the pytorch lightning workflow. I made a custom callback that saves the model every x epochs:
    class SaveModelEveryNepochs(pl.Callback):
    def __init__(self, save_dir: str, save_interval: int = 10):

    self.save_dir = save_dir
    self.save_interval = save_interval

def on_train_epoch_end(self, trainer, pl_module):
    """
    Called at the end of each training epoch.

    Args:
        trainer: The trainer instance.
        pl_module: The Lightning module instance.
    """
    current_epoch = trainer.current_epoch
    if current_epoch % self.save_interval == 0:
        # Save the model using SMP's method
        model = pl_module.model  # Assuming your model is stored in pl_module
        model.save_pretrained(f"{self.save_dir}/model_epoch_{current_epoch}")

However, I'd still like it to save the model in the same way in EarlyStopping. Additionally, the default lightning checkpoint callback gives the option to save: the top k models according to user criteria, saving last k models, saving every x epochs, etc.
Is there a way to integrate the existing save_pretrained() and the loading counterpart into the existing EarlyStopping and ModelCheckpoint objects? This would be immensely useful for long experiments, which mine is.

I'm not sure, I'm not entirely familiar of how the existing method in SMP loads and saves model when it comes to syntax of the state_dict. If possible, i'd like some direction on where exactly to find that. I see that it saves a config.json that contains all the architecture hyperparameters, which it loads separately then it uses the other file .safetensors to load the actual weights. On the other hand, the native pytorch method actually consists of the user declaring the model class a-priori, then using torch.load(weight_only = True) or torch.load_state_dict().
From your comment and by running an example trial code:
import torch
import segmentation_models_pytorch as smp

checkpoint = torch.load(r'DeepLabV3Plus_Training\runs\experiment_diceloss_bigconvs\mobileone_s0\version_0\checkpoints\epoch=88-step=1157.ckpt')

print(checkpoint['state_dict'].keys())

model = smp.from_pretrained(r'DeepLabV3Plus_Training\mysaves\mobileone_s0\model_epoch_0')

sdict = model.state_dict()
print("-----------------------")

print(sdict.keys())

Getting the following output (shortened):
checkpoint = torch.load(r'DeepLabV3Plus_Training\runs\experiment_diceloss_bigconvs\mobileone_s0\version_0\checkpoints\epoch=88-step=1157.ckpt')
odict_keys(['model.encoder.stage0.rbr_conv.0.conv.weight', 'model.encoder.stage0.rbr_conv.0.bn.weight'
....
Loading weights from local directory
-----------------------
odict_keys(['encoder.stage0.rbr_conv.0.conv.weight', 'encoder.stage0.rbr_conv.0.bn.weight

I understand it seems that all it takes is to just remove the 'model.' in case of loading the safetensors checkpoint or adding a model. in case of loading a .pth or .ckpt checkpoint no? Then the from_pretrained() should just proceed with the same state_dict, just with the keys modified accordingly. It seems this can be efficiently implemented with a str.split() method. This is as far as my understanding goes, am I correct? What do you think?

Yeah, it seems like you just have to remove the prefix from the state dict.
It's not necessary to use the from_pretrained method; you can proceed with model.load_state_dict in your particular case. Load the checkpoint with torch.load, remove the prefix, and then pass it to the load_state_dict method. It's not one line of code, but it's not a huge overhead actually.
checkpoint = torch.load(r'DeepLabV3Plus_Training\runs\experiment_diceloss_bigconvs\mobileone_s0\version_0\checkpoints\epoch=88-step=1157.ckpt')
state_dict = checkpoint["state_dict"]
state_dict = {k.replace("model.", ""): v for k, v in state_dict.items()}
model.load_state_dict(state_dict)

It can be added to from_pretrained method as well with overriding load_state_dict or using load pre-hook.

Sounds good, would be very convenient for people running large number of experiments (me) using pytorch lightning and want to automate obtaining info from checkpoints. I think it would be a great addition to implement this in from_pretrained(), however in order to do this we will have to require the user to save all parameters (depth, stride, etc.) that the SMP model instance takes in the .yaml file. So that it can be converted to dictionary to be passed internally with from_pretrained() to create the model instance with the correct hyperparameters.
Alternatively, we can make use of the ['hyperparameters'] key that is loaded when torch.load() is called:
model_checkpoint_path = r"noKD\runs\tu-mobilevit_xxs_DLV3+\version_0\checkpoints\epoch=159-step=2080.ckpt"

checkpoint = torch.load(model_checkpoint_path)
print(checkpoint['hyper_parameters'])

output:
{'encoder': 'tu-mobilevit_xxs', 'depth': 5, 'encoder_output_stride': 16, 'channels': 512, 'decoder_atrous_rates': (16, 32, 128), 'lr_init': 0.001, 'weight_decay': 0, 'temperature': 2, 'Arch': 'DLV3+'}
The issue here is that users could be arbitrarily naming the hyper parameter dictionary keys, or handling additional hyperparameters not relevant to the model instance itself but relevant for other things (such as my case, running Knowledge Distillation experiments).
It would warrant a tutorial on readthedocs or at least an example code on the repo so that it's usage would be intuitive.
I tested out your code a bit and I ran into an 'edge' case which I did not expect:
import torch
import segmentation_models_pytorch as smp

model_checkpoint_path = r"noKD\runs\tu-mobilevit_xxs_DLV3+\version_0\checkpoints\epoch=159-step=2080.ckpt"

checkpoint = torch.load(model_checkpoint_path)
encoder = 'tu-mobilevit_xxs'
hparams = {
    'encoder': encoder,
    'depth': 5,
    'encoder_output_stride': 16,
    'channels': 512,
    'decoder_atrous_rates': (16, 32, 128),
    'lr_init': 1e-3,
    'weight_decay': 0,
    'temperature': 2,
    'Arch': "DLV3+"
}
model = smp.DeepLabV3Plus(
        encoder_name= hparams['encoder'],
        encoder_depth= hparams['depth'],
encoder_output_stride= hparams['encoder_output_stride'],
    decoder_channels= hparams['channels'],
    decoder_atrous_rates= hparams['decoder_atrous_rates'],
    encoder_weights='imagenet',
    in_channels=2,
        classes = 3,
        activation = 'identity',
    aux_params = None)

sdict = checkpoint['state_dict']
state_dict = {k.replace("model.", ""): v for k, v in sdict.items()}
print(sdict.keys())
print(state_dict.keys())

Output (shortened):
odict_keys(['model.encoder.model.stem.conv.weight', 'model.encoder.model.stem.bn.weight', dict_keys(['encoder.stem.conv.weight', 'encoder.stem.bn.weight',
Apparently, some state_dicts have substring 'model.' multiple times in some of the state dict keys, which causes some weights to be missing. I ran into this while trying to load up one of my checkpoints in a test code:
    checkpoint = torch.load(model_checkpoint_path)
    sdict = checkpoint['state_dict']
    state_dict = {k.replace("model.", ""): v for k, v in sdict.items()}

    model.load_state_dict(state_dict, strict = True)

RuntimeError: Error(s) in loading state_dict for DeepLabV3Plus:
        Missing key(s) in state_dict: "encoder.model.stem.conv.weight", "encoder.model.stem.bn.weight", "encoder.model.stem.bn.bias", "encoder.model.stem.bn.running_mean", "encoder.model.stem.bn.running_var", "encoder.model.stages_0.0.conv1_1x1.conv.weight", "encoder.model.stages_0.0.conv1_1x1.bn.weight", "encoder.model.stages_0.0.conv1_1x1.bn.bias", "encoder.model.stages_0.0.conv1_1x1.bn.running_mean", "encoder.model.stages_0.0.conv1_1x1.bn.running_var", "encoder.model.stages_0.0.conv2_kxk.conv.weight", "encoder.model.stages_0.0.conv2_kxk.bn.weight", "encoder.model.stages_0.0.conv2_kxk.bn.bias", "encoder.model.stage

I think the solution to this is to only remove the first "model." in the string.


Fix the way the request post parameters are set

On request creation, the post parameters bag if filled with query parameters on any
request that is not json. This change fix that, and only json request content will be
parsed and added to the request post parameters.

Are you sure? getInputSource checks the http method; and the existing code should also handle the json case.

I don't really see a problem with the current behavior.

@sisve @taylorotwell
While I was working on integration of a legacy code project with illuminate http request, I've notice that request is sent without content but the $request->request parameters bag has values. That behvior was not expected so I've override the createFromBase function with the change in this commit to make it work as expected.
The current behavior creates a GET request object with empty content but override the $request->request  with the query parameters. The problem is that the request object suggests that there is content on the request and that is a worng behavior.
The current behvior in code is:
$request->query->all() == $request->request->all()
$request->getContent() == ''

and I would expect
$request->request->all() == []
$request->getContent() == ''

Hope that explains it in better way.


Why are listings arrays of listings?

See for example this listings http://gateway.ob1.io/ipns/QmSLTwZQPxX1peJVXxBBKTrVGVMKSSyom5sTDHxtVricvs/listings/ski-set.json.
It's an array of listings:
{
    "vendorListings": [
        {
            "slug": "ski-set",
            "vendorID": {
                "guid": "QmSLTwZQPxX1peJVXxBBKTrVGVMKSSyom5sTDHxtVricvs",
                "blockchainID": "skishop",
                "pubkeys": {
                    "guid": "CAESIMHAzLNHF4P8vJY13fEFG/IZoSugC2HKh/8ml9o1EgIi",
                    "bitcoin": "A4al6HwsV8bJmlFTNf3Pb63dl47S3Y6sAF31BaSP8RkB"
                },
                "bitcoinSig": "MEUCIQCsBVcebEzrsoUs8fGO03/YvN5Lq+Awc7N2lZBGk6hObgIgTOnvny4OmjtJc3TfhfOp5EYypqKN18v4ZYZTtNtzx+I="
            },

Why are listings arrays of listings?

The field is vendorListings...am I missing something here? It's an array of one listing? Is that the issue?

Yeah, what's this vendorListings field all about? Can there more than one listing?

@cpacia you'll have to answer that one. is this intended or just a copy-pasta from the listings response?

I thought there was an open issue for this already.

closed with #507


Possibility to set the exact number of users to spawn (instead weight)

Is your feature request related to a problem? Please describe.

I needed a special query that would be executed once every 30 seconds, regardless of the total number of users created. The only solution I came up with is to create one instance of a user with such a request. To do this, it was necessary to count his weight according to the formula
@events.test_start.add_listener
def on_test_start(environment: Environment, **kwargs) -> None:
    SingleUserUser.weight = 1
    CommonUser.weight = environment.runner.target_user_count - 1

This is not very convenient not very obvious.
Describe the solution you'd like

Just a field (like weight) "count" or "fix_count", which describes the exactly count of user instances. I guess weight parameter in that case have to be ignored.
Describe alternatives you've considered

Additional context

If you find it a useful figure I can try to do

Looks like a reasonable approach. If someone makes a PR with a few appropriate tests I’ll be happy to review.

I was thinking about the realization of this feature.
The approach of @marcinh is pretty laconic and understandable. But here is the some limit - the fixed count users spawns first. In some cases that behavior may not be wanted.
May be we can recalculate all the weights together? For example the approach based on desired instance count of every class. For example:
User1.fix_count = 5
User2.weight = 1
User3.weight = 2
tagret_count = 11
sum_weights_non_fix = User1.weight + User2.weight # 3
user1_weight = User1.fix_count # 5
user2_weight = (tagret_count - user1_weight) * (User2.weight/sum_weights_non_fix) # 2
user3_weight = (tagret_count - user1_weight) * (User3.weight/sum_weights_non_fix) # 4
Further act as usually: normalizing, smooth, etc...
It is possible to slightly increase the weight of fixed users to generate a little faster, so we can be sure the total number would be enough for them. Controlling the count somewhere higher in the hierarchy, has not yet been precisely determined, _add_users_on_workers may be.

Looks like a reasonable approach. If someone makes a PR with a few appropriate tests I’ll be happy to review.

After diving into code I realized what my previous comment was pretty senseless. I have deleted it. )) After experiments, I also realized that in the current implementation of user spawning, trying to generate them more evenly, they still have to give large weights, although I achieved some success and even wrote part of the tests, my implementation close to generating fixed users at first. So I back to the @marcinh  realization, with some modification to resolve case with restore fixed users count after ramp-down and ramp-up.

#1964