Allow multiple configuration files for addons

Right now the addon configuration is loaded from the index.js file. I believe it should allow additional configuration files.
The use case is for (probably minimal, but whatever) bundle optimization. Let's say an addon ships with a configuration method to load some demo content. For example, a widget addon could provide some demo blocks that use that widget. In this case, if the additional configuration methods exists in the src/index.js, webpack can't avoid including the demo components in the bundle, even if the demo configuration method is not used.
By allowing to load another file, then webpack won't get to "see" the imports from the other file, so this will avoid inclusion of non-used components in the final bundle.

CC: @sneridagh @iFlameing


Set up webpack for an easy workflow

Right now the project has no module bundler .Which makes the development process a bit tedious as you have to restart your server in every single change to see it on the browser.
So i would recommend setting up a very minimal webpack config for the project for now .As the codebase becomes more larger then we will add additional plugins to the config in future.
Right now the most needed plugin is Hot Module Replacement.
If anyone wants to take it, you are more than welcome.Or i will set up the webpack very soon myself as this change is very needed .

Can I go for it?

Can I go for it?

Sure :) Let me know if you get stuck at any point , I'm here to help . Happy coding !

Just asking why don't we use nodemon for hot-reloading. It will provide the same live loading feature with zero configuration.

@PranjalAgni I also thought of using nodemon but nodemon only restarts the server ; It does not refresh the view page on the browser.If you are only working on the server side then nodemon is ok but if you want refresh the page at every changes then we need something like hot reloading.So the new contributors can focus on the frontend side , without having to refresh the browser for every change.

There are other tools and plugins other than hot reloading for this task for ex. BrowserSync .Which also can be implemented with webpack.

Yup, there is also a tool called reload which automatically reloads your code in browser without any plugins.

@PranjalAgni That will do too . I was suggesting webpack cause of future scss implementation too but for now you can add this auto reloading feature with any tool that fits in for the project . Once you implement and test it , you can make a pull request and i will review and add it the project asap.

Currently I am working on webpack solution I will make a PR as soon as I test it.

I have submitted a PR but getting a weird problem webpack is not reloading changes in browser after compiling all the new change.
Also I have added new scripts in package.json to run webpack

I have fixed the issue now its working fine.

@PranjalAgni Hi , Webpack config currently works fine.But while testing i realized webpack can get be really hard to get your head around for contributors who are relatively new to server side scene , one single mistake on the config file , the whole app crashes which is not very ideal. So i though of going minimal approach. So i tested various other methods. And settled to go with reload. But with the integration with nodemon [any monitor module would work like supervisor ,forever etc] . I tested it and it works like a charm.But i didn't add it to the project yet as you have worked really hard on this issue.So you can make another pull request with my mentioned approach.
I created a boilerplate/guide no how to set nodemon with reload. You can follow these instruction here :
https://github.com/RocktimSaikia/hot-reloading-without-webpack

Yes @RocktimSaikia I agree with you on how webpack can be a obstacle for newbie developers that's why earlier I suggested reload as it will be easy to understand the workflow. Also main thing I realized while working on this issue was we were using webpack just because to support live reload and not for any module bundling stuff.
Second thing I noticed was we didn't need server.js after we configured our app with webpack-dev-server as after all node server was serving static assets which was taken away by webpack-dev-server.
Also it seems webpack does not have good support for ejs-loaders as it have for other view engines.

@PranjalAgni Right ! We don't need server.js if we integrate webpack  at the current state of the project But the reason for setting up the server was for future uses.Lets say when we want to create other routes for our project.Then we will definitely need an active express server for that .But for now yes it just serving static files to the host.

Second thing I noticed was we didn't need server.js after we configured our app with webpack-dev-server as after all node server was serving static assets which was taken away by webpack-dev-server.

Hey @RocktimSaikia  I have made a new PR check it out.


Unstable UT (EtcdMetadataReportTest.testStoreProvider)

[x] I have searched the issues of this repository and believe that this is not a duplicate.
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 2.7.2-SNAPSHOT
Operating System version: ubuntu
Java version: oracle 11

Steps to reproduce this issue
[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ dubbo-metadata-report-etcd ---
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.dubbo.metadata.store.etcd.EtcdMetadataReportTest
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
        â„¹ï¸Ž Checking the system...
        âœ” Docker version should be at least 1.6.0
        âœ” Docker environment should have more than 2GB free disk space
log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 12.377 s <<< FAILURE! - in org.apache.dubbo.metadata.store.etcd.EtcdMetadataReportTest
[ERROR] testStoreProvider  Time elapsed: 3.431 s  <<< ERROR!
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
	at org.apache.dubbo.metadata.store.etcd.EtcdMetadataReportTest.testStoreProvider(EtcdMetadataReportTest.java:85)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   EtcdMetadataReportTest.testStoreProvider:85 Â» IndexOutOfBounds Index 0 out of ...

Full logs: https://api.travis-ci.org/v3/job/537688661/log.txt

maybe issue caused by Thread.sleep
This kind of condition is unstable for UT


No "exports" main defined in<EMAIL_ADDRESS>

Environment

Operating System: Darwin
Node Version:     v16.18.1
Nuxt Version:     3.2.0
Nitro Version:    2.3.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      ssr, css, devServer, modules, imports, components, apollo, pinia, i18n, runtimeConfig
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Describe the bug
Running postinstall script for nuxt 3 is returning the following error:
No "exports" main defined in<EMAIL_ADDRESS>at new NodeError (node:internal/errors:387:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:365:9)
at packageExportsResolve (node:internal/modules/esm/resolve:589:7)
at resolveExports (node:internal/modules/cjs/loader:522:36)
at Function.Module._findPath (node:internal/modules/cjs/loader:562:31)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:971:27)
at Function.resolve (node:internal/modules/cjs/helpers:109:19)
at _resolve (/Users/something/Desktop/something/repos/vue3-playground/node_modules/jiti/dist/jiti.js:1:241066)
at jiti (/Users/something/Desktop/something/repos/vue3-playground/node_modules/jiti/dist/jiti.js:1:243188)
at /Users/something/Desktop/something/repos/vue3-playground/node_modules/@nuxtjs/apollo/dist/module.mjs:4:12
Expected behaviour
Postinstall script start working while the nuxt apollo module is loaded
Reproduction
No response
Additional context
No response
Logs
No response

as temporary fix you can edit your package.json with:
...,
"@nuxt/kit": "3.2.3",
"@nuxt/schema": "3.2.3",
...,

@plcdnl Thank you so much, it worked.
Why isn't 'pnpm install' going throw and installing nuxt/kit and nuxt/schema?

The fact is that nuxt carries with it the latest versions of all packages and they are the ones that are installed, in this way you are only forcing to have old versions of the mentioned packages. I believe there is an update in nuxt/kit which breaks this module. We hope it will be updated soon

Understood, will check if I can open a issue in nuxt/kit.

Not sure if the nuxt kit is the problem, maybe it's this module that needs an update

@RodrigoProjects @plcdnl This should be fixed in the lastest release (v5.0.0-alpha.6)

Recurring bugs

@Diizzayy

Still happening in 5.0.0-alpha.6


Bg q fixes

R: @jeffposnick @addyosmani @gauntface
This removes the explicit need of calling initialize before usage.
Now in order to use BGSyncQ its just new goog/wb.BackgroundSyncQueue();

@gauntface I only have one concern about this change.
Earlier initialize method used to call cleanUp automatically.
But now constructor seems to be the apt position, but cleanUp is an async function. I am not sure if calling an async function inside a constructor is the wisest thing to do.
Right now dev has to call cleanUp manually, should we leave it like this and call this out in Docs?

Relying on a developer to remember to call cleanup() sounds problematic.
Constructors aren't allowed to by marked async, but there is nothing stopping them from starting asynchronous processes that might complete at some point after the constructor has finished. It's just that you can't get the return value from the asynchronous process—I'm assuming cleanup() doesn't return anything, so that's not a problem.
But taking a step back, how often would the cleanup() function ideally run?  Is it expensive to call when there's nothing that needs to actually be cleaned up? Kicking it off "in the background" via either the constructor or as part of the sync event handler sounds like it wouldn't be too bad.

Couldn't you kick it off in the constructor and use that promise in a similar fashion to navigator.serviceworker.ready i.e. just chain other functions off of this.
Personally I don't think it's too bad to cleanup when the queue is finishing actually doing something.
I'm not familiar with the API so can't comment on the affect of this change, but I do feel like this is something the library should handle or treat as an edge / uncommon case and leave the developer to manage it.

@gauntface  @jeffposnick I agree a manual trigger is super upsetting. I'll start the call in constructor.
As per frequency, it checks all the requests in the queue if they are past their threshold. So running them on every sync would be an unnecessary overhead.
I am not sure if a resolving a separate promise like navigator.sw.ready would make sense as this isn't a on off thing and if needed can be called multiple times as well, hence skipping this option for this PR

Also @jeffposnick I'll open a separate PR for separating the plugin class

@prateekbh Is there any race conditions introduced by doing this in the constructor without anything waiting for it to finish?

@gauntface @jeffposnick the cleanup queue has been added to the constructor.

@gauntface @jeffposnick included changes for PluginClass as well

The Queue/QueuePlugin implementation looks 👍

Assuming this doesn't raise any problems, LGTM.

Is there any race conditions introduced by doing this in the constructor without anything waiting for it to finish?

@gauntface i don't see any condition in which it would create a race condition.

The AppVeyor failures are unrelated, and tracked in #517


Consistency in API operation naming

Currently, there are various naming schemes for API operations:

GET /api/competition actually lists all competitions
GET /api/competition/{competitionId}/team actually lists the teams of a competition
GET /api/competition/{competitionId} returns the competition specified
GET /api/user/list actually lists all users
GET /api/user/{id} returns the user specified
GET /api/collection/list actually lists all collections
GET /api/run/admin/{runId}/viewers actually lists all the viewers (note the plural)

I'd like to enforce consistency following this simple logic:

GET  */<entity>/{<entityId>} with entity being an entity of the system in singular, i.e. like currently /api/competition/{competitionId}, returning the entity specified. Note the id is prefixed with the entity name
GET */<entity>/list  with entity being an entity of the system in singular, returning a list of all of these entities
Above naming scheme applies also for nested / context sensitive entities (e.g. the viewers in the above example)
REST conventions for POST, PATCH and DELETE methods apply

I personally like the above scheme, because collections are obvious with the /list suffix, while a plural s could get missed
Opinions?

Sounds reasonable


Cartographer off alignment map compare to gmapping

I was running cartographer mapping on on this bag and config, I noticed there are some misalignment on the centre-right part of the map, where there are double walls on the bottom wall.

Here is the original sceen shot

The same misalignment also happened on the island obstacles right above the misaligned wall, as seen in the rivz screen shot, the circular obstacle become two misaligned half circles.
I believe this caused the generated map to be very poor around those obstacles, I saved the map by subscribing to the last "/map" topic published, and thresholded it by let cells with occupancy value >=  60 to be marked as black(occupied), 0 <= value <= 19 to be marked as white(free) and every other cells as gray(unknown)

