Added support for overriding auto-generated nicknames in route config

I thought it'd be helpful to be able to override the automatically generated nickname with one provided in the route.
For example:
server.route({
    method: 'GET',
    path: '/user/{username}/friends/',
    config: {
        plugins: {
          'hapi-swagger': {
            nickname: 'getFriendsByUsername'
          }
        },
        handler: function(request, reply){
          reply('ok');
        },
        description: 'Get friends for username.',
        notes: ['Returns friends for the provided username.'],
        tags: ['api'],
        validate: {
          params: {
              username: Joi.string()
                      .min(3)
                      .max(10)
                      .required()
                      .description('the username')
          }
      }
    }
});

@glennjones Any interest at taking a look?

Sorry its taken a while to get back to you, took xmas and new year break away from code.
Happy to add your PR, but was wondering what your use case is. If its a common one it maybe worth me updating the readme.md with use case or example for nickname.

No worries. Figured that was the case! Hope you had a great holiday :) Thanks for the merge.

My use case was when using a swagger client to access my swaggerized api, sometimes the nickname is a bit verbose or not friendly. For example,
api.users.usersusername_get1({username: 'foo'}). If you set the nickname, the method could be accessed via api.users.getUserByUsername({username: 'foo'})


Support a directory with protos as input for gRPC gen command

Description:
ATM, gRPC CLI only supports one proto file as an input for bal grpc command.
bal grpc --input protos/app_service.proto --output api

Suggestion
Support a dir as an input or multiple protos with wildcard support.

Can you a bit more about the use case? Normally protobuf supports providing one root definition and multiple dependent proto files. Do you want to run the generate command for all the proto files in a directory?

Can you a bit more about the use case? Normally protobuf supports providing one root definition and multiple dependent proto files. Do you want to run the generate command for all the proto files in a directory?

Yes, run the generate command for all the proto files in a directory.

@MadhukaHarith92 shall we check the possibility?


add webgl2 support

just add support for webgl2 context.

just several lines to add the webgl2 context.
Will not lead to other problems in the whole program? Something like identifying the buffers?

This feature is very important, this project still in maintenance?

Is there anybody who can merge it into master and publish a new version of app in google chrome store? thanks!


Error when exporting vertex coordinates

When exporting a model of type "Plane" GL-coordinates should be: (0.0, 0.0, 0.0) - (1.0, 1.0, 0.0), but the following are obtained (vertex coordinates are identical to these):
"max":[
   1,
   1,
   2.1855694143368964e-08   //   There should be a zero here
],
"min":[
   0,
   0,
   -2.1855694143368964e-08   //   There should be a zero here
],

by the way, when exporting this model to OBJ format, these coordinates come out as -0.0.

Hello,
Don't thing there is any "error" here. This is due to roundoff error in floating point arithmetic.
The json is still valid with this scientific notation, and glTF validator does not complain about it.
What kind of issue do you get because of that?


SFDX Failing to Deploy to Org

Summary

I have tried uninstalling/reinstalling.
I have also tried using a previous version.
It is similar to this: https://github.com/forcedotcom/cli/issues/2935
However, sf org list works fine and using the sf commands in terminal also deploys/retrieves fine.
Steps To Reproduce
Updated to the latest CLI (including trying the nightly update).
While trying to deploy to org. retrieve from org I get the above error.
Expected result
Should have deployed to org without issue
Actual result
Unable to deploy to org.
System Information
Using terminal in vscode (powershell)
{
  "architecture": "win32-x64",
  "cliVersion"<EMAIL_ADDRESS>  "nodeVersion": "node-v20.15.0",
  "osVersion": "Windows_NT 10.0.22631",
  "rootPath": "C:\\Users\\Lizardo\\AppData\\Local\\sf\\client\\2.50.5-f8ab084",
  "shell": "cmd.exe",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 3.1.6 (core)",
    "@oclif/plugin-commands 4.0.6 (core)",
    "@oclif/plugin-help 6.2.5 (core)",
    "@oclif/plugin-not-found 3.2.10 (core)",
    "@oclif/plugin-plugins 5.3.4 (core)",
    "@oclif/plugin-search 1.2.2 (core)",
    "@oclif/plugin-update 4.4.7 (core)",
    "@oclif/plugin-version 2.2.6 (core)",
    "@oclif/plugin-warn-if-update-available 3.1.8 (core)",
    "@oclif/plugin-which 3.2.6 (core)",
    "@salesforce/cli 2.50.5 (core)",
    "apex 3.2.4 (core)",
    "auth 3.6.33 (core)",
    "data 3.5.5 (core)",
    "deploy-retrieve 3.9.13 (core)",
    "info 3.3.17 (core)",
    "limits 3.3.17 (core)",
    "marketplace 1.2.17 (core)",
    "org 4.3.4 (core)",
    "packaging 2.7.0 (core)",
    "schema 3.3.19 (core)",
    "settings 2.3.8 (core)",
    "sobject 1.4.19 (core)",
    "source 3.5.3 (core)",
    "telemetry 3.6.1 (core)",
    "templates 56.3.2 (core)",
    "trust 3.7.13 (core)",
    "user 3.5.17 (core)"
  ]
}

doctor:

Additional information
Error: Starting SFDX: Deploy This Source to Org
Cannot read properties of undefined (reading 'entries')

I'm closing this, and continuing to track in #2935


Raise clang-format requirement to version 14

Subject of the issue
https://github.com/SFML/SFML/compare/master...ChrisThrasher:SFML:clang-format-14
Above is a commit that takes advantage of some clang-format-14 features. The big one is related to qualifier sorting. Adding that check actually found a few minor inconsistencies. Because we now use one release of clang-format it also let us drop 2 CI jobs for versions 12 and 13.
https://releases.llvm.org/14.0.0/tools/clang/docs/ClangFormatStyleOptions.html
Here are the docs for clang-format-14. We can use anything in here. See the labels that note the version that added a given feature. Search for "clang-format 13" or "clang-format 14" to find new features we can start using.
https://github.com/SFML/SFML/pull/2159#discussion_r916304612
As Bromeon mentioned in the original clang-format PR, we may also consider using PackConstructorInitializers which makes the code better align to the style that was present before we started using clang-format.

Why clang-format-14 now? In the original PR I pushed for version 12 in part to have seamless compatibility with Ubuntu 20 LTS which ships with clang-format-12 and was still commonly used in mid 2022 when this was merged, just a month after Ubuntu 22's release. Over time that OS is being used less and I don't believe any regular contributors are using it so it's safe to upgrade to something newer. Perhaps it was never a worthwhile version to support in the first place ¯\_(ツ)_/¯.
On top of that, there is reason to consider upgrading to clang-format-15 or 16 in the near future. Version 16 is what macOS (via brew) and Windows (via Visual Studio) provide so we're causing our regular maintainers on those OSes to either manually format code or install an older clang-format release to format the codebase. That inconvenience plus the new features in newer versions are compelling. Dropping version 12 and 13 is a small step towards that goal.
Why not support clang-format-14 and all newer versions? Sadly clang-format-15 on onwards changes how vertical alignment rules are handled. This results in code that formatted differently between both versions. clang-format does not claim to have perfect compatibility between versions. It was a nice coincidence that versions 12 through 14 all produce the same code for SFML in particular but that's not a promise we can rely on. Going forward I expect us to continue to have to use a single version of clang-format at a time unless we're willing to remove those vertical alignment rules and potentially other rules as well.

Hi. I want to resolve this problem. I have only one question  because this is my first contribution - how much time do I have to solve this problem?

I've already done the work. It's just a matter of getting the rest of the SFML to agree.

Ok. Thanks for fast answer :)


The Privacy and Security  - Clear Browsing Data- Advanced - Clear all Time - All Options Checked - Clear Crashes Chromium

Checking them 1 at a time does not crash.
Repeated Attempts have the same outcome.
Version 100.0.4896.60 (Developer Build, ungoogled-chromium) (64-bit)
Edition	Windows 10 Home
Version	21H2
OS build	19044.1645
Experience	Windows Feature Experience Pack 120.2212.4170.0

You mean like this?
But I cannot reproduce this issue.

yes, that is exactly it.
Do you have a simple way to generate a debug log I will do it.

There doesn't seem to be an easy way to generate logs for debugging AFAIK.
Maybe you can try and see if it crashes on a clean profile (e.g. set --user-data-dir).

Its really not a big deal and I can clear them one at a time.
Since I seem to be the only one effected I will troubleshoot and report back,
I'm comfortable in command line and terminal just lazy and haven't messed with browsers much.
I will see what I can find for debugging log and find out what's up.
Ill also try a clean profile although this was a clean install. And I verified the SHA256.
Probably safe to say an extension or something.
When I get a minute Ill remove extensions 1 by 1 first as that would be the fastest.
thanks for your time


customize beego 404

Coverage decreased (-0.05%) to 55.179% when pulling a1c20dd6666dbfabf3d56dcec6618c430fb1ce4f on wy65701436:master into 0b1f7664c4fcfe8913221ef477fcebddc6848940 on vmware:master.

Coverage increased (+0.002%) to 55.226% when pulling 1bbe14fc9e43ab61ace66cfc8829a6de8b020e18 on wy65701436:master into 0b1f7664c4fcfe8913221ef477fcebddc6848940 on vmware:master.


fix(utils): add missing export file

Hi @Frezyx,
I forgot to export the utils file, on #161.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c09d434) 100.00% compared to head (a0b23e7) 100.00%.
Report is 11 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##            master      #167   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           10        10
  Lines          173       175    +2
=========================================
+ Hits           173       175    +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Make assertNoDematerializationFailure() public

I found this referenced in the docs for dematerialize(), but it wasn't public API. Thanks!

Ahh, yes, good spot. Nice one, @sharplet! Thanks for your help.


cloudsql: implement external tagging

Description of your changes
An example implementation of external tagging. This PR depends on https://github.com/crossplane/crossplane-runtime/pull/123 and https://github.com/crossplane/crossplane-tools/pull/17
Fixes #184

Checklist

I have:

