"Namespace Error" exception creating a customer.

Calling $data_service -> Add() to create a new customer throws an exception:
Uncaught DOMException: Namespace Error in /var/www/flow/vendor/quickbooks/v3-php-sdk/src/XSD2PHP/src/com/mikebevz/xsd2php/Php2Xml.php:159

What minorVersion of the SDK are you using? If you are using higher than the default of version 8 you may have issues as the Customer XSD was updated with minorVersion 10. PR #145 should bring the SDK up to minorVersion 23.

Thank you!
Our Ansible build just pulls the latest version via composer, currently 4.04 (according to composer/installed.json).
Silly question (I'm kind of new at composer and github), but how do I tell for sure what SDK version I have? Latest in the repo is <IP_ADDRESS>.

You can always type composer info and it will show you the current installed version. As for what I can see so far the changes that will fix your issue are in dev-master so if you are comfortable using a development version you change change your composer.json file to use dev-master but be forewarned changes may get contributed that may break your implementation so its best to stick with a specified version until you can test your own code. I learned the hard way and a production server did a composer update and updated to a version that broke my code on production.

Ok so it looks like all the changes are in v 5.0.0


feat(ui-kit): add Design Tokens synchronization automation from Figma to UI Kit

Description of changes
This PR resolves:

[RFC]: Syncing Design Tokens Between Figma and UI Kit
Fix Module level directives cause errors when bundled, "use client" build warning

The sync process:

Go to UI Style Guide in Figma.
Export Style Variables as JSON by using variables2json plugin (set Color format to rgba in plugin's settings).
Put the exported variables.json into the folder packages/ui-kit/src/themes/.
Run yarn build from the root folder.

The sync process runs two scripts:

Parser – this script automates the conversion of design tokens from a JSON file into SCSS and TypeScript files, parsing variables for colors, typography, and other properties to generate styles and type definitions.
Validator – this script builds SASS files into CSS, recursively gathers all relevant CSS and SCSS files within specified directories, extracts custom CSS variables prefixed with --propel, and validates these variables across different theme directories to ensure consistency in design tokens.

The sync went well

The sync reports missed variables

Checklist
Before merging to main:

[ ] Tests
[x] Manually tested in React apps
[x] Changesets
[ ] Approved

Overall looks good! I just added a few comments, I also think it would be nice to add tests to the scripts

I'm not 100% satisfied with the sync architecture 🤔. I have a strong feeling that it could be better. I plan to continue thinking on that during the syncing process in https://github.com/propeldata/ui-kit/pull/206. We can also introduce the tests in that PR.

I'm not 100% satisfied with the sync architecture 🤔. I have a strong feeling that it could be better. I plan to continue thinking on that during the syncing process in https://github.com/propeldata/ui-kit/pull/206. We can also introduce the tests in that PR.

Cool, ideally we find a way to get the variables.json file automatically, maybe we can check figma's apis? Anyways, I think for now this will work nicely for our needs

I'm not 100% satisfied with the sync architecture 🤔. I have a strong feeling that it could be better. I plan to continue thinking on that during the syncing process in #206. We can also introduce the tests in that PR.

Cool, ideally we find a way to get the variables.json file automatically, maybe we can check figma's apis? Anyways, I think for now this will work nicely for our needs

@felipecadavid  I planned to use Figma's API in the next stage because it requires a paid Enterprise plan for exporting variables:

To use this API, you must have a full seat in an Enterprise org; guests cannot use the API. The following table describes the requirements.


Font display on Chrome, Firefox for nes.css

Custom fonts do not appear to be supported when using nes.css. Have tested opening the demo in Chrome, Firefox, making a new project and importing nes.css as a stylesheet, cloning demo and modifying.

On second inspection, the issue appears to be with nes.css itself. Separately importing font works.


These credentials do not match our records

Hi! I just followed the tutorial step-by-step, several times, and the outcome is allways the same: These credentials do not match our records. I am unable to authenticate... Also, no logs are produced

Hi, i have the same problem. My credentials are ok. Any sugestion?

Hi @jotaelesalinas, thank you for your document.
Laravel 5.2.45
Adldap2-Laravel v3.0.5
PHP 5.6.40
I have same result: "These credentials do not match our records."
I sure credentials are correct, my code is a porting of actual project, so I rewrite all in Laravel.
The only difference with all your guide is "app/Http/Controllers/Auth/LoginController.php" file, in my Laravel version I have "app/Http/Controllers/Auth/AuthController.php".
I add into "app/Http/Controllers/Auth/AuthController.php":
protected $username = 'username';
and into "config/adldap.php":
'auto_connect' => false,
That's all, I don't have any other idea to solve this problem.

Y para conectarte y logearte con active directory que cambios se hacen??? a

I am sorry, @javiertigre , I have never used it. You will have to ask your LDAP administrator.


✨ Add additional images that can be used as background and avatar

[ ] Move current AI generated images to src/Cards/images/originals
[ ] Rename images to match new numbering format

0 - 999 AI generated images
1000 - 1999 images by @kirkone
more to come use the next 1000 block

[ ] Add Images in max resolution to src/Cards/images/originals
[ ] Add image processing to Vite

Backgrounds 1200 x 1200 px src/Cards/public/images/wallpaper
Backgrounds 420 x 420 px src/Cards/public/images/avatar

[ ] Define the best compression rate
[ ] Add src/Cards/public/images/wallpaper and src/Cards/public/images/avatar to gitignore
[ ] Add logic to support avatars in the same way as the wallpapers

https://vitejs.dev/guide/features#glob-import <= Glob import
https://vitejs.dev/guide/assets <= Dynamic asset loading

one of the many plugins, that do image resizing


fix(response-transformer) convert string value to number

Summary
Response transformer is turning every value into string, which is not something expected. This change updates response transformer to convert values into its expected type accordingly.
Issues resolved
Fix #4880

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@tkbky, perhaps we need to do this other way, as the same issue is with booleans. I don't like that we turn numbers and booleans to strings in a first place.

@bungle
It seems like we're accepting those configured values as string. Unless you're saying the original values from the response, I don't think they are turned into string by the transformer.
Still feel that we need to convert the configured values to its appropriate type somehow, and I found out it could be done in the iterator.
I'm still very new to the code base, so I could have missed few things that might lead to neater solution.

@tkbky I think the bug stars from here:
https://github.com/Kong/kong/blob/next/kong/plugins/response-transformer/body_transformer.lua#L84
I was thinking about changing this:
  for _, name, value in iter(conf.replace.json) do
    local v = cjson.encode(value)
    if v and sub(v, 1, 1) == [["]] and sub(v, -1, -1) == [["]] then
      v = gsub(sub(v, 2, -2), [[\"]], [["]]) -- To prevent having double encoded quotes
    end

    v = v and gsub(v, [[\/]], [[/]]) -- To prevent having double encoded slashes
    if json_body[name] and v then
      json_body[name] = v
    end
  end
  -- and similar changes to other cases.
  ...

to:
  for _, name, value in iter(conf.replace.json) do
    local v = cjson.encode(value)
    if vt == "string" then
      local vt = type(v)
      if v and sub(v, 1, 1) == [["]] and sub(v, -1, -1) == [["]] then
        v = gsub(sub(v, 2, -2), [[\"]], [["]]) -- To prevent having double encoded quotes
      end

      v = v and gsub(v, [[\/]], [[/]]) -- To prevent having double encoded slashes
     end

     if json_body[name] and v then
        json_body[name] = v
      end
  end
  -- and similar changes to other cases.
  ...

@bungle
Hmm, but isn't value always be string?
e.g. the config pair is in this format: "name:value", and it's matched here

@tkbky, you are right, my bad, I held a wrong assumption.

@tkbky Thanks for the PR! We have a couple of additional concerns with this PR, however. One is backward compatibility, since for users that have working setups where the data comes in and out as strings, they would have an unexpected change in behavior. Another one is whether all number-like strings should really be changed into numbers. Number conversion can be tricky, and things that don't look like numbers at first (like hexadecimal floats) that would be converted. If something like this was added, it would be safer to have a way to explicitly state the desired type.

@hishamhm
yes, this change isn't backward compatible, and those are fair concerns. I think this might turned into a feature rather than just a simple fix, e.g. change of schema.
Let me know how would you like to proceed.

yes, this change isn't backward compatible, and those are fair concerns. I think this might turned into a feature rather than just a simple fix, e.g. change of schema.

@tkbky  Adding to the schema allows it to be backwards compatible. While not ideal, I think a backwards compatible way of specifying this would be something like
{
   "json": ["foo:xxx", "bar:-1"],
   "json_types": ["string", "number"],
}

It's a bit ugly, but it's backwards compatible and solves the issue. How does that sound to you?

@hishamhm Yes, that sounds good to me.

@hishamhm I've made some changes but the build failed, can't seems to figure out why.

@tkbky The test suite failure seems unrelated (more likely a transient problem in the CI).
Thanks for the changes to the PR, they look good! Left a small comment there about a case to be handled.

@hishamhm Take a look?

@tkbky Looks great! It's now merged, thank you!
(BTW, this got us thinking that it would be cool to have it in request-transformer as well... :) )

@hishamhm I'm happy to make a PR for that.

@tkbky Great, thank you!!


Training cost: RLHF vs DPO

Hi! Is it possible for you to share any plot or table that illustrates the training cost of DPO and contrasts it with RLHF for the tasks explored in the paper? The paper does argue that DPO is computationally very simple, I am curious on compute gains obtained.

Unfortunately we don't have an exact compute cost comparison on hand... But looking roughly at the wandb run for CarperAI's PPO GPT-J summarization run (~25hrs on 8 A100s, 40GB): https://wandb.ai/carperai/summarize_RLHF/runs/lv9es38t
Looking back at some of our wandb logs, it looks like we ran DPO for about 12 hrs on 2 A100s, 80G. So very roughly, DPO is probably a little more than 4x faster than PPO. But a more comprehensive eval of compute costs would be great to have!


Getting Oops Page from Auth0

Thanks for building this! I have setup the configuration bucket as described and have the config file in there I have setup my tenant name as instructed, however when visiting the distribution I get redirected to the Oops page from Auth0, specifically its this URL,
https://.auth0.com/u/login
the previous call is to the login page,
https://.auth0.com/login?client=<CLIENT_ID>&redirect_uri=https%3A%2F%2F%2Flogincb%3Fdest%3D%252F
I do not have a route called /logincb I assume this is something your lambda? Or does this need to be a defined route? Any other ideas on what I can check or debug to get past the Oops? I never get a login prompt or anything, just a call to
/  (302)
https://.auth0.com/login?client=.... (302)
https://.auth0.com/u/login. (400) and oops
Thanks!

yes the logincb endpoint is handled by the lambda.  Sometimes the Ooops page has a small link beneath the message that will provide more detail to the config issue.

Check that in auth0 app you have added the https://websitedomain/logincb to the allowed callback
check auth0 app, Advanced > OAuth that OIDC Conformant switch is OFF (the lambda is not oidc comformant right now)

if those turn up nothing, then maybe post complete urls (with domain name and clientid redacted) along with screenshot of auth0 app setup (also with private info redacted) and I can tell you what's missing.

Yes I have the CB allowed and turned off OIDC, i just checked auth0 logs and saw this,

A user has attempted to access a login page directly. This is not supported unless a "Application Login URI" is set for your application, or a "Tenant Login URI" is set for your tenant. For more information, see: https://auth0.com/docs/universal-login/default-login-url

I'll grab the other stuff you asked for just through I'd post this incase it means anything to you. Appreciate the help.

is your auth0 application type "Regular Web Application"?  I don't have either of those URIs defined in any of the apps or tenants where we use this lambda (which admittedly should be updated to use the authorize endpoint)

URL's from DevTools/Network
https://`/ https://.auth0.com/login?client=&redirect_uri=https%3A%2F%2F`%2Flogincb%3Fdest%3D%252F
redated portion is <myhost>

If you need more from the Auth0 page just let me know. Thanks!

Just saw your other commend, no it's defined as a Single Page App as we were originally trying to do the Auth with vue but then siwtched to static files, should I change it to regular?

Yes the lambda acts like a traditional web application to Auth0, not an SPA
--
Brandon

On Aug 17, 2022, at 11:15 AM, Chad @.***> wrote:

Just saw your other commend, no it's defined as a Single Page App as we were originally trying to do the Auth with vue but then siwtched to static files, should I change it to regular?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

So I created a new Regular Web Application, changed the Client ID, Client Secret in the Config and added the callback and turned off OIDC in the application, no other changes. I still get the same Oops message. Is there somewhere I can just send you the domain and you can look at it? I'm not sure where it's getting https://tenant.auth0.com/u/login. (the /u/ piece is confusing to me).
Appreciate the assistance.

You can email the url to Brandon at experoinc com and I’ll compare the network calls I get against the sites I have and see if anything looks different
--
Brandon

On Aug 17, 2022, at 2:24 PM, Chad @.***> wrote:

So I created a new Regular Web Application, changed the Client ID, Client Secret in the Config and added the callback and turned off OIDC in the application, no other changes. I still get the same Oops message. Is there somewhere I can just send you the domain and you can look at it? I'm not sure where it's getting https://tenant.auth0.com/u/login. (the /u/ piece is confusing to me).
Appreciate the assistance.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

I googled for auth0 /u/login and landed on this page: https://auth0.com/docs/authenticate/login/auth0-universal-login
I'm guessing you have the new experience turned on.  I've only ever tested with it turned off.
Here are two options you can try:

Switch to classic login and see if that fixes the problem

or...

try this to use the /authorize endpoint instead (which is what this lambda should be doing anyway...)

change the AUTH0_LOGIN_URL to be https://YOURDOMAIN.auth0.com/login in the lambda config file
edit line 132 to look like this:

const redirectUrl = `${config.AUTH0_LOGIN_URL}?client_id=${config.AUTH0_CLIENT_ID}&redirect_uri=${encodedCallback}&response_type=code&state=${Date.now()}`;

That should add the necessary parameters to make the lambda work with the /authorize endpoint.
If the 2nd method solves your issue I'll update the lambda.

Yes, we do have new experience turned on. I used another tenant where we do not have new experience on and it worked!
Thanks for the pointer. I didn't try the second suggestion yet.
Appreciate the help!

Hi @bman654
Really appreciate this project!
I had the same issue as here but I opted to follow solution nr 2 and I changed my config and redirect line.
Auth0 login page properly shows, only after logging in I'm redirected to this url
https:///callback?dest=%2F&code=&state=
and it redirects me to my json object containing jwt token.
Can I create an issue for this?


chore(v2): make the site slightly more mobile friendly

Motivation
Make the site slightly more mobile friendly. There are still lot of things that needs to be done on the styling side, (Table of content, responsive sidebar, etc) but at least this improve the site a little bit.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
Before

After

Going to merge this out, very minimal changes & we can always fix in subsequent PR :D


Update knob.cpp

Allow dynamic max/min value changes to affect knob.

Hi, Can you please explain what this change is meant for ?

If you set min or max value with a property, when that property changes value, it is supposed to notify anything using it it's value changed so they can update anything related. QtKnobs wasn't sending the notification to the knob component to update drawing the knob's new min/max. This caused incorrect rendering to occur. This change hooks up the value changed notification point with the related method to make any relevant changes to the control, keeping them in sync. It's possible more may need this change to work well with properties, but this was what I was using.

Looks good.


etcdctl fails to add user

Issue description
etcdctl user add vault fails with the following output:
$ etcdctl user add vault
New password:
Error reading password: failed turning off console echo for password entry:
 no such file or directory

It looks like it fails to stty -echo and so crashes immediately.
Steps to reproduce
Install etcd, and type etcdctl user add vault in the console.
Technical details

System: NixOS 16.09.git.670801a (Flounder)
Nix version: nix-env (Nix) 1.11.2
Nixpkgs version: "16.09.git.670801aM"

@offlinehacker may know more

(triage) can you still reproduce this?

I can still reproduce this. I do have stty in my PATH so that doesn't seem to be the problem.

I think this is the actual culprit https://github.com/bgentry/speakeasy/blob/master/speakeasy_unix.go#L19
speakeasy, which etcdctl depends on, hard codes its stty path at /bin/stty.

For anyone who just wants to get a temporary workaround (as adding user is really just a one-time thing), you can do:
sudo ln -s $(which stty) /bin/stty

To get a working etcdctl. Just remember to delete that file afterwards.


Scrollbar if no edit or delete action

I have noticed that the action toolbar in the detail view gets a scrollbar if the edit and delete button is missing (e.g. due to missing rights).
This looks very ugly.
(It is not a question of the number of buttons.)
When I activate one of the standard actions, the scrollbar disappears .
Is it possible to fix this bug?

Same thing here...
If I leave the label empty, it even disappears completely:
Actions\MyActionName::make()->icon('pencil', label: ''),

Yep, same problem here as well. I've made a temporary fix for now. I've overridden the class responsible in my admin styles.
.icon-action-toolbar-wrapper {
  overflow-x: visible !important;
}

+1


Question about block_until_ready() on tuple

I want to time the following:
opt_state = update(itr, grad(loss)(get_params(opt_state)), opt_state).
opt_state is a Python tuple so I can't call block_until_ready() directly.
What is the best way to ensure that opt_state is consumed from the host so I get accurate time?

nothing; does containment in a native Python contain imply the values have already been consumed?
tree_map and call block_until_ready() over all the leaves of opt_state
make opt_state a JAX type and call block_until_ready() once (If so, how to convert it to JAX type?)
directly consume from the host in some other way?

I think tree-mapping block_until_ready is a decent idea. I don't think it should add noticeable overheads (based on my guess about how much time the computation itself will take).

nothing; does containment in a native Python contain imply the values have already been consumed?

No, loops won't do anything special. The only thing that blocks the Python thread (e.g. so that timers are accurate) is executing a non-jax operation on it (like printing a value, which will entail blocking until that value is ready and then also transferring it to the CPU) or block_until_ready.

make opt_state a JAX type and call block_until_ready() once (If so, how to convert it to JAX type?)

We used to have JaxTuples! But they make the system much more complex, both in terms of "front-end" transformation stuff and "back-end" low-level runtime stuff.

directly consume from the host in some other way?

That works, e.g. printing the values, but then you'd also be timing the transfer-to-host time as well as whatever operation (e.g. printing) is being performed.
So yeah I'm thinking tree_map(lambda x: x.block_until_ready, opt_state)! But also if update is jitted then you can just do tree_flatten(opt_state)[0][0].block_until_ready(), since all results of a jitted function become available at the same time.

Thanks for the very detailed reply as always @mattjj :)