However when I use gmapping on this bag, the result map is very sharp in the island obstacles and there were no misalignment among it.

I would really appreciate any help I can get to improve cartographer's mapping quality or suggestions for the configuration parameters I have attached, thanks!

Thanks for trying out Cartographer! I looked at your data and passed it through our cartographer_rosbag_validate tool which is a good way to rule out most of the common issues we see in sensor data. The output was a little cluttered since your bag also contained the topics

camera_left/rgb/image_raw_throttle/compressed
camera_left/scan_throttle
camera_right/rgb/image_raw_throttle/compressed
camera_right/scan_throttle
scan_back
scan_front

which seem unrelated to what Cartographer consumes. After filtering these out cartographer_rosbag_validate gave me
I1218 10:09:09.015027 93837 rosbag_validate_main.cc:332] Time delta histogram for consecutive messages on topic "avidbots/base/dead_reckon" (frame_id: "back_wheel_odom"):
Count: 39992  Min: 0.012886  Max: 0.037093  Mean: 0.025002
[0.012886, 0.015307)                            Count: 1 (0.002501%)    Total: 1 (0.002501%)
[0.015307, 0.017727)                            Count: 0 (0.000000%)    Total: 1 (0.002501%)
[0.017727, 0.020148)                            Count: 0 (0.000000%)    Total: 1 (0.002501%)
[0.020148, 0.022569)                            Count: 3 (0.007502%)    Total: 4 (0.010002%)
[0.022569, 0.024989)                  ######    Count: 12663 (31.663834%)       Total: 12667 (31.673834%)
[0.024989, 0.027410)          ##############    Count: 27321 (68.316162%)       Total: 39988 (99.989998%)
[0.027410, 0.029831)                            Count: 3 (0.007502%)    Total: 39991 (99.997498%)
[0.029831, 0.032251)                            Count: 0 (0.000000%)    Total: 39991 (99.997498%)
[0.032251, 0.034672)                            Count: 0 (0.000000%)    Total: 39991 (99.997498%)
[0.034672, 0.037093]                            Count: 1 (0.002501%)    Total: 39992 (100.000000%)
I1218 10:09:09.016189 93837 rosbag_validate_main.cc:332] Time delta histogram for consecutive messages on topic "scan" (frame_id: "laser_front_link"):
Count: 31897  Min: 0.001340  Max: 0.045062  Mean: 0.031343
[0.001340, 0.005712)                            Count: 445 (1.395115%)  Total: 445 (1.395115%)
[0.005712, 0.010085)                      ##    Count: 2892 (9.066684%) Total: 3337 (10.461799%)
[0.010085, 0.014457)                       #    Count: 1390 (4.357777%) Total: 4727 (14.819575%)
[0.014457, 0.018829)                       #    Count: 1215 (3.809136%) Total: 5942 (18.628712%)
[0.018829, 0.023201)                       #    Count: 1772 (5.555381%) Total: 7714 (24.184093%)
[0.023201, 0.027573)                       #    Count: 1856 (5.818729%) Total: 9570 (30.002821%)
[0.027573, 0.031945)                       #    Count: 1633 (5.119604%) Total: 11203 (35.122425%)
[0.031945, 0.036317)                      ##    Count: 2611 (8.185722%) Total: 13814 (43.308147%)
[0.036317, 0.040690)             ###########    Count: 17598 (55.171333%)       Total: 31412 (98.479485%)
[0.040690, 0.045062]                            Count: 485 (1.520519%)  Total: 31897 (100.000000%)