[x] Run make reviewable to ensure this PR is ready for review.
[x] Ensured this PR contains a neat, self documenting set of commits.
[x] Updated any relevant documentation, examples, or release notes.
[x] Updated the dependencies in app.yaml to include any new role permissions.
[x] Updated the stack resources documentation to include any new managed resources or classes.

@negz Updated the runtime dependecy, should be ready to merge.

@muvaf this will have to be rebased to pick up the Jenkinsfile changes related to rename from stack -> provider

@hasheddan thanks for the heads-up! done.


Private Endpoint with private ip

I have created a Sql database server and I want to connect this sql server by the azure private link and after deployments i successfully login through the private link so, I want to know that can I connect my Sql database server through the Private IP of Endpoint?

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

ID: fbfc7ccc-7fd0-9bb7-7d39-e9cfa09736ce
Version Independent ID: c0e7f101-5707-63ff-8193-c74a3e1d9a75
Content: What is Azure Private Link?
Content Source: articles/private-link/private-link-overview.md
Service: private-link
GitHub Login: @malopMSFT
Microsoft Alias: allensu

@shiva8869 , We are looking into this query and will update you as soon as possible.

@shiva8869 , Appreciate your patience. Paas services like SQL database server in your case can be accessible over a private IP address in your VNet, enabling connectivity from on-premises through Azure ExpressRoute private peering and/or VPN gateway and keep the network configuration simple by not opening it up to public IP addresses.
We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


fix: wrap canvg method in try / catch and pass error in response

fixes #25

Thanks! Merged and published as v0.6.2
Sorry for the late reply.


Meltano UI error when an aggregate column used for shorting is removed from the query

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/503
Originally created by @iroussos on 2019-03-19 15:03:00

Steps to reproduce

Add some models to a Meltano project
Start meltano ui
Go to a design, select some columns and aggregates and fetch the results
Click on any aggregate column to order the results by that aggregate (cause you want to check for example the issues with most comments in gitlab or the account with the most sales in SFDC)
Remove the aggregate column you used to short by from the query

What is the current bug behavior?
When you remove the aggregate column used for shorting, Meltano UI keeps on sending it as a column to order by.
The result is:

An error on the back-end:  File "/home/iroussos/work/meltano/src/meltano/core/sql/sql_utils.py", line 99, in get_sql
    "Something is wrong, no dimension or measure column matching the column to sort by."
Exception: Something is wrong, no dimension or measure column matching the column to sort by.

A red error box on the front end without anything inside.

What is the expected correct behavior?
When removing a column used for shorting, it should be also removed from the list of attributes sent back to ORDER BY with.
Relevant logs and/or screenshots
Traceback (most recent call last):
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask_restful/__init__.py", line 269, in error_router
    return original_handler(e)
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask_restful/__init__.py", line 269, in error_router
    return original_handler(e)
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/iroussos/work/meltano/venv/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/iroussos/work/meltano/src/meltano/api/controllers/sql.py", line 125, in get_sql

  File "/home/iroussos/work/meltano/src/meltano/core/sql/sql_utils.py", line 99, in get_sql
    "Something is wrong, no dimension or measure column matching the column to sort by."
Exception: Something is wrong, no dimension or measure column matching the column to sort by.

Possible fixes
When removing columns we should always check that they are not also on the list of attributes in the ORDER BY sent back.
We are properly removing regular columns, we just have to also remove aggregate columns.
Further regression test
(Ensure we automatically catch similar issues in the future)

[ ] Write additional adequate test cases and submit test results
[ ] Test results should be reviewed by a person from the team

View 9 previous comments from the original issue on GitLab


when no data at a cutoff time "where feature" will cause keyerror

in pandas_backend.py
line 382: base_frame = base_frame[base_frame[where.get_name()]]
line 454:to_merge = base_frame.groupby(base_frame[groupby_var],
observed=True, sort=False).agg(to_agg)
when base_frame is a empty dataframe, after line 382 base_frame become no columns dataframe,
so line 454 raise keyerror

@sparo-jack can you provide a piece of code that reproduces this error? without that, it will take us longer to track down the issue

@sparo-jack we tracked down this issue and merged a fix into master. It'll go out in the next featuretools release. let us know if this doesn't resolve the problem for you. thanks for contributing!

resolved my problem, Thank you


Zone name as placeholder in domain template

How can we use the zone name as a placeholder in domain template records in PowerDNS-Admin?
Previously this was possible by using @ as contents in PowerDNS-Admin domain template records, but this now results in PowerDNS resolving records to a literal<EMAIL_ADDRESS>

I think that might be a PowerDNS thing.
When I do INSERTs directly into a pdns database with "@" in the content of a record where it could belong, PowerDNS queries always return a literal @
Seems like PowerDNS only accepts @ for $ORIGIN in the name field of a record ?

So, how do we use domain names in a PowerDNS-Admin template?
It seems the same question was also asked as part of a wider inquiry at https://github.com/ngoduykhanh/PowerDNS-Admin/issues/641

Yes, we need to have the domain name available as (part of the) content, such as in CNAME records.

Based on what I see, I don't think that works directly. We need ngoduykhanh to see this and tell us how to make it work for you.

Based on what I see, I don't think that works directly.

I believe it was previously possible before refactoring in https://github.com/ngoduykhanh/PowerDNS-Admin/commit/8ea00b948410bd6a63c971d068c7b64131ac8eda, but I am not entirely sure.
That said, I think there is a good use case for having a placeholder in the content of a domain template record. Other PowerDNS admin interfaces that I know of also have this feature, i.e. the placeholder [ZONE] in PowerAdmin.

Perhaps @ngoduykhanh, if and when you have some time available, is this something that is still supported or will this require adding a new feature?

on file powerdns-admin/powerdnsadmin/models/record.py line 178 add on new blank line and
record["record_data"] = record['record_data'].replace('[ZONE]', domain_name)

on file powerdns-admin/powerdnsadmin/models/record.py line 178 add on new blank line and
record["record_data"] = record['record_data'].replace('[ZONE]', domain_name)

Works great

@RobertIchim Can you submit this to the project as a pull request?  Looks like a useful feature that is easy to implement but would need a little update to the documentation to go with it

Thanks @RobertIchim
Works like a charm, should be implemented and documented I would say.

#960 merged!


Fixed dataLayer variables set through facade not being outputted

Use a singleton instead of bind, so the facade will use the same instance every time.
Fixes regression caused by #43

You should really consider adding a test to verify that variables are outputted correctly.

Thanks! Yeah, an extra test for this would be nice.
I currently have no time for it, but I'd accept a PR that adds such a test.


Fix DTLS handshake problem with retransmissions.

During OpenThread commissioning tests I've found 2 problem with mbedtls library.
I've created PR to the OpenThread repository, but I wish the problems were solved in the upstream library. That's why I created this PR.
Detailed description of the problems is in the OpenThread PR: https://github.com/openthread/openthread/pull/1207

Hi and thanks for the contribution!
We will need to review the contribution before merging it, and may require some changes (which given this relates to a bug we can do ourselves as needed), but to accept any part of the contribution, we will need a Contributor’s Licence Agreement (CLA) signed or authorised by yourself or your employer.
If this is a personal contribution, the easiest way to do this is if you create an mbed account and accept this click through agreement. Alternatively, you can find a slightly different agreement to sign here, which can be signed and returned to us, and is applicable if you don't want to create an mbed account or alternatively if this is a corporate contribution.
Thanks for the support of mbed TLS!

Hi @hubertmis, thanks for raising this and for suggesting the fix! As you have seen, your report has triggered a larger investigation on the support of event-driven IO and lead to PR's #942 and #946 that are currently under review. As for the fix you suggested, we have considered it and decided to follow a different path to solve the issue, but of course you are given credit for reporting the bug in the ChangeLog of #946. This PR will be closed once #946 has been merged.
Thanks again for your report and contribution! :+1:

That's good to know that issue will be fixed soon. Looking forward for #946 merge :)


Not able to run cliclker,py

$ python main.py
Traceback (most recent call last):
File "C:\Users\14sau\NotCoinBot\main.py", line 3, in
from tortoise import run_async
ModuleNotFoundError: No module named 'tortoise'

pip install tortoise

Install this module
cmd -> and put command pip3 install -r requirements.txt or pip install -r requirements.txt


JIT caching updates

Fixes #798 once numba properly caches functions with w/ closures over other functions. Independent from this, we can decide if we want to add a work-around to make these functions cacheable.
Contributor Checklist:

[x] I have added or updated my entry in the creators.json file
[x] I have added a changelog entry for my contribution
[x] I have added/updated documentation for all user-facing changes
[x] I have added/updated test cases
[N/A] I have included the rebuilt production build of the client (only if
changes were made to the GUI)

For some reason, with the cache warming enabled, the tests seem to fail more consistently. Great. I'll postpone merging this until I know why.

For some reason, with the cache warming enabled, the tests seem to fail more consistently. Great. I'll postpone merging this until I know why.

This should now behave better, as we should only have a single jit compilation when re-using the dask worker and scheduler.

/azp run libertem.libertem-data

Tests are still not stable, but this time I can reproduce the issue with Python 3.6 locally.

Tracked down to https://github.com/tornadoweb/tornado/issues/2034 https://github.com/dask/distributed/issues/4356, proposed fix at https://github.com/tornadoweb/tornado/pull/2963

Wow, nice catch! 🚀

So, do we have to wait for upstream or can we circumvent this in LiberTEM?

Looks like that worked, both Mac and Win Py36 build finished.

/azp run libertem.libertem-data

Nice to see that it goes around that issue! 🎉
Is the low test coverage an artifact from not collecting coverage from Dask, or could we still add test cases that improve coverage?

/azp run libertem.libertem-data

Is the low test coverage an artifact from not collecting coverage from Dask, or could we still add test cases that improve coverage?

It was, but now I've added a test case using the InlineJobExecutor together with the web API, which allows us to collect coverage for this case. For some ideas on a full fix, see #545. This should now be ready to merge.

Awesome, merging!