No, loops won't do anything special. The only thing that blocks the Python thread (e.g. so that timers are accurate) is executing a non-jax operation on it

Interesting, good to know!

We used to have JaxTuples! But they make the system much more complex, both in terms of "front-end" transformation stuff and "back-end" low-level runtime stuff.

Haha so I'm not crazy, I remember noticing these before I think! The way JAX handles nested containers is super nice. I suppose it's one of the simpler features but honestly one of my favourite things about JAX btw.

That works, e.g. printing the values, but then you'd also be timing the transfer-to-host time as well as whatever operation (e.g. printing) is being performed.

Good point, I guess that's why block_until_ready() is useful in the first place.

So yeah I'm thinking tree_map(lambda x: x.block_until_ready, opt_state)! But also if update is jitted then you can just do tree_flatten(opt_state)[0][0].block_until_ready(), since all results of a jitted function become available at the same time.

Ah, yes update is jitted so I think this is what I'll go with, thanks for pointing out this additional simplification.


Add minimal device simulation support

It should not be necessary to have a microcontroller/Arduino present to be able to play with, prototype and develop MicroFlo programs for a device.
It needs to be possible to simulate pheripherals connected to the microcontroller. Component libraries should be able to provide elements for that, see issue #3
The MicroFlo project should host a public website where people can use the simulator without downloading it to their computer.
Proposed implementation:

Base on NoFlo UI, hook in custom simulator components and user interface modules
Use OpenShift Online for hosting service

I/O backend is in master now, still missing UI parts.


Required SaveValues  property on base report - Whse.-Shipment - Create Pick (7318, Report Request)

Dear Team,
In Base report "Whse.-Shipment - Create Pick (7318)", we require a SaveValues= TRUE property on request page.
For one of our customizations, we require to save the filters used by client last time.
We have added PerSource, PerZone, PerDestination, PerItem, PerLine and PerBin option on report (7318) and we want it to get saved on request page as per the SaveValues property.
Can you please let me know when we can expect the changes, please?
Thanks

Hi @agirdhar007, this can be significant change for some clients. Is it still active request or you've managed to find a workaround?

No response


FileNotFoundError: [Errno 2] No such file or directory: 'java': 'java'

How did you solve this problem？

How did you solve this problem？

The best way is to type that string cmd in your terminal to double check if
java is installed properly and xmls are in the right paths.
On Thu, Jan 21, 2021 at 5:48 PM WhatTong<EMAIL_ADDRESS>wrote:

How did you solve this problem？
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/howardhsu/DE-CNN/issues/12#issuecomment-765058158,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRK37YMP33GEO5IUS4N25TS3DKQTANCNFSM4JGEYFLA
.

--
Homepage: https://howardhsu.github.io/
Linkedin: https://www.linkedin.com/in/hu-xu-9852403b/
Google Scholar: https://scholar.google.com/citations?user=SaH2yWMAAAAJ
Twitter: https://twitter.com/Hu_Hsu
Email<EMAIL_ADDRESS>

The best way is to type that string cmd in your terminal to double check if
java is installed properly and xmls are in the right paths.
On Thu, Jan 21, 2021 at 5:48 PM WhatTong<EMAIL_ADDRESS>wrote:

How did you solve this problem？
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/howardhsu/DE-CNN/issues/12#issuecomment-765058158,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRK37YMP33GEO5IUS4N25TS3DKQTANCNFSM4JGEYFLA
.

--
Homepage: https://howardhsu.github.io/
Linkedin: https://www.linkedin.com/in/hu-xu-9852403b/
Google Scholar: https://scholar.google.com/citations?user=SaH2yWMAAAAJ
Twitter: https://twitter.com/Hu_Hsu
Email<EMAIL_ADDRESS>


GHxxx: Fix writing start and end progress messages

According to the docs there is no property "message" for "progressStart" and "progressFinish".

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@agc93 can you comment on this?

Sorry for the delay @gep13 , this one snuck through Octobox without me noticing. I'll try and test this out, but yes looks like that property name shouldn't be there.

@agc93 did you have a chance to test this out?

@johannesegger did you create an issue to go with this PR? As per our contributing documentation, we prefer that this is the case.  Thanks for your help!

@gep13 I didn't create an issue because this was such a trivial bug that I didn't see a need to go through these formalities. If you don't want this PR without an issue, please feel free to close it. I had to work around this a long time ago and don't really need this to be merged in.


solve the problem of repeatedly registering the BeanDefinition of the provider

What is the purpose of the change
see https://github.com/apache/dubbo/issues/7478
Brief changelog
1 fix with DubboBeanDefinitionParser.java#parse
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #7494 (ab29f56) into master (790dfce) will decrease coverage by 0.16%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #7494      +/-   ##
============================================
- Coverage     59.33%   59.16%   -0.17%
- Complexity      501      502       +1
============================================
  Files          1079     1079
  Lines         43331    43334       +3
  Branches       6318     6320       +2
============================================
- Hits          25709    25640      -69
- Misses        14785    14856      +71
- Partials       2837     2838       +1

Impacted Files
Coverage Δ
Complexity Δ

...onfig/spring/schema/DubboBeanDefinitionParser.java
66.22% <100.00%> (+0.45%)
0.00 <0.00> (ø)

...gcenter/wrapper/CompositeDynamicConfiguration.java
0.00% <0.00%> (-50.00%)
0.00% <0.00%> (ø%)

...gistry/client/migration/MigrationRuleListener.java
55.88% <0.00%> (-17.65%)
0.00% <0.00%> (ø%)

...o/rpc/cluster/support/migration/MigrationRule.java
46.42% <0.00%> (-10.72%)
0.00% <0.00%> (ø%)

...dubbo/remoting/exchange/support/DefaultFuture.java
80.34% <0.00%> (-6.84%)
0.00% <0.00%> (ø%)

...mmon/config/configcenter/DynamicConfiguration.java
68.18% <0.00%> (-4.55%)
0.00% <0.00%> (ø%)

...bo/registry/client/migration/MigrationInvoker.java
28.57% <0.00%> (-4.17%)
0.00% <0.00%> (ø%)

.../main/java/org/apache/dubbo/qos/server/Server.java
75.00% <0.00%> (-4.17%)
0.00% <0.00%> (ø%)

...pache/dubbo/registry/support/AbstractRegistry.java
78.14% <0.00%> (-3.34%)
0.00% <0.00%> (ø%)

...e/dubbo/registry/integration/DynamicDirectory.java
64.35% <0.00%> (-2.98%)
0.00% <0.00%> (ø%)

... and 20 more

Continue to review full report at Codecov.

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

@zhongxiongzeng  Please fix ut,
https://github.com/apache/dubbo/pull/7494/checks?check_run_id=2274639874

@zhongxiongzeng Please fix ut,
https://github.com/apache/dubbo/pull/7494/checks?check_run_id=2274639874

if (StringUtils.isEmpty(generatedBeanName)) {         if (ProtocolConfig.class.equals(beanClass)) {             generatedBeanName = "dubbo";         } else {             generatedBeanName = resolveAttribute(element, "interface", parserContext);         } } if (StringUtils.isEmpty(generatedBeanName)) {         generatedBeanName = beanClass.getName(); }
@AlbumenJ When generating a generatedBeanName, the priority of get interface name is higher than that of get class name, which may cause reread generatedBeanName to be generated, should remove it ?

Error details:
Caused by: java.lang.IllegalStateException: Duplicate spring bean id org.apache.dubbo.config.spring.api.DemoService
	at org.apache.dubbo.config.spring.schema.DubboBeanDefinitionParser.parse(DubboBeanDefinitionParser.java:108)
	at org.apache.dubbo.config.spring.schema.DubboBeanDefinitionParser.parse(DubboBeanDefinitionParser.java:416)
	at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)
	at org.apache.dubbo.config.spring.schema.DubboNamespaceHandler.parse(DubboNamespaceHandler.java:90)
	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1391)

Please improve test config in dubbo-config/dubbo-config-spring/src/test/resources/META-INF/spring/multiple-services-with-methods.xml:
    <!-- service configuration -->
    <dubbo:service interface="org.apache.dubbo.config.spring.api.DemoService"
                   class="org.apache.dubbo.config.spring.impl.DemoServiceImpl">
        <dubbo:method name="sayName" timeout="500" />
    </dubbo:service>

    <dubbo:service interface="org.apache.dubbo.config.spring.api.DemoService"
                   class="org.apache.dubbo.config.spring.impl.DemoServiceImpl_LongWaiting">
        <dubbo:method name="sayName" timeout="1000" />
    </dubbo:service>

不能这样改：

有没有考虑  一个服务可以指定不同version和group的情况， 改了之后就变成同一个bean了

不能这样改：

有没有考虑  一个服务可以指定不同version和group的情况， 改了之后就变成同一个bean了

all test case passed

Looking at this issue from dubbo export/subscribe service, if (group, interface, version) is the same, only one ServiceBean can be registered, and if (group, interface, version) are different, multiple ones can be registered.
Based on the above rules, we can use the three attributes (group, interface, version) to generate the id of the ServiceBean, instead of specifying the id, it will be easier to use.  For example: ServiceBean:group/interface:version

ServiceBean:group/interface:version

@kylixs Do id generation rules need to refer to url? I think this might be better；
For Examaple:  directServiceImpl&group=test&interface=org.apache.dubbo.samples.direct.api.DirectService&version=0.1

ServiceBean:group/interface:version

@kylixs Do id generation rules need to refer to url? I think this might be better；
For Examaple: directServiceImpl&group=test&interface=org.apache.dubbo.samples.direct.api.DirectService&version=0.1

For current design for Dubbo, it is NOT RECOMMENDED for users to register or refer a interface while therer have another interface have the same three attributes (interfaceClass, group, version). For provider and consumer sides, this will cause potential problem. So I think group/interface:version just enough and we can make it fast fail when users act such forbidden action in provider side.

The above solution does not solve the problem of user-defined id. It may be more reliable and simpler to check triples (group, interface, version) before export service.

why cannot find symbol:

The above solution does not solve the problem of user-defined id. It may be more reliable and simpler to check triples (group, interface, version) before export service.

what does 'user-defined id' mean ?  if duplicate bean id defined by user , an exception will be thrown
`
// this code is after generateId
    if (StringUtils.isNotEmpty(id)) {
        if (parserContext.getRegistry().containsBeanDefinition(id)) {
            throw new IllegalStateException("Duplicate spring bean id " + id);
        }
        parserContext.getRegistry().registerBeanDefinition(id, beanDefinition);
        beanDefinition.getPropertyValues().addPropertyValue("id", id);
    }

`