These are reasonable timings and the tool found no other issues so data look ok :)
What struck me when looking at your mapping process in rviz was that local SLAM looked very much ok in the beginning of the recording - essentially on the first leg of your back and forth motion - but after the turn one sees a tremendous downward drift bending the corridor.
What's important to know about Cartographer is that we accumulate scans with their local SLAM poses in submaps and subsequent global SLAM constraint searches are always performed between a scan and a submap. Submaps after having been written are never updated and any local SLAM errors in a submap are not corrected by insights from the global SLAM solution. This has performance reasons. The assumption is that the number of scans a submap is made of is small compared to the typical drift acquired over these scans.
In your case that assumption is violated and the most straight-forward thing to do is make the size of the submaps smaller:
diff --git a/configuration_files/trajectory_builder_2d.lua b/configuration_files/trajectory_builder_2d.lua
index 7779719..4c8bd34 100644
--- a/configuration_files/trajectory_builder_2d.lua
+++ b/configuration_files/trajectory_builder_2d.lua
@@ -15,7 +15,7 @@
 TRAJECTORY_BUILDER_2D = {
   use_imu_data = true,
   min_range = 0.,
-  max_range = 30.,
+  max_range = 10.,
   min_z = -0.8,
   max_z = 2.,
   missing_data_ray_length = 5.,
@@ -25,13 +25,13 @@ TRAJECTORY_BUILDER_2D = {
   adaptive_voxel_filter = {
     max_length = 0.5,
     min_num_points = 200,
-    max_range = 50.,
+    max_range = 10.,
   },

   loop_closure_adaptive_voxel_filter = {
     max_length = 0.9,
     min_num_points = 100,
-    max_range = 50.,
+    max_range = 10.,
   },

   use_online_correlative_scan_matching = false,
@@ -63,7 +63,7 @@ TRAJECTORY_BUILDER_2D = {

   submaps = {
     resolution = 0.05,
-    num_range_data = 90,
+    num_range_data = 30,
     range_data_inserter = {
       insert_free_space = true,
       hit_probability = 0.55,

You can see that I also limited the trusted range of laser scanner returns as the laser scanner you seem to be using is quite noisy and it seems safe to assume that for anything further away than some 10 meters the scanner readings are too noisy.
This is the map I received with the above parameters:

Agreeing with everything @cschuet said here. One more thing that I find peculiar is the timing jitter of your scan topic: Min: 0.001340  Max: 0.045062  Mean: 0.031343. These values vary over an order of magnitude, if your timing would be good, this should have a way smaller variance. This can be an issue in and of itself too.

Sorry I noticed the link of bag file above is not working, here is the new link

I'm just wondering if it's a must to have different configs towards different maps' nature, or is there a way to config the cartographer to handle different kind of maps nicely?

You can certainly achieve the best possible mapping result by tuning Cartographer to every specific environment - robot combination individually, but I think this is just not practical. We made the experience that tuning Cartographer to a specific robot and sensor combination gives good result in a wide range of environments. I would aim for that.
As far as the max_range setting is concerned: I chose 10 meters by rule of thumb based on the example you gave me, but I am certain you can raise it to 20 or higher and get a good result out of both environment 1 and 2.
In general you have a better idea of the distribution of your environments than me, so just experiment a bit till you get something that works for you.


feat: copy with grid pivot sheet

👀 PR includes

✨ Feature

[x] New feature

🎨 Enhance

[ ] Code style optimization
[ ] Refactoring
[ ] Change the UI
[ ] Improve the performance
[ ] Type optimization

🐛 Bugfix

[ ] Solve the issue and close #0

🔧 Chore

[x] Test case
[ ] Docs / demos update
[ ] CI / workflow
[ ] Release version
[ ] Other ()

📝 Description
支持透视表网格模式复制功能
🖼 Screenshot

Before
After

❌
✅

🔗 Related issue link

🔍 Self Check before Merge

[ ] Add or update relevant Docs.
[ ] Add or update relevant Demos.
[ ] Add or update relevant TypeScript definitions.

麻烦完善一下 pr 描述, 说明解决了什么问题, 最好能贴一张图

:tada: This PR is included in version @antv/s2-v1.8.0-alpha.3 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


hashtaglist to hashtagpage

When selecting an item on hashtaglist, make sure the name on the hashtag page is the right name.
EX: Click on devops => devops should be the name on hashtagpage

Please clean up this issue and define which epic it belongs to or what the right label is.


Users migration is now complete

Could you address the comments from this review please (I believe only the submit date and id clash were fixed?)?
https://github.com/unicef/iogt/pull/473#pullrequestreview-749216072

@geoo89 I've added the feedback changes and tested this with rke latest backup


Don't rely on the existence of a FilterType

Currently the system expects a FilterType to exist. But there are cases where this is not given.

Fixed in #50


Some very simple poking around at Spring MVC with spring boot

@dh2 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@dh2 Thank you for signing the Contributor License Agreement!


Sr25519 support.

Is it possible to provide tss for sr25519 signature?

I have supported it in Multichain FastMPC https://github.com/anyswap/FastMulThreshold-DSA/pull/5


REs should allow grip to be a predicate

When attempting to access the grip of an item, REs will silently fail. I have tried predicating on weapon:hands:2, hands:2, and weaponHands:2 without success. There are certain feats that require a one-handed or two-handed weapon; to automate these, we need the ability to predicate on the number of hands being used. This data is already being applied for the Change Grip option on the Actions tab (such as for 2-hand Dx weapons), but should be available in REs as well.

Already present


Bug: Flakyness in Aggregate in 0.20.0-rc0

--- FAIL: TestLocalMetaWithFilters (0.02s)
    graphql_helper.go:53: Expected the query to succeed, but failed with unprocessable entity: &{couldn't unmarshal json: json: cannot unmarshal number into Go struct field GraphQLError.path of type string
        original result was &graphql.Result{Data:map[string]interface {}{"Aggregate":map[string]interface {}{"Things":map[string]interface {}{"City":[]interface {}{map[string]interface {}{"name":map[string]interface {}{"topOccurrences":interface {}(nil), "type":"string", "count":interface {}(nil)}, "meta":map[string]interface {}{"count":2}, "isCapital":map[string]interface {}{"totalFalse":0, "totalTrue":2, "type":"boolean", "count":2, "percentageFalse":0, "percentageTrue":1}, "population":map[string]interface {}{"mean":2.635e+06, "count":2, "maximum":3.47e+06, "minimum":1.8e+06, "sum":5.27e+06, "type":"int"}, "InCountry":map[string]interface {}{"pointingTo":[]interface {}{"Country"}, "type":"cref"}}}}}}, Errors:[]gqlerrors.FormattedError{gqlerrors.FormattedError{Message:"text: expected property to be of type text, got numerical", Locations:[]location.SourceLocation{location.SourceLocation{Line:34, Column:9}}, Path:[]interface {}{"Aggregate", "Things", "City", 0, "name", "topOccurrences"}, Extensions:map[string]interface {}(nil), originalError:(*errors.errorString)(0xc0005a5060)}}}}
(*test.GraphQLResult)(0xc0004ca950)({
 Result: (map[string]interface {}) (len=1) {
  (string) (len=9) "Aggregate": (map[string]interface {}) (len=1) {
   (string) (len=6) "Things": (map[string]interface {}) (len=1) {
    (string) (len=4) "City": ([]interface {}) (len=1 cap=1) {
     (map[string]interface {}) (len=2) {
      (string) (len=4) "name": (map[string]interface {}) (len=2) {
       (string) (len=5) "count": (interface {}) <nil>,
       (string) (len=10) "__typename": (string) (len=20) "AggregateCitynameObj"
      },
      (string) (len=10) "__typename": (string) (len=13) "AggregateCity"
     }
    }
   }
  }
 }
})
FAIL

Todos

[x] address issue if only meta count is specified
[x] address flakyness leading to error message above

Is that the same problem?
Query:
{
  Aggregate {
    Things {
      Material {
        meta {
          count
        }
      }
    }
  }
}

Result:
{
  "data": {
    "Aggregate": {
      "Things": {
        "Material": null
      }
    }
  },
  "errors": [
    {
      "locations": [
        {
          "column": 7,
          "line": 4
        }
      ],
      "message": "runtime error: index out of range",
      "path": [
        "Aggregate",
        "Things",
        "Material"
      ]
    }
  ]
}

Possibly related, thanks, I'll try to address it with this issue as well.

Quick question to reproduce: were there Materials already imported or should the result be count: 0?

They are imported count should be something around 1500

Reopened as tests are still removed.

Most likely this should become obsolete with Standalone, but keeping it open until we have double checked.


Allow hosted zone name to be specified as a target for a domain

In our we wanted to create a jump host subdomain in a already existing hosted zone on route 53. Unfortunately, by only allowing to specify a domain, aws-certificate-management tries to create a new hosted zone for the subdomain. This commit adds additional, optional flag so that one can specify exact hosted zone in which the domain that needs a certificate is managed.

Coverage increased (+1.08%) to 57.664% when pulling 5c3f97d69ae8323e2a4cc8fa463b686e0f6b6379 on kgarlikowski:master into 4a472cedd4cfe79e0186d3c4cd3f79a581b74292 on ImmobilienScout24:master.

Looks reasonable to remove the naming convention that was previously assumed. And it even comes with unit tests!


$LEVEL with no arguments uses wrong username.

When invoked with no arguments, $LEVEL should return the user record for the nickserv account, not the current nick. Currently: nope.

:D Fixed it in the recent major refactor.


Move helper functions to Uuid

Moved relevant functions from UuidHelper and UuidValidator structs to Uuid.
Also fixed setters and getters of UResource and UAuthority to operate on &self instead of a passed in object.

Looks good to me. Consolidating functionality for UUIDs makes sense. :+1:

Works for me too - simplification is always good.


Issues with Security Groups and ICMP

Issue
It appears the CC api documentation doesn't match the current security group api docs: https://apidocs.cloudfoundry.org/258/security_groups/creating_a_security_group.html
That doc says:
The egress rules for apps that belong to this security group. A rule consists of a protocol
(tcp,icmp,udp,all), destination CIDR or destination range, port or port range (tcp,udp,all)

This documentation fragment seems to imply that I can specify protocol all with a port.  However if I try this against CF release 257 I get get error Server error, status code: 400, error code: 300001, message: The security group is invalid: rules rule number 1 contains the invalid field 'ports'.
The question is, is the Cloud Controller wrong or is the documentation wrong?  To help answer that let me give you my use case.
Context
I have an existing security group rule with a protocal of all.  Because of a change I now need to block a single TCP/UDP port from that rule.  To, do this it might seem trivial enough to simply make a security group that excludes that port range (2 rules).  But, because I cannot specify ports with the protocol all that means I need to break out tcp and udp into different rules (4 rules).  Not a big deal, but now how do I make an icmp worksthe way it did when protocol was all?  icmp requires a type and a code.  In order to replicate icmp behavior I had before do I need to make a rule for every icmp type and code?
All I want to do is block people from connecting to a certain port on a given cidr.
Thoughts?
Steps to Reproduce
Try to craft a security group and supports all protocols but excludes a port.
Expected result
Not too difficult
Current result
You get a huge rule with all the icmp opt ins required once protocol is not all
Possible Fix
Support protocol all with ports that assumes you want to keep the functionality of icmp in the all protocol without port state that works today.

Hi @youngm
It looks like you can set type and code to -1 to get the allow all behavior for icmp rules.  Docs are definitely sparse, so we'll take a look at updating that.

Thanks @zrob I'll give -1 a try.

@youngm did this resolve the issue for you?


readline failed to install with python 3.6; use gnureadline

Currently we are trying to install readline with python 3.6, which errors out with RHEL 8
https://github.com/RedHatQE/pylero/blob/master/requirements.txt#L4
Either use gnureadline or use readline for < python 3.6.
Environment:

(env) [cloud-user@nkathole-test pylero]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.4 (Ootpa)
(env) [cloud-user@nkathole-test pylero]$ python --version
Python 3.6.8
(env) [cloud-user@nkathole-test pylero]$ pip --version
pip 21.2.3 from /home/cloud-user/pylero/env/lib64/python3.6/site-packages/pip (python 3.6)
(env) [cloud-user@nkathole-test pylero]$ gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Error:
(env) [cloud-user@nkathole-test pylero]$ pip install -r requirements.txt
Ignoring suds: markers 'python_version < "3.0"' don't match your environment
Requirement already satisfied: suds-py3 in ./env/lib/python3.6/site-packages (from -r requirements.txt (line 2)) (<IP_ADDRESS>)
Requirement already satisfied: click in ./env/lib/python3.6/site-packages (from -r requirements.txt (line 3)) (8.0.1)
Collecting readline
  Using cached readline-<IP_ADDRESS>.tar.gz (2.3 MB)
Requirement already satisfied: importlib-metadata in ./env/lib/python3.6/site-packages (from click->-r requirements.txt (line 3)) (4.6.3)
Requirement already satisfied: typing-extensions>=3.6.4 in ./env/lib/python3.6/site-packages (from importlib-metadata->click->-r requirements.txt (line 3)) (<IP_ADDRESS>)
Requirement already satisfied: zipp>=0.5 in ./env/lib/python3.6/site-packages (from importlib-metadata->click->-r requirements.txt (line 3)) (3.5.0)
Using legacy 'setup.py install' for readline, since package 'wheel' is not installed.
Installing collected packages: readline
    Running setup.py install for readline ... error
    ERROR: Command errored out with exit status 1:
     command: /home/cloud-user/pylero/env/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_w_0o1no/readline_e5173cb7981f4efcba5ff6d28ea79768/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_w_0o1no/readline_e5173cb7981f4efcba5ff6d28ea79768/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-awgbuuml/install-record.txt --single-version-externally-managed --compile --install-headers /home/cloud-user/pylero/env/include/site/python3.6/readline
         cwd: /tmp/pip-install-_w_0o1no/readline_e5173cb7981f4efcba5ff6d28ea79768/
    Complete output (173 lines):

    ============ Building the readline library ============

    readline-6.2/
    readline-6.2/doc/
    readline-6.2/doc/Makefile.in
    readline-6.2/doc/texinfo.tex
    readline-6.2/doc/version.texi
    readline-6.2/doc/fdl.texi
    readline-6.2/doc/rlman.texi
    readline-6.2/doc/rltech.texi
    readline-6.2/doc/rluser.texi
    readline-6.2/doc/rluserman.texi
    readline-6.2/doc/history.texi
    readline-6.2/doc/hstech.texi
    readline-6.2/doc/hsuser.texi
    readline-6.2/doc/readline.3
    readline-6.2/doc/history.3
    readline-6.2/doc/texi2dvi
    readline-6.2/doc/texi2html
    readline-6.2/doc/readline.ps
    readline-6.2/doc/history.ps
    readline-6.2/doc/rluserman.ps
    readline-6.2/doc/readline.dvi
    readline-6.2/doc/history.dvi
    readline-6.2/doc/rluserman.dvi
    readline-6.2/doc/readline.info
    readline-6.2/doc/history.info
    readline-6.2/doc/rluserman.info
    readline-6.2/doc/readline.html
    readline-6.2/doc/history.html
    readline-6.2/doc/rluserman.html
    readline-6.2/doc/readline.0
    readline-6.2/doc/history.0
    readline-6.2/doc/readline_3.ps
    readline-6.2/doc/history_3.ps
    readline-6.2/doc/history.pdf
    readline-6.2/doc/readline.pdf
    readline-6.2/doc/rluserman.pdf
    readline-6.2/examples/
    readline-6.2/examples/autoconf/
    readline-6.2/examples/autoconf/BASH_CHECK_LIB_TERMCAP
    readline-6.2/examples/autoconf/RL_LIB_READLINE_VERSION
    readline-6.2/examples/autoconf/wi_LIB_READLINE
    readline-6.2/examples/rlfe/
    readline-6.2/examples/rlfe/ChangeLog
    readline-6.2/examples/rlfe/Makefile.in
    readline-6.2/examples/rlfe/README
    readline-6.2/examples/rlfe/config.h.in
    readline-6.2/examples/rlfe/configure
    readline-6.2/examples/rlfe/configure.in
    readline-6.2/examples/rlfe/extern.h
    readline-6.2/examples/rlfe/os.h
    readline-6.2/examples/rlfe/pty.c
    readline-6.2/examples/rlfe/rlfe.c
    readline-6.2/examples/rlfe/screen.h
    readline-6.2/examples/Makefile.in
    readline-6.2/examples/excallback.c
    readline-6.2/examples/fileman.c
    readline-6.2/examples/manexamp.c
    readline-6.2/examples/readlinebuf.h
    readline-6.2/examples/rl-fgets.c
    readline-6.2/examples/rlcat.c
    readline-6.2/examples/rlevent.c
    readline-6.2/examples/rltest.c
    readline-6.2/examples/rl.c
    readline-6.2/examples/rlptytest.c
    readline-6.2/examples/rlversion.c
    readline-6.2/examples/histexamp.c
    readline-6.2/examples/Inputrc
    readline-6.2/examples/rlwrap-0.30.tar.gz
    readline-6.2/support/
    readline-6.2/support/config.guess
    readline-6.2/support/config.rpath
    readline-6.2/support/config.sub
    readline-6.2/support/install.sh
    readline-6.2/support/mkdirs
    readline-6.2/support/mkdist
    readline-6.2/support/mkinstalldirs
    readline-6.2/support/shobj-conf
    readline-6.2/support/shlib-install
    readline-6.2/support/wcwidth.c
    readline-6.2/shlib/
    readline-6.2/shlib/Makefile.in
    readline-6.2/COPYING
    readline-6.2/README
    readline-6.2/MANIFEST
    readline-6.2/INSTALL
    readline-6.2/CHANGELOG
    readline-6.2/CHANGES
    readline-6.2/NEWS
    readline-6.2/USAGE
    readline-6.2/aclocal.m4
    readline-6.2/config.h.in
    readline-6.2/configure
    readline-6.2/configure.in
    readline-6.2/Makefile.in
    readline-6.2/ansi_stdlib.h
    readline-6.2/chardefs.h
    readline-6.2/history.h
    readline-6.2/histlib.h
    readline-6.2/keymaps.h
    readline-6.2/posixdir.h
    readline-6.2/posixjmp.h
    readline-6.2/readline.h
    readline-6.2/posixselect.h
    readline-6.2/posixstat.h
    readline-6.2/rlconf.h
    readline-6.2/rldefs.h
    readline-6.2/rlmbutil.h
    readline-6.2/rlprivate.h
    readline-6.2/rlshell.h
    readline-6.2/rlstdc.h
    readline-6.2/rltty.h
    readline-6.2/rltypedefs.h
    readline-6.2/rlwinsize.h
    readline-6.2/tcap.h
    readline-6.2/tilde.h
    readline-6.2/xmalloc.h
    readline-6.2/bind.c
    readline-6.2/callback.c
    readline-6.2/compat.c
    readline-6.2/complete.c
    readline-6.2/display.c
    readline-6.2/emacs_keymap.c
    readline-6.2/funmap.c
    readline-6.2/input.c
    readline-6.2/isearch.c
    readline-6.2/keymaps.c
    readline-6.2/kill.c
    readline-6.2/macro.c
    readline-6.2/mbutil.c
    readline-6.2/misc.c
    readline-6.2/nls.c
    readline-6.2/parens.c
    readline-6.2/readline.c
    readline-6.2/rltty.c
    readline-6.2/savestring.c
    readline-6.2/search.c
    readline-6.2/shell.c
    readline-6.2/signals.c
    readline-6.2/terminal.c
    readline-6.2/text.c
    readline-6.2/tilde.c
    readline-6.2/undo.c
    readline-6.2/util.c
    readline-6.2/vi_keymap.c
    readline-6.2/vi_mode.c
    readline-6.2/xfree.c
    readline-6.2/xmalloc.c
    readline-6.2/history.c
    readline-6.2/histexpand.c
    readline-6.2/histfile.c
    readline-6.2/histsearch.c
    readline-6.2/patchlevel
    ./build.sh: line 41: patch: command not found

    ============ Building the readline extension module ============

    running install
    running build
    running build_ext
    building 'readline' extension
    creating build
    creating build/temp.linux-x86_64-3.6
    creating build/temp.linux-x86_64-3.6/Modules
    creating build/temp.linux-x86_64-3.6/Modules/3.x
    gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_RL_CALLBACK -DHAVE_RL_CATCH_SIGNAL -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_COMPLETION_SUPPRESS_APPEND -DHAVE_RL_PRE_INPUT_HOOK -I. -I/home/cloud-user/pylero/env/include -I/usr/include/python3.6m -c Modules/3.x/readline.c -o build/temp.linux-x86_64-3.6/Modules/3.x/readline.o -Wno-strict-prototypes
    Modules/3.x/readline.c:8:10: fatal error: Python.h: No such file or directory
     #include "Python.h"
              ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/cloud-user/pylero/env/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_w_0o1no/readline_e5173cb7981f4efcba5ff6d28ea79768/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_w_0o1no/readline_e5173cb7981f4efcba5ff6d28ea79768/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-awgbuuml/install-record.txt --single-version-externally-managed --compile --install-headers /home/cloud-user/pylero/env/include/site/python3.6/readline Check the logs for full command output.

@ntkathole thanks for the report.

This was creating issues from long back, but couldn't able to find a universal solution for this
Consider below (more of a python issue rather than RHEL):

readline is deprecated in favour of gnureadline
Both of these need python devel package
If you install readline from python v3.7, it prints stack trace on some machines (~fedora)
But some machines already have readline or gnureadline installed and in those we shouldn't mandate to use only one
Either of these is needed only if we start interpreter with pylero command in which it'll load all necessary modules.

Gist is, we are happy to get a contribution or some tested methodology for a generic solution.

Btw, if you currently blocked, pls install python3-devel pkg which provide header file and you'll be good to go.


azure-function deployment need to take care luis resource

create a bot with luis in composer
provision to azure based on azure-function template
deploy with azure-function
run in emulator hit luis not found issues

@zidaneymar will help to check this issue.


Years 2018 and 2019 don't work

Sport
Football
Summary
I am pulling from a private league. Years 2014-2017 and 2020-2024 work fine but when attempting to get 2018/2019 I get the error shown in the logs/data section. Any assistance would be appreciated.
Logs/Data
/Users/username/Documents/PROJECT-NAME/.venv/bin/python /Users/username/Documents/PROJECT-NAME/API-ESPN.py
Traceback (most recent call last):
File "/Users/username/Documents/PROJECT-NAME/API-ESPN.py", line 16, in
league = League(league_id=286725, year=2019, espn_s2=s2_2018, swid=swid, debug=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/username/Documents/PROJECT-NAME/.venv/lib/python3.12/site-packages/espn_api/football/league.py", line 32, in init
self.fetch_league()
File "/Users/username/Documents/PROJECT-NAME/.venv/lib/python3.12/site-packages/espn_api/football/league.py", line 35, in fetch_league
self._fetch_league()
File "/Users/username/Documents/PROJECT-NAME/.venv/lib/python3.12/site-packages/espn_api/football/league.py", line 38, in _fetch_league
data = super()._fetch_league(SettingsClass=Settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/username/Documents/PROJECT-NAME/.venv/lib/python3.12/site-packages/espn_api/base_league.py", line 32, in _fetch_league
data = self.espn_request.get_league()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/username/Documents/PROJECT-NAME/.venv/lib/python3.12/site-packages/espn_api/requests/espn_requests.py", line 75, in get_league
data = self.league_get(params=params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/username/Documents/PROJECT-NAME/.venv/lib/python3.12/site-packages/espn_api/requests/espn_requests.py", line 55, in league_get
checkRequestStatus(r.status_code, cookies=self.cookies, league_id=self.league_id)
File "/Users/username/Documents/PROJECT-NAME/.venv/lib/python3.12/site-packages/espn_api/requests/espn_requests.py", line 26, in checkRequestStatus
raise ESPNAccessDenied(f"League {league_id} cannot be accessed with espn_s2={cookies.get('espn_s2')} and swid={cookies.get('SWID')}")
espn_api.requests.espn_requests.ESPNAccessDenied: League 286725 cannot be accessed with espn_s2=YOUR_ESPNS2_PLACEHOLDER and swid={YOUR_SWID_PLACEHOLDER}
Process finished with exit code 1

Apparently my league mates have access to it. I have no idea what I did different those years :(

That is really weird, so seems like a bug on ESPN's side. I wonder if there are any settings the commissioner can update or check out?

I am not sure but I can just use one of their cookies for the moment so the issue shouldn’t affect me anymore. I appreciate you all taking the time to help.

No problem, glad you are able to use a work around!


NA Getting UI changes up to October 2020 version of JP

Preparation

[X] I read the Troubleshooting Guide
[X] My question isn't answered in any other issues (even the closed ones)

Your question
Changes are going live on 25 August. No mention of widescreen UI from the official news posts, but it might also be included. Widescreen was also part of the December 2020 update in JP. Misread, looks like only the changes up to October 2020 are getting ported.
Changes that might have impact with FGA:

Faster battle transitions
Cooldown timer for refresh support list

https://fate-go.us/news/?category=MAINTENANCE&article=%2Fiframe%2F2021%2F0822_maintenance%2F
https://fate-go.us/news/?category=UPDATES&article=%2Fiframe%2F2021%2F0822_gameupdate_notice%2F

I think there's nothing to change if wide screen update isn't coming.
Even for wide screen update, changes are pretty minor since we already support JP.
Thank you for reporting though!

Confirmed that the latest update is still not using widescreen. FGA still working :)


[cinder-csi-plugin] Add metadata in creation of volume

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug
/kind feature

What happened:
My cloud provider uses the metadata field in the volume creation API call to enable e.g. encrypted volumes. Looking at the documentation & source code, it doesn't look like it's possible at this moment to such metadata to a PVC. If this is really not possible at the moment, could anyone give me some pointers on where to start to add such functionality?

See also #2327.

@kayrus I assume you are talking about https://github.com/kubernetes/cloud-provider-openstack/issues/2327#issuecomment-1735749569 ?  want to split the design of LB and CSI into different issue and can cross link
https://github.com/kubernetes/cloud-provider-openstack/blob/master/pkg/csi/cinder/controllerserver.go#L107
is something we can refer to

I see that this is somewhat related to https://github.com/kubernetes/cloud-provider-openstack/issues/2327#issuecomment-1735749569, but I also see development has stagnated there. If I were to implement adding metadata to volume creation, could anyone give me some pointers?

/remove-lifecycle rotten

I see that this is somewhat related to #2327 (comment), but I also see development has stagnated there. If I were to implement adding metadata to volume creation, could anyone give me some pointers?

At a glance I'd say it's almost implemented at [1]. What you would need to add is to read some more annotations at [2] (and maybe [3], but ephemeral volumes might not need that?) and pass them to properties variable. On the implementation PR we'll probably spend some time figuring out how to properly name the annotation itself.
[1] https://github.com/kubernetes/cloud-provider-openstack/blob/e87f50614b96a6af6095660aa6a77457223b344b/pkg/csi/cinder/openstack/openstack_volumes.go#L66-L68
[2] https://github.com/kubernetes/cloud-provider-openstack/blob/e87f50614b96a6af6095660aa6a77457223b344b/pkg/csi/cinder/controllerserver.go#L105-L112
[3] https://github.com/kubernetes/cloud-provider-openstack/blob/e87f50614b96a6af6095660aa6a77457223b344b/pkg/csi/cinder/nodeserver.go#L130


Nfs server

What this PR does / why we need it:
I have been looking to how you can scale the wordpress and other stateful application deployments beyond 1 replica. The problem is that some of these applications (like wordpress) can be administer via the /admin console. This allows the user to install/update plugins and configuration, set themes... this is persisted in a locally mounted volume, which can be mapped/mounted to a PVC.
However, if (as in many cloud providers) you only have access to PVCs that allow ReadWriteOnce, you can not scale your deployment outside a single node.
To have better high availability and allow for horizontal scaling, this PR create a NFS server that maps to a ReadWriteOnce PVC. Then it defines a NFS PV (ReadWriteMany)  that can be mounted in multiple Replicas. This means that all replicas can read the data, and changes done via /admin panel will be persisted and shared across them. As these are not performance sensitive write actions, an NFS should be good enough.
The idea is that this chart will be added as a dependency in other charts that might need this functionality.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
This chart comes out of a discussion on this Wordpress PR as we think this can be helpful for other charts https://github.com/kubernetes/charts/pull/5009
Special notes for your reviewer:
NFS PV requires to have provision the actual clusterip of the service, I have tried using the FDQN (svc.namespace.cluster.local) but this is not currently supported/working, so a clusterip has to statically be provision in the nfs-service, so it can be referred in the PV when installing a release.

/assign prydonius

/cc scottrigby,tompizmor

/cc tompizmor

/cc scottrigby

There are already three NFS-related PRs.
See #4142

@unguiculus yes thanks , we discussed this here - https://github.com/kubernetes/charts/pull/5009#issuecomment-381104168
I don't think this are mutually exclusive. the provisioner/controller solution I think is a bit heavy for just providing nfs capability for a single chart like WP.
I think having two solutions gives more options depending on how you want to configure your cluster

ok, I see that https://github.com/kubernetes/charts/pull/2559 is the same approach.. still open since oct 2017!!!

closing this PR

closing this PR


enable code coverage for hacbs

Description
HACBS code coverage was disabled originally but we have enough tests re-enable coverage.
Also added a test for a file that had 0 coverage.
Type of change

[ ] Feature
[ ] Bugfix
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] Documentation content changes
[x] Other (please describe): tests

/lgtm


Transaction: send gitcoins to MisterDA

Hi, I am human because I don't know the result of 0x8DF930AAA + 0xEFE999E0A, hence validating this transaction.

Sorry, you can't merge it, @MisterDA didn't prove is existence.

I think, therefore I am.
Is this a sufficient proof of my existence?
Note that in my mind I'm the only one existing and the reality I experience might just be the product of a demon standing on my shoulder. I have to convince myself that you exist, too.


Configuration file reference missing protocol key

Expected Behavior
The new protocol key announced yesterday is not yet documented in the configuration file reference for cloudflared. I had to dig through the cloudflared changelog to find that I can indeed use it in the configuration file and not just in the CLI.
Actual Behavior
It is not documented
Section that requires update
"Keys and values" section
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/configuration-file
Additional information
N/A

Looks like auto (aka AutoSelectFlag), h2mux, http2 and quic are supported - from my recollection, this seems accurate.
func (p Protocol) String() string {
	switch p {
	case H2mux:
		return "h2mux"
	case HTTP2, HTTP2Warp:
		return "http2"
	case QUIC, QUICWarp:
		return "quic"
	default:
		return fmt.Sprintf("unknown protocol")
	}
}

Should be easy enough to document the protocol key & list the above as valid options, but I'm not massively familiar with the actual explanation around what or why you would use one protocol over the other.

Turns out right above where I was in the codebase, it's documented.
AvailableProtocolFlagMessage = "Available protocols: 'auto' - automatically chooses the best protocol over time (the default; and also the recommended one); 'quic' - based on QUIC, relying on UDP egress to Cloudflare edge; 'http2' - using Go's HTTP2 library, relying on TCP egress to Cloudflare edge; 'h2mux' - Cloudflare's implementation of HTTP/2, deprecated"
Will make a PR tomorrow.

#5553


Training code for CIFAR

Hi, I tried to reproduce the results on the cifar dataset, but I did not reproduce the results well with the parameters set in the article. I think it's because the technical details are implemented differently. Can you please release the training code for CIFAR dataset?
Thank you：）.

Thanks for your interest in our work and for taking the time to provide feedback.  We have uploaded the CIFAR training code to our repository. Please feel free to reach out if you have any further questions.


Deprecation annotation and tag

A deprecated token such as this function should be annotated with the java.lang.Deprecated annotation so that compiler warnings may arise and IDE's such as Android Studio may highlight it as such.
The oracle and google spec dictate that additionally a token should be tagged in the javadoc with a reference to the replacement, if any.

You are correct, but this method should not be deprecated. We decided too reverse that decision, as several SDKs utilizing the Android SDK still need that. Instead, that comment should be removed from the file.

Please update the documentation, and the settings page on the website accordingly.

@SleeplessByte thanks for the notice on this, it will be done :+1: closing this since it will be addressed elsewhere.

:+1:


Add playlist serial number on each video

suppose i have a yt playlist which have a 100 videos on that . Every video is related to its previous video . So i need a serial number before title of that video .  it will made this app efficient to work . If you need anything queries feel free to contact me .  Thanks

i have found my answer in this [https://github.com/shaked6540/YoutubePlaylistDownloader/issues/288#issuecomment-2184991013]
so i am closing my issue.
thanks


Build with ASAN and check leaks

Build z3 and our test suite with ASAN and enable resource leak checks:
   package Builder is
      for Global_Compilation_Switches ("Ada") use ("-fsanitize=address", "-fno-omit-frame-pointer");
   end Builder;

   package Linker is
      for Default_Switches ("Ada") use ("-lasan");
   end Linker;

-lasan seems to be the wrong way, since it causes the following error message:
ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.

There is an issue about this (https://github.com/google/sanitizers/issues/796) and as we're using GCC the correct linker flags are -fsanitize=address -static-libasan. This solution works for me.
As expected we leak memory:
==1798369==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 410 byte(s) in 202 object(s) allocated from:
    #0 0x4978df in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f888bcf701e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)

Direct leak of 104 byte(s) in 1 object(s) allocated from:
    #0 0x4978df in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f888d5892d1 in memory::allocate(unsigned long) (/.../AZ3/obj/tests/../..//z3/z3/build/libz3.so+0x14952d1)

Indirect leak of 17200748 byte(s) in 454 object(s) allocated from:
    #0 0x4978df in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f888d5892d1 in memory::allocate(unsigned long) (/.../AZ3/obj/tests/../..//z3/z3/build/libz3.so+0x14952d1)

Indirect leak of 3376 byte(s) in 14 object(s) allocated from:
    #0 0x4978df in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f888d5892d1 in memory::allocate(unsigned long) (/.../AZ3/obj/tests/../..//z3/z3/build/libz3.so+0x14952d1)
    #2 0x60b000413ba7  (<unknown module>)

Indirect leak of 2864 byte(s) in 7 object(s) allocated from:
    #0 0x497c48 in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:164
    #1 0x7f888d58939a in memory::reallocate(void*, unsigned long) (/.../AZ3/obj/tests/../..//z3/z3/build/libz3.so+0x149539a)

Indirect leak of 1600 byte(s) in 20 object(s) allocated from:
    #0 0x4978df in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f888bcf701e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)
    #2 0x607000003e3f  (<unknown module>)

Indirect leak of 1600 byte(s) in 20 object(s) allocated from:
    #0 0x4978df in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f888bcf701e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)
    #2 0x607000094c8f  (<unknown module>)

Indirect leak of 496 byte(s) in 23 object(s) allocated from:
    #0 0x4978df in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f888bcf701e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)

Indirect leak of 22 byte(s) in 1 object(s) allocated from:
    #0 0x499097 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7f888c3572e0 in smt_params::smt_params(params_ref const&) (/.../AZ3/obj/tests/../..//z3/z3/build/libz3.so+0x2632e0)

SUMMARY: AddressSanitizer: 17211220 byte(s) leaked in 742 allocation(s).

With z3 built with address sanitize we get the following result:
SUMMARY: AddressSanitizer: 17211220 byte(s) leaked in 742 allocation(s).

(I omitted the few hundred lines of traces).

The memory leaks come from 2 sources

Non-freed strings when creating constants
Z3 configurations and contexts have to be deleted explicitly

The non-freed memory has been fixed. To solve the memory issues caused by contexts and configs these types have to be implemented as controlled types. As controlled types seem to be difficult to use as constants if defined in the same package (since the body of Finalize needs to be seen) we decided to not provide a default context anymore.

I'm relatively confident that we now have a working implementation. There are no further memory leaks in z3. However there are still some calls to __gnat_malloc that leak memory. I have the suspicion that these come from AUnit. Running a single empty test already leaks memory. Also I have a separate (small) test that does some operations on the context and expressions and that doesn't leak any memory. I guess we have to implement some separate test to check for memory leaks.

Creating a separate test without AUnit is probably not worth the effort right now. We could suppress the leak instead.

The following 3 leaks happen even with empty tests:
==745382==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 1520 byte(s) in 19 object(s) allocated from:
    #0 0x49821f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7fc7a656c01e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)
    #2 0x607000004f4f  (<unknown module>)

Indirect leak of 1520 byte(s) in 19 object(s) allocated from:
    #0 0x49821f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7fc7a656c01e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)
    #2 0x607000003e3f  (<unknown module>)

Indirect leak of 480 byte(s) in 22 object(s) allocated from:
    #0 0x49821f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7fc7a656c01e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)

SUMMARY: AddressSanitizer: 3520 byte(s) leaked in 60 allocation(s).

The 4th leak seems to happen in Optimize.Set_Timeout:
Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x49821f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f77d66cb01e in __gnat_malloc (/.../AZ3/obj/tests/../../../..//opt/GNAT-Community-2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/adalib/libgnat-2021.so+0x30701e)

I looked into supressing the Aunit leaks. The problem is we can only suppress leaks by symbol, source or binary name. In this exact case the only information we have is that it happens in libgnat.so in __gnat_malloc. If we suppress this we will miss all memory leaks from Ada. The best method to distinguish between Aunit leaks and our leaks I have is that Aunit leaks all seem to be indirect leaks while ours are direct leaks. However Asan doesn't provide any useful tool to suppress only indirect leaks (see https://github.com/google/sanitizers/issues/1250). Turning off all leaks that include __gnat_malloc will force us to check for directl leaks manually every time we change something which completely defeats the purpose of adding it to the tests and CI in the first place.

Result of a separate discussion: Let's try to use AUnit as a submodule and build it from sources with asan and debug symbols enabled. If all of the remaining leaks can be traced back to AUnit either suppress or fix them.


plugin/clouddns: add clouddns logic

This PR is implementing a new plugin called CloudDNS
This plugin implements Google CloudDNS service to be used as a DNS zone file backend by CoreDNS.
It is heavily inspired by the CoreDNS route53 plugin.
It fetches resource record sets from CloudDNS to dynamically populate the file plugin.
By default, RRsets are pulled every minute.
Google authentication is done by using OAuth2 with a JSON credentials file.
It is also required to specify the project along with the DNS managed zone as the DNS API only allows to fetch a zone using a project name; whereas Route53 allow fetching using the zone ID.
Tests are functional and working.
From the plugin.md:
Qualifying for main repo
Plugins for CoreDNS can live out-of-tree, plugin.cfg defaults to CoreDNS' repo but other
repos work just as well. So when do we consider the inclusion of a new plugin in the main repo?

First, the plugin should be useful for other people. "Useful" is a subjective term. We will
probably need to further refine this.
It should be sufficiently different from other plugin to warrant inclusion.
Current internet standards need be supported: IPv4 and IPv6, so A and AAAA records should be
handled (if your plugin is in the business of dealing with address records that is).
It must have tests.
It must have a README.md for documentation.

All these points are fulfilled (confirmed by the creator of CoreDNS at https://github.com/coredns/coredns/pull/2332#issuecomment-441172543)

Comment fixed!


Takes the same time or longer, no matter which settings I choose.

Hello, I'm trying HappyPack, but no matter what I try, it seems to take the same time or longer.
Without happypack, I have a build time of about 55 second. With happypack and different settings (different threads, some loaders are or aren't happypacked) the time is always 55 seconds or more, usually aroun 65 to 70 seconds).
Here's my initial webpack.config.js, without happypack:
/* global Promise, __dirname */

const webpack = require('webpack');
const path = require('path');
//const HappyPack = require('happypack');
//const happyThreadPool = HappyPack.ThreadPool({ size: 4 });

const isProd = process.env.NODE_ENV == 'production';

const configPromise = new Promise(function(resolve, reject) {
    "use strict";
    resolve({
        entry: {
            main: "./src/main.tsx",
            editor: "./src/modes/editor.tsx",
        },

        output: {
            path: path.resolve(__dirname, '..', '..', 'build', 'sticker_creator'),
            filename: "[name].js",
            libraryTarget: 'amd',
        },
        resolve: {
            extensions: ['.ts', '.tsx', '.js', 'jsx', 'css'],
            alias: {
                '/common': path.resolve(__dirname, '..', '..', 'common'),
                'common': path.resolve(__dirname, '..', '..', 'common'),
                '/unicorns_admin': path.resolve(__dirname, '..', '..', 'admin'),
                '/unicorns_sections': path.resolve(__dirname, '..', '..', 'sections'),
                '/src': path.resolve(__dirname, '..'),
                'app': path.resolve(__dirname, 'src'),
                'imvu': path.resolve(__dirname, 'src/imvuGlobal'),
            },
        },
        externals: [
            function (context, request, callback) {
                if (request.match(/(^@|json!|hb!)/)) return callback(null, true);
                callback();
            },

        ],
        module: {
            rules: [
                {
                    test: /\.(js|jsx)$/,
                    use: [
                        'imvu-module-loader',
                        //'happypack/loader?id=js',
                    ],
                    exclude: /node_modules/
                },
                {
                    test: /\.css$/,
                    use: [
                        'style-loader', 'css-loader'
                        //'happypack/loader?id=css',
                    ]
                },
                {
                    test: /\.(ts|tsx)?$/,
                    use: [
                        'ts-loader',
                        //'happypack/loader?id=ts',
                        {
                            loader: 'tslint-loader',
                            options: {
                                formatter: 'codeFrame',
                                enforce: 'pre',
                                emitErrors: true,
                                typeCheck: true,
                                fix: false,
                            }
                        }
                    ],
                    exclude: /node_modules/
                },
            ],
        },
        devtool: isProd ? 'source-map' : 'source-map',
        plugins: [
            new webpack.DefinePlugin({
                module: '__imvuModule',
            }),
            new webpack.optimize.CommonsChunkPlugin({
                name: 'shared-modules', // Specify the common bundle's name.
            }),
            //new HappyPack({
                //id: 'js',
                ////threads: 3,
                //threadPool: happyThreadPool,
                //loaders: [
                    //'imvu-module-loader'
                //],
            //}),
            //new HappyPack({
                //id: 'css',
                ////threads: 3,
                //threadPool: happyThreadPool,
                //loaders: [
                    //'style-loader', 'css-loader'
                //],
            //}),
            //new HappyPack({
                //id: 'ts',
                ////threads: 3,
                //threadPool: happyThreadPool,
                //loaders: [
                    //{
                        //path: 'ts-loader',
                        //query: { happyPackMode: true }
                    //},
                //],
            //}),
        ],
    });
});

module.exports = configPromise;

Here's what it looks like with HappyPack (comment basically toggled).
const webpack = require('webpack');
const path = require('path');
const HappyPack = require('happypack');
const happyThreadPool = HappyPack.ThreadPool({ size: 4 });

const isProd = process.env.NODE_ENV == 'production';

const configPromise = new Promise(function(resolve, reject) {
    "use strict";
    resolve({
        entry: {
            main: "./src/main.tsx",
            editor: "./src/modes/editor.tsx",
        },

        output: {
            path: path.resolve(__dirname, '..', '..', 'build', 'sticker_creator'),
            filename: "[name].js",
            libraryTarget: 'amd', // tells Webpack to output a define() module for RequireJS to load.
        },
        resolve: {
            extensions: ['.ts', '.tsx', '.js', 'jsx', 'css'],
            alias: {
                '/common': path.resolve(__dirname, '..', '..', 'common'),
                'common': path.resolve(__dirname, '..', '..', 'common'),
                '/unicorns_admin': path.resolve(__dirname, '..', '..', 'admin'),
                '/unicorns_sections': path.resolve(__dirname, '..', '..', 'sections'),
                '/src': path.resolve(__dirname, '..'),
                'app': path.resolve(__dirname, 'src'),
                'imvu': path.resolve(__dirname, 'src/imvuGlobal'),
            },
        },
        externals: [
            function (context, request, callback) {
                if (request.match(/(^@|json!|hb!)/)) return callback(null, true);
                callback();
            },

        ],
        module: {
            rules: [
                {
                    test: /\.(js|jsx)$/,
                    use: [
                        //'imvu-module-loader',
                        'happypack/loader?id=js',
                    ],
                    exclude: /node_modules/
                },
                {
                    test: /\.css$/,
                    use: [
                        //'style-loader', 'css-loader'
                        'happypack/loader?id=css',
                    ]
                },
                {
                    test: /\.(ts|tsx)?$/,
                    use: [
                        //'ts-loader',
                        'happypack/loader?id=ts',
                        {
                            loader: 'tslint-loader',
                            options: {
                                formatter: 'codeFrame',
                                enforce: 'pre',
                                emitErrors: true,
                                typeCheck: true,
                                fix: false,
                            }
                        }
                    ],
                    exclude: /node_modules/
                },
            ],
        },
        devtool: isProd ? 'source-map' : 'source-map',
        plugins: [
            new webpack.DefinePlugin({
                module: '__imvuModule',
            }),
            new webpack.optimize.CommonsChunkPlugin({
                name: 'shared-modules',
            }),
            new HappyPack({
                id: 'js',
                //threads: 3,
                threadPool: happyThreadPool,
                loaders: [
                    'imvu-module-loader'
                ],
            }),
            new HappyPack({
                id: 'css',
                //threads: 3,
                threadPool: happyThreadPool,
                loaders: [
                    'style-loader', 'css-loader'
                ],
            }),
            new HappyPack({
                id: 'ts',
                //threads: 3,
                threadPool: happyThreadPool,
                loaders: [
                    {
                        path: 'ts-loader',
                        query: { happyPackMode: true }
                    },
                ],
            }),
        ],
    });
});

module.exports = configPromise;

The non-happypack takes about 55 seconds, the one with happypack takes about 65 seconds.
imvu-module-loader is a custom loader. I'm running this in a VMWare VM.
Any thoughts on why it might take the same or longer with happypack?

If I move tslint-loader into happy as well, it takes longer, about 70 seconds.
Could it have to do with the fact that it is in a VM?

Setting typeCheck: false for tslint-loader cuts the time in half for both methods, 28 seconds and 30 seconds for non-happypack and with-happypack, respectively. with-happypack is still taking longer (but I'm keeping typeCheck: false now!).
Basically no matter what I try, I can't get the happypack version to be faster.

Should threads or threadPool size match the number of physical cores available to the build?

Should threads or threadPool size match the number of physical cores available to the build?

No, they don't have to. You should see gains with using 3 threads at least.
I do suspect it's because you're doing this in a VM - is it by any chance running on a DigitalOcean droplet? Otherwise, can you test outside of a VM?

It is in a VM that is on my local machine. Let me see if it'll work outside the VM...

Also, if I introduce type errors, I still see those errors, and I'm not using the fork-ts-checker plugin yet. I thought ts-loader would skip type checks when in happyPackMode?

It does. What version of ts-loader are you using?

@amireh Oops, I was looking at "user" time, not "total" time, of the time command (hadn't really used it before). I just learned that "user" time is time shared across all threads, so it can be higher. The total time is in fact smaller. So it works! Sorry for time wasted.
@johnnyreilly replying in the other thread.

:+1: Good to hear!


Typo in useList md

Description
Quick typo fix.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as before)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement multithreaded renderer

Initially I planned for effect renderers to be stateless, which would make multithreading really easy. However, I think stateless rendering will limit the amount of effects that can realistically be achieved (e.g. particle systems would be really hard).
Therefore, I think effect renderers should be allowed to have state. This poses some limitations on how we can divide up the rendering for multiple threads, but we can still safely use one thread per stage prop being rendered. This means that in cases where the vast majority of rendering work is one a single prop, the multithreading won't be very useful. However, typical use cases should still benefit quite a bit.
Some rough notes on a pseudocode algorithm for multithreaded rendering are below.
First, sort channels by display order. Then:

for (p in sequence.props) {
  submitThread(() => render(p.code))
}

render(propCode) {
  for (ch in channels) {
    if (ch.propCode == propCode) {
      for (e in ch.effects) {
        render(ch, e);
      }
    }
  }
}

I'm beginning to favour having stateless renderers again. I haven't implemented any stateful ones, and I've been able to do some reasonable complex stuff (e.g. glitter) without state.
My plan is to avoid adding state at all costs, and I'll only add state if there's a big payoff (e.g. an effect that is so amazing people start paying large sums of money just to gaze upon its glorious pattern).


Image picker crashes in iOS10

Hey guys, got an interesting one. I have a working image picker in my iOS9 app, which is called from a screen with a tab bar:
@image_picker = UIImagePickerController.new
@image_picker.delegate = self
@image_picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary
presentViewController(@image_picker, animated: true, completion: nil)

However after upgrading to iOS10 it now crashes:
*** Terminating app due to uncaught exception 'NoMethodError',
reason: 'navigation_controller.rb:14:in 'supportedInterfaceOrientations':
undefined method 'supportedInterfaceOrientations' for nil:NilClass (NoMethodError)
from tab_bar_controller.rb:115:in `current_view_controller_try:'
from tab_bar_controller.rb:84:in `supportedInterfaceOrientations’

If I force supportedInterfaceOrientations in navigation_controller.rb to return 26 (a valid setting) then it works fine. Seems like visibleViewController is actually nil at this point.
I'm still scratching around for a solution but would appreciate any ideas. :smile: :cherries:

Thanks for reporting & fixing @afestein !


Should map values default to non-null when OAS 3.0+ is selected?

OAS 3.0 has nullable: true. https://github.com/cjbooms/fabrikt/pull/276 says that there was no way to specify that map values should be nullable, but I believe this fixes it?

Would that not set Map<String, String>? rather than Map<String, String?>

type: object
additionalProperties:
    type: string
    nullable: true

would be Map<String, String?>.

Ah right, I guess we were deciding nullable based on required only. Support for nullable: true in fabrikt came much later.
I wonder can this be used for free form objects also. Will take a look at the code to see if to support can be improved

Apparently now it's type: "null": https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0

Apparently now it's type: "null": https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0

Yes, we added support for that with a hack to convert 3.1 format back to nullable in #263

I was going to attempt to fix this, but I note that we already added an option to turn off this feature:
NON_NULL_MAP_VALUES - This option makes map values non-null. The default (since v15) and most spec compliant is make map values nullable

Ah, ok. So the intention is that everyone should use that for standards compliance?

Ah, ok. So the intention is that everyone should use that for standards compliance?

I'm not sure what you mean here....
It's not technically feasible to support control over the nullability of map values, so fabrikt makes them all nullable by default, but allows users to opt-in to making them all non-null


can not open connection when use udp to get the instances in internet

when i connection to localhost,it work.but,when i connect to the sql server on internet.it dose not work.it is wait on getIntances().i think the cause is that use UDP to get instances.
how can i solve it??

UDP packets are used to translate sql server instance name to port number.
UDP packets are not reliable and can be dropped by your network infrastructure.
If you don't specify an instance name and you specify a port number it will work reliable.
see: https://technet.microsoft.com/en-us/library/ms177440(v=sql.105).aspx

yes,if i does not set the instance name,it will work normal.but,if the sql server has more than one instance,how can i do?

Each instance uses a different port number. see: https://technet.microsoft.com/en-us/library/ms177440(v=sql.105).aspx

thanks very much!


ttfsubset causes sileftml error "Invalid glyph index"

Summary:

wscript includes call to ttfsubset ==> smith sileftml fails with Invalid glyph index message
wscript excludes call to ttfubset ==> smith sileftml passes

To reproduce:
Using the ScheherazadeNew branch ttfsubset_bug#1, build font (i.e.: smith distclean; smith configure; smith build) with default settings, then execute smith sileftml. Result will include an error:
libtexpdf:fatal: Invalid glyph index (gid 1686)
However, if font is built with -d option, i.e., smith distclean; smith configure; smith build -d, then smith sileftml completes without error.
NB: In wscript, -d suppresses the call to ttfsubset (which tries to make the fonts smaller).

Hm, I'm not seeing arab script (or its languages) retained in the subsetted font, in spite of what the wscript says:
ttfsubset -s latn,arab -l KIR,JUR,RHG,SND,URD,WLF ${DEP} ${TGT}

To help debug this, it would be good to know what the missing glyphs are. Is it that the subset is missing cmap entries? or is an OT rule calling for a glyph id that has been removed?


ush-dev.yml to push- dev.yml

Habeebullah

Looks like this was created by accident, closing! Feel free to reopen with more details.


Create a new FactoryConnectionManager to simplify CM setup.

This change makes it possible to avoid a CM subclass just to specify the
connection class.

Many thanks, as usual.


Refactor

This PR is the beginning of a fix for cache include and exclude path handling.
Since the current state of the code is not really unit testable, i will start by fixing this first, to be able to reproduce the issue with unit tests.
The current source uses the CacheModel struct's functions to solve the caching feature, every function modifies several fields of the CacheModel, which makes it really hard to follow what happens with this variables, what is modified where and so on...
This PR converts every struct function on CacheModel to regular functions, this way we can see which function receives and returns what.
In the next PR i will break these functions to better scoped smaller ones and try to reproduce the issue.
So in this PR you will see changes like
func (cacheModel *CacheModel) CreateTarArchive() error
->
func CreateTarArchive(compressArchive bool) (gzipWriter *gzip.Writer, tarWriter *tar.Writer, tarFile *os.File, err error)
Check carefully if every function:

accesses an appropriate variable instead of a CahceModel.Field
returns a variable instead of modifying a CahceModel.Field

Please check / fix my notes in your next PR.

closing as i want to merge this PR into the development branch.


How can i call smart contract functions through algorand-dart in flutter

i have a smart contract with multiple functions that allow me to pay my bills in crypto currencies .i just want to known how can i use them algorand-dart.

You can use the SDK just like any other SDK that is available for Algorand.
Take a look here:
https://developer.algorand.org/docs/get-details/dapps/smart-contracts/frontend/apps/
You will be needing ApplicationCall transactions in order to call methods on your smart contracts.


Dynamodb API update

Run workloada from an external vm to dynamodb, the performance difference between  dynamodb v1 and v2 api. Results:
percentile,	v1 read,	v1 write,	v2 read,	v2 write
0.1,	34775.9,  	36097,	35244,	36357
0.5,	35869.5,          36843,	36658,	37602
0.95,	39209.1,  	  42328.75,	41423,	43277.9
0.99,	54295.1,  	68858.76,	56915,	63764.16

@stfeng , PTAL

Code LGTM. Thanks for doing the performance regression validation to make sure the new API does not perform worse than the old one. (Your results show they are within ~0.3% of each other)

Please take a look at the Travis CI build error though...

Thanks for taking care of the Travis build issue. All green now.
One final minor thing: Can you edit both of your commits to start with [DynamoDB]? We always prefix commits with [DB-binding-name], or [core] (if the code is in YCSB core).

@yuyantingzero does dynamodb use v1 anymore? Will these changes make testing some versions of DynamoDB not possible?

as a point of clarification for @risdenk's comment, making it so we can't test earlier versions of DynamoDB isn't a blocker. It just means we have to weigh the benefit of maintaining that ability against the cost of breaking this into a new binding module (see the HBase modules or Cassandra modules as an example).

@risdenk, the DynamoDB v1 client API has been deprecated since Apr 2013 when AWS released the 1.4.2 Java SDK. Upgrading to v2 client API is a long overdue task for this DB binding. ;)

Great thanks @stfeng

Thanks for the comments, @risdenk , @stfeng , @busbey . Fixed the commit message and addressed comment on line 347.

Looks good to me :+1:

LGTM, merging.


EntityState marker interface

This PR applies the newly generated EntityState marker interface instead of generic Message where appropriate across the code base.
Spine version advances to 1.1.14.

@armiol, @dmdashenkov PTAL.
The build will pass once https://github.com/SpineEventEngine/base/pull/494 and https://github.com/SpineEventEngine/config/pull/92 are merged.


Control the most important settings of the BMS

There's a bunch of items I'd love to be able to change if changing is possible (then I wouldn't need to ever use the app)

OVCP (over voltage cell protection) (i.e. 3.65 or 3.55 etc.)
OVCR (over voltage cell recovery) (i.e. 3.6 or 3.5 or whatever it falls back to before turning charge on again automatically)
UVDP (under voltage discharge protection)
UVCP (under voltage discharge recovery)
Enable/Disable Charging, Balancing and Discharging.
Delta for Cell Balancing
Min Cell Voltage for Cell Balancing

Not sure if this is possible. Maybe an option to pass in the pass code in the yaml configuration and then be able to setup switches for No. 5 and then text fields for the rest?
Originally posted by @JohnGalt1717 in https://github.com/syssi/esphome-jk-bms/issues/5#issuecomment-1105718878

is solved by https://github.com/syssi/esphome-jk-bms/pull/84

The other bullet points can be solved by introducing number entities to control the following registers:
AD  # VALUE
================
1d 04 01000000  Set Charge on (off = 00000000)
1e 04 01000000  Set Disharge on (off = 00000000)
1f 04 01000000  Set Balance on (off = 00000000)
06 04 03000000  Set balance trig voltage to 0.003
21 04 42d10000  Set cal voltage to 53.57
24 04 64000000  Set cal current to 0.100
1c 04 10000000  Set cell count to 16
20 04 f0ba0400  Set battery cap to 310
04 04 420e0000  Set Cell OVP to 3.65
05 04 b0040000  Set Cell OVPR to 1.2
03 04 b0040000  Set Cell UVPR to 1.2
02 04 b0040000  Set Cell UVP to 1.2
0b 04 b0040000  Set Power Off value to 1.2
9f 04 54657374  Set User Private Data (4 bytes) to TEST
9f 0d<PHONE_NUMBER>3536373839303132 c6  Set User Private Data (4 bytes) to<PHONE_NUMBER>012
26 04 b0040000  Set Start Balance voltage to 1.2
13 04 2c010000  Set max Balance current to 0.3
0c 04 e8030000  Set Max charge Current to 1.0
0d 04 02000000  Set Charge OCP delay to 2
0e 04 02000000  Set Charge OCPR Time to 2
0f 04 e8030000  Set Max discharge Current to 1.0
10 04 02000000  Set Discharge OCP delay to 2
11 04 02000000  Set Discharge OCPR Time to 2
25 04 0a000000  Set to SCP Delay to 10.000
12 04 02000000  Set SCPR Time to 2
14 04 2c010000  Set Charge OTP to 30
15 04 2c010000  Set Charge OTPR to 30
16 04 2c010000  Set Discharge OTP to 30
17 04 2c010000  Set Discharge OTPR to 30
18 04 00000000  Set Charge UTP to 0
19 04 00000000  Set Charge UTPR to 0
27 04 00000000  Set Con. Wire Res.01 to 0.00
...
3e 04 00000000  Set Con. Wire Res.24 to 0.00

Source: https://github.com/jblance/mpp-solar/issues/170#issuecomment-1050503970


Limit(0) causes all records to be returned

I edited the limit test to look up users with the limit of 0. This returns all records. When running directly on a PG database SELECT * FROM table LIMIT 0; returns 0 rows.
func TestLimit(t *testing.T) {
    user1 := User{Name: "LimitUser1", Age: 1}
    user2 := User{Name: "LimitUser2", Age: 10}
    user3 := User{Name: "LimitUser3", Age: 20}
    user4 := User{Name: "LimitUser4", Age: 10}
    user5 := User{Name: "LimitUser5", Age: 20}
    DB.Save(&user1).Save(&user2).Save(&user3).Save(&user4).Save(&user5)

    var users1 []User
    DB.Limit(0).Find(&users1)

    if len(users1) != 0 {
        t.Errorf("Limit should work")
    }
}

--- FAIL: TestLimit (0.01s)
    query_test.go:354: Limit should work

A lot of Golang code treats false or 0 as like a "cancelled" or "nil" state. In this case, you shouldn't be preparing and calling a function if you want zero rows. That's inefficient because there is latency to/from the database just to prepare and call the query even for 0 rows. You should instead catch this on the client side of things.

So there are two issues:

0 is a valid limit and the documentation does not mention 0 to cancel out the limit. It only mentions -1.
Golang functions that return 0 on an invalid number usually return an error as well. Such as in the case of stringcovAtoi. If you are looking for an invalid integer you should not check for 0 as 0 is a valid integer. You should check the error.

@cbelsole I agree that 0 is a valid limit in many cases but I'm guessing this hasn't been fixed because nobody in their right mind would prepare a query just to fetch 0 rows.

@benguild That could be. So I see two possible solutions to this:

Fix it so that 0 is passed and acts as it does with plain SQL.
Call it out in the docs just like you call out -1.

Personally I'd go with 1 since that is the behavior you are expecting to happen when you call something with a limit of 0.

Fixed that.


Failed to import - fetch-blob

Failing module

GitHub:  https://github.com/node-fetch/fetch-blob
npm: https://www.npmjs.com/package/fetch-blob

import { Blob } from 'https://esm.sh/fetch-blob'

Error message
After running deno run I get this:
/* esm.sh - error */
throw new Error("[esm.sh] " + "Could not resolve \"stream/web\"");
export default null;

Additional info

esm.sh version: v53
Deno version: 1.14

The line causing this issue: https://github.com/node-fetch/fetch-blob/blob/0e074572462f2df71c2507f187f164c61376257e/streams.cjs#L7
The module that needs to be added to polyfills: https://nodejs.org/api/webstreams.html#webstreams_web_streams_api

I can see now it is working
curl https://esm.sh/fetch-blob

shows
/* esm.sh -<EMAIL_ADDRESS>*/
export * from<EMAIL_ADDRESS>export { default } from<EMAIL_ADDRESS>
Cheers

new error now on v55:
➜ deno eval 'import { Blob } from \'https://esm.sh/fetch-blob\''
Check a generated module
error: Uncaught SyntaxError: Identifier '__process$' has already been declared
    at <anonymous> (https://cdn.esm.sh/v55/fetch-blob@3.1.3/deno/fetch-blob.js:2:328)

blocked by this on v57: https://github.com/denoland/deno_std/pull/1519 (not esm.sh bug)

main module is now importing fine on v58 but fetch-blob/from.js breaks because of worker_threads:
➜ deno eval "import {File, Blob, blobFrom, blobFromSync, fileFrom, fileFromSync} from 'https://esm.sh/fetch-blob/from.js'"
Download https://esm.sh/fetch-blob/from.js
Download https://cdn.esm.sh/error.js?type=unsupported-nodejs-builtin-module&name=worker_threads&importer=fetch-blob
Check a generated module
error: Import 'https://cdn.esm.sh/error.js?type=unsupported-nodejs-builtin-module&name=worker_threads&importer=fetch-blob' failed: 500 Internal Server Error
    at https://cdn.esm.sh/v58/fetch-blob@3.1.3/deno/from.js:2:1982

New error on v111:
/* esm.sh - error */
throw new Error("[esm.sh] " + "can not build 'file.js': can not build 'index.js': can not build 'streams.cjs': resovleESModule: open /tmp/esm-build-317b0017fa0b2b447e572409cd2667e1d5e63653-573b649a/node_modules/fetch-blob/streams.cjs.js: no such file or directory");
export default null;

works on v135


Separate interpretations, phase 2

This is the second component of #336. It builds on #341 (diff) by adding preprocessors to:

define "interpretation" nodes within the XML
move subject groups and appendices up a level in the XML hierarchy (simplifying processing a bit later)

This also refactors the preprocessor plugin hook to allow straight functions (per #192) in a backward-compatible way.

Coverage decreased (-0.01%) to 91.716% when pulling d0598b447ef3b5201ab1fe9f7d381aadd56abe72 on cmc333333:separate-interp-2 into 4a67d0596b0c2348dc8f3180c3e43e2d6219086e on eregs:master.

Coverage increased (+0.03%) to 91.757% when pulling 375f98cda060b2f88b8cfddaf34e6e1c608c5a53 on cmc333333:separate-interp-2 into 4a67d0596b0c2348dc8f3180c3e43e2d6219086e on eregs:master.

Coverage decreased (-0.01%) to 91.757% when pulling 2dc603c90c39adbb5c55bdb73fd14b8148b4ca7b on cmc333333:separate-interp-2 into 0d1c784708b2df0551edf71cf20977dfbb5b6fd6 on eregs:master.

Coverage increased (+0.02%) to 91.757% when pulling f0f2d10c0b1a17b0d49e6105f85007b4895ab23d on cmc333333:separate-interp-2 into 2ab5bdd43f02f0ebbd3bb73aafed2ecdffb0169a on eregs:master.

Coverage decreased (-0.02%) to 91.721% when pulling 0a38df2e4bf78bafbaa264b19e2d183c51f08b18 on cmc333333:separate-interp-2 into 2ab5bdd43f02f0ebbd3bb73aafed2ecdffb0169a on eregs:master.

Coverage increased (+0.02%) to 91.759% when pulling bdeb4fa843d736f52e360a2d79cf97d12b1b7a38 on cmc333333:separate-interp-2 into 2ab5bdd43f02f0ebbd3bb73aafed2ecdffb0169a on eregs:master.

Merging this so it'll be included in the quarterly release. It'll also make diffs for part 3 easier to read.


[NIFI-2534] Fix JS error when stopping a process group

Reviewing...

Looks good, will merge to master, thanks!


[media/CirGr] Start with visq command

This will revise to start with visq command for visq viewMode.
ONE-vscode-DCO-1.0-Signed-off-by: SaeHie Park<EMAIL_ADDRESS>

for #1350, from #1351


Cache .mypy_cache on CI

What does this PR do?
TESTING

Codecov Report

Merging #2819 (b6ffaf5) into main (a309273) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2819   +/-   ##
=======================================
  Coverage   81.26%   81.26%
=======================================
  Files          53       53
  Lines        5680     5680
=======================================
  Hits         4616     4616
  Misses       1064     1064

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


Notification reappears even after closing it .

You must actually  close the app first then slide the notification

@Dirkstaal As i said it happens even after closing whenever audio get focus or when focus changes.

#199 changes how the service is stopped, so this issue is probably invalid. Feel free to open a new issue if this still happens, though.


Binary Search problem: Aggressive-Cows

I would like to provide a solution to the problem Aggressive-Cows using Binary search in C++.
@Kuwarsaab please assign me this issue with the labels: hacktoberfest, hacktoberfest-accepted.

Assigned to you!


made "CONSULTING" & "CORE SERVICES" text smaller

*Note: relies on styling changes pushed here: https://github.com/SSWConsulting/SSW.Website-v3/pull/209/files

[x] Make "CONSULTING" & "CORE SERVICES" text smaller so it matches the current website

Closes #191

@BrookJeynes fix tailwind class order


UnhandledLanguageFeatureException when differentiating through logerf

I encountered a strange behaviour:
using DifferentiationInterface, SpecialFunctions
import Mooncake

f(x) = logerf(x[1], x[2])
gradient(f, AutoMooncake(; config=nothing), [1., 2.])

results in
ERROR: Mooncake.UnhandledLanguageFeatureException("Encountered UpsilonNode: ϒ (%2)")
Stacktrace:
  [1] unhandled_feature(msg::String)
    @ Mooncake ~/.julia/packages/Mooncake/vhMtc/src/interpreter/ir_utils.jl:260
  [2] make_ad_stmts!(stmt::Core.UpsilonNode, ::Mooncake.ID, ::Mooncake.ADInfo)
    @ Mooncake ~/.julia/packages/Mooncake/vhMtc/src/interpreter/s2s_reverse_mode_ad.jl:475
  [3] _broadcast_getindex_evalf
    @ ./broadcast.jl:673 [inlined]
  [4] _broadcast_getindex
    @ ./broadcast.jl:646 [inlined]
  [5] getindex
    @ ./broadcast.jl:605 [inlined]
  [6] macro expansion
    @ ./broadcast.jl:968 [inlined]
  [7] macro expansion
    @ ./simdloop.jl:77 [inlined]
  [8] copyto!
    @ ./broadcast.jl:967 [inlined]
  [9] copyto!
    @ ./broadcast.jl:920 [inlined]
 [10] copy
    @ ./broadcast.jl:892 [inlined]
 [11] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{…}, Nothing, typeof(Mooncake.make_ad_stmts!), Tuple{…}})

    @ Mooncake ~/.julia/packages/Mooncake/vhMtc/src/interpreter/s2s_reverse_mode_ad.jl:1528
 [22] LazyDerivedRule
    @ ~/.julia/packages/Mooncake/vhMtc/src/interpreter/s2s_reverse_mode_ad.jl:1496 [inlined]
 [23] logerf
    @ ~/.julia/packages/SpecialFunctions/npKKV/src/erf.jl:625 [inlined]
 [24] (::Tuple{…})(none::Mooncake.CoDual{…}, none::Mooncake.CoDual{…}, none::Mooncake.CoDual{…})
    @ Base.Experimental ./<missing>:0
 [25] (::MistyClosures.MistyClosure{…})(::Mooncake.CoDual{…}, ::Mooncake.CoDual{…}, ::Mooncake.CoDual{…})

    @ Base.Experimental ./<missing>:0
 [30] (::MistyClosures.MistyClosure{Core.OpaqueClosure{…}})(::Mooncake.CoDual{typeof(f), Mooncake.NoFData}, ::Mooncake.CoDual{Vector{…}, Vector{…}})
    @ MistyClosures ~/.julia/packages/MistyClosures/4rFSA/src/MistyClosures.jl:22
 [31] DerivedRule
    @ ~/.julia/packages/Mooncake/vhMtc/src/interpreter/s2s_reverse_mode_ad.jl:752 [inlined]
 [32] __value_and_pullback!!(::Mooncake.DerivedRule{…}, ::Float64, ::Mooncake.CoDual{…}, ::Mooncake.CoDual{…})
    @ Mooncake ~/.julia/packages/Mooncake/vhMtc/src/interface.jl:14
 [33] value_and_pullback!!(::Mooncake.DerivedRule{…}, ::Float64, ::Function, ::Vector{…})
    @ Mooncake ~/.julia/packages/Mooncake/vhMtc/src/interface.jl:117
 [34] value_and_pullback(::Function, ::DifferentiationInterfaceMooncakeExt.MooncakeOneArgPullbackPrep{…}, ::AutoMooncake{…}, ::Vector{…}, ::Tuple{…})
    @ DifferentiationInterfaceMooncakeExt ~/.julia/packages/DifferentiationInterface/VdTHn/ext/DifferentiationInterfaceMooncakeExt/onearg.jl:36
 [35] prepare_pullback(::Function, ::AutoMooncake{Nothing}, ::Vector{Float64}, ::Tuple{Bool})
    @ DifferentiationInterfaceMooncakeExt ~/.julia/packages/DifferentiationInterface/VdTHn/ext/DifferentiationInterfaceMooncakeExt/onearg.jl:22
 [36] prepare_gradient(::typeof(f), ::AutoMooncake{Nothing}, ::Vector{Float64})
    @ DifferentiationInterface ~/.julia/packages/DifferentiationInterface/VdTHn/src/first_order/gradient.jl:70
 [37] gradient(::typeof(f), ::AutoMooncake{Nothing}, ::Vector{Float64})
    @ DifferentiationInterface ~/.julia/packages/DifferentiationInterface/VdTHn/src/fallbacks/no_prep.jl:48
 [38] top-level scope
    @ REPL[10]:1

I think that in an earlier version of Mooncake I could actually use logerf. In any case, I think the error message is a bit unfortunate.

Thanks for raising this issue @andreasKroepelin -- I'm able to reproduce locally. It's possible that something has changed on SpecialFunctions.jl's side, which might be why this no longer works for you. Either way, I'll investigate making this work.
On the error message: I added this error message early on in development, and I agree that it's not nearly as good as many of the error messages that Mooncake produces these days. Additional information I would propose to add to the error message:

what to do if you encounter it (sadly, I think it's going to be to open an issue)
additional contextual information, such as the rule whose rule was being derived when it was thrown.

Is there anything else that you think would be helpful?

Version 0.4.27 should be available shortly, and should resolve the above bug.
I won't close this issue before we've agreed what would a good error message would look like :)

This was an impressively quick fix, wow! Thank you very much, it works for me now as well. Mooncake is so pleasant to work with and its documentation really brought my mental model of AD to a new level. Thank you :)

Very glad to hear that you're enjoying it!

Resolved by #335 . Please feel free to re-open if anything else needs to be done.


Can not download Chromium Embedded Framework

The URL for our cef external project is no longer valid. This is causing all of our Linux builds to fail.

This change allows the builds to get much further. However it fails on linking.

This change allows the builds to get much further. However it fails on linking.

I  solved for it for myself by just changing the first part of the URL. It looks like you have changed from 64 to 32 bit.

Thanks @BillyBag2 - you're exactly right, that was the problem. It's now fixed in master.