Tracked down to tornadoweb/tornado#2034 dask/distributed#4356, proposed fix at tornadoweb/tornado#2963

Btw. this was recently merged, so hopefully will be fixed for good on the next release of tornado.

Tracked down to tornadoweb/tornado#2034 dask/distributed#4356, proposed fix at tornadoweb/tornado#2963

Btw. this was recently merged, so hopefully will be fixed for good on the next release of tornado.


Revamp team members input box using Chosen

Chosen
We're already using chosen for the Country select box on the Credit Card page.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4516414-revamp-team-members-input-box-using-chosen?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

No team <-> members now, closing.


Meter examples are missing "size" label in its meter size dropdown selection

The dropdown for selecting a size of the meter example is missing its label.
https://grommet.github.io/hpe/docs/meter/examples
Your Environment

Browser Name and version: Firefox 48.0 and Chrome 53.0.2785.116

This is behaving as expected, since it allows having no size value set.

@ericsoderberghp I thought this was a bug too.  Should we make the default value something like [default] or [unset]


about inference speed

Can you tell me that you test on GPU or CPU? THX

Sorry, u can test by you own. I am busy with other issues.

emmm, I mean that 0.27s/item in README is test on GPU or CPU.

let me see, GPU maybe. Actually, we will update later as using network to predict shape params. would be faster. It is also easy, and u may implement yourself.

ok，thank you for your help.


Add UC Browser Support

UC Browser has support for many manifest like attributes
appmode, fullscreen etc.

Basic support added here.


Title functionality

I added functionality to the data table title Upcoming Reservation(s) in UserRes. I also added functionality to the data table title Items Checked Out in UserRes.

When you get a change to check out the change I made and verify it works for you than lemme know and I'll merge and approve.

Works perfectly for all cases!


made the installation and setup instructions more detailed

I hope you won't mind this! Feel free to merge or reject. 👍

Thanks for this, greatly appreciated.


Parser.unescapeEntities equivalent

It would be immensely helpful if the ksoup-entites module would provide an Parser.unescapeEntities equivalent Jsoup API:
https://jsoup.org/apidocs/org/jsoup/parser/Parser.html#unescapeEntities(java.lang.String,boolean)
With that one you can unescape all of the Ӓ entities.
My use case is that I have an RSS Reader and often times even though it's not required the content is HTML encoded and hence I need to unescape it. For instance here's on such feed:
https://lexfridman.com/feed/podcast/
Note though that ideally any unicode would be supported, here are some more feeds which use a lot of escaped HTML entites:
https://vandal.elespanol.com/xml.cgi
https://open.firstory.me/rss/user/cklqae6gy388f0892i2qmv851
https://blog.codinghorror.com/rss/
https://www.ivoox.com/finanzas-personales-libertad-financiera_fg_f1703990_filtro_1.xml

In the meantime I did find HTMLString for iOS which does a superb parsing job. Really fast and I expect/actualed to each representation.
Nonetheless, it would be really amazing if we had a fast implementation of unescapeEntities  here that would also work on the other targets like JS/Desktop.

You can use decodeHtml which works the same as unescapeEntities:
val decoded = KsoupEntities.decodeHtml("Hello & World") // return: Hello & World
Try it and let me know if this is what you are looking for

It does not work for instance Emojis are broken:
  @Test fun decodeEmoji() {
    assertEquals("", KsoupEntities.decodeHtml("🌍"))
  }

java.lang.IllegalArgumentException
at com.mohamedrejeb.ksoup.entities.utils.CharsUtils.toChars(CharsUtils.kt:29)
at com.mohamedrejeb.ksoup.entities.text.translate.NumericEntityDecoder.translate(NumericEntityDecoder.kt:110)
at com.mohamedrejeb.ksoup.entities.AggregateTranslator.translate(AggregateTranslator.kt:33)
at com.mohamedrejeb.ksoup.entities.StringTranslator.translate(StringTranslator.kt:42)
at com.mohamedrejeb.ksoup.entities.StringTranslator.translate(StringTranslator.kt:16)
at com.mohamedrejeb.ksoup.entities.KsoupEntities.decodeHtml5(KsoupEntities.kt:318)
at com.mohamedrejeb.ksoup.entities.KsoupEntities.decodeHtml(KsoupEntities.kt:348)

Thanks for reporting this. I'll make sure to fix it ASAP.


createRoot creates the identical root on different calls if Function.prototype.length is 0 on the callback function - leads to roots being unexpectedly disposed when calling dispose() on any of them

Describe the bug
There's a bug in solid-js where, if the callback function passed to createRoot has .length that equals 0, always the same "owner scope" will be used, regardless of how often you call createRoot.
That is because this line:
https://github.com/solidjs/solid/blob/75887770dca22c91b5aa0e82581ceece4b3b808a/packages/solid/src/reactive/signal.ts#L111
says UNOWNED and not { ...UNOWNED }. So a new owner object isn't created, instead a reference to the previous one is used.
I'm also really skeptical of using Function.prototype.length like you're doing here: https://github.com/solidjs/solid/blob/75887770dca22c91b5aa0e82581ceece4b3b808a/packages/solid/src/reactive/signal.ts#L110
I don't understand the purpose but it doesn't work with arguments or rest parameters and I think it would be better to not use it.
You might ask why I don't just provide an argument as workaround, the reason is that I'm using a function to wrap my functions similar to this: https://playground.solidjs.com/?hash=1522254560&version=1.1.1
Your Example Website or App
https://playground.solidjs.com/?hash=1865669820&version=1.1.1
Steps to Reproduce the Bug or Issue

Go to https://playground.solidjs.com/?hash=1865669820&version=1.1.1
Click on a button

Expected behavior
Only the button that is clicked is removed.
Disposing one root/context/owner scope only calls onCleanup in the things that are tracked to it and not to other ones.
Current behavior
Both buttons are removed when clicking either
Platform

OS: macOS 12.2 (21D49)
Browser: Firefox
Version: 101.0b9 (64-bit)

Additional context
I'm building parts of a website using solidjs. Additionally to these parts I'm also building a modal using solidjs.
These two parts run in two separate createRoots/"owner scopes" as per the documentation.
The idea is to dispose everything of the modal when it is closed but still keep the other part around until it should be disposed.
I have a ResizeObserver on the first part (which also is a springboard for the modal) which communicates values to the modal. I noticed that after closing the modal and opening it again there were no values from the ResizeObserver anymore (I disconnect it onCleanup).
Now much debugging later I have figured out what I've detailed in this issue report

Hmm.. this is intentional if I understand your situation. The idea is that except for top-level roots that will never be disposed you should be getting a dispose function otherwise there is no point in making a new root. I realize the function arity can be gamed by using args or default values etc, but generally speaking, this is a function with a single argument you use or don't. Why even bother? Probably doesn't matter much anymore but when using Unowned we can make some assumptions that lower memory usage and bookkeeping overhead. A small performance thing. Better than creating a top-level dispose that never gets called. Also allows GC to work on its own easier as it doesn't keep a lasting reference to child computations.
Of course, this wrapper case is such a case where this falls apart. So I agree relying on function arity is generally not good API unless it isn't achievable in another way. Which this qualifies as. Mind you I'm not sure it is important enough. It does make a measurable difference in reactive benchmarks. So this seems like a reasonable part of growing pains. I suppose the other option is to pass an additional argument, but that loses a bit of the just works part of this. Like the default being don't worry about disposal.
So tricky because the current API does exactly what is intended outside of this more edge case and there isn't really a suitable replacement. Besides just getting rid of this because it isn't that important (especially since render automatically opts into disposal). So can't change this without it being breaking so this is a 2.0 level consideration. I don't see a quick fix for now.

It is intentional that disposing one root also disposes the others? In that case maybe it would be good to state that in the documentation since I got the impression that every root is somewhat self-contained.
Thank you for explaining, I think it makes a lot of sense to have a "global" root that's used for roots that never get disposed.
Would you be open to make the dispose function a NOOP though if you don't think that it will be used (fn.length === 0) ? Maybe even print a helpful message on dev builds that you're using a hack to detect if people use the dispose function and they can't call dispose functions obtained by arguments or rest syntax.
I think it's better that a root isn't disposed and GCd rather than people getting bugs in their applications. For me it took around ~3h to debug and report and I would very much have appreciated a warning so that I can just work around it and move on with what I'm trying to accomplish.


Fix unmanaged member deep cloning on .NET Framework.

Resolves #362. UseDeepCloning with primitive members would work on .NET Core but failed on .NET Framework.
Normally Mapperly generates a mapping with DirectAssignmentMappingBuilder when ctx.Source.IsImmutable() returns true. IsImmutable checks if the value is IsReadonly in .net core all primitive types are readonly struct whereas in .net framework they are structs, thus returning IsReadonly: false.
By adding an IsUnmanaged check, IsUmmutable should work on .NET Framework and will use shortcuts for user defined unmanaged structs.

Add IsUnmanaged check to IsImmutable
Update struct tests to be managed types and add corresponding unmanaged tests

Codecov Report

Merging #388 (bdb223e) into main (e5e2d1c) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head bdb223e differs from pull request most recent head 266df31. Consider uploading reports for the commit 266df31 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #388      +/-   ##
==========================================
+ Coverage   91.73%   91.74%   +0.01%
==========================================
  Files         126      130       +4
  Lines        3931     4057     +126
  Branches      548      563      +15
==========================================
+ Hits         3606     3722     +116
- Misses        214      221       +7
- Partials      111      114       +3

Impacted Files
Coverage Δ

src/Riok.Mapperly/Helpers/SymbolExtensions.cs
87.62% <100.00%> (+0.26%)
:arrow_up:

... and 11 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I'll look at the test and possible remove the IsReadonly check as it can generate invalid code. Is IsImmutable a misleading name? Here we use it to check if a type is a pseudo primitive/readonly/non reference containing type.
I've found a potential unrelated mapping bug with Span<T> fields. Mapperly correctly copies ref fields in ref structs but will fail to do a deep clone of Span<T> or ReadOnlySpan<T> fields. Its debatable wherther this is a bug or not, although I think this is unexpected and a clone should be done.
For example
ref struct MyStruct{
Span<MyStruct> Collection;
}