what does 'user-defined id' mean ? if duplicate bean id defined by user , an exception will be thrown

It is possible that the triples (group, interface, version) of the two ServiceBeans are the same, but the id is different. In this case, we should check and report an error.
In the bean definition parsing stage, checking the triples (group, interface, version) is more complicated but unreliable, and it needs to be checked again when exporting the service.
In addition, you can learn from the code of the ServiceBean name generated by @DubboReference annotation: org.apache.dubbo.config.spring.beans.factory.annotation.ServiceClassPostProcessor#generateServiceBeanName()

what does 'user-defined id' mean ? if duplicate bean id defined by user , an exception will be thrown

It is possible that the triples (group, interface, version) of the two ServiceBeans are the same, but the id is different. In this case, we should check and report an error.
In the bean definition parsing stage, checking the triples (group, interface, version) is more complicated but unreliable, and it needs to be checked again when exporting the service.
In addition, you can learn from the code of the ServiceBean name generated by @DubboReference annotation: org.apache.dubbo.config.spring.beans.factory.annotation.ServiceClassPostProcessor#generateServiceBeanName()

ok, thanks

This doesn't seem to be easy to solve

In the export stage, it is impossible to determine whether the id is user-defined or automatically named, so that repeated bean export cannot be prevented.
Duplicate beans will be automatically numbered during the parsing phase, for example, DemoService2, and the id of ServiceConfig will be consistent with it

Maybe it is the only way to solve it in the parse stage

通过对失败测试用例的观察，发现如下问题：
在一个jvm里面，先通过DubboBootstrap.getInstance()获取dubboBootstrap，然后start()开启服务，然后stop()关闭服务。此时一切正常。
再通过DubboBootstrap.getInstance()获取dubboBootstrap，此时dubboBootstrap的started为false，destroyed为true，再次start()开启服务，然后关闭服务，此时服务不能被正常关闭，因为destroyed已经被置为true。
EG如下，可以在最后一行debug观察destroyed字段的值
`
    DubboBootstrap dubboBootstrap = DubboBootstrap.getInstance();
    dubboBootstrap.application("demo");
    dubboBootstrap.start();
    dubboBootstrap.destroy();
    dubboBootstrap = DubboBootstrap.getInstance();
    dubboBootstrap.start();
    dubboBootstrap.destroy();

`

Unit tests fails:
Error:  Errors:
Error:    ReferenceAnnotationBeanPostProcessorTest.testGetInjectedMethodReferenceBeanMap » IllegalState
Error:    ReferenceAnnotationBeanPostProcessorTest.testGetReferenceBeans » IllegalState ...
Error:    DubboNamespaceHandlerTest.testDefaultProtocol:122 » IllegalState There are mul...
Error:    DubboNamespaceHandlerTest.testDuplicateServiceBean:226 » IllegalState There ar...
Error:    DubboNamespaceHandlerTest.testProviderXml:82 » IllegalState There are multiple...
Error:    DubboNamespaceHandlerTest.testProviderXmlOnConfigurationClass:73 » IllegalState
Error:    DubboNamespaceHandlerTest.testTimeoutConfig:158 » IllegalState There are multi...

It may be necessary to reset DubboBootstrap in the unit tests:
@BeforeEach
public void beforeTest(){
     DubboBootstrap.reset();
}

And add the reset method to DubboBootstrap ( from Dubbo 3):
    /**
     * Try reset dubbo status for new instance.
     * @deprecated  For testing purposes only
     */
    @Deprecated
    public static void reset() {
        reset(true);
    }

    /**
     * Try reset dubbo status for new instance.
     * @deprecated For testing purposes only
     */
    @Deprecated
    public static void reset(boolean destroy) {
        if (destroy) {
            if (instance != null) {
                instance.destroy();
                instance = null;
            }
            ApplicationModel.reset();
            MetadataReportInstance.destroy();
            AbstractMetadataReportFactory.clear();
            ExtensionLoader.resetExtensionLoader(DynamicConfigurationFactory.class);
            ExtensionLoader.resetExtensionLoader(MetadataReportFactory.class);
            ExtensionLoader.destroyAll();
        } else {
            instance = null;
            ApplicationModel.reset();
        }
    }

Codecov Report

Merging #7494 (7a33e89) into master (c373030) will decrease coverage by 0.06%.
The diff coverage is 84.61%.

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

@zhongxiongzeng There are still some failure test cases.

@AlbumenJ  hi~ , all ut have passed.
for the integration test , all changes in this pr :https://github.com/apache/dubbo-samples/pull/308 . could you pls help me to fix the  integration test.
thanks

UT is passed, but IT is failed.
https://github.com/apache/dubbo/pull/7494/checks?check_run_id=2473480361

Failed tests: 1
jobs/testjob_1-result-java8.txt:[9/29] [dubbo-samples-configcenter-multiprotocol:1/1] TEST FAILURE: Run tests timeout, version: -Ddubbo.version=2.7.11-SNAPSHOT -Dspring.version=4.3.30.RELEASE, please check logs: /home/runner/work/dubbo/dubbo/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/target/logs

Error: Exception in thread "main" java.lang.IllegalStateException: There are multiple ServiceBean instances with the same service name: [ServiceBean:/org.apache.dubbo.samples.configcenter.api.DemoService], instances: [<dubbo:service beanName="dubbo2DemoService" />, <dubbo:service beanName="dubbo1DemoService" />]. Only one service can be exported for the same triple (group, interface, version), please modify the group or version if you really need to export multiple services of the same interface.
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.exportService(DubboBootstrap.java:1078)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$exportServices$14(DubboBootstrap.java:1068)
	at java.util.HashMap$Values.forEach(HashMap.java:981)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.exportServices(DubboBootstrap.java:1052)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:877)

UT is passed, but IT is failed.
https://github.com/apache/dubbo/pull/7494/checks?check_run_id=2473480361

Failed tests: 1
jobs/testjob_1-result-java8.txt:[9/29] [dubbo-samples-configcenter-multiprotocol:1/1] TEST FAILURE: Run tests timeout, version: -Ddubbo.version=2.7.11-SNAPSHOT -Dspring.version=4.3.30.RELEASE, please check logs: /home/runner/work/dubbo/dubbo/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/target/logs

Error: Exception in thread "main" java.lang.IllegalStateException: There are multiple ServiceBean instances with the same service name: [ServiceBean:/org.apache.dubbo.samples.configcenter.api.DemoService], instances: [<dubbo:service beanName="dubbo2DemoService" />, <dubbo:service beanName="dubbo1DemoService" />]. Only one service can be exported for the same triple (group, interface, version), please modify the group or version if you really need to export multiple services of the same interface.
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.exportService(DubboBootstrap.java:1078)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$exportServices$14(DubboBootstrap.java:1068)
	at java.util.HashMap$Values.forEach(HashMap.java:981)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.exportServices(DubboBootstrap.java:1052)
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:877)

yeah, it's need to modify IT config file, because it cased two duplicate service beans to be exposed , i wanna fix it in this pr https://github.com/apache/dubbo-samples/pull/308 , could you pls help me to fix IT? thanks

@AlbumenJ hi~ , all ut have passed.
for the integration test , all changes in this pr :apache/dubbo-samples#308 . could you pls help me to fix the integration test.
thanks

done.

All tests have passed. Thanks for @zhongxiongzeng and @kylixs hard work.

All tests have passed. Thanks for @zhongxiongzeng and @kylixs hard work.

exciting , thanks for @kylixs hard work

Thanks for @zhongxiongzeng hard work, well done.


Payee info should match across profile, payout method, and tax form

For purposes of compliance, accounting, taxes, and AML best practice, the ID of the person or entity should match across the payee profile, payout bank account, and tax form (if required).
Right now a lot of people submit expenses under their personal profile for payout to their company bank account, for example, and then are sent a tax form associated on our system to their personal profile, but they fill it out for their company.
This has been going on for a long time, since up until recently we didn't even let people select an organization profile as the payee for expenses. But now that we do, I think we should consider how we can better design our system to support best practice in this area.
We have a loose policy of checking the payout bank account matches the payout profile, but getting users to go create a new organization profile, then edit their expense to select that, then re-enter the payout info for the new org profile is a huge pain for everyone.
Hosts really shouldn't be paying out expenses to some random entity with no profile on Open Collective, but our current design makes this actually the default pathway for anyone who signed up as an individual but expenses through a company.
Also related to #3323 and #3278
I'm going to ask for some advice from the accountants about how critical this is, so we can prioritise it accordingly. If it's no big deal as long as the submitter profile is genuinely associated with the company we're paying, maybe it's ok if people continue using their personal profiles, but if it's a bad problem we'll have to address it.

The accountant said:

We want to avoid having the pay to say “Dominick” and we pay The A Team or the reverse, the “pay to” is a business and the bank account is theirs personally. There is a tremendous amount of integrity we need to have (as we are working with financial transactions) and the Pay To and the Bank Account must ALWAYS match; accordingly, the W9 we have file should be for the same individual or legal business entity.

I think we need to get tighter on this in terms of our operational policies for OCF and OSC, i.e. not process the payment if the payee IDs aren't correct. We can continue to do this manually and require users to go back and edit expenses. But a technical solution would be helpful and also support smaller hosts who don't have as deep an understanding of this stuff or lack capacity to check as carefully.
If we were going to have a technical solution, it could be something like more closely associating the payee profile and payout method, so if your profile is your personal name, and you go to fill out your payout bank account details, it's got your name there already and you can't change it, and you are guided to instead create a profile with the correct name to match the payout method, e.g. a company profile. To make this a nice experience I think we'd need some design thinking because it would be easy to make this very annoying for users.
A middle ground solution might be to empower platform admins (or host admins?) to create org profiles with a payout method and assign them to users, so at least we don't have to annoy users as much and we can do the work for them. We have all the info we need to do that when someone gives us company payout details under their personal profile. Then we can just say "I did this for you, next time select your company profile from the dropdown".

In another issue the point was also made that because we treat the payout method owner and pay to profile independently, we end up needing to ask them to fill out their address twice right next to each other on the expense form. If we forced the profiles to match as they should, we could pull in the data from one and apply it to the other.

I wanted to add a related question we may want to address. As we do allow people to use pseudonym accounts (mostly to address any privacy issues especially relevant for groups working with vulnerable communities - homeless, mental wellbeing etc) in some instances when payout method is chosen is a PayPal, it can be difficult to verify the id when the email on PayPal is a rather generic one rather one linked to the individual actual name. I find that verification of personal details in that instance can be tricky.

just to pick up on this,

in some instances when payout method is chosen is a PayPal, it can be difficult to verify the id when the email on PayPal is a rather generic one rather one linked to the individual actual name.

I note that in the instance where we have a user operating under a pseudonym we often have their details in the user table. So I wonder whether we can show real user data on dahsboards for hosts and pseduonyms elsewhere.

This kind of thing is going to be hard to design for. My legal name is my name, but my bank account name is 'my name + partners name' because it's a joint account.


get rid of redundant class

If you find yourself creating a class just to call a function, you probably just needed a function... Also, Enums are better than dictionaries for holding an immutable table as in this demo, and dataclasses make the init declaration for you.

I though the same, he needs to clear why it's working like that.

Though these points are valid, I'm leaving the code mostly as is so that it matches the video.


MANIFEST.in may not be needed with setuptools_scm

I have stumbled upon some information that MANIFEST.in is no longer needed when using setuptools_scm. This is because setuptools_scm, by default includes all version-controlled files in the sdist.
To learn more about this see the following:

Helpful blogpost
Stack overflow thread
GitHub issue

Thought @adamltyson ? Getting rid of MANIFEST.in would mean that all git-tracked files (and only those) are included in the sdist. Is that a sensible thing to do?
If we don't get rid of it, I am not sure we still get the behaviour we want, due to how this interacts with setuptools_scm (see the linked issue)

I think we need to look into this, because there's lots of stuff that's in the repo that's shouldn't be in the sdist (test data in particular).
I read the blog that states everything in the repo should be in sdist, but I don't agree. The sdist isn't used for development, it's used for installation when there's no wheel available.
I think we'll always need to tool to determine what gets packaged and what doesn't.


fix(es/fixer): preserve paren in more opt call

Description:
I'm starting to think the introduction of OptCall is a mistake.

BREAKING CHANGE:

Related issue (if exists):
closes #5109

This deals with more expr -- await, arrow and function expr as callee.

This deals with more expr -- await, arrow and function expr as callee.

It would be better with more unit tests.


[ChakraCore] Add Linux support

Describe the pull request

What does your PR fix?
Fixes #15408

Which triplets are supported/not supported? Have you updated the CI baseline?

Linux, Windows

Does your PR follow the maintainer guide?

I am still working on this PR
If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

@Pospelove, could you apply the following patch to fix the vcpkg.json file?
format.diff (4).zip

@Pospelove, thanks for your PR!
x64-linux in CI pipeline failed with following error, it looks clang is required to build chakracore on linux, if it could be replaced with depending on llvm?
CMake Error at scripts/cmake/vcpkg_find_acquire_program.cmake:535 (message):
  Could not find clang.  Please install it via your package manager:

      sudo apt-get install clang
Call Stack (most recent call first):

@PhoebeHui It seems that ChakraCore requires clang on Linux
From instructions:
su
apt-get update
apt-get dist-upgrade
apt-get install -y git build-essential cmake clang libicu-dev

@Pospelove, could you update the baseline version via './vcpkg x-add-version --overwrite-version chakracore"?

PR breaks Windows build. ChakraCoreWindows.h was added to upstream, but not handled by portfile. Please do not merge until I fix it.

It works


Draw Path to ARPoint from current Location

Thanks for this great work and this so much help for my work.
Is there a way to draw the path to apoint likes on google map?

@ShehanMadushanka Check this, it can help you.
https://code.tutsplus.com/tutorials/android-sdk-augmented-reality-location-distance--mobile-8004


added drawing arched line

Same as "draw_arc" but without direct internal lines going to the center position.

Sorry for taking so long to get back with you but was on holiday in June and now trying to catch up. Do you have a test script I can use to test with your pull request.

Did some testing and seems to be working fine. I think it would be better placed if it followed the draw_arc function instead of the draw_angle_line. I want to make sure your commit is captured so better if you move it than me.


Merge from upstream

References to other Issues or PRs