public static partial global::Riok.Mapperly.Sample.MyRefStruct Map(global::Riok.Mapperly.Sample.MyRefStruct car)
{
    var target = new global::Riok.Mapperly.Sample.MyRefStruct();
    target.Collection = car.Collection;
    return target;
}

In what scenario the is readonly check can lead to invalid generated code? Are you referring to readonly types containing properties which are of a mutable type? This could actually be a problem with the current implementation 🤔
I think IsImmutable fits as a name, as this is used to decide whether a clone is needed when UseDeepCloning is true. A type which is truely immutable doesn't need to be copied even when UseDeepCloning is true.
This check could even be improved further to take well known immutable types (eg. the immutable collections) into account, however, it always needs to be checked that for example the types in the list are immutable too.
Summarising I would keep this PR only fixing the unmanaged type / .NET Framework problem and create other issues / PR's for the arisen problems.

In what scenario the is readonly check can lead to invalid generated code? Are you referring to readonly types containing properties which are of a mutable type? This could actually be a problem with the current implementation 🤔

Just checked it. A readonly struct will do a direct assignment or return, even if it contains cloneable properties like an array of types.
public readonly struct A
{
    public readonly int[] Value { get; init; }
}
public static partial global::Riok.Mapperly.Sample.A Map(global::Riok.Mapperly.Sample.A source)
{
    return source;
}

I think IsImmutable fits as a name, as this is used to decide whether a clone is needed when UseDeepCloning is true. A type which is truely immutable doesn't need to be copied even when UseDeepCloning is true.

tbh I'm bike shedding over the name. I kept looking up defintions of blittable/unmanaged types trying to think of a better one  😄. To borrow from rust; what we are checking for is whether we can copy or have to clone the type. I don't think immutability is relevant (except in the case of immutable reference types like string).

This check could even be improved further to take well known immutable types (eg. the immutable collections) into account, however, it always needs to be checked that for example the types in the list are immutable too.

Yeah I'm not sure how to handle this. Do Immutable types avoid boxing structs?

Summarising I would keep this PR only fixing the unmanaged type / .NET Framework problem and create other issues / PR's for the arisen problems.

👍 I'll take a look at the span problem or create an issue.

Okay I've removed the IsReadOnly check, I'll create issues for the Span<T> problem and for optimizing copyable structs that contain string members.


[loadgenerator] - rewrite for new frontend and feature flags

Changes
A major rewrite of the frontend service to incorporate 3 big changes

Work with the update routes defined by the frontend service rewrite
Add multiple random "people" to the checkout call, to work with a future feature flag
Update to use locust test suite @task annotations

The recently updated frontend service meant some changes to the load generator. Namely, there is no more set_currency load since that route no longer exists. The cart and checkout loads were updated to match what the new frontend service has in place.

[x] Appropriate CHANGELOG.md updated for non-trivial changes

Suggesting an update for the commit message:
"A major rewrite of the frontend service"
->
"A major rewrite of the load generator"

When running the updated loadgen, I can see the following in the log:
cart-service             | AddItemAsync called with userId=199d832e-1a2a-11ed-8863-0242c0a80013, productId=OLJCESPC7Z, quantity=1
cart-service             | GetCartAsync called with userId=199d832e-1a2a-11ed-8863-0242c0a80013
checkout-service         | {"message":"[PlaceOrder] user_id=\"199d832e-1a2a-11ed-8863-0242c0a80013\" user_currency=\"USD\"","severity":"info","timestamp":"2022-08-12T10:32:43.922355684Z"}
cart-service             | GetCartAsync called with userId=199d832e-1a2a-11ed-8863-0242c0a80013
frontend                 | Error: 13 INTERNAL: failed to prepare order: failed to convert price of "OLJCESPC7Z" to USD
frontend                 |     at Object.callErrorFromStatus (/app/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
frontend                 |     at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client.js:189:52)
frontend                 |     at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:365:141)
frontend                 |     at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:328:181)
frontend                 |     at /app/node_modules/@grpc/grpc-js/build/src/call-stream.js:187:78
frontend                 |     at processTicksAndRejections (node:internal/process/task_queues:78:11) {
frontend                 |   code: 13,
frontend                 |   details: 'failed to prepare order: failed to convert price of "OLJCESPC7Z" to USD',
frontend                 |   metadata: Metadata {
frontend                 |     internalRepr: Map(1) { 'content-type' => [Array] },
frontend                 |     options: {}
frontend                 |   }
frontend                 | }

When running the updated loadgen, I can see the following in the log:

After building with --no-cache option the error is gone. Loadgen seems to be running fine now.

confirmed -- this seems to work well for me too!

@puckpuck update (🙄) & merge at your leisure 🏎


TEIIDTOOLS-371 Add refresh-schema service for connections

Changed getConnections to return an array of RestConnectionSummary objects.
Deleted the plural RestConnectionsSummary.
created RestMetadataConnetionStatus that contain status for deployed VDB and for workspace schema
created new serializer
updated service for new connection status object
updated refreshConnection method to handle redeploying connection VDB and generating schema

This looks good


Add Comet Experiment Tracker integration

Adds a Comet Experiment Tracker.

Functionality is basic, similar to what we have with wandb.
Basic quickstart:
zenml experiment-tracker register comet --flavor=comet --api_key="MY_KEY" --project_name="zenmltest"

and a simple pipeline:
import logging

from zenml import pipeline, step
from zenml.client import Client

logger = logging.getLogger(__name__)

# Get the Comet experiment tracker from the active stack
experiment_tracker = Client().active_stack.experiment_tracker

@step(experiment_tracker=experiment_tracker.name)
def my_even_bigger_step():
    """A step that does nothing but logs to Comet."""
    logger.info("This is an even bigger step 3!")

    # Log a metric to Comet
    experiment_tracker.log_metrics({"my_metric": 42})

    # Log a parameter to Comet
    experiment_tracker.log_params({"my_param": "hello"})

    return 2

@pipeline(enable_cache=False)
def my_big_pipeline():
    """A pipeline that does nothing but logs to Comet."""
    my_even_bigger_step()

my_big_pipeline()

Remaining Tasks

[ ] Read and check docs
[ ] Tests (if we're doing those for this)
[ ] CI updates (so it gets run in the CI)
[ ] Minimal example to run in the CI as part of integrations / examples tests?

@coderabbitai review


socket.timeout exception when timeouting on PubSub.get_message(timeout=1)

Version: 3.3.5
Platform: Python 3.7.3 on Ubuntu 18.04
Description: Since 3.3.5 (was OK in 3.3.4), the polling of messages is raising a socket.timeout exception when no message arrives. In 3.3.4, it was doing nothing and returning None, as documented.
The line of code: https://github.com/camptocamp/c2cwsgiutils/blob/master/c2cwsgiutils/redis_utils.py#L30
Stacktrace:
Traceback (most recent call last):

  File "/opt/c2cwsgiutils/c2cwsgiutils/redis_utils.py", line 30, in run
    pubsub.get_message(ignore_subscribe_messages=True, timeout=1)

  File "/usr/local/lib/python3.7/dist-packages/redis/client.py", line 3283, in get_message
    response = self.parse_response(block=False, timeout=timeout)

  File "/usr/local/lib/python3.7/dist-packages/redis/client.py", line 3169, in parse_response
    if not block and not conn.can_read(timeout=timeout):

  File "/usr/local/lib/python3.7/dist-packages/redis/connection.py", line 674, in can_read
    return self._parser.can_read(timeout)

  File "/usr/local/lib/python3.7/dist-packages/redis/connection.py", line 291, in can_read
    return self._buffer and self._buffer.can_read(timeout)

  File "/usr/local/lib/python3.7/dist-packages/redis/connection.py", line 201, in can_read
    raise_on_timeout=False)

  File "/usr/local/lib/python3.7/dist-packages/redis/connection.py", line 173, in _read_from_socket
    data = recv(self._sock, socket_read_size)

  File "/usr/local/lib/python3.7/dist-packages/redis/_compat.py", line 58, in recv
    return sock.recv(*args, **kwargs)

socket.timeout: timed out

Yup, you're right. This wasn't adequately tested. I've added a test in the test suite for this condition and fixed the issue. Just released 3.3.6 on PyPI.


make tutorial/tour open the right detail panel in spiral/network/timeline

and spiral?

oh, yes, somehow forgot to add this


Enable dependabot to create update PRs for golang docker image

How to categorize this PR?

/area dev-productivity
/kind enhancement
What this PR does / why we need it:
This PR enables dependabot to create update PRs for Golang (and other) docker images similar to how it is done in other gardener repositories (ref).
According to the latest Golang update PR, there are Golang images in Dockerfile and in several files of .test-defs folder.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
This PR changes a file in .github directory. It cannot be merged by Tide but needs to be merged manually
Release note:

NONE

Nice!
/lgtm
/approve


cleanup aws and paho extensions

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/178/

The changes look good and it would be nice if somebody could run the itests against AWS using some real creds before merging.

usually the one that submits the PR is likely also testing it :)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/camel-quarkus-pr/179/


RESTEASY-1311: ResteasyProviderFactory.registerProviderInstance does not always take priority into account

At 2 points in the code, the priority was not provided to the registerSingleton method. This caused a bug for me when I tried to get one ContainerResponseFilter to run before another, but the priority was not picked up.

Hi Erik,
Great catch. Thank you. Would you be willing to

Create a JIRA issue at https://issues.jboss.org/projects/RESTEASY.
Write a unit test.

Thanks for your work.
-Ron

I already created a JIRA ticket for this initially: RESTEASY-1311, but I see I forgot to add it to the title of this PR. Just updated it. And now I'll create a unit test for the fix. Will add it as an extra commit to this PR.

Ok, unit test added. Unfortunately I saw no other way to test it then to add reflection to the test.
Before the change was applied, I got as test result of these added tests:
Failed tests:
ResteasyProviderFactoryTest.testRegisterProviderInstancePriorityContainerRequestFilter:68->testRegisterProviderInstancePriority:98 expected:<5001> but was:<5000>
ResteasyProviderFactoryTest.testRegisterProviderInstancePriorityContainerResponseFilter:80->testRegisterProviderInstancePriority:98 expected:<5001> but was:<5000>
And after the fix 'BUILD SUCCESS' :-)

Hey Erik,
Thank you. This is ready to merge.
-Ron


fix: lint fixes on all JS files within plays folder

Description
I have fixed the lint issues on all the JS files within play. I have tested the app locally and all these plays are running properly.

Fixes #814

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist:

[x] I have performed a self-review of my own code
[x] My changes generate no new warnings

Note: This leaves us with only TypeScript files that require lint fixes.

Closing this PR has fixes have been merged through https://github.com/reactplay/react-play/pull/831


Make it possible for processor to return multiple records

Feature description
Currently, a processor accepts a single record as an input, and returns a single record as an output.
It would be good if the processor would return multiple records for the following reasons:

According to @ahmeroxa it's fairly when going to relational databases (e.g. from a denormalized to a normalized data model)
Some other tools use that too (e.g. Benthos), so doing a switch to Conduit would be easier.

@simonl2002 it's not currently blocking any active projects, so it can wait.

Done as part of https://github.com/ConduitIO/conduit/issues/997.


Bug: Examples don't work in Internet Explorer

I am encountering issue #1284 in Internet Explorer. I would like to try and fix it.
When running the examples I get an exception related to the usage of Object.entries in App.js. Even when i fix that by using Object.map I still get errors:

Question is am I doing something wrong? I.e. do I need to build differently in order for the examples to work on IE or is this also a real issue? The examples work in Chrome for example. I am running the examples using yarn run examples.

The examples site isn't built to support IE at the moment,so that makes sense that you're hitting issues on the site specifically.

Ok, I understand. But then I guess it would make sense to make the examples work in IE too in order to make it easier to fix IE problems. I will have a look at this if I find the time. Thanks for you answer.

@jquense, I obviously got some of the examples to work in IE by adding some polyfills (import '@babel/polyfill';) as the first line in App.js.  Not sure if this is what is actually desired, but at least it works for me at the moment.
Anyway, I'm just wondering who loads these polyfills when not using the examples? Or does this need to be done by the dev using react-big-calendar and not by react-big-calendar itself. Or is it done by babel that transpiles the code to ES5 or something..?
You mentioned that the examples site isn't built to work in IE. Why not? I mean what's the restriction? Is it simply the usage of JS functionalities that aren't supported in IE in the examples themselves or is it the way the app is bundled (webpack vs rollup) or what's the precise reason for this?
Sorry for these maybe stupid questions, but I'm trying to get an understanding of how all of this works.

Anyway, I'm just wondering who loads these polyfills when not using the examples?

Polyfills, as a best practice, are always loaded by the app dev, libraries shouldn't include them, since they pollute the global scope and my not be relevant depending on the users browser support needs.

You mentioned that the examples site isn't built to work in IE. Why not? I mean what's the restriction?

There is no technical restriction, I just didn't want to maintain and test the docs site on IE11 since most devs aren't using ie11 day to day


Mhchem not loaded on katex.org

Hi!
I tried to enable mhchem extension that shipped in the new 0.10.1 version on my site. It seems to work although some rendering seems a bit odd (will make another issue for that) so I wanted compare with katex.org test page. It seems that mhchem is not loaded there. I realize that might be by design since mhchem is an extension, but maybe in this case it is worth it to add?

For now, you can load the extension by running javascript:var a=document.createElement('script');a.src='https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/contrib/mhchem.min.js';document.body.appendChild(a) in the developer console or the address bar.

Nice workaround @ylemkimon.
I think including the mhchem extension in the online demo is a good idea -- show off all our features -- and should be easy to do (just another <script> tag, as above).  In that spirit, we could also consider including the copy-tex extension -- though that's more useful when there's a mix of inline math and formulas.

It seems like there shouldn't be too much work to add it the demo page.

@kevinbarabash I was looking for a 'good first issue'. If I have understood this issue right, the changes required for this fix isn't on the repo, but on the website katex.org, right?

@mothas The website is on (or published from) the repo, in the website directory (built via Docusaurus -- run yarn and yarn start in that directory to run a test server, after yarn building in the root directory).

I have made a PR #1932 for this issue. Let me know if it looks good.
This is my first time contributing to a project. So apologies in advance in case I missed anything.

Hmm, to do this properly, don't you also need to update the release script to support versioning?

@danielhollas I think our update-sri.js script already handles this, but I've asked for confirmation. Discussion about this should take place on the PR itself, #1932.


Easier unit testing of straightforward code.

Hi.
The problem
In practice is sometimes the easiest to implement some functionality  using a "smaller" function which is to be called by a "greater" one.
Imagine something like
type Struct struct {
    …
}

func (s *Struct) GetByIDs(ctx context.Context, ids []string) ([]*Item, error) {
    var res []*Item
    for _, id := range ids {
        item, err := s.getByID(ctx, id)
        if err != nil {
            return nil, fmt.Errorf("get item by id=%s: %w, id, err)
        }

        res = append(res, item)
    }

    return res, nil
}

func (s *Struct) getByID(ctx context.Context, id string) (*Item, error) {
    …
}

getByID can be fairly complex at that calling different subsystems during its execution.
And now we may have a good unit test for getByID. In the same time we

Need to test it geByID again and again in a unit test for GetByIDs, just because it always calls getByID.
In fact we just need to test if the thing is calling with right arguments. The aforementioned circumstances makes it not so easy: checks it with inner calls of getByID. This is anything but clear.

There are numerous way to overcome this, but they are anything but clear again: useless interfaces which only serve testing , or build tags + substructuring, or code generation (create a "copy" of struct calling). All these approaches smell and complicate implementation for no reason other than unit testing.
What I would love to have
Some magic way to call some "substitution" of getByID in "derived" structure. I mean, the problem would be solved if I could make a new type
import "./internal/structmock"

type getByIDsStruct struct {
    Struct

    mock *structmock.StructMock
}

func (s *getByIDsStruct) getByID(ctx context.Context, id string) (*Item, error) {
    return s.mock.getByID(ctx, id)
}

where GetByID called on this struct would call (*getByIDsStruct).getByID instead of (*Struct).getByID. This would make a unit testing a breeze in comparison.
Obviously, there are can be different approaches but the desired behavior stays the same: a way to replace actual implementation with something different what would let us to emulate a behavior without artificial interfaces serving no real purpose. No need to provide this functionality into runtime, just some testing magic is enough.

To discuss ideas please use the forums: https://golang.org/wiki/Questions
Once there is a more concrete proposal how to improve testing feel free to open a new issue. The proposal as currently stated has no actionable content.
A proposal not only need to state a problem but also suggest a workable solution.
Consider writing an experience report: https://github.com/golang/go/wiki/ExperienceReports to
point out areas that need improvement drawn from experience working with Go.


chore(ci): ci 构建提速

👀 PR includes

🔧 Chore

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

📝 Description

macOS 有 3-core CPU, 尝试 开启 jest 的 worker 提高跑测试速度

jest 默认是 worker = core - 1, 但是 CI 环境不生效

参考: https://dev.to/ddoice/fix-slow-tests-with-jest-in-github-actions-5h00
🖼 Screenshot

Before
After

❌
✅

🔗 Related issue link

🔍 Self Check before Merge

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @antv/s2-react-v1.16.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add a footer to documentation pages that encourages contributions

In an effort to streamline the maintenance of fidesctl documentation, each page should include a footer that encourages readers to open a PR that corrects mistakes and/or updates outdated information. Ideally the footer dynamically links to the markdown file currently being viewed, in the fides repository.

Also adding to scope here to have a link to the Github repo

When attempting to serve the docs, I did a make clean but I'm still getting the FATAL:  password authentication failed for user "postgres" error when attempting to build.  I thought that was fixed but I could have missed something.

not sure how to help with that one, we made some changes but it was awhile ago, and the make clean should've fixed it 🤔  are you testing this PR?

I was attempting to do so by doing a make docs-serve but ran into the issue


Display mode not working for few elements

Are you requesting a feature, reporting a bug or ask a question?
Reporting a Bug
What is the current behavior?
survey.mode="display" not working for few elements. (I think its for all elements inside paneldynamic/matrixdynamic and matrixdropdown
Provide the test code and the tested page URL (if applicable)
https://plnkr.co/edit/eztSSwVdphiLPi47gQTz?p=preview
Specify your

browser: Chrome
browser version: 64.0.3282.119
surveyjs platform (angular or react or jquery or knockout or vue): jquery
surveyjs version: 1.0.16

@testweird123 I see it now. It doesn't work for paneldynamic.
We will fix it.
Thank you,
Andrew


Cherry-picks and Changelog entries for 0.61.0rc2

As titled this PR adds the cherry-picks from main required for the 0.61.0 RC2.
Also resolves https://github.com/numba/numba/issues/9839

This needs: https://github.com/numba/numba/pull/9848

I did a smoketest on #9848 + this PR at https://github.com/numba/numba/pull/9849. Enough of py3.13 has finished and passed to confirm that the py3.13.1 patch is good.

BFID numba_yaml_513


Easiest way to remove a table?

Thanks for this project, it's helped us get an admin backoffice up and running very quickly.
Quick question: what's the easiest way to remove a table from the application? There are some tables in our database which we do not want to allow reading or writing of, and thus need to be removed from the automatically-generated content provided by this application.
If I simply remove lines from web/controllers/base.php, I get a bunch of errors.

@jonseg ?

You need remove the line in /web/controllers/base.php that includes (require_once) the file relationed with the table. Also, you need find the menu option that load your table in /web/views/menu.html.twig and remove too.
Regards.

Got it, thanks. It was the menu.html.twig bit that wasn't so clear. Cheers again for a great project.


[BUG] Loading sync channel does not load probe

https://github.com/SpikeInterface/spikeinterface/issues/1710

As disussed in the issue, this behaviour is intentional. The easiest way is to expose sync channel separately, possibly to .save() in a folder sync_channel at the preprocessed level.


Compile error

When I run cabal update && cabal sandbox init && cabal configure && cabal install --dependencies-only && cabal build, the result is this compile error:
Downloading the latest package list from hackage.haskell.org
Writing a default package environment file to
/Users/j/Documents/TUDelft/MSc/thesis/software/broker/cabal.sandbox.config
Using an existing sandbox located at
/Users/j/Documents/TUDelft/MSc/thesis/software/broker/.cabal-sandbox
Resolving dependencies...
Configuring monto-broker-0.0.1...
Resolving dependencies...
All the requested packages are already installed:
Use --reinstall if you want to reinstall anyway.
Building monto-broker-0.0.1...
Preprocessing library monto-broker-0.0.1...
Preprocessing executable 'broker' for monto-broker-0.0.1...
[1 of 1] Compiling Main             ( broker/Main.hs, dist/build/broker/broker-tmp/Main.o )

broker/Main.hs:57:40: error:
    • Variable not in scope:
        (<>) :: Mod f0 a0 -> Mod f1 a1 -> Mod FlagFields Bool
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Options.Applicative),
        ‘<*>’ (imported from Options.Applicative),
        ‘*>’ (imported from Options.Applicative)

broker/Main.hs:58:40: error:
    • Variable not in scope:
        (<>) :: Mod f2 a2 -> Mod f3 a3 -> Mod OptionFields String
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Options.Applicative),
        ‘<*>’ (imported from Options.Applicative),
        ‘*>’ (imported from Options.Applicative)