Have you read the Contributing Guidelines?
Brief description of what is fixed or changed
Other comments

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 7 committers have signed the CLA.:x: johanbrandhorst:x: torkelrogstad:x: dependabot[bot]:x: physcat:x: tanyabouman:x: zoido:x: FlymeDllVaYou have signed the CLA already but the status is still pending? Let us recheck it.


Use any random available port when starting ChromeDriver

When I launch tests that use Chrome on multiple devices at the same time, all but one fails. This is because all the ChromeDriver sessions are trying to start on the same port, 9515.
I suggest that Appium uses the first available random port found for each ChromeDriver session. This will enable parallel Android browser tests on the same machine with no extra effort from users' POV.

This seems like a good idea! Thanks for taking it on, too. See my comment on your PR.


Installer .exe throws JS exception: "Could not find module node-loader"

Description
When trying to run the Proxyman.Setup exe for the last two releases (version 2.19.0 and version 2.18.0) the Javascript runtime within the installer will throw an exception and an alert dialog box prevents successful install.
The error message mentions not being able to find a module "node-loader" in the setup program's local data.
This error does not happen with the 2.17.0 release.
Steps to Reproduce

Download Proxyman.Setup.2.19.0.exe or Proxyman.Setup.2.18.0 on a Windows 11 machine from either the Releases page of this repository or the Proxyman for Windows site.

Double-click or run the downloaded Setup program.

Wait for it to run through the installation task and throw the exception

Current Behavior
The Setup program cannot complete its tasks. It will leave three open threads running in the background on Windows, but it will not correctly install Proxyman.
Expected Behavior
A successful installation of Proxyman on the Windows machine.
Environment

App version: 2.19.0 or 2.18.0
Windows/Linux version: Windows 11

I can't reproduce this issue, I can install and run the application fine on Windows 11.
I test with version 2.19.0 and 2.18.0

I can't reproduce this issue, I can install and run the application fine on Windows 11. I test with version 2.19.0 and 2.18.0

Ok, I will try and narrow it down over the next week or so. It is persistent behaviour on the client Windows 11 machine right now whenever upgrading to any version beyond 2.17.0


update formio version for met-web

Update formio version from 1.0.11 -> 1.0.12
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #2109 (b352e02) into main (5a3cb83) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2109   +/-   ##
=======================================
  Coverage   69.53%   69.53%
=======================================
  Files         459      459
  Lines       14687    14687
  Branches     1129     1129
=======================================
  Hits        10213    10213
  Misses       4284     4284
  Partials      190      190

Flag
Coverage Δ

metweb
62.17% <ø> (ø)

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


Minneapolis Go Meetup October

Event
Title: Minneapolis Go Meetup, October
Date: Wednesday, Oct. 16, 2019
Time (include time zone): 6:45 PM CST
Duration: Approx 1 hour, 15 minutes
Description: We will live broadcast our meetup.  https://www.meetup.com/Minneapolis-Ultimate-Golang/events/233851201/
Broadcast Agenda:

6:45pm Announcements
7:00pm - 7:30pm - Eric Sorrell - Let Me Paint You a Picture: Go's image tools
7:30pm - 8:00pm - Cory LaNou - Testing and benchmarking in 1.7

List any pre-requisites:
Limit number of attendees to (our plan allows up to 100):
What type is your event (pick one that sounds more like it):

[ ] Webinar
[ ] Class/Tutorial
[x] Presentation
[ ] Demo

Presenter(s)
Eric Sorrell
Cory LaNou
All presenter(s) subscribed to our Remote Meetup Go channel?

[ ] yes

Enter below the name of each presenter so we can find them on the channel:
Moderator(s)
We recommend that you have 1-4 moderators with some knowledge on the topic so they can help with the chat Q&A during the session. Keep in mind also that you will have the ability to choose to turn off the Q&A during your presentation and open it at the end.
All moderator(s) subscribed to our Remote Meetup Go channel?

[ ] yes

Enter the name of each moderator below so we can find them on the channel:

@corylanou can you message me the presenters' emails so I can setup a BigMarker event page and send out the speakers invite? I'm gunjan5 on gophers slack

Bit of a quibble - day of month and year look swapped
I'm thinking you mean Wednesday, October 19th 2016 ?

doh, good catch!


[groups] Added default "operator" and "user manager" groups.

Implements and closes #31

Coverage decreased (-1.0%) to 95.215% when pulling 53f822bb0feb944f2730ba7a45805b3527192397 on R9295:master into 761cd069cc471adfe65050b4f7c2dd8d6b7ca637 on openwisp:master.

PS: also rebase on the current master when you can


Translating module to Godot 3

I am translating your module to Godot 3, so far I have been able to repair all the errors, however in this below I am not understanding how to fix. You who have more experience, could you help me?
[ 19%] Compiling ==> modules/gdnet/gdnet_event.cpp
In file included from core/method_bind.h:375:0,
                 from core/class_db.h:33,
                 from core/reference.h:33,
                 from modules/gdnet/gdnet_event.h:6,
                 from modules/gdnet/gdnet_event.cpp:3:
core/method_bind.gen.inc: In instantiation of 'void MethodBind0R<R>::ptrcall(Object*, const void**, void*) [with R = PoolVector<unsigned char>&]':
modules/gdnet/gdnet_event.cpp:34:1:   required from here
core/method_bind.gen.inc:229:22: error: 'encode' is not a member of 'PtrToArg<PoolVector<unsigned char>&>'
   PtrToArg<R>::encode(  (instance->*method)() ,r_ret)  ;
   ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core/method_bind.gen.inc: In instantiation of 'void MethodBind0R<R>::ptrcall(Object*, const void**, void*) [with R = GDNetEvent::Type]':
modules/gdnet/gdnet_event.cpp:34:1:   required from here
core/method_bind.gen.inc:229:22: error: 'encode' is not a member of 'PtrToArg<GDNetEvent::Type>'
scons: *** [modules/gdnet/gdnet_event.x11.tools.64.o] Error 1
scons: building terminated because of errors.

gdnet for Godot 3.0:
gdnet-godot-3.0.zip

I'm afraid I'll be of limited assistance. I don't know very much about Godot 3 and the error you are getting is unfamiliar. You may also run into problems with the ABI. Godot 3 officially includes a modified version of ENet as a dependency, which means if you translate and compile the GDNet module for ENet 3 as is I think you will get duplicate symbol errors. The solutions are to: use the modified version of ENet somehow or rename ENET* and enet* prefixes to something else (you could write a shell script that would do this). Anyway, I'm glad someone is picking up the torch and GDNet will live on! Please let me know if you have any more questions and I will do my best to answer.

I'm asking for help in godot chat too. It's a mistake I do not know either, and I can not find where it's coming from. They told me this below, maybe you can understand, I'm not sure if that's it:
I think you're trying to bind a method the parameters of which can't be converted to Variant
try changing PoolVector<unsigned char>& to PoolVector<uint8_t> or const PoolVector<uint8_t>&

I haven't tried passing Variant directly, but I don't think it will work (for binding)
What methods do you use that return Variant? An Array or such?

Just echoing comments made over IRC that I will be of limited utility since they seem to have changed a lot in Godot 3.