broker/Main.hs:59:40: error:
    • Variable not in scope:
        (<>) :: Mod f4 a4 -> Mod f5 a5 -> Mod OptionFields String
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Options.Applicative),
        ‘<*>’ (imported from Options.Applicative),
        ‘*>’ (imported from Options.Applicative)

broker/Main.hs:60:40: error:
    • Variable not in scope:
        (<>) :: Mod f6 a6 -> Mod f7 a7 -> Mod OptionFields String
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Options.Applicative),
        ‘<*>’ (imported from Options.Applicative),
        ‘*>’ (imported from Options.Applicative)

broker/Main.hs:61:40: error:
    • Variable not in scope:
        (<>) :: Mod f8 a8 -> Mod f9 a9 -> Mod OptionFields Port
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Options.Applicative),
        ‘<*>’ (imported from Options.Applicative),
        ‘*>’ (imported from Options.Applicative)

broker/Main.hs:62:40: error:
    • Variable not in scope:
        (<>) :: Mod f10 a10 -> Mod f11 a11 -> Mod OptionFields Port
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Options.Applicative),
        ‘<*>’ (imported from Options.Applicative),
        ‘*>’ (imported from Options.Applicative)

broker/Main.hs:68:5: error:
    • Variable not in scope:
        (<>) :: InfoMod a12 -> InfoMod a13 -> InfoMod Options
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Options.Applicative),
        ‘<*>’ (imported from Options.Applicative),
        ‘*>’ (imported from Options.Applicative)

Some background info:

I'm using OS X, in case that can matter in the Haskell world
ghc --version yieldsThe Glorious Glasgow Haskell Compilation System, version 8.0.1

I think you are on the master branch. All development currently happens on the file-dependencies branch. Could you try on that branch again, if there is no concrete reason to be on master? On file-dependencies I added convenience shell scripts for building and running the broker with either cabal or stack.

@StareInTheAir, nonetheless the master branch should be stable and should not produce compile errors. Have you considered merging the feature branch?

The issue was caused by the library optparse-applicative that removed the export of the mappend operator (<>) in their most recent release <IP_ADDRESS>. My suggestion would be to import (<>) from Data.Monoid directly and to import Options.Applicative qualified. This way master should be compatible with older and the most recent version of optparse-applicative

Indeed I was on master, and the file-dependencies branch compiles normally, so for now that fixes it.

This compile error should also be present on file-dependencies, when using cabal. The currently latest stack resolver (lts-6.13) doesn't yet use optparse-applicative 0.13.0, so stack should still work. @jjpe, did you use cabal or stack for building? I don't have have cabal installed atm, so I can't test it.

I'm using cabal, and the most recent commit in the log for the file-dependencies branch is edac019d518b048080b7516bcf829d69f3871f44.

I did some further testing. For me the error also happened on file-dependencies when using cabal. As suggested by the opt-parse authors and Sven, importing (<>) from Data.Monoid fixes the error (6f6174e9418c36b5e1ef54a1bdc65c32f5aff2b1), but raises a warning, when using optparse-applicative 0.12 (which is the version stack still uses). The broker runs fine, despite the warning. Once the stack resolver updates, the warning will be gone to.
I also replaced the cabal build instructions with stack (54bd54a0be9e963feea0140c603a5a75176836da). You can still use cabal, but I would suggest switching to stack (easier to use and more robust).


Feature/api client edge

@ryochiji please take a look, new take on Python client interface.
Sample usage:
+  Getting a client:
 +
 +        client = DRESTClient('my.api.io', authentication={'token': 'secret'})
 +
 +    Working with a resource:
 +
 +        User = client.users
 +
 +    Getting a single resource:
 +
 +        User.get('123')
 +
 +    Getting all resources (auto-paging):
 +
 +        User.all()
 +
 +    Getting filtered resources:
 +
 +        User.filter(name__icontains='john')
 +        other_users = User.exclude(name__icontains='john')
 +
 +    Including / excluding fields:
 +
 +        users = User.all()
 +        .excluding('birthday')
 +        .including('events.*')
 +        .get('123')
 +
 +    Mapping by field:
 +
 +        users_by_id = User.map()
 +        users_by_name = User.map('name')
 +
 +    Ordering results:
 +
 +        users = User.order_by('-name')
 +
 +    Updating records:
 +
 +        user = User.first()
 +        user.name = 'john'
 +        user.save()
 +
 +    Creating resources:
 +
 +        user = User.create(name='john')

It looks like one of the things you're trying to accomplish is to add a mode where related objects come back nested. I actually did that in one of my hacks, but did it by modifying SideloadingProcessor.is_dynamic. That approach seemed pretty un-intrusive but not sure if it's applicable to your scenario.

@ryochiji I thought it would be useful to support an API parameter that can force embedding of all relationships, or force sideloading of all relationships. Default behavior is still to respect embeds at the serializer level.

@ryochiji any other concerns?

Looks great! 👍

@ryochiji I tried running vishnu-be tests against this PR and hit a few breaking tests due to the change in .data, e.g. when serializers are constructed manually by more complex viewsets. This was a rare case (1% of tests), but regardless, I decided to work a bit harder to retain backwards-compatibility.
To do this, I added a new serializer parameter called envelope which controls whether or not .data is wrapped in an envelope. The default is False, which provides the same behavior we have in DREST 1.5, but is set to True by the viewset. The sideload parameter (which controls both the envelope as well as deeper sideloading in 1.5) is still supported as a proxy for envelope, but is marked as pending deprecation.
Generally, envelope is preferred because it supports sideloading and response meta-data in an unambiguous way. However, when using serializers directly outside of the context of a view, I can see the value of stripping the envelope.
But how does that sound to you? :)

Going ahead with this

👍 to the general approach. It might be nice to enforce some checks between embed, envelope and sideloading to avoid inconsistent configurations, but not urgent.


Can see canvas when browsing gallery in Edge

When scrolling through to the top or bottom of the gallery in edge, the drawing canvas can be seen.

Closing Edge P2 bugs as they are fixed in new Edge


Fixed note on Get-ADUser.md

https://github.com/MicrosoftDocs/windows-powershell-docs/pull/1896

Docs Build status updates of commit 5cd9b93:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/addsadministration/Get-ADUser.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Can be merged as a correction to the PR #1896


Add support for daily watch reward

Attempt to claim the reward after every watch (or add local logic to only ask every 24 hours).
Update reward display to accommodate ranges (once the reward is live, /reward/list will return a property on rewards that indicates the amount)

Will be claimable in 0.8.4 but the reward won't display the range.

@shyba how come you didn't notice I assigned this to you by accident? :stuck_out_tongue:


"Gefyra network already exists" after incorrect cluster/gefyra termination

After terminating gefyra "incorrectly", I am not able to run gefyra up/run anymore.
(.venv) ...$ gefyra run -i ...
[ERROR] Gefyra Cargo not found. Please run 'gefyra up' first.
(.venv) ...$ gefyra up
[INFO] There was no --endpoint argument provided. Connecting to a local Kubernetes node.
[INFO] Installing Gefyra Operator
[INFO] Gefyra network already exists
[CRITICAL] There was an error running Gefyra: HTTPSConnectionPool(host='<IP_ADDRESS>', port=42193): Max retries exceeded with url: /api/v1/namespaces (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ff3024aedc0>: Failed to establish a new connection: [Errno 111] Connection refused'))

I am not 100% sure what I did, but I guess it was something like the following: I stopped my local cluster with an active bridge, saw that there is still a container running (maybe the cargo) and terminated it manually.
Clearly this is kind of a user error, however, it would be nice to be able to recover from this state without having to recreate the full cluster or use some kubectl commands. Would that technically be possible?

This looks like your Kubernetes API is not available. The error comes from retrieving the available namespaces from the cluster, but the API server is not reachable. Does kubectl get ns work in that case? I actually shouldn't.

Not sure, I already recreated the cluster. But the cluster was available as far as I recall. I can try to terminate the cluster incorrectly later on purpose to reproduce the error.

I tried to get into the same error state again, but did not manage. I will try more often these days and observe if I can reproduce the reported error.
Instead, now I managed to get the gefyra namespace stuck in "Terminating"

[INFO] There was no --endpoint argument provided. Connecting to a local Kubernetes node.
[INFO] Installing Gefyra Operator
[INFO] Gefyra network already exists
[ERROR] Forbidden: namespace gefyra is being terminated

I re-run into the same problem. Seems like this issue is cluster related
(.venv) ...$ kubectl get ns
The connection to the server <IP_ADDRESS>:42193 was refused - did you specify the right host or port?


shortcuts on jupyter notebooks

supported basic shorcuts such as [x, c, v, ctrl+shift+- ] dont't work at all
jupyter via browser allows to see the docstring of function, i.e. by pressing the shortcut shift+tab into a funcion bracket the doc string is shown in a popup. Is this possible also here?

More info in the pastebin and attached screenshot
https://pastebin.com/MKvR59WF

Hi @colomb8, those shortcuts actually pertain to the preview notebook editor that is only available via our extension in the Insiders build of VS Code.  A subset of common Jupyter shortcuts are available in the stable notebook editor today, and you're right that copy, cut, delete, split, find, and paste are not currently available in stable. From your logs it seems like you are on stable, but if you find that those shortcuts aren't working on Insiders please file a bug with us!
We do provide docstring info for methods, among other things, the full list of features is described in https://code.visualstudio.com/docs/python/jupyter-support#_intellisense-support-in-the-jupyter-notebook-editor. Is this what you are asking about?

As per Joyce, shortcuts in the older notebook implementation will stay as is.


Fix meta tag name and property issue in Open Graph extension

Description
Some websites use the name or property attributes in their meta tags, but they don't always apply 'property' for Open Graph or 'name' for Twitter tags. To address this issue, I've added a condition in code.

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Thanks for your contribution! 🚀✨
After researching the Open Graph Protocol's website (https://arc.net/l/quote/crnxczrp), I found that the correct way to use it is by using the "property" and "content" attributes, instead of "name" and "content."
On the other hand, according to Twitter's documentation (https://arc.net/l/quote/vyxglpmr), their Open Graph requires the use of "name" and "content."
However, it seems that some sites are not following this protocol.
Should we continue to adhere to the protocol or provide support for those sites?

Therefore, do we only need to modify the Twitter sections of the code?

That is correct, I have made the necessary modifications to the code. Please review it and let me know if everything meets your requirements. Thank you.

Therefore, do we only need to modify the Twitter sections of the code?

That is correct, I have made the necessary modifications to the code. Please review it and let me know if everything meets your requirements. Thank you.

LGTM 👍


Manager flaky test

This PR tries to clean up properly so that when the test shuts down unwanted calls to the group's inspectGroups aren't made.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "manager_flaky_test" git@github.com:chungers/infrakit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842353659768
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Current coverage is 67.56% (diff: 100%)

Merging #320 into master will increase coverage by 15.27%

@@             master       #320   diff @@
==========================================
  Files            12         28    +16
  Lines           610       1483   +873
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            319       1002   +683
- Misses          246        388   +142
- Partials         45         93    +48

Powered by Codecov. Last update a1e94af...4f66c17


error when bundle for producation

ulid version
v2.2.1
webpack version
v3.8.1
library or framework
React v15.6.1
error message
ERROR in static/js/vendor.d444dbbb14fee2232a46.js from UglifyJs
Unexpected token: name (done) [./node_modules/ulid/lib/index.js:20,0][static/js/vendor.d444dbbb14fee2232a46.js:92761,8]

@ChiaJune, I'm guessing that a transpiler solved your issues. Feel free re-open if you have any other questions.


RYA-340 Added dependency filtering to rya.pcj.fluo.app for deployments.

Description

Added dependency filtering to rya.pcj.fluo.app for deployments.
Also improved scoping of dependencies and dependencyManagement.
Updated integration tests to use -Djava.net.preferIPv4Stack=true.

Tests
Minor IT improvements in pom.  No code changes.
Links
Jira RYA-340
Checklist

[ ] Code Review
[ ] Squash Commits

People To Reivew
@amihalik
@meiercaleb

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/393/Build result: FAILURE[...truncated 1.39 MB...][INFO] Apache Rya Spark Support ........................... SKIPPED[INFO] Apache Rya Web Projects ............................ SKIPPED[INFO] Apache Rya Web Implementation ...................... SKIPPED[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 10:34 min[INFO] Finished at: 2017-08-15T17:57:30+00:00[INFO] Final Memory: 141M/3074M[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.4.1:single (make-assembly) on project rya.pcj.fluo.client: Failed to create assembly: Error creating assembly archive jar-with-dependencies: Error finalizing component-set for archive. Reason: Permission denied -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn  -rf :rya.pcj.fluo.clientchannel stoppedSetting status of 17acdce7e3f0a71112e22971943243cfacf3b658 to FAILURE with url https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/393/ and message: 'FAILURE 'Using context: Jenkins: clean package -Pgeoindexing

asfbot build

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/395/


Managing systems executed at Update, FixedUpdate and LateUpdate

Hi everyone, I was putting some thought into how to manage systems that have to be updated at Update, FixedUpdate or LateUpdate (see #402). I think it is the right decision to not distinguish between systems that execute at these different points in the Unity lifecycle. The IExecuteSystem API should be decoupled from Unity. On the other hand, the Feature class is specifically designed to make it easier to use and debug systems in Unity, so I think this class actually should distinguish  between systems that are executed during Update, FixedUpdate and LateUpdate. This would make it much easier to manage systems in a complex game.
For example, I have an In-Game-Editor in which I want to enable the user to move the camera with the mouse. This MoveCameraSystem should be executed at LateUpdate. I would like to add this system to my InGameEditorFeature. But as this feature also contains an InputSystem that has to be executed at Update, this is currently impossible.
This gets even more inconvenient because I want to switch between different "modules" in the game by deactivating the reactive systems in the old module (e.g. the game), resetting contexts and activating the reactive systems in the new module (e.g. the in-game-editor).
So I decided to add this feature by creating a "UnitySystems" class that inherits from Systems and has OnUpdate, OnFixedUpdate and OnLateUpdate methods that can be called in the GameController. ISystems can be added to a UnitySystems instance by specifying an update type (Update, FixedUpdate or LateUpdate). If no update type is specified and the system is an IExecuteSystem, the IExecuteSystem will be executed when calling OnUpdate. Adding a UnitySystems object to another UnitySystems object is also supported. I have not tested it extensively, but I think it works quite well.
The question I would like to discuss now is how to support visual debugging. Wouldn't it make sense to change DebugSystems so that it inherits from a class like UnitySystems? Or maybe there is a way to make the visual debugging system more adaptable so that different kinds of Feature implementations can be used?
Here is what I have so far:
using Entitas;
using System.Collections.Generic;
using System;

public enum UpdateTypes{
        UPDATE,
        FIXED_UPDATE,
        LATE_UPDATE
}

public class DelegatedExecutionSystem:IExecuteSystem{
    readonly Action _executeAction;
    public DelegatedExecutionSystem(Action action){
        _executeAction = action;
    }

    public void Execute()
    {
        if(_executeAction != null){
            _executeAction();
        }
    }
}

public class UnitySystems : Systems{
        protected readonly List<IExecuteSystem> _executeOnUpdateSystems;
        protected readonly List<IExecuteSystem> _executeOnFixedUpdateSystems;
        protected readonly List<IExecuteSystem> _executeOnLateUpdateSystems;

        public IExecuteSystem updateExecution;
        public IExecuteSystem fixedUpdateExecution;
        public IExecuteSystem lateUpdateExecution;

        public UnitySystems():base(){
                _executeOnUpdateSystems = new List<IExecuteSystem>();
                _executeOnFixedUpdateSystems = new List<IExecuteSystem>();
                _executeOnLateUpdateSystems = new List<IExecuteSystem>();
                updateExecution = new DelegatedExecutionSystem(OnUpdate);
                fixedUpdateExecution = new DelegatedExecutionSystem(OnFixedUpdate);
                lateUpdateExecution = new DelegatedExecutionSystem(OnLateUpdate);
        }
        public override Systems Add(ISystem system){
            return Add(system, UpdateTypes.UPDATE);
        }
        public UnitySystems Add(ISystem system, UpdateTypes updateType){
            var initializeSystem = system as IInitializeSystem;
            if (initializeSystem != null) {
                _initializeSystems.Add(initializeSystem);
            }

            var unitySystems = system as UnitySystems;
            var executeSystem = system as IExecuteSystem;
            if (executeSystem != null) {
                 _executeSystems.Add(executeSystem);
                if(unitySystems != null){
                        _executeOnFixedUpdateSystems.Add(unitySystems.fixedUpdateExecution);
                        _executeOnLateUpdateSystems.Add(unitySystems.lateUpdateExecution);
                        _executeOnUpdateSystems.Add(unitySystems.updateExecution);
                }else if(updateType == UpdateTypes.FIXED_UPDATE){
                        _executeOnFixedUpdateSystems.Add(executeSystem);
                }else if(updateType == UpdateTypes.LATE_UPDATE){
                        _executeOnLateUpdateSystems.Add(executeSystem);
                }else{
                        _executeOnUpdateSystems.Add(executeSystem);
                }
            }

            var cleanupSystem = system as ICleanupSystem;
            if (cleanupSystem != null) {
                _cleanupSystems.Add(cleanupSystem);
            }

            var tearDownSystem = system as ITearDownSystem;
            if (tearDownSystem != null) {
                _tearDownSystems.Add(tearDownSystem);
            }

            return this;
        }

        public void OnFixedUpdate(){
            for (int i = 0; i < _executeOnFixedUpdateSystems.Count; i++) {
                _executeOnFixedUpdateSystems[i].Execute();
            }
        }
        public void OnUpdate(){
            for (int i = 0; i < _executeOnUpdateSystems.Count; i++) {
                _executeOnUpdateSystems[i].Execute();
            }
        }
        public void OnLateUpdate(){
            for (int i = 0; i < _executeOnLateUpdateSystems.Count; i++) {
                _executeOnLateUpdateSystems[i].Execute();
            }
        }
        public override void Execute(){
                OnUpdate();
        }
}

I did my own version of this a little differently.
In order to use LateUpdate or FixedUpdate, all my systems must do is implement IFixedUpdateSystem or ILateUpdateSystem.
One drawback is that they still must implement IExecuteSystem (even if I don't need anything to be executed in update - meaning empty Execute method).
Another drawback is that I can't use ReactiveSystems if I need either Late or Fixed Updates. I can live with that, though.
If anyone cleverer than me thinks of a better way of doing this, I'm all for contributing back. Pardon me for the code below, c# is not my most fluent language.
using Entitas;
using System.Collections.Generic;
using System;

public interface IFixedUpdateSystem
{
    void FixedUpdate();
}

public interface ILateUpdateSystem
{
    void LateUpdate();
}

public static class UnityEntitasExtensions
{
    public static void FixedUpdate(List<IExecuteSystem> executeSystems)
    {
        foreach (var system in executeSystems)
        {
            var s = system as UnityFeature;
            if (s != null)
            {
                s.FixedUpdate();
                continue;
            }

            var f = system as IFixedUpdateSystem;
            if (f != null)
            {
                f.FixedUpdate();
            }
        }
    }

    public static void LateUpdate(List<IExecuteSystem> executeSystems)
    {
        foreach (var system in executeSystems)
        {
            var s = system as UnityFeature;
            if (s != null)
            {
                s.LateUpdate();
                continue;
            }

            var f = system as ILateUpdateSystem;
            if (f != null)
            {
                f.LateUpdate();
            }
        }
    }
}

public class UnitySystems : Systems
{
    public void FixedUpdate()
    {
        UnityEntitasExtensions.FixedUpdate(_executeSystems);
    }

    public void LateUpdate()
    {
        UnityEntitasExtensions.LateUpdate(_executeSystems);
    }
}

public class UnityFeature : Feature {
    public UnityFeature(string name) : base(name) {
    }

    public UnityFeature() {
    }

    public void FixedUpdate()
    {
        UnityEntitasExtensions.FixedUpdate(_executeSystems);
    }

    public void LateUpdate()
    {
        UnityEntitasExtensions.LateUpdate(_executeSystems);
    }
}

A sample system that implements IFixedUpdate:
using Entitas;
using System.Linq;

namespace Sample {
    public class RenderPositionSystem : IInitializeSystem, IExecuteSystem, IFixedUpdateSystem
    {
        readonly GameContext _context;
        IGroup<GameEntity> _movables;

        public RenderPositionSystem(Contexts contexts) {
            _context = contexts.game;
        }

        public void Initialize()
        {
            _movables = _context.GetGroup(GameMatcher.Position);
        }

        private GameEntity[] Filter(GameEntity[] entities)
        {
            return entities.Where(e => e.hasView).ToArray();
        }

        public void FixedUpdate()
        {
            var entities = Filter(_movables.GetEntities());
            foreach (var e in entities)
            {
                var go = e.view.gameObject;
                go.transform.position = e.position.value;
            }
        }

        public void Execute()
        {
            //As I said, I have to leave this empty.
        }
    }
}

@sschmid any thoughts on how to proceed here? I understand you said I could have a completely different set of Systems for the specific purpose of Fixed and Late Updates, but it strikes me as odd that I divide my Systems by when they are called, instead of by cohesion.
Imagine a scenario where my system must rotate the character. I must rotate the main model in the FixedUpdate method, but the character's spine in the LateUpdate method (after animation has already finished). This is just an example.
What do you think?

Hi, sorry for the late reply. So basically you'd like to have multiple different update steps. This kind of reminds me of IExecuteSystem and ICleanupSystem where you actually have one system that contains the code of both phases. So what we would need is adding ILateExecute and IFixedExecute and update the Systems and DebugSystems class. We also would need that for ReactiveSystems and MultiReactiveSystems, but that could be solved simpler with a Execute enum.
Yeah, probably that makes sense. Will add this to my todo

Not to put pressure here @sschmid but do you see this being implemented soon? I can try to get a PR done if you think it's useful. I can try to start with what you described above.

Also, do you have any instructions on how to develop? I'm trying to run the tests in VS 2017 and it can't find any tests... (sorry for the newbie questions)

I managed to start a PR. I haven't created it as a PR because I'm fairly certain I'm still missing stuff.
https://github.com/heynemann/Entitas-CSharp/tree/feature/%23434-Unity-Events
Can you guys help me in the right direction? I can now run all the tests.
What I have so far:

LateExecute in the Systems (with tests);
FixedExecute in the Systems (with tests).

I'm still missing, that I know of:

Integrating with ReactiveSystems;
Unity Editor integration (to show ILateExecuteSystems and IFixedExecuteSystems).

Any help would be very appreciated. Sorry if this is not what you meant.

Btw, sorry for the identation diffs. I just managed to get the project to compile and its 2am. I will configure MonoDevelop properly later.


Why are GOARCH and GOOS set in the container?

I set myself to add go to my ddev projects, the reason behind this is multi-fold, but I wanted to
go install github.com/skx/sysbox@latest

I have other ways of installing it but I used this as a way to learn a bit on go on its own, and I noticed that go install github.com/skx/sysbox was building it as darwin_arm64 and that led to to try to understand why and I learned that GOOS and GOARCH are exported from the host.
I have many ways around this, even unsetting this, but I wonder if there's an actual reason for this or if maybe these variables should not be set?
https://github.com/ddev/ddev/blob/dd09a1a3bc2aeb4b761e74926ea6937776bf631f/pkg/ddevapp/ddevapp.go#L2440-L2441

They're the easiest and most consistent way to get the OS and architecture, that's all.

but that's the HOST OS and architecture... is that used elsewhere? You see how that would affect if anyone want's to develop with go inside the container, those crazy like me .. just wonder if these variables should have been something else, like DDEV_HOST_OS and DDEV_HOST_ARCH

I just spent some time poking around.
This was added in

https://github.com/ddev/ddev/pull/3898

I guess it's to provide that information to add-ons, which may not have that exact thing available. I see it being used (I think) in TestCmdAddonComplex but that's probably it.
I would think it could be changed to something else indicative. Not sure how valuable it is.


[5.8] update purge cache to warn when failing to delete files

bring #6041 to 5.8

@swift-ci smoke test

windows ci failure unrelated


Allow for two different markers of CCrel metadata in watermark

One is the normal one that is downloaded that we're setting up now
Two is with some additional code that indicates that user has opted in to provide more information about how they have reused the work. It can be a tracking code or something of that ilk. Not sure. Let's discuss how to do this!
We'll need this before we ship to production.

Jane and I discussed this offline. We're going to hold off on adding consent metadata fields until we've put together a practical strategy for tracking reuse of works out in the wild.

Closing this out, we did not move forward with watermarking images at download.


Issue #40: More testing of field/enum/message names

This introduces an automatic test of field/enum/message names that harvests a word list from the SwiftProtobuf library source code, builds protos from it, and compiles those as part of the test suite.
I've also expanded some of the other naming tests to verify that you can't accidentally shadow basic features (such as "has"/"clear" properties, or the "serializedData()" method) with a poorly-chosen field name.
Based on this, I've reworked some of the name sanitization to protect some of the issues uncovered.
Caveat:  The four large protos added to the test build increase the time for a clean compile of the test suite from 2m30s to over 4m on my laptop.  (The new protos are rebuilt as part of make regenerate, so usually they don't have to be recompiled at all.)

Just checking, doesn't look like new comments have shown up, am I reading that correctly?

doesn't look like new comments have shown up, am I reading that correctly?

I started on Friday but didn't finish.  I'll submit the rest of this today.

I filled in a bunch of comments and in the process caught a few more oversights (the test protos for naming didn't have extensions or required fields, so never tripped over Extensions or isInitialized).


Feedback Requested by Adam

Website Domain Feedback for Adam
This is awesome Adam, great job! So excited for this!
Just a few things-
1. Note: Love the cute “This one’s on us!” section

2. Suggestion: Second line on “This one’s on us” section
Maybe change the second line copy to, “This complimentary domain is ready to go when you are.”
3. Suggestion: Header and Helper Text at the top
Would be nice to have a Header above the “Domain Name” field and button because they get kinda lost. Maybe just “Add Domain Names” then some helper text below like “Add domain names that you’ve purchased from a domain registrar here. Don’t have a custom domain name yet? Check out Google Domains or NameCheap.”

4. Suggestion: Add additional helper text
It took me a minute to figure out why there were so many CNAME things. I don’t think I’d seen that before. What if we added another helper text above the DNS Record 48 hours thing that says, “Tip: Go to your domain registrar and add each of the above CNAMEs to your DNS Records.”
5. Weirdness:
I tried adding a junk domain I have, “trashdogproductions.com”
I can’t get the top CNAME to resolve.

6. Weirdness/Bug?: Button Errors
Also when I hit “Retry,” the “Add Domain Name” button changes to says“user.isAdminUserRole is not a function” or if I clear that it says “Invalid Domain.” It's a little confusing that the error state is showing up there instead of in the "trashdogproductions.com" box.

7. Bug: When adding new domain name, 2nd CNAME is clicked automatically?
When I added this fake one, "mycampaign.com" it shows the second domain name clicked. Same thing happened with trashdogproductions.com. This eventually goes way if you hit refresh.

8. Suggestion: Documentation
We should make a page on notion or docs.universe.app to explain how to do this. Then we could link to that page directly in the helper text.
FYI this is what my registrar's Cname added looks like, kinda nice-

PS: I didn't try making a different domain the "Primary." Was kind scared it might be a problem.

This belongs in aether!


Added library.json for platformio buid system.

Hey! I really love embedded-cli, I used in my projects, for which I mostly use Platformio as dev environment/build system. To be able to use a lib within a platformio project, you would need a library.json manifest file, see the docu. So thats it, the merge request just add that tiny file.

Hi! Thanks for your contribution. Merged into master.
I wonder would it be possible to include some minimal platformio example into examples?

Thanks for the quick merge! Will add the example 😃


Fix the package target

:notebook_with_decorative_cover: Description
CPack omits files and directories that are installed with absolute paths at the DESTINATION argument. That means we need to use
install(
  TARGETS libvast
  EXPORT VASTTargets
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

instead of
install(
  TARGETS libvast
  EXPORT VASTTargets
  ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
  LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
  RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})

Let's hope this was the last one.