I realized that this second error:
core/method_bind.gen.inc: In instantiation of 'void MethodBind0R<R>::ptrcall(Object*, const void**, void*) [with R = GDNetEvent::Type]':
modules/gdnet/gdnet_event.cpp:34:1:   required from here
core/method_bind.gen.inc:229:22: error: 'encode' is not a member of 'PtrToArg<GDNetEvent::Type>'

comes from the method:
PoolByteArray& get_packet() { return _packet; }

I managed to compile, but at the end of the compilation I received an error, which I think is the reason you said, the duplication "Enet":
.../thirdparty/enet/godot.cpp:44: multiple definition of enet_initialize'
`
and under it various errors, which may be for the same reason.

Module apparently translated to godot 3. Tested with external server and running communication on both sides. Follow the zip file below:
gdnet-godot-3.0.zip

(Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :( (Since everyone keeps closing this, I am going to continue to post it until one thread remains visible for discussion, no need to censor)

Lead developer sent this message after a user was giving his honest feedback via this reddit thread.
They also said (I kid you not) -- giving feedback is "bullying",  a "professional whiner", and "ranting". Reduz's passive aggressive tone and insulting behavior is rampant there.  I already terminated my patreon account because of this, and not saying you should either (FLOSS projects) are great, however, for the lead developer to act like this towards people giving feedback.. is not okay!
Let me re-iterate, not saying that you should stop giving feedback, but I just want this message to be seen across github and reach as far as possible. Because this kind of communication and how the lead developer treats a regular Godot developer is not right at all. I've never seen this behavior from a FLOSS project lead developer.  It's a shame, because the guy giving feedback is just a random person anyway, and the way the project managers and lead developers took it so personally like it was an attack (when it wasn't), means the lead developers/contributors are possibly not viewing your issues with the right mindset.
Also, after reading the last paragraph from this post by akien

From here on, we will avoid responding to xxx's threads on the various Godot communities, and focus instead on the huge amount of constructive feedback and bug reports that we get from other users. This will likely overlap with some of the issues mentioned above, which will thus be fixed eventually, but we won't accept being bullied into working on them now when we have different priorities. Users are free to disagree with our priorities, but in the end the contributors are the ones making the call.

He's saying they will now favor/prioritize issues based on the user reporting it, and not the issue itself. (Extreme prejudice), which will not be good for the project because the issue should be irrelevant to the user reporting it. Just because if a user who has a snotty attitude that is reporting a huge client crash error, doesn't mean that client crash error should not be taken lightly.
He's also stating that anyone giving hard feedback is now "bullying" them. Which is not true whatsoever.
Just wanting to post this to get the word out there, hopefully some things change. @reduz @akien-mga  This is just unbelievable :(


firefox: Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

I am trying to use Firefox in a non-NixOS environment (Ubuntu 14.04.2 LTS), but it fails to locate the murrine theme engine.
From strace:
open("/home/user/.gtkrc-2.0", O_RDONLY) = 6
open("/usr/share/themes/Ambiance/gtk-2.0/gtkrc", O_RDONLY) = 7

(firefox:15975): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine",

~/.gtkrc-2.0 contains:

include "/usr/share/themes/Ambiance/gtk-2.0/gtkrc"

And this one is based on the murrine engine.
I have installed gtk-engine-murrine-0.98.2, which does not make a difference.

This can be fixed by setting:
GTK_PATH=~/.nix-profile/lib/gtk-2.0

The firefox wrapper contains this line:

export GTK_PATH=$GTK_PATH${GTK_PATH:+:}/nix/store/v6advmc32999b2ckg43v9q8klz2agdc2-libcanberra-0.30/lib/gtk-2.0/

This patch makes Firefox pick up the theme engine's path.
This is probably not the correct approach, but maybe in the right direction?
diff --git i/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix w/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
index 81609ef..9eab270 100644
--- i/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
+++ w/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation {

   buildInputs = [ pkgconfig intltool gtk2 ];

+  # For pkgs/applications/networking/browsers/firefox/wrapper.nix.
+  passthru = {
+    gtkModule = "/lib/gtk-2.0/";
+  };
+
   meta = {
     description = "A very flexible theme engine";
     license = stdenv.lib.licenses.lgpl3;
diff --git i/pkgs/top-level/all-packages.nix w/pkgs/top-level/all-packages.nix
index 04a592a..0c11971 100644
--- i/pkgs/top-level/all-packages.nix
+++ w/pkgs/top-level/all-packages.nix
@@ -11628,7 +11628,7 @@ let
       libs = [ gstreamer gst_plugins_base ] ++ lib.optionals (cfg.enableQuakeLive or false)
              (with xlibs; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]);
       gst_plugins = [ gst_plugins_base gst_plugins_good gst_plugins_bad gst_plugins_ugly gst_ffmpeg ];
-      gtk_modules = [ libcanberra ];
+      gtk_modules = [ libcanberra gtk-engine-murrine ];
     };

   retroArchCores =

Well, having absolute references to /usr/* paths in your config files isn't a good thing. However, I don't know myself how gtk theme engines can be located (with nix or generally). @lethalman might know better.

@vcunat
IIRC the path in passthru is not absolute, but relative to the derivation.
(regarding my patch above)

@blueyed: I meant the reference from your ~/.gtkrc-2.0.

This is quite an old issue. If the issue is still present, please reopen.


Fixes Custom Widgets From Not Being able to to used

Fixes Custom Widgets From Not Being able to be used. We use it to display our custom pid stuff and stuff about swerve

I'm gonna close this PR since the issue this is addressing was resolved, but as for the PR itself, I don't believe this would fix the issue of the widgets not appearing. The primary widget model gets disposed to prevent having a dangling subscription (when a subscription isn't being used by any widget or service).
I do appreciate your work on this though, thanks for submitting the PR!


Build bulk VM using Snaphhot and Marketplace images

Team, Thanks for sharing the details, Need you help to create VM in builk using terraform with custom snapshot or marketplace images.
As per tutorials, understand to create resources which will use for azure VM, but need sample terraform code  to provision bulk vm.
Please do the needful.
Thanks
Raj Gupta

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

ID: 744c0642-d2d6-1db2-a208-d39777129d70
Version Independent ID: 6cf61e7f-f58a-e738-bb3f-cc8a69ce3d24
Content: Use Terraform and create an Azure VM scale set using HCL.
Content Source: articles/terraform/terraform-create-vm-scaleset-network-disks-hcl.md
Service: virtual-machines-linux
GitHub Login: @dcaro
Microsoft Alias: dcaro

@gupraj Thanks for the feedback! We are currently investigating and will update you shortly.

@gupraj can you elaborate more on your ask? Creating in Bulk can mean a few things.
We have some examples of creating VMSS from custom images
https://azure.microsoft.com/en-in/resources/templates/201-vmss-windows-customimage/

Thanks @MicahMcKittrick-MSFT
I have requirement to build 100+ azure VM using marketplace images  and custom snapshot images. I waned to build using dynamic terraform script. Do we have choice to create terraform and pass some value like Shape, resource group, sec rule.. and images in run time.. so we can use the same to build our VM with user input or with variable reference. Please share some sample code if available.
Thanks!


Fixed a few issues with out of core sort

This fixes an off by one error when and entire batch is already sorted. It fixes an issue when inserting batches into the pending queue, and it fixes an issue when sorting only rows, no columns. Any of what could lead to data corruption.

build

build

build

build

@gerashegalov is it OK if I merge this? or do you want me to make changes because the memory model is not OK