Incorrect mapping of team_user.team_id to user_id when using string primary keys

When Teams configured to use a string as the primary key, the query appears to incorrectly map team_user.team_id to user_id instead of team_user.user_id. This results in a SQL error:
SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: character varying = bigint LINE 1: ...om "teams" inner join "team_user" on "teams"."id" = "team_us... ^ HINT: No operator matches the given name and argument types. You might need to add explicit type casts. (Connection: pgsql, SQL: select "teams".*, "team_user"."team_id" as "pivot_team_id", "team_user"."user_id" as "pivot_user_id", "team_user"."role_id" as "pivot_role_id", "team_user"."created_at" as "pivot_created_at", "team_user"."updated_at" as "pivot_updated_at" from "teams" inner join "team_user" on "teams"."id" = "team_user"."user_id" where "team_user"."team_id" = 1)

Steps to Reproduce

Configure the teams table to use a string as the primary key.
Attempt to query a relationship involving the team_user pivot table, for example:

$request->user()->allTeams();

Observe that the query tries to map team_user.team_id to user_id instead of team_user.user_id, resulting in the SQL error.

Expected Behavior
The generated query should correctly map:
teams.id to team_user.team_id
users.id to team_user.user_id
Actual Behavior
The generated query incorrectly maps team_user. team_id to user_id, leading to a SQL error when executing the query.
Additional Context
This behavior appears to be incorrect, as it does not align with the expected relationships defined in the schema. Please advise if this is a bug or if additional configuration is needed to resolve this issue when using string primary keys.

Hi, please provide additional information - what version of the package are you using, and how did you configure the model to work with string keys, setting $incrementing = false; or did you perform any additional actions?

I am using version 2.4.5, the issue seems to be fix in branch 3.0. Is 3.0 the recommended branch I should be using @Jurager ?

FYI this is what is causing the issue that was updated in branch 3.0 https://github.com/Jurager/teams/blob/187825c848becc0800eb1ea06ef0a2ec51129269/src/Traits/HasTeams.php#L35


Include LICENSE file in wheels

The license requires that all copies of the software include the license.  This makes sure the license is included in the wheels.  See the wheel documentation here for more information.

Closing as this project is not maintained anymore.
Thanks, we can reopen if necessary.


Feat/add local install capability

Changes

This PR adds possibility for a local installation by passing the -l argument
Updates the install script usage:

printf "Usage: ./install.sh [ -i install -l local (optional) | -u uninstall -l local (optional) ]\n"

And, in commit ad9c7aa, I fixed the nerd-font glyph for the large circle filled symbol.

Thanks for the contribution, though

the usage of local argument two times i.e., both for install and uninstall is redundant
I'll have to check the "gylphs" you mentioned... so that'd take time ( I don't have access to my device )

the usage of local argument two times i.e., both for install and uninstall is redundant

Removed local argument for uninstall, maybe it looks better now?


row level security

The README mentions row-level security. Is there any documentation for how this works?

:+1:

1

+1

I see that it is not implemented yet,
https://github.com/tjwebb/sails-permissions/blob/master/api/models/Permission.js#L27

@phishy this is now supported as of #69. Any help testing it out is appreciated.

I would be happy to test but do you have any info on how to use it?

this is awesome!

Ok just trying the permission criteria but it doesn't seem to have any effect.
I have set the permission using
PermissionService.grant({
    role: 'public',
    model: 'Product',
    action: 'read',
    criteria: {
      blacklist: ['inventory']
    }
  });

where inventory is an association to a model
I was hoping that any public user would then not see the inventory attribute which is populated in my controller.
I've also tried it on another field that isn't an association and the attribute is still displayed in the response.

@dottodot Are you using a blueprint controller or a custom controller for the Product/read request?  Blacklist filtering only works if the result is sent back with res.ok, so if you are using a custom controller, make sure you send the response via res.ok.
I have also noticed some unusual behavior with the 'public' role.  I will see if I can reproduce this when I have a few minutes.

Yes I'm using a custom controller, I've just changed it to res.ok and that's made no difference and I've tried on the registered role and it's still the same.
I'm wondering if the 'where' option is required for it to work but not sure what you'd use field that can be any value.

No, the 'where' option should not be required for it to work.  Let me have a look at it now.

Have you checked that the Permission looks correct in sails console, via Permission.find()?

OK below is the output of Permission.find() but I'm not sure what to look for to know if it's right.
{ _context:
   { connections: { mongo_development: [Object] },
     waterline:
      { _collections: [Object],
        _connections: {},
        collections: [Object],
        connections: [Object],
        schema: [Object] },
     adapter:
      { connections: [Object],
        dictionary: [Object],
        query: [Circular],
        collection: 'permission',
        identity: 'permission' },
     _attributes:
      { model: [Object],
        action: [Object],
        relation: [Object],
        role: [Object],
        user: [Object],
        criteria: [Object],
        id: [Object],
        createdAt: [Object],
        updatedAt: [Object] },
     defaults:
      { migrate: 'safe',
        schema: true,
        connection: 'mongo_development' },
     _cast: { _types: [Object] },
     _schema:
      { context: [Circular],
        schema: [Object],
        hasSchema: true },
     _validator:
      { validations: [Object],
        reservedProperties: [Object] },
     _callbacks:
      { beforeValidate: [Object],
        afterValidate: [Object],
        beforeUpdate: [Object],
        afterUpdate: [Object],
        beforeCreate: [Object],
        afterCreate: [Object],
        beforeDestroy: [Object],
        afterDestroy: [Object] },
     _instanceMethods: {},
     hasSchema: true,
     migrate: 'safe',
     _model: [Function: bound],
     primaryKey: 'id',
     _transformer: { _transformations: {} },
     adapterDictionary:
      { pkFormat: 'mongo_development',
        syncable: 'mongo_development',
        defaults: 'mongo_development',
        registerConnection: 'mongo_development',
        teardown: 'mongo_development',
        describe: 'mongo_development',
        define: 'mongo_development',
        drop: 'mongo_development',
        native: 'mongo_development',
        mongo: 'mongo_development',
        create: 'mongo_development',
        createEach: 'mongo_development',
        find: 'mongo_development',
        update: 'mongo_development',
        destroy: 'mongo_development',
        count: 'mongo_development',
        join: 'mongo_development',
        stream: 'mongo_development',
        identity: 'mongo_development' },
     pkFormat: 'string',
     syncable: true,
     registerConnection: [Function: bound],
     teardown: [Function: bound],
     define: [Function: bound],
     native: [Function: bound],
     mongo: { objectId: [Function] },
     findOneByAction: [Function: bound],
     findOneByActionIn: [Function: bound],
     findOneByActionLike: [Function: bound],
     findByAction: [Function: bound],
     findByActionIn: [Function: bound],
     findByActionLike: [Function: bound],
     countByAction: [Function: bound],
     countByActionIn: [Function: bound],
     countByActionLike: [Function: bound],
     actionStartsWith: [Function: bound],
     actionContains: [Function: bound],
     actionEndsWith: [Function: bound],
     findOneByRelation: [Function: bound],
     findOneByRelationIn: [Function: bound],
     findOneByRelationLike: [Function: bound],
     findByRelation: [Function: bound],
     findByRelationIn: [Function: bound],
     findByRelationLike: [Function: bound],
     countByRelation: [Function: bound],
     countByRelationIn: [Function: bound],
     countByRelationLike: [Function: bound],
     relationStartsWith: [Function: bound],
     relationContains: [Function: bound],
     relationEndsWith: [Function: bound],
     findOneById: [Function: bound],
     findOneByIdIn: [Function: bound],
     findOneByIdLike: [Function: bound],
     findById: [Function: bound],
     findByIdIn: [Function: bound],
     findByIdLike: [Function: bound],
     countById: [Function: bound],
     countByIdIn: [Function: bound],
     countByIdLike: [Function: bound],
     idStartsWith: [Function: bound],
     idContains: [Function: bound],
     idEndsWith: [Function: bound],
     findOneByCreatedAt: [Function: bound],
     findOneByCreatedAtIn: [Function: bound],
     findOneByCreatedAtLike: [Function: bound],
     findByCreatedAt: [Function: bound],
     findByCreatedAtIn: [Function: bound],
     findByCreatedAtLike: [Function: bound],
     countByCreatedAt: [Function: bound],
     countByCreatedAtIn: [Function: bound],
     countByCreatedAtLike: [Function: bound],
     createdAtStartsWith: [Function: bound],
     createdAtContains: [Function: bound],
     createdAtEndsWith: [Function: bound],
     findOneByUpdatedAt: [Function: bound],
     findOneByUpdatedAtIn: [Function: bound],
     findOneByUpdatedAtLike: [Function: bound],
     findByUpdatedAt: [Function: bound],
     findByUpdatedAtIn: [Function: bound],
     findByUpdatedAtLike: [Function: bound],
     countByUpdatedAt: [Function: bound],
     countByUpdatedAtIn: [Function: bound],
     countByUpdatedAtLike: [Function: bound],
     updatedAtStartsWith: [Function: bound],
     updatedAtContains: [Function: bound],
     updatedAtEndsWith: [Function: bound],
     definition:
      { model: [Object],
        action: [Object],
        relation: [Object],
        role: [Object],
        user: [Object],
        id: [Object],
        createdAt: [Object],
        updatedAt: [Object] },
     meta: { junctionTable: false },
     alter: [Function: bound],
     buildDynamicFinders: [Function: bound],
     constructor: [Function: bound],
     contains: [Function: bound],
     count: [Function: bound],
     create: [Function: bound],
     createEach: [Function: bound],
     describe: [Function: bound],
     destroy: [Function: bound],
     drop: [Function: bound],
     endsWith: [Function: bound],
     find: [Function: bound],
     findAll: [Function: bound],
     findLike: [Function: bound],
     findOne: [Function: bound],
     findOneLike: [Function: bound],
     findOrCreate: [Function: bound],
     findOrCreateEach: [Function: bound],
     generateAssociationFinders: [Function: bound],
     generateDynamicFinder: [Function: bound],
     join: [Function: bound],
     select: [Function: bound],
     startsWith: [Function: bound],
     stream: [Function: bound],
     sync: [Function: bound],
     update: [Function: bound],
     validate: [Function: bound],
     where: [Function: bound],
     associations:
      [ [Object],
        [Object],
        [Object],
        [Object] ],
     broadcast: [Function],
     getAllContexts: [Function],
     message: [Function],
     publish: [Function: bound],
     pluralize: [Function],
     room: [Function: bound],
     classRoom: [Function],
     _classRoom: [Function],
     subscribers: [Function],
     watchers: [Function],
     subscribe: [Function: bound],
     unsubscribe: [Function: bound],
     publishUpdate: [Function: bound],
     publishDestroy: [Function: bound],
     publishAdd: [Function: bound],
     publishRemove: [Function: bound],
     publishCreate: [Function: bound],
     watch: [Function: bound],
     unwatch: [Function: bound],
     introduce: [Function: bound],
     retire: [Function: bound],
     autosubscribe: true },
  _method: [Function: bound],
  _criteria: { where: null },
  _values: null,
  _deferred: null }

That method returns a promise, which is what you are seeing there.  Try this:
Role.find({name: 'public'}).exec(console.log)
Take the id from the role and plug it into this query:
Permission.find({role: theIdFromRole, action: 'read'}).exec(console.log)

Actually the second query should look like this:
`Permission.find({role: theIdFromRole, action: 'read'}).populate('criteria').exec(console.log)

So this is the response...
[
    {
        criteria: [
            {
                blacklist: [
                    Object
                ],
                permission: '55a7b4efeed630c81a14e659',
                createdAt: '2015-07-16T13: 43: 11.118Z',
                updatedAt: '2015-07-16T13: 43: 11.118Z',
                id: '55a7b4efeed630c81a14e65a'
            }
        ],
        model: '55a7b4c0a2e56fae1a48666b',
        role: '55a7b4c0a2e56fae1a486679',
        action: 'read',
        relation: 'role',
        createdAt: '2015-07-16T13: 43: 11.111Z',
        updatedAt: '2015-07-16T13: 43: 11.114Z',
        id: '55a7b4efeed630c81a14e659'
    }
]

That looks good.  When you tried on the registered role, did you make the request with a registered (logged in) user?

Yes I logged in as the registered user then made the request.
But just found the cause. It was a combination of me missing adding the Criteria Policy to policy.js (sorry about that) and then I was also sending my response as below for pagination purposes.
res.ok({
            items: products,
            totalRecords: count
          });

It would seem the criteria policy will only work if sent as
res.ok(products)

Is there any way around this? Or is it just a case of me creating a custom Criteria Policy to meet my needs?

Sorry I didn't respond to this earlier.  You are correct, the 'read' filtering only works if you send it like res.ok(products)
The code that does it is here: https://github.com/tjwebb/sails-permissions/blob/master/api/policies/CriteriaPolicy.js#L84
I will keep thinking about how to extend the read attribute filtering.

@phishy there is a bit of documentation at the bottom of this page about row-level security: https://github.com/tjwebb/sails-permissions/wiki/Managing-Roles-and-Permissions

@dottodot Did you ever manage to find a solution for this?  I'm having the same problem.

@khchan Sorry which problem are you referring as I mentioned a couple I was having.

@dottodot ah should have been more specific. I was wondering if you found a solution for res.ok to have a pagination total or did you end up having to create a custom criteria policy?

@khchan I did it by sending the count in a header like this.
User.count().then(function(count) {
      User.find().paginate({
        page: req.param('page'),
        limit: req.param('limit')
      }).then(function(users) {
        res.set('Access-Control-Expose-Headers', 'X-Total-Count');
        res.set('X-Total-Count', count);
        res.ok(users);
      });
    });


Error on Account Un-Lock Fails to validate URS/VUK

When you lock an account and try to unlock it, the middle-ware fails to validate the URS with the VUK provided.

After much investigation and with the help of @TechLiam and Paul F  I believe the issue is caused because the SUK is being 64 encoded in the response when it shouldn't be.


The user migration parameter doesn’t have it default value as a true.

Description
In the configuration.properties file of the migrator, the parameter “migrate.users” was left empty. Therefore, this parameter should take the value “true” as default. However, is considered that the parameter took a value of “false” because when the database was cleaned, the information of the users wasn’t deleted.
Steps to reproduce:

In configuration.properties file of the migrator, the value of migrate.users should be empty.
Execute the method of cleanRdapDBTest located in IndividualMigrationProcessTest
Execute the method of migrateUsersTest located in IndividualMigrationProcessTest

Current behavior is expected: when the "migrate.users" parameters was left empty the default value will be false, this because it's unlikely that in every migration process the users will be migrated.
Solution:
Changed the comment in the configuration file, to explain that the default value of "migrate.users" will be "false".


initial commit

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

Could you please add more to this PR's notes/description?  I like the checklist/format we used here:
https://github.com/Azure-Samples/azure-functions-flex-consumption-samples/pull/13


why consumer url not register and unregister to consul?

I wonder why consumer url not register and unregister to consul:
https://github.com/apache/dubbo/blob/afbf7d5171736dafba56bad7dcb664f1f2ce480e/dubbo-registry/dubbo-registry-consul/src/main/java/org/apache/dubbo/registry/consul/ConsulRegistry.java#L102-L104
https://github.com/apache/dubbo/blob/afbf7d5171736dafba56bad7dcb664f1f2ce480e/dubbo-registry/dubbo-registry-consul/src/main/java/org/apache/dubbo/registry/consul/ConsulRegistry.java#L120-L122
And this issue is duplicated to https://github.com/apache/dubbo/issues/6147.

I think it's by design.  The Consul console has provided the statistics of the listening consumer instances?


PTVS does not notify when library does not exist upon install

Describe the bug
When installing a library that doesn't exist (type mismatch, wrong information, etc.) PTVS says "Installing" and later shows errors due to the fact that the library is not found.
Expected behavior
Expect to search the library and notify the user if the library is not found.
(Feedback from PTVS survey)

We do show errors in the latest VS. Needs more info on what the user means. I doubt if there's anything we can do here, we basically just show whatever the pip install command returns.


Todoist custom project doesn't update itself properly after midnight

Home Assistant release with the issue:
0.91.2
Last working Home Assistant release (if known):
Don't know
Operating environment (Hass.io/Docker/Windows/etc.):
Docker
Component/platform:
https://www.home-assistant.io/components/todoist/
Description of problem:
I'm using several custom calendars with due_date_days set to 1. After midnight custom calendar stops updating itself thus completely ignoring changes in parent projects. Restarting HA fixes this issue till the next day.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
calendar:
  - platform: todoist
    token: !secret todoist_api_key
    custom_projects:
      - name: 'Personal Agenda'
        due_date_days: 1
        include_projects:
          - Personal
      - name: 'Work Agenda'
        due_date_days: 1
        include_projects:
          - D-Link
          - Meetings

Traceback (if applicable):
No errors apart from platform exceeding setup time.
2019-04-09 09:01:21 WARNING (MainThread) [homeassistant.components.calendar] Setup of platform todoist is taking over 10 seconds.

Additional information:

Same problem. HA 0.91.3, Docker X86_64

This issue is still in place.

This issue is still present in 0.109.2


Set up an instance of InvenioRDM 8.0

as per https://inveniordm.docs.cern.ch/releases/versions/version-v8.0.0/

This follows up on

#20


[Bug]: Calling decodeRecord on ChannelAction delete produces NPE

General Info

[X] I installed the latest version of SupaCompose
[X] I check for similar bug report

What happened? (include your code)
Calling decodeRecord on ChannelAction delete produced NPE
The reason is the !! operator.
inline fun <reified T> ChannelAction.decodeRecord(json: Json = Json) = json.decodeFromJsonElement<T>(record!!)

The problem stems from record being defined in ChannelAction interface so it forces all inheritors to implement it. Probably better solution would be to split this functionality to a HasRecord interface, implement it only for valid ChannelActions and project decodeRecord over HasRecord instead of ChannelAction
I can tackle this one. Do you accept PRs?
Platform
Android
Relevant log output
E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1
    Process: com.example.supabasetest, PID: 13722
    java.lang.NullPointerException
        at com.example.supabasetest.MainActivity$onCreate$1$1$1$1$invokeSuspend$lambda-4$$inlined$on$3.onEvent(RealtimeChannelBuilder.kt:65)
        at io.github.jan.supacompose.realtime.RealtimeChannelImpl.onMessage(RealtimeChannel.kt:88)
        at io.github.jan.supacompose.realtime.RealtimeImpl.onMessage(Realtime.kt:219)
        at io.github.jan.supacompose.realtime.RealtimeImpl.access$onMessage(Realtime.kt:108)
        at io.github.jan.supacompose.realtime.RealtimeImpl$listenForMessages$1.invokeSuspend(Realtime.kt:182)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
    	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ad55b75, Dispatchers.Default]
D/RealtimeImpl$onMessage: Received event DELETE for channel realtime:public:Points
I/Process: Sending signal. PID: 13722 SIG: 9

sure you can do a PR if you want :)

Will be included in 0.1.2


Support pipeline level optimization

My company relies on a small set of fairly generic shaders and has previously depended on OpenGL's somewhat lax validation of pipelines, specifically: allowing vertex shaders to write outputs that the fragment shader doesn't read.
This is impeding a port to Vulkan since the pipeline validation will fail in such cases.  Currently I've been working around it by adding unused inputs to the fragment shader, but it occurred to me that there might be a better approach for this situation.
For our pipeline we use spirv-opt to optimize individual shaders, but another potential approach would be possible if spirv-opt had a mode where it was able to optimize an entire pipeline.  If I could call spirv-opt and pass it all the shaders I was going to use for a given pipeline, it would have enough information to detect that certain vertex outputs weren't consumed by the fragment shader, or that the fragment shader ultimately didn't use them in it's output.  It could then produce optimized output that ensured that the vertex / fragment interface was valid and minimal.
To be a general solution you'd need to be able to include each potential stage of the pipeline (including geometry and tessellation) and work backwards through the stages to eliminate unneeded code, but it seems like a worthwhile area for optimization.

This is something I relied heavily on under with GLSL/OpenGL, via the compilers that AMD and Nvidia shipped with their drivers.
In particular since interface variable resources are very limited, the ability to eliminate unused interface variables is critical. My user-facing GLSL API declares 8 sets of texture coordinates (in vec3 uv[8]) coming into the vertex shader that the end users may or may not use. These are usually not used, but must always be declared so the user's shaders always compile cleanly, even if the geometry doesn't have 8 sets of texture coordinates (in which case I provide a default value for the attribute).
With Vulkan now this always eats up 8 input attributes, so it's a step backwards.

Passes have been added that can do this. See #4970.

That was like two jobs ago, but thanks!


HDDS-9683. Containers present on decommission nodes are reported as mis-replicated

What changes were proposed in this pull request?
When a node is decommissioning, new replicas are being copied to other nodes and once this process has finished, then the node goes into decommission. After the copies are made, the container appears as mis-replicated due to the excessive replicas. These replicas are unavailable and the decommissioned node is expected to be stopped. For that reason, containers that belong to decommissioning or decommissioned nodes, shouldn't be counted as mis-replicated.
Nodes in maintenance, won't be filtered because such nodes are expected to come back and no replica copies are made while entering the state. Mis-replication on a node in maintenance, is the same as having mis-replication on a healthy and active node.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-9683
How was this patch tested?
New unit tests are added. It can also be tested manually with the ozone-topology docker env like so

Edit docker-config to enable RackScatter policy (easier to reproduce with RackScatter)

- OZONE-SITE.XML_ozone.scm.container.placement.impl=org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRackAware
+ #OZONE-SITE.XML_ozone.scm.container.placement.impl=org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRackAware
+
+ OZONE-SITE.XML_ozone.scm.container.placement.impl=org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRackScatter
+ OZONE-SITE.XML_ozone.scm.pipeline.placement.impl=org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRackScatter
+
+ # For decommission
+ OZONE-SITE.XML_ozone.scm.nodes.scmservice=scm
+ OZONE-SITE.XML_ozone.scm.address.scmservice.scm=scm
+
+ # Expedite the container replication checking
+ OZONE-SITE.XML_hdds.scm.replication.thread.interval=15s

Edit network-config

- <IP_ADDRESS>	/rack1
+ <IP_ADDRESS>	/rack2
<IP_ADDRESS>	/rack2
- <IP_ADDRESS>	/rack2
+ <IP_ADDRESS>	/rack3
- <IP_ADDRESS>	/rack2
+ <IP_ADDRESS>	/rack3

Create a key with replication Ratis THREE

ozone sh key put /vol1/bucket1/key1 /etc/hosts -t=RATIS -r=THREE

Find the replicas for container 1 and decommission one of the replica nodes

 bash-4.2$ ozone admin container info 1
     get 1 datanode
 bash-4.2$ ozone admin scm roles
     copy SCM IP
 bash-4.2$ ozone admin datanode list
     copy datanode IP
 bash-4.2$ ozone admin datanode decommission -id=scmservice --scm=<IP_ADDRESS>:9894 <IP_ADDRESS>/ozone-datanode-2.ozone_default
 Started decommissioning datanode(s):
 <IP_ADDRESS>/ozone-datanode-2.ozone_default

Once the node is decommissioned, check the SCM container report ozone admin container report and check Recon container page.

cc @kerneltime

@adoroszlai Thanks for the review. I've addressed your comments. Can you take a look?

Thanks @xBis7 for the patch, @kerneltime, @sodonnel for the review.


added new game

PR Description 📜
I want to have an "Outrun" themed game available as an offline game in Chrome. This game would provide a retro racing experience with 80s-inspired graphics and music, offering a more diverse and enjoyable experience when offline.
Fixes #4642

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Maheshwari-Love ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit @ishita-43 please review this PR and merge

@kunjgit @ishita-43 please review this PR and merge

Hi, the pr shows more than 200 changed files it would be better if you could make pr with only your intended files/folder changes

@kunjgit @ishita-43 please review this PR and merge

Hi, the pr shows more than 200 changed files it would be better if you could make pr with only your intended files/folder changes

okay the wrong folder is being pushed

@ishita-43 i have removed the unnecessary files

@ishita-43 added the game image in assests

Thank you  @Maheshwari-Love , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Analyzer doesn't warn on custom operators usage in constant constructor definitions

Dart SDK version: 2.16.2 (stable) (Tue Mar 22 13:15:13 2022 +0100) on "macos_x64"
Consider the bellow example:
class A {
  static const zero = A(0);

  final int val;

  const A(this.val);

  bool operator >(A a) => val > a.val;
  bool isMore(A a) => val > a.val;
}

class B {
  final A a;

  const B(this.a) : assert(a > A.zero); // no analyzer error
}

void main() {
  print(const B(A(9))); // analyzer error
}

the analyze produces no warnings for the constant B constructor but fails when trying to call it in main with const.
Running dart analyze:
Analyzing file.dart...                    1.8s

  error • file.dart:19:9 • Evaluation of this constant expression throws an exception. • const_eval_throws_exception

1 issue found.

What is more is if we replace:
const B(this.a) : assert(a > A.zero);

with:
const B(this.a) : assert(a.isMore(A.zero));

Running dart analyze:
Analyzing file.dart...                    1.6s

  error • file.dart:15:28 • Invalid constant value. • invalid_constant
  error • file.dart:19:9 • Evaluation of this constant expression throws an exception. • const_eval_throws_exception

2 issues found.

we get the expected invalid_constant error reported at the constructor definition.

Similarly it if we use the class as an annotation we only get an error reported at runtime rather than by the analyzer:
class A {
  static const zero = A(0);
  final int val;

  const A(this.val);

  bool operator >(A a) => val > a.val;
}

class B {
  final A a;

  const B(this.a) : assert(a > A.zero); // no analyzer error
}

@B(A(9)) // no analyzer error
void fn() {}

void main() {}

Running dart analyze:
Analyzing file.dart...                    1.4s
No issues found!

Running dart run:
file.dart:16:2: Error: Constant evaluation error:
@B(A(9)) // no analyzer error
 ^
file.dart:13:30: Context: The method '>' can't be invoked on 'A {val: 9}' in a constant expression.
 - 'A' is from 'file.dart'.
  const B(this.a) : assert(a > A.zero); // no analyzer error
                             ^
file.dart:17:6: Context: While analyzing:
void fn() {}
     ^

That's actually correct behavior as currently specified, for (bad) historical reasons.
It's something I think we should disallow (see https://github.com/dart-lang/language/issues/1296), and it's definitely fine to give a warning/hint for it.

The error is actually reported at compile-time (by the common front end, CFE) when it says

file.dart:13:30: Context: The method '>' can't be invoked on 'A {val: 9}' in a constant expression.

so the question is whether the CFE or the analyzer has the correct behavior.
The following location in the spec says
Any expression that appears within
the initializer list of a constant constructor
must be a potentially constant expression
(\ref{constants}),
or a compile-time error occurs.

So we only require that a > A.zero must be a potentially constant expression. That is indeed true, because this requirement only checks that each of the operands is potentially constant.


Update Dependent Files in CONTRIBUTING.md

caused by https://github.com/src-d/product/issues/365
Dependent Files section in CONTRIBUTING.md should be updated considering changes made by https://github.com/src-d/product/issues/365

@dpordomingo Updated here https://github.com/src-d/landing/pull/449
Please merge if it looks good to you.


[Feat]: Implement Auto Commenting when an Issue is Closed

This feature aims to solve the problem of poor communication and lack of acknowledgment when issues are closed. By automatically commenting on closed issues, it ensures that contributors are informed about the closure and are thanked for their efforts. This helps maintain a positive and engaging community atmosphere, encouraging continued contributions and fostering good relationships between maintainers and contributors.

@punyakrit please assign me this issue

@punyakrit please assign me this issue


Schema/refresh

Part 1 (done)

use fixed user directory structure to store metadata, track data, and history
use fixed user directory to store job run info
refactor apispec.loadDetections to apispec.loadDataset because detections cannot be loaded without metadata being loaded first.  So you can load metadata on its own, or you can load metadata and tracks with loadDataset.
Change datasetId reference list in localStorage.

It used to be a flat list of paths directly to raw media.
It is now a list of metadata objects
datassetId used to be a path, now it's just a single string directory name within ~/VIAME_DIVE/DIVE_Projects.

Added a migration function to clear out localStorage.  This will be removed in part 2 because localStorage will no longer be used.

Prefix "Jobs" and "Projects" with DIVE because some portion of users are going to mess up and accidentally choose ~/ as their data root location, so it will be nice for them to have named sub-directories that explain what they're associated with.
Part 1 added a lot of TODOs to be addressed in part 2.  It's a little messy, but hopefully the messy parts are explained well.
Part 2 (pending)

Refactor HTTP service to express
Move renderer-side loading operations to backend over HTTP
Persistence for job run history (logs will not be populated if a job is loaded from this storage area)
Error handling for importMedia issues.   Right now they just dump to console and nothing happens in the UI.
Error handling for when source files change location.

Fixes #469

Would like to close in favor of #516

Go ahead and close, I'll focus on #516.  This was good at least to break up my processing of the changes that are being implemented.


ERROR: pulling container failed!

I am getting this error message. How can I fix it?

You need to provide more details in order to get help: What command failed?
Post the Log in ``` (backticks) here for example...


Error during webpack build

#1 thanks for this lib! I can't wait to try this out (react-habitat + react-habitat-redux) but I am getting a build error and wondering if I am just missing something obvious:
[at-loader] Checking finished with 1 errors
[at-loader] node_modules/react-habitat-redux/index.d.ts:19:15
    TS2420: Class 'Container' incorrectly implements interface 'IReduxContainer'.
  Types of property 'constructor' are incompatible.
    Type 'Function' is not assignable to type '(store: any) => IReduxContainer'.
      Type 'Function' provides no match for the signature '(store: any): IReduxContainer'

Dependencies
    "react": "^15.4.2",
    "react-dom": "^15.4.2",
    "react-habitat": "^0.4.1",
    "react-habitat-redux": "^1.0.1",
    "react-redux": "^5.0.2",
    "redux": "^3.6.0"

It looks like Container just needs it's interface updated:

	/**
	 * Register a new component in the container
	 * @param {string}      name        - The key that identifies this component
	 * @param {*}           comp        - The component class
	 */
	register: (name: string, comp: any) => void;

	/**
	 * Register multiple components in the container
	 * @param {object}      comps        - The components
	 */
	registerAll: (comps: {}) => void;

	/**
	 * Get a registered component for a key
	 * @param {string}      name        - The key name of the component that has been registered
	 */
	resolve: (name: string) => any;

	/**
	* The container's unique id
	*/
	id: () => string;

	/**
	 * The containers dom factory
	 */
	domFactory: () => IDomFactory;
}```

This might be what we need:
export interface IReduxContainer extends IContainer {
	/**
	 * Register a new component in the container
	 * @param {string}      name        - The key that identifies this component
	 * @param {*}           comp        - The component class
	 */
	register: (name: string, comp: any) => void;

	/**
	 * Register multiple components in the container
	 * @param {object}      comps        - The components
	 */
	registerAll: (comps: {}) => void;

	/**
	 * Get a registered component for a key
	 * @param {string}      name        - The key name of the component that has been registered
	 */
	resolve: (name: string) => any;

	/**
	* The container's unique id
	*/
	id: () => string;

	/**
	 * The containers dom factory
	 */
	domFactory: () => IDomFactory;
}

export interface ReduxStoreConstructable{
	new (store: any): IReduxContainer;
}

declare module ReduxHabitat {
	export var Container: ReduxStoreConstructable;
}

Ahh yes the interface is outdated.
Thanks for raising the issue and investigating!
I can update it this coming weekend. If you need it sooner, please put in a PR and I can release it for you.
Thanks
Jenna

I'll PR it for you. I just wanted to be sure that registerComponent was indeed supposed to be omitted. Seems to be the case.

See: #2

Thanks so much @aventurella
Yeah registerComponent is an old deprecated method for the simpler register.
This issue is now resolved in v1.0.2 in conjunction with react habitat v0.4.2
Thanks for your contribution, greatly appreciated.


Fix wrong index field type for textarea attribute

The length value is lost when it's bigger than php int max
https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Schema/Column.php#L149

@Hamed-D I think we should change this too https://github.com/Hamed-D/concrete5/blob/patch-1/web/concrete/attributes/textarea/controller.php#L11

Yes, you are right.

It's fixed here https://github.com/concrete5/concrete5/pull/3387

And this too: https://github.com/Hamed-D/concrete5/blob/patch-1/web/concrete/attributes/topics/controller.php#L18 :wink:

@mlocati you're right too ;)

When we're worried about max int overflow, we can use PHP_INT_MAX. In this case though, is the length even important? http://doctrine-orm.readthedocs.org/projects/doctrine-dbal/en/latest/reference/types.html#text

@KorvinSzanto we can ignore the length option if we need the 'LongText' field type.
The current solution will give the required result too.

I think we are trying to achieve a limitless textfield here in a way that shouldn't be necessary. I'm not exactly sure what to change to make that more reasonable. @joe-meyer what do you think should be changed here?

I think the initial intent of the length was to be a LongText in mysql. Based on the doctrine documentation if the length is empty OR equal to<PHONE_NUMBER> this should be achieved.  Since that specific unsigned integer is causing us problems, let's just leave it empty.

I think in general you can look at those field definitions as us trying to
get as close to the original schema of the data fields before we moved to
Doctrine. Since simply specifying "integer" would leave us with a signed
integer (and we usually would go with unsigned) we tried to specify a
length at the size of an unsigned integer. Ditto for the others.
TL,DR: the specific length PHP doesn't really matter, if the resulting
fields maintain the same mysql data type, and the resulting length is the
proper length. So change it if it's causing problems in PHP.
On Tue, Jan 19, 2016 at 6:27 PM, Joe Meyer<EMAIL_ADDRESS>wrote:

I think the initial intent of the length was to be a LongText in mysql.
Based on the doctrine documentation
http://doctrine-orm.readthedocs.org/projects/doctrine-dbal/en/latest/reference/types.html#id107
if the length is empty OR equal to<PHONE_NUMBER> this should be achieved.
Since that specific unsigned integer is causing us problems, let's just
leave it empty.
—
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5/pull/3386#issuecomment-173063563.

So I think this and other pull requests are doing something we don't want, I think we can just omit the length to resolve this instead.


Scripting error in V <IP_ADDRESS>

I was trying the new version of scripting (<IP_ADDRESS>) and I am getting the following error. Its working fine in <IP_ADDRESS>. It could be introduced between <IP_ADDRESS>-99.
New-Object : Exception calling ".ctor" with "0" argument(s): "No exports were found that match the constraint:
ContractName    ResXManager.Scripting.SourceFilesProvider
RequiredTypeIdentity    ResXManager.Scripting.SourceFilesProvider"
At C:\GetContents\Scripting\Sample.ps1:8 char:11

$myhost = New-Object -TypeName 'ResXManager.Scripting.Host'

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

You cannot call a method on a null-valued expression.
At C:\GetContents\Scripting\Sample.ps1:11 char:1

$myhost.Load($solutionFolder)

  + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
  + FullyQualifiedErrorId : InvokeMethodOnNull

All entires: 0
Changes compared to snapshot:
You cannot call a method on a null-valued expression.
At C:\GetContents\Scripting\Sample.ps1:36 char:1

$myhost.LoadSnapshot($snapshot)

  + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
  + FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\GetContents\Scripting\Sample.ps1:39 char:17

Where-Object { $_.Values.GetValue($neutralCulture) -ne $_.SnapshotValues.GetVal ...

+ CategoryInfo          : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Number of changes: 0
Now you can modify the excel file:  C:\temp\export\Test.xlsx:
Importing modified excel file
You cannot call a method on a null-valued expression.
At C:\GetContents\Scripting\Sample.ps1:64 char:1

$myhost.ImportExcel($excelFileName)

  + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
  + FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\GetContents\Scripting\Sample.ps1:66 char:1

$myhost.Save()

  + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
  + FullyQualifiedErrorId : InvokeMethodOnNull

Create a new snapshot with the latest data? (Y/N): Y
Updating snaphot C:\temp\export\1.snapshot
You cannot call a method on a null-valued expression.
At C:\GetContents\Scripting\Sample.ps1:72 char:2

$snapshot = $myhost.CreateSnapshot()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

Done:
You cannot call a method on a null-valued expression.
At C:\GetContents\Scripting\Sample.ps1:77 char:1

$myhost.Dispose()

  + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
  + FullyQualifiedErrorId : InvokeMethodOnNull

Fixed in v1.1


Failed to fetch http://swupdate.openvpn.net/ - 404 Not Found [IP: <IP_ADDRESS> 80]

Hi,
Since a few days I'm getting this error message when I try to update my server:
`Err http://swupdate.openvpn.net jessie/main amd64 Packages
404  Not Found [IP: <IP_ADDRESS> 80]
Fetched 4,952 kB in 8s (562 kB/s)
W: Failed to fetch http://swupdate.openvpn.net/apt/dists/jessie/main/binary-amd64/Packages  404  Not Found [IP: <IP_ADDRESS> 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
`
My server is running Debian 8.9 Jessie. Does anyone knows how to fix this issue?
Thanks

Yes, this repository seems to be unmaintained. Please use build.openvpn.net like this.

then I get this message when running apt-get update:
W: Duplicate sources.list entry http://build.openvpn.net/debian/openvpn/stable/ jessie/main amd64 Packages (/var/lib/apt/lists/build.openvpn.net_debian_openvpn_stable_dists_jessie_main_binary-amd64_Packages)
W: Probieren Sie »apt-get update«, um diese Probleme zu korrigieren.

Did you remove the other entry ?


Add Support forms

Massive thanks to @paroxp for his support and contribution to this PR.
What
This is an implementation of current support forms found on product pages

https://www.cloud.service.gov.uk/support
https://www.cloud.service.gov.uk/signup
https://www.cloud.service.gov.uk/contact-us

into a public Paas admin /support route.
For get/post routes i opted to use different handler, so as to make it more readable for myself instead of having a single complex /support/:route  handler.
Content of forms, confirmation pages and emails follows what is currently there.
Why
We are building new product pages which are fully static HTML. Additionally, bringing support form into here should allow as to evolve these forms in the future with app and user data to make them even more effortless.
How to review

Run locally with ZENDESK_API_TOKEN="{token}" ZENDESK_USERNAME="{user}" npm run start:with-stub-api with creds from the password-store (or deploy to your env)
check forms and error message
evaluate code

Who can review
not @kr8n3r
Visuals

Visual changes
Header breakpoints have been adjusted to allow for more navigation elements

Example form with error messages

Example confirmation page
Confirmation page content is different for each type of support request

Zendesk emails
Example of Zendesk email content and subject line.

requires https://github.com/alphagov/paas-cf/pull/2379 before merging


Incorrect package name.

I think this item is incorrect.
MS needs to write the name of the Logback correctly here.

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

ID: 93ba2804-3bc6-ea30-6d61-22be7bf6a2ad
Version Independent ID: 1a59d594-b550-128a-3872-6c6ad5892e94
Content: Upgrading from 2.x - Azure Monitor Application Insights Java - Azure Monitor
Content Source: articles/azure-monitor/app/java-standalone-upgrade-from-2x.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @AaronMaxwell
Microsoft Alias: aaronmax

@jun110
Thanks for bringing this to our attention. We will investigate it further and update you shortly.

@jun110
Thanks again for bringing this to our attention. We have updated the doc and it will be live once it's merged.  We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Copying Scalars from Torch to Rust?

Currently, when I try to copy a scalar value from a 0 dim tensor with double_value(&[0]), it returns the following error
called `Result::unwrap()` on an `Err` value: Torch("select() cannot be applied to a 0-dim tensor.\nException raised from select_symint at /build/python-pytorch/src/pytorch-cuda/aten/src/ATen/native/TensorShape.cpp:1827 (most recent call first):\nframe #0: c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) + 0xa2 (0x73af2cd9c8a2 in /usr/lib/libc10.so)\nframe #1: <unknown function> + 0x7a9854 (0x73af21da9854 in /usr/lib/libtorch_cpu.so)\nframe #2: <unknown function> + 0x23130c5 (0x73af239130c5 in /usr/lib/libtorch_cpu.so)\nframe #3: at::_ops::select_int::redispatch(c10::DispatchKeySet, at::Tensor const&, long, c10::SymInt) + 0xc5 (0x73af234e5e75 in /usr/lib/libtorch_cpu.so)\nframe #4: <unknown function> + 0x438bc40 (0x73af2598bc40 in /usr/lib/libtorch_cpu.so)\nframe #5: <unknown function> + 0x438bf6c (0x73af2598bf6c in /usr/lib/libtorch_cpu.so)\nframe #6: at::_ops::select_int::redispatch(c10::DispatchKeySet, at::Tensor const&, long, c10::SymInt) + 0xc5 (0x73af234e5e75 in /usr/lib/libtorch_cpu.so)\nframe #7: <unknown function> + 0x3d36167 (0x73af25336167 in /usr/lib/libtorch_cpu.so)\nframe #8: <unknown function> + 0x3d3688c (0x73af2533688c in /usr/lib/libtorch_cpu.so)\nframe #9: at::_ops::select_int::call(at::Tensor const&, long, c10::SymInt) + 0x1b1 (0x73af235535e1 in /usr/lib/libtorch_cpu.so)\nframe #10: at::Tensor::select(long, long) const + 0x53 (0x5fdc7c88649d in ./Milkshake)\nframe #11: <unknown function> + 0x1e11bd (0x5fdc7c8861bd in ./Milkshake)\nframe #12: <unknown function> + 0x1ef078 (0x5fdc7c894078 in ./Milkshake)\nframe #13: <unknown function> + 0x1e8e19 (0x5fdc7c88de19 in ./Milkshake)\nframe #14: <unknown function> + 0x1b099f (0x5fdc7c85599f in ./Milkshake)\nframe #15: <unknown function> + 0x1b0a75 (0x5fdc7c855a75 in ./Milkshake)\nframe #16: <unknown function> + 0x388c5 (0x5fdc7c6dd8c5 in ./Milkshake)\nframe #17: <unknown function> + 0x4a4f9 (0x5fdc7c6ef4f9 in ./Milkshake)\nframe #18: <unknown function> + 0x5d985 (0x5fdc7c702985 in ./Milkshake)\nframe #19: <unknown function> + 0x5f771 (0x5fdc7c704771 in ./Milkshake)\nframe #20: <unknown function> + 0x4f19b (0x5fdc7c6f419b in ./Milkshake)\nframe #21: <unknown function> + 0x367de (0x5fdc7c6db7de in ./Milkshake)\nframe #22: <unknown function> + 0x452a1 (0x5fdc7c6ea2a1 in ./Milkshake)\nframe #23: <unknown function> + 0x44b961 (0x5fdc7caf0961 in ./Milkshake)\nframe #24: <unknown function> + 0x4527a (0x5fdc7c6ea27a in ./Milkshake)\nframe #25: <unknown function> + 0x60e5e (0x5fdc7c705e5e in ./Milkshake)\nframe #26: <unknown function> + 0x25cd0 (0x73af21357cd0 in /usr/lib/libc.so.6)\nframe #27: __libc_start_main + 0x8a (0x73af21357d8a in /usr/lib/libc.so.6)\nframe #28: <unknown function> + 0x35eb5 (0x5fdc7c6daeb5 in ./Milkshake)\n")

What is the intended way to copy the values of tensors?

Hi, if your tensor has no dims, maybe .double_value(&[]); ?


Unexpected deadlock with AsyncStream

Hey there, thanks for sharing this excellent library! I'm sorry to say I'm running into an unexpected deadlock where my AsyncStream's onTermination handler doesn't execute while I'm waiting for the semaphore. Here's a brief demo of the problem as a playground:

Above code as gist
Please let me know if there's anything I can clarify to help debug

@zshannon I think you never call finish on a stream and therefore its onTermination is not called and therefore semaphore is never signaled…

On line 13 I yield 0 which leads to breaking on line 37. Same code works with changing to Task.sleep (see lines 40-43).

Ok, so here's what's going. At the end of the unreferenced function, the stream will be deallocated. This is the only code path that currently can invoke the onTermination handler. This will happen with or without a sleep.
But, when that semaphore is waited, the deallocation never happens, stream never terminates, and so the semaphore never gets signalled. I think this is working correctly. Just tricky!

Aha I see now, I expected the compiler to understand at the point I suspend for the semaphore that the context can be cleaned up and that's not the case so the termination handler isn't being invoked by dealloc. Thanks for thinking about it, appreciate the attention.


Docs: Cloud Firestore Example Link Broken

https://cloud.spring.io/spring-cloud-static/spring-cloud-gcp/1.2.0.M1/#_sample_14
Points to: https://github.com/spring-cloud-gcp/spring-cloud-gcp-samples/spring-cloud-gcp-firestore-sample

This is a really old version of the project, which no one should really be using. How did you land on that version of the refdoc? We're on 1.2.5.RELEASE right now, and the link is correct there.
https://docs.spring.io/spring-cloud-gcp/docs/1.2.5.RELEASE/reference/html/#samples-3
So, I don't know if it's worth fixing.

Ah! That is where google took me and I didn't see that I was on an older version.  Whoops.  I wonder if we could have a message like Play does: https://www.playframework.com/documentation/2.6.x/JavaHome
You are viewing the documentation for the 2.6.x release series. The latest stable release series is 2.8.x.

That would be nice indeed.
@artembilan Is this something that the Spring team has thought about?

Well, our docs are generated as independent static resources and we definitely are not going to regenerate every single old version when we release a new one.
That Play Framework sample is not about comparing apples with apples and what I see so far is just embedded docs directly into their original site. We have something like that when you really jump into project page: https://spring.io/projects/spring-cloud-gcp#learn, so you can see what versions are supported and what is the latest stable.
Probably @bclozel has some thought on the matter...

While we could do something on pages hosted on docs.spring.io, cloud.spring.io is a different matter as it's hosted on github pages. Regenerating the docs is clearly a hard problem, but maybe replacing old versions with HTML redirects is doable here https://github.com/spring-cloud/spring-cloud-static/tree/gh-pages ?

I didn't even realize that @jamesward's link was from coming from gh-pages vs. our published docs are on docs.spring.io. Which should be the official hosting? Are both used?

Maybe an iframe that reads the parent URL could render a message like Play does.

I'm closing this because going forward our home is at https://github.com/GoogleCloudPlatform/spring-cloud-gcp and we have a good control of publishing documentation there on gh-pages.


Should Eloquent\Collection::map() call toBase() on empty collections?

See line 133 of Database\Eloquent\Collection.php:
return $result->contains(function ($item) {
            return ! $item instanceof Model;
        }) ? $result->toBase() : $result;

With the logic written this way an empty collection will remain an Eloquent\Collection. This can lead to unexpected behavior if an Eloquent\Collection-specific method is called, such as merge(), which then expects to call getKey() on the merged items, which may not be possible if the merged collection was automagically converted toBase() because it was non-empty.
Example:
$emptyCollection = DB::table('my_table')->where(...)->get()->map(...);
$nonEmptyCollection = DB::table('my_table')->where(...)->get()->map(...);
$combinedCollection = $emptyCollection->merge($nonEmptyCollection);

This code works when the first two queries return results (because toBase() gets called automatically by map()). If either of the queries returns no results, then you get a hard-to-decipher exception in the call to merge().
Maybe the correct fix for this scenario is to always call toBase() after map(). But I think it could also be fixed by making the logic inside Eloquent\Collection exhaustive, i.e. if no model is in the collection, convert to base, instead of the current logic, which is if there's anything in the collection that's not a model, convert to base.

Your example uses Query Builder, not Eloquent, therefore it calls the base map method, not Eloquent's.
Though, I see your point, but returning an Eloquent collection if there are no results makes sense too. It returns a base collection iif it cannot do otherwise, i.e. if some results are not Models.

Good point, I wrote the example that way to keep my own models out of the example, but it does slightly muddy the point.
It still stands, though: if you have an empty Eloquent collection and attempt to merge it with a regular collection it crashes.

On Apr 19, 2017, at 2:04 PM, vlakoff<EMAIL_ADDRESS>wrote:
Your example uses Query Builder, not Eloquent, therefore it calls the base map method, not Eloquent's.
Though, I see your point, but returning an Eloquent collection if there are no results makes sense too. It returns a base collection iif it cannot do otherwise, i.e. if some results are not Models.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I think the current code makes more sense. Your proposed change would fix your use case, but break others. As you are starting from an Eloquent collection to generate a base collection, you should just explictly add a toBase after your map.
(actually, I'm more concerned about the performances of that contains check, as the whole collection is iterated a second time… but that's another story.)

Yeah, I added toBase() after map() to fix it. Consider it more of a heads up to the maintainers that it's an easy bug to hit with a non-obvious cause -- though, I did suss it out, so maybe it is pretty easy to sort out? ;-)

Shall this be closed?

I just hit this as well in a similar scenario - merge throwing an error.  At first, it definitely seemed a bit inconsistent.  But I now realize there could never be a correct answer to handling what map should do with an empty collection.  Retaining the eloquent flavor does seem like the better option.
In any case, I've added the explicit toBase() to resolve my issue.


Support Python 3.9 & Upgrade to Pygame 2.0.0

Looks good as far as I can tell

The error message in loader_util.py says that only 3.5-3.8 are supported
Did you used to do the work of build_pygame_modules.py by hand?

Nice catch. Fixed the loader_util error message.
And yup, in the early days I thought doing it by hand would be faster than writing a script. But it's happened enough times now that the script was worth it. And it didn't even take too long to write


Enhancement: [zhao.toatu.com] change the billing link

Contact Details
No response
What features would you like to see added?

More details
we should use the direct billing page from stripe: https://buy.stripe.com/9AQ8ww96aaDZ56obIJ?locale=zh
We can also prefill the customer email (to avoid typo): see https://docs.stripe.com/payment-links/customize#customize-checkout-with-url-parameters
The URL should be something like<EMAIL_ADDRESS>
Which components are impacted by your request?
No response
Pictures
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

It turned out this code is implemented on the server side: api/server/routes/ask/openAI.js
https://github.com/aitok-ai/LibreChat/blob/main/api/server/routes/ask/openAI.js#L131-L136
Questions

[ ] Are we okay to make this change for all users, ie, merge server code into main
[ ] Also, how do we create links in this text?

Released in https://github.com/aitok-ai/LibreChat/releases/tag/2024-04-01a


Fix links in PR checklist

Details

There were a few broken links in the PR checklist, this PR fixes those broken links so everyone can use our new checklist.
Fixed Issues

N/A
Tests

Make sure you are able to click the PR Checklist links below and that they work! 👇

PR Review Checklist

Contributor (PR Author) Checklist

[ ] I made sure to pull main before submitting my PR for review
[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I clearly indicated the environment tests should be run in (Staging vs Production)

[ ] I wrote testing steps that cover success & fail scenarios (if applicable)
[ ] I ran the tests & they passed on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified there are no console errors related to changes in this PR
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I added comments when the code was not self explanatory
[ ] I put all copy / text shown in the product in all src/languages/* files (if applicable)
[ ] I followed proper naming convention for platform-specific files (if applicable)
[ ] I followed style guidelines (in Styling.md) for all style edits I made

[ ] I followed the guidelines as stated in the Review Guidelines

PR Reviewer Checklist

[ ] I verified the Author pulled main before submitting the PR
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the testing environment is mentioned in the test steps

[ ] I verified testing steps cover success & fail scenarios (if applicable)
[ ] I verified tests pass on all platforms & I tested again on all platforms
[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified there are no console errors related to changes in this PR
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified comments were added when the code was not self explanatory
[ ] I verified any copy / text shown in the product was added in all src/languages/* files (if applicable)
[ ] I verified proper naming convention for platform-specific files was followed (if applicable)
[ ] I verified style guidelines were followed

[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines

Links work 👍🏼

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @sketchydroide in version: 1.1.41-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
failure ❌

🚀 Deployed to staging by @sketchydroide in version: 1.1.41-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
failure ❌

🚀 Deployed to production by @francoisl in version: 1.1.41-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Enable concat() string function to support multiple string arguments

Refactor concat() to support multiple string arguments

Signed-off-by: Margarit Hakobyan<EMAIL_ADDRESS>Description
These changes enable concat() string function to accept more than two arguments.
Usage: CONCAT(str1, str2, ...., str_n) adds two or more strings together.
Argument type: STRING, STRING, ...., STRING
Return type: STRING
Example::
os> source=people | eval `CONCAT('hello', 'world')` = CONCAT('hello', 'world'), `CONCAT('hello ', 'whole ', 'world', '!')` = CONCAT('hello ', 'whole ', 'world', '!') | fields `CONCAT('hello', 'world')`, `CONCAT('hello ', 'whole ', 'world', '!')`
fetched rows / total rows = 1/1
+----------------------------+--------------------------------------------+
| CONCAT('hello', 'world')   | CONCAT('hello ', 'whole ', 'world', '!')   |
|----------------------------+--------------------------------------------|
| helloworld                 | hello whole world!                         |
+----------------------------+--------------------------------------------+

Issues Resolved
https://github.com/opensearch-project/sql/issues/1053
Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[x] New functionality has javadoc added
[x] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

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

Codecov Report

Merging #1279 (1f924f5) into main (c6a59f7) will decrease coverage by 2.41%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##               main    #1279      +/-   ##
============================================
- Coverage     98.35%   95.94%   -2.42%
- Complexity     3609     3624      +15
============================================
  Files           344      355      +11
  Lines          8946     9657     +711
  Branches        569      693     +124
============================================
+ Hits           8799     9265     +466
- Misses          142      334     +192
- Partials          5       58      +53

Flag
Coverage Δ

query-workbench
62.76% <ø> (?)

sql-engine
98.36% <100.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

...expression/function/BuiltinFunctionRepository.java
100.00% <100.00%> (ø)

...pensearch/sql/expression/function/FunctionDSL.java
100.00% <100.00%> (ø)

...l/expression/function/VarargsFunctionResolver.java
100.00% <100.00%> (ø)

...g/opensearch/sql/expression/text/TextFunction.java
100.00% <100.00%> (ø)

...ch/public/components/QueryResults/QueryResults.tsx
61.60% <0.00%> (ø)

workbench/public/utils/PanelWrapper.tsx
100.00% <0.00%> (ø)

...h/public/components/QueryLanguageSwitch/Switch.tsx
85.71% <0.00%> (ø)

workbench/public/components/app.tsx
0.00% <0.00%> (ø)

workbench/public/components/PPLPage/PPLPage.tsx
56.52% <0.00%> (ø)

workbench/public/application.tsx
0.00% <0.00%> (ø)

... and 4 more

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

Relate to issue https://github.com/opensearch-project/sql/issues/1053 ?

We need limit amount of arguments, because it may cause DOS or security breach.
Just tested a concat query with 10k arguments - it works fine.


All images flicker when tableview reloadData

How to reproduce this problem?

All UITableViewCell finishes loading images normally

newsImageView.kf.setImage(with: url,placeholder: #imageLiteral(resourceName: "placeholder_small"),options: [.transition(.fade(1)),.cacheOriginalImage])

push to a new ViewController

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    /// 1.push to a new controller

    /// 2.
    tableView.reloadData()
}

pop
lock the iPhone (this is the most critical step)
reopen the iPhone and click the cell,all images will flicker

When you lock your phone, the app will go background and Kingfisher will try to purge the memory cache it is using (to release as much memory as possible so your app will not likely to be killed in background). After that, when you load these images again, it will be fetched from disk by default, which is an async behavior to prevent UI thread lag. It causes this flicker.
I believe adding the loadDiskFileSynchronously would prevent this flicker with some trade-off of UI thread lagging (if you are not loading a lot of images at the same time, it can be ignored.).

It works, thank you

Thanks a lot, it's works to me


Adding support for automatic summarization

The library can extract any manual excerpt that is contained in the article (i.e., the short summary that usually is shown in Facebook or Twitter). However, it can be useful to also generate an automatic summary for long articles.
The issue is that there does not seem to be nothing really effective and light on resources to do that. So, the end result may vary in quality.

An LLM could likely help with this.
A simple solution is allowing users to configure the reader with their API key and just contact OpenAI API to get summaries.

We should probably implement a basic interface to let people choose how to obtain the summary, like we do for converting to plain text. So, users can choose to use a LLM.
Just like the original library, this was designed for people that wanted a light and privacy-oriented solution to get an article free of clutter. So, I do not think that a LLM would be good a fit for integration in this library. To be fair, I never found a good way to do this algorithmically, hence why we should give users a simple way to do what they want.

A fair concern I totally agree with.
I was also thinking about it being an opt-in and at discretion of users (since they're using their API keys).
An extraction based algorithm could be added, sorting out important parts of text after ranking the sentences, but quality would probably vary a lot and complexity spiral out of control eith i18n in mind.
Maybe there could be some nice text analysis visualization tools that could aid in skimming through the text more quickly, instead of creating summaries (even a simple highlight on the longest sentences, or of field-specific terms based on frequency scores).
Abstraction summarizations, with privacy in mind,  could be implemented in some years, if we get local-based LLMs.

I use SmartReader in combination with ReverseMarkdown (to convert the Html to Markdown) and pass the text to a local running LLM with Ollama. You can choose which LLM to use. For me, Gemma2 works quite well. I do want my responses to be in Dutch.
If you want to be able to use different languages, I would suggest to use a LLM, instead of creating some algorithm yourself.

If you want to be able to use different languages, I would suggest to use a LLM, instead of creating some algorithm yourself.

This is probably the best solution, since I never found a good way to do this algorithmically, it is better to just give a hook to help users do as they want.


[frontend] Fix for frontend available via http

Fix for authConfig cookie
Add error message if the backend URL is invalid

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-85.0%) to 0.0%

Totals

Change from base Build f601593fd4d970a022d908bf25a8c60c88fc2594:
-85.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


Electron CI implementation

Initial implementation

Uses Spectron + Mocha + Chai
Launch window and title test cases for starters

Test cases needed

Menu navigation
Manual control page elements
Mission page elements
Form simulation on Manual control page
And more

Consider to eventually release the compiled electron app as well

Yes. We will build with yarn electron-builder and release a beta ... soon. Need bit more testing and work :)
This CI wouldn't run on Ubuntu due to chromeDriver or webDriver issue. Seems to be somewhat documented recent issue as many Node users discussing on SO and GH. Will work more on that.


add node remove feature

Introduce set of playbooks for resetting state of a single node only.
Workloads are rescheduled (except daemonsets) and files are removed,
effectively resetting target machine to the initial state.

draft: to be merged after #9 and #8
todo: documentation


[BUG] SkiaSharp crashes application MAUI

having
namespace SkiaUI;

public partial class MainPage : ContentPage
{
	public MainPage()
	{
		InitializeComponent();
		Content = new SkiaSharp.Views.Maui.Controls.SKCanvasView();
	}
}

causes MAUI App (Preview) to crash at startup with unhandled exception in debugger
commenting out Content = new SkiaSharp.Views.Maui.Controls.SKCanvasView(); makes the error go away but then we have no Skia View
how can this be worked around?
Project That Crashes SkiaUI.zip
im using
Visual Studio 2022 Windows - Version 17.2.0 Preview 2.0

C:\Users\matthew good\.nuget\packages\microsoft.graphics.win2d\<IP_ADDRESS>\
C:\Users\matthew good\.nuget\packages\microsoft.maui.dependencies\6.0.200-preview.14.5099\
C:\Users\matthew good\.nuget\packages\microsoft.maui.extensions\6.0.200-preview.14.5099\
C:\Users\matthew good\.nuget\packages\microsoft.windowsappsdk\1.0.0\
C:\Users\matthew good\.nuget\packages\skiasharp.views.maui.controls\2.88.0-preview.232\

EDIT:
now having SkiaSharp.Views.Maui.Controls.SKGLView crashes the application, even if SKCanvasView does not crash

@mgood7123 Can you provide a bit more info on what exception and which platforms?
Maybe a stack trace?

all i get is this

any updates?

is more information needed?

I run your example, you don't set this according to sample:
https://github.com/mono/SkiaSharp/blob/b7728fae36218ee5204e0dc7c48cb2022099a8a4/samples/Basic/Maui/SkiaSharpSample/MauiProgram.cs#L13

I run your example, you don't set this according to sample:
https://github.com/mono/SkiaSharp/blob/b7728fae36218ee5204e0dc7c48cb2022099a8a4/samples/Basic/Maui/SkiaSharpSample/MauiProgram.cs#L13

i cant find much documentation on google
https://www.google.com/search?q="UseSkiaSharp(true)"&client=firefox-b-d&sxsrf=APq-WBvaNCThOGIzDce4F2EjDPJZUkh0qw%3A1649917531137&ei=W75XYuCGCPyeseMPl7iQiAw&ved=0ahUKEwigoOji9ZL3AhV8T2wGHRccBMEQ4dUDCA0&uact=5&oq="UseSkiaSharp(true)"&gs_lcp=Cgdnd3Mtd2l6EAM6BwgAEEcQsAM6CAgAEA0QBRAeOggIABAIEA0QHkoECEEYAEoECEYYAFDxB1ioE2C-FWgBcAF4AIAB1gGIAakJkgEFMC4zLjOYAQCgAQHIAQjAAQE&sclient=gws-wiz

Maui is new ,something not same as Xamarin.Form, so according sample to do is better

alright

is resizing a MAUI SkiaSharp view as insanely fast as resizing a Windows Forms SkiaSharp view? or is it as slow as resizing an Xamarin.Form SkiaSharp view?

is resizing a MAUI SkiaSharp view as insanely fast as resizing a Windows Forms SkiaSharp view? or is it as slow as resizing an Xamarin.Form SkiaSharp view?

slow? i don't compare they, you can try not use xamarin.form or maui, just use skiasharp in xamarin native to compare, that will let you know where is low. if xamarin native also slow, you can use gpu, or you can get some suggest form react-native-skia

is resizing a MAUI SkiaSharp view as insanely fast as resizing a Windows Forms SkiaSharp view? or is it as slow as resizing an Xamarin.Form SkiaSharp view?

slow? i don't compare they, you can try not use xamarin.form or maui, just use skiasharp in xamarin native to compare, that will let you know where is low. if xamarin native also slow, you can use gpu, or you can get some suggest form react-native-skia

or rather, i should say that
resizing a SkiaSharp Universal Windows app is noticably slow/laggy
resizing a SkiaSharp Windows Forms app is instant even under rapid resizing

ok, so MAUI is a bit faster than Universal Windows app when resizing
but nowhere near as fast as Windows Forms is

anyone know why SKGLView crashes?
i have UseSkiaSharp() in my MauiProgram.cs

MauiApp1.zip
this is my current app in which SKGLView crashes if i try to use it, SKCanvasView works fine tho

the error is same as last time too, unhandled win32 exception

a temporary workaround is to use a non-MAUI app (eg WPF ) directly when targeting Windows, and MAUI when targeting other platforms

SKGLView not support WinUI, see https://github.com/mono/SkiaSharp/pull/1678

.UseSkiaSharp(true)

I also wasted at least an hour debugging, and this ^^ fixes it.  Thx!  a better errormsg or warning would be nice.

I'm going to leave this open until a better solution exists that let's users know they forgot to add UseSkiaSharp

Duplicate of #2050


Update Core Package dependencies to support Azsec Pack

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

What does the PR accomplish, why was it needed?

Add required dependencies to Mariner Core image to support Azsec Pack

Change Log

Add 'gawk', 'initscripts' and 'dos2unix' to the base image.

Does this affect the toolchain?

NO
Associated issues

#xxxx

Links to CVEs

https://nvd.nist.gov/...

Test Methodology

Local Build

No longer needed.


allow Package CR annotations

following error is raised for any Package CR with annotations.
 error: 'Templating dir: Error (see .status.usefulErrorMessage for details)'
      exitCode: 1
      stderr: |
        ytt: Error: Overlaying (in following order: kapp-controller-clean-up.yml):
          Document on line kapp-controller-clean-up.yml:15:
            Map item (key 'metadata') on line kapp-controller-clean-up.yml:16:
              Map item (key 'annotations') on line kapp-controller-clean-up.yml:18:
                Map item (key 'kapp.k14s.io/disable-original') on line kapp-controller-clean-up.yml:19:
                  Expected number of matched nodes to be 1, but was 0
      updatedAt: "2021-07-27T18:49:19Z"
    usefulErrorMessage: |
      ytt: Error: Overlaying (in following order: kapp-controller-clean-up.yml):
        Document on line kapp-controller-clean-up.yml:15:
          Map item (key 'metadata') on line kapp-controller-clean-up.yml:16:
            Map item (key 'annotations') on line kapp-controller-clean-up.yml:18:
              Map item (key 'kapp.k14s.io/disable-original') on line kapp-controller-clean-up.yml:19:
                Expected number of matched nodes to be 1, but was 0

this change modifies "clean up" ytt template to allow us to inject our annotations into Package CRs that already have other annotations.

This change looks fine to me, but it would be nice to have a unit test for this case.

changes are covered by updated e2e test bundle in e2e tests.

LGTM


http.client_exceptions.ClientConnectorError: Cannot connect to host sydney.bing.com:443 ssl:<ssl.SSLContext object at 0x000002A5431C7BC0> [getaddrinfo failed]

I get this error frequently : http.client_exceptions.ClientConnectorError: Cannot connect to host sydney.bing.com:443 ssl:<ssl.SSLContext object at 0x000002A5431C7BC0> [getaddrinfo failed]

Something is blocking your connection to sydney.bing.com, like on a company’s own network.

You can use proxy to avoid this exception.

It's working fine now. Maybe the problem was on Microsoft side. Thank you.


Detect, and fix, template tags broken over multiple lines

Description
Template tags that are broken over multiple lines are rendered as text by DTL:
{% tagname ...
%}  <-- uh, oh! closed on a different line

It's a source of many innocuous bugs. Is this something that could be detected and fixed by djade?

This is patched to work across many projects and some libraries (including django-components), so I suggest not applying this to avoid errors either way.

Yes, also there's ongoing work to add support for this to Django: https://forum.djangoproject.com/t/allow-newlines-inside-tags/36040
But a lint rule could be useful. I actually filed a duplicate the day after @jarshwah : #99.


[AMORO-3097] Improve the default configuration for AMS

Why are the changes needed?

Close #3097
The current default configurations of AMS are somewhat unreasonable, and we should improve them.
Brief change log

Turn off the sync-hive-tables service (change ams.sync-hive-tables.enabled to false).
Turn on the data-expiration service (change ams.data-expiration.enabled to true).
Add table-manifest-io.thread-count configuration example (add ams.table-manifest-io.thread-count and set default value to 20)
Add http-server.rest-auth-type configuration example (add ams.http-server.rest-auth-type and set default value to token)
Add terminal.result.limit configuration example(add terminal.result.limit and set default value to 1000)
Add terminal.stop-on-error configuration example(add terminal.stop-on-error and set default value to false)
Add terminal.session.timeout configuration example(add terminal.session.timeout and set default value to 30)
Add local.using-session-catalog-for-hive example (add terminal.local.using-session-catalog-for-hive and set default value to false)

@mansonliwh
You can add a prefix in the PR title like [AMORO-3097] and Close #3097 in the PR description to link this PR to related issue.
I have help to modify it this time.

cc @klion26
The default configuration of AMS had been improved.


Student view error when Marks Spreadsheet has a "total mark" of 0

Steps to reproduce:

Create a marks spreadsheet with one column with a "total mark" of 0.
Enter a grade for a student (could be any number).
Release the grade for the student.
Login as the student. The assignments page has a runtime error.

Can't seem to reproduce this one. See screenshots below. I also different combinations such as putting the column with a total mark of zero between two other column, or as the last, still didn't get errors.

I also can't reproduce this.  Thanks @alexvail


Make Browse CE edit button link to task

I'm not sure if the edit button is deprecated in favor of using the navigate radial, but I think it should be consistent between the Browse CE and CO tasks.
The Edit button in the navigation panel links to the old edit page instead of the new collecting event task.

Codecov Report

Merging #2433 (b463732) into development (e4869ba) will decrease coverage by 21.73%.
The diff coverage is n/a.

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

@@               Coverage Diff                @@
##           development    #2433       +/-   ##
================================================
- Coverage        87.63%   65.89%   -21.74%
================================================
  Files             1808     1322      -486
  Lines            62593    36331    -26262
================================================
- Hits             54854    23942    -30912
- Misses            7739    12389     +4650

Impacted Files
Coverage Δ

spec/support/concerns/random_token_methods.rb
2.63% <0.00%> (-97.37%)
:arrow_down:

spec/support/concerns/request/api.rb
11.11% <0.00%> (-88.89%)
:arrow_down:

app/models/identifier/global/issn.rb
14.28% <0.00%> (-85.72%)
:arrow_down:

app/models/identifier/global/isbn.rb
8.33% <0.00%> (-85.42%)
:arrow_down:

app/models/protonym/becomes.rb
16.43% <0.00%> (-79.46%)
:arrow_down:

lib/catalog/description_from_observation_matrix.rb
13.22% <0.00%> (-78.10%)
:arrow_down:

app/models/identifier/global/orcid.rb
22.22% <0.00%> (-77.78%)
:arrow_down:

app/models/identifier/global/lccn.rb
11.53% <0.00%> (-76.93%)
:arrow_down:

lib/batch_load/import/otus.rb
24.24% <0.00%> (-75.76%)
:arrow_down:

app/models/geographic_item/geometry_collection.rb
20.58% <0.00%> (-73.53%)
:arrow_down:

... and 989 more

Continue to review full report at Codecov.

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


Jumpsuit new throws unhandled error

Today I'm trying to give jumpsuit a try but I'm getting the attached error when trying to create a new project.

We're seeing this as well on some installations and are currently patching it.

Fixed in abe413264e8fa507f40b16caa074cc80519bff6f.  Let us know how it goes!

Works for me!  Thank you!


improved error handling in setImportToFailed

What
Improved error handling in setImportToFailed, returning the original error a list of additional errors during state updates.
How to review

Make sure code changes make sense
Make sure unit tests pass

Who can review
anyone

You appear to be logging 'errDataset' in this line and also in line 622 ... thus logging the same thing twice ?
Is that right, or have i miss understood ?

it's a good point - I don't log the error, just wrap it in the Error struct, which contians a log.Data map, so that the caller can log it, if required.
But the original error being handled and the error returned when trying to set the failed state is the same. Maybe the mock should return different errors, so that the test is clearer (i.e. original error is different than the error during error handling)


cleanup

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

Project coverage is 64.10%. Comparing base (9a335f1) to head (72a4630).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #73      +/-   ##
==========================================
- Coverage   64.36%   64.10%   -0.27%
==========================================
  Files          24       24
  Lines        3365     3365
  Branches      117      120       +3
==========================================
- Hits         2166     2157       -9
- Misses       1199     1208       +9

Flag
Coverage Δ

vite-tests
64.10% <ø> (-0.27%)
:arrow_down:

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

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests
JS Bundle Analysis - Avoid shipping oversized bundles


Test: Workbench navigation

Refs: https://github.com/Microsoft/vscode/pull/59270 and https://github.com/Microsoft/vscode/issues/44625.

[x] anyOS @misolori
[ ] anyOS @Tyriar

Complexity: 1
4 commands are added:

workbench.action.previousPanelView
workbench.action.previousSidebarView
workbench.action.nextPanelView
workbench.action.nextSidebarView

2 context keys are added too:

sidebarFocus
panelFocus

Known limitation: Git Viewlet unfocusable when uninitialized, https://github.com/Microsoft/vscode/issues/61534.

Test the commands work as expected
Test the context key work as expected (standalone, or in combination such as "sidebarFocus && activeViewlet == 'workbench.view.explorer'")

@isidorn please review the command names (related https://github.com/Microsoft/vscode/issues/62218)

@Tyriar @octref created this one regarding naming https://github.com/Microsoft/vscode/issues/62270


add missing package to requirements.txt

Fix #71
I don't know if it's a mistake or a dependency update, but I've added a couple of packages that were missing when I installed it.

I think OpenCV is also missing


Fake emails like<EMAIL_ADDRESS>pass legit test

Seems you only verify domain, but not subdomain of email.
Is there a reason or a technical limitation ?

<EMAIL_ADDRESS>has no subdomain and gmail.com has a valid MX record? That's what this library checks for.
AFAIK there's no way to verify the username on the address is valid without attempting a send.

Do you know a library to simulate a send and know if the username exists ?
Thanks ;)

@Aarbel Thanks for the question, @JDiPierro is correct though, you can only check domain level with this lib because to check the existence of a username on a domain would require a send and I don't know of any way to simulate that without actually doing it.


Issue running sample app in release or profile mode

I'm getting this error when I run it in release or profile mode. Debug mode works fine.
Tried both elinux-x11 and elinux-wayland.
What am I missing here?

[FATAL:flutter/runtime/dart_vm_initializer.cc(22)] Error while initializing the Dart VM: Snapshot not compatible with the current VM configuration: the snapshot requires 'product no-code_comments no-dwarf_stack_traces_mode lazy_async_stacks no-lazy_dispatchers use_bare_instructions dedup_instructions no-asserts x64-sysv compressed-pointers null-safety' but the VM has 'product no-code_comments no-dwarf_stack_traces_mode lazy_async_stacks no-lazy_dispatchers use_bare_instructions dedup_instructions no-asserts x64-sysv no-compressed-pointers null-safety'

Reproduce steps:
# Already installed dependencies
git clone https://github.com/sony/flutter-elinux.git
sudo mv flutter-elinux /opt/
export PATH=$PATH:/opt/flutter-elinux/bin

flutter-elinux doctor
flutter-elinux create sample
cd sample
flutter-elinux run -d elinux-x11 --release

Error:
$ flutter-elinux run -d elinux-x11 --release
Launching lib/main.dart on eLinux in release mode...
Building an eLinux application with x11 backend in release mode for x64 target...       134.1s

Flutter run key commands.
h List all available interactive commands.
c Clear the screen
q Quit (terminate the application on the device).
[FATAL:flutter/runtime/dart_vm_initializer.cc(22)] Error while initializing the Dart VM: Snapshot not compatible with the current VM configuration: the snapshot requires 'product no-code_comments no-dwarf_stack_traces_mode lazy_async_stacks no-lazy_dispatchers use_bare_instructions dedup_instructions no-asserts x64-sysv compressed-pointers null-safety' but the VM has 'product no-code_comments no-dwarf_stack_traces_mode lazy_async_stacks no-lazy_dispatchers use_bare_instructions dedup_instructions no-asserts x64-sysv no-compressed-pointers null-safety'

flutter-elinux doctor:
$ flutter-elinux doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, 2.8.1, on Ubuntu 21.10 5.10.43-yocto-standard, locale en_US)
[✓] eLinux toolchain - develop for embedded Linux devices
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[✓] Connected device (2 available)

! Doctor found issues in 3 categories.

Realized there's already an issue about this: #70
But hopefully this adds a little more context

@kono0514 Thank you for reporting the issue. I confirmed this issue.

I'll close this issue because it's duplicated.


Add a bit about RPMB and firmware rollback

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

:exclamation: No coverage uploaded for pull request base (main@62af0bf). Click here to learn what that means.

Additional details and impacted files
@@          Coverage Diff           @@
##             main    #181   +/-   ##
======================================
  Coverage        ?   0.00%
======================================
  Files           ?      20
  Lines           ?    1458
  Branches        ?       0
======================================
  Hits            ?       0
  Misses          ?    1458
  Partials        ?       0

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


Add scalable fuel tanks

Box fuel tanks are now fully scalable along the same limits as ammo crates
Added scalable cylindrical fuel tanks
Should be fully backwards compatible with all existing fuel tanks (as far as I can tell)

Old box containers will be converted into scalable boxes with matching proportions
Old fuel drums will be converted into scalable fuel drums with proportions that match those of the base model

Added new globals to control scalable tank behavior (ACF.FuelArmor, ACF.FuelMinSize, ACF.FuelMaxSize)
Existing box container flavor text in the menu is now randomly selected on each fuel info text update
The fuel menu settings will now change parameter options based on the tank type (Box, Drum, or Miscellaneous)

(Possibly) important things to note before merging!

Tank mass and fuel capacity results are slightly different from before for scaling tanks. I tried to keep them as similar to the original containers as I could, so they shouldn't make any sort of drastic difference, but I thought I'd just mention this in case it's an issue.
Tank visuals are not super consistent at the moment. Box tanks use the 4x4x4 tank model, and drum tanks use the HL2 oil drum model. I'm not really sure what (if anything) should be changed about these to make them any better.
That 0.4774 magic number for capacity is still in use. I don't really know what to do with it, so any suggestions here would be appreciated. #179 could probably be closed once this is dealt with. Magic number has been removed; the issue can (probably?) be closed once this is merged.

I'm getting this error when trying to spawn fuel tanks cuboid and cylindrical fuel tanks

And this one when spawning the miscellaneous fuel tank

I'm getting this error when trying to spawn cuboid and cylindrical fuel tanks

And this one when spawning the miscellaneous fuel tank

It might be related to the latest commit I pushed to this PR, I'm changing the affected code a little bit so it works in a similar way to guns and ammo crates when it comes to registration, verification, backwards compatibility and entity creating/updating.

I'm getting this error when trying to spawn cuboid and cylindrical fuel tanks

And this one when spawning the miscellaneous fuel tank

Should be resolved with this latest commit.


[improve][broker] Add msgInReplay subscription stat and metric to improve Key_Shared observability

Main Issue: #23205
Motivation
Currently there aren't ways to observe the number of messages that are "in replay" with Key_Shared or Shared subscriptions. Having these metrics would make it easier to understand the behavior of issues such as #23200 .
Please check #23205 for more reasons.
Modifications

add msgInReplay in the similar way as the existing msgDelayed subscription stat and metric.

Documentation

[ ] doc
[x] doc-required
[ ] doc-not-needed
[ ] doc-complete

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

Project coverage is 74.54%. Comparing base (bbc6224) to head (d6d08be).
Report is 545 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #23224      +/-   ##
============================================
+ Coverage     73.57%   74.54%   +0.96%
- Complexity    32624    34226    +1602
============================================
  Files          1877     1922      +45
  Lines        139502   144768    +5266
  Branches      15299    15832     +533
============================================
+ Hits         102638   107916    +5278
+ Misses        28908    28578     -330
- Partials       7956     8274     +318

Flag
Coverage Δ

inttests
27.66% <28.57%> (+3.08%)
:arrow_up:

systests
24.69% <28.57%> (+0.36%)
:arrow_up:

unittests
73.90% <100.00%> (+1.05%)
:arrow_up:

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

Files
Coverage Δ

...ervice/persistent/MessageRedeliveryController.java
95.38% <100.00%> (+0.38%)
:arrow_up:

...sistent/PersistentDispatcherMultipleConsumers.java
73.37% <100.00%> (-0.96%)
:arrow_down:

...ker/service/persistent/PersistentSubscription.java
77.54% <100.00%> (+0.85%)
:arrow_up:

...ker/stats/prometheus/AggregatedNamespaceStats.java
100.00% <100.00%> (ø)

.../stats/prometheus/AggregatedSubscriptionStats.java
100.00% <ø> (ø)

...ker/stats/prometheus/NamespaceStatsAggregator.java
94.24% <100.00%> (+3.83%)
:arrow_up:

...che/pulsar/broker/stats/prometheus/TopicStats.java
98.42% <100.00%> (+4.22%)
:arrow_up:

...mon/policies/data/stats/SubscriptionStatsImpl.java
94.40% <100.00%> (+0.28%)
:arrow_up:

... and 534 files with indirect coverage changes

LGTM, but maybe the change needs a PIP?

+1 for having a PIP for this change since it actually changed the Public API output and metrics.
Another point is can we only have new the field in the topic stats? Since we have a lot of metrics on the topic level. Finally, we can't add everything to the prometheus metrics. The stats, the logs are also the part of observability.

@codelipenghui This is not a breaking change in metrics and this change isn't adding significantly more metrics than what currently exists. It's currently a gap in observability of all released versions of Pulsar when msgInReplay is missing. That's why everyone needs this and making it configurable with a feature flag wouldn't be sensible.


engine curve update

Changes are as follows:

added a curve iterator which caches node calculations where possible
added a "stable spline" evaluator type which fixes strange artifacts in legacy spline
added a "step" evaluator
fixed a small bug where tension wasn't being copied at clone
added quantizedClamped function to Curve and CurveSet (useful for clamping colours to valid range)
added a regression test for curve

I confirm I have signed the Contributor License Agreement.

@daredevildave please review the latest naming changes


add support for some kind of ?binary flag on GET+?meta to force base64 encoding

people are ok with the idea, but to avoid feature bloat right now we're going to wait


Please clarify in documentation, that the resulting C-string is null terminated

The documentation states (http://cython.readthedocs.io/en/latest/src/tutorial/strings.html#passing-byte-strings) that to cast a python bytes/bytearray-object one has simple to use:
cdef char* other_c_string = py_string
What is not directly obvious, whether this resulting C-string is null-terminated.
Please consider to clarify in documentation, that the resulting C-string is \0 terminated.
Python-3 documenation states it explicitly here https://docs.python.org/3/c-api/bytes.html#c.PyBytes_AsString and here https://docs.python.org/3/c-api/bytearray.html#c.PyByteArray_AsString
Python-2 documentation lacks this assurance, but judging from the code e.g. https://github.com/python/cpython/blob/2.7/Objects/bytearrayobject.c#L288 this is also the case.

Thanks for the feedback!


Fix Card Props

I don't know if it is an intentional thing, but I noticed that the card, due to the spread of the 'props' object, was losing the variant for the 'size', I also added styleable type instead of extractable which is deprecated

ty


ci(deploy): specify directory for deploy

Coverage remained the same at 100.0% when pulling 02a3cca9ddfea3f9deb620dca5cd725f73ad02c9 on bugfix-deploy into fbcd9435865545ba1a144788b94a4f9ad1211f2d on develop.


etcdctl: respect --write-out=json for endpoint status command

another one... /cc @xiang90

LGTM

LGTM. Thanks.


Use the s3a as property key name prefix for s3 compatible object stores

What changes are proposed in this pull request?
Fix #8962.
Why are the changes needed?
See #8962.
Does this PR introduce any user facing changes?
add property key s3a.accessKeyId and s3a.secretKey.

@apc999 I remembered that you make a change to allow the user to ignore the difference between s3:// and s3a:// schema when doing mount. Can you take a look at this pr?

@yyongycy can you take a look?

alluxio-bot, merge this please


Update getstream to 3.4

faye 1.2.0 appears to break semver (though unsure how). The upgrade from getstream 2.x to 3.x looks like an in-place upgrade for us.
We use the following methods:

stream.connect (option with api key and app key)
client.feed
feed.get (with options limit, mark_seen, and mark_read)
all of which remain the same between 2.x and 3.x

getstream 3.4 pins faye at 1.2.0
:metal:🎶 I can't faye...the way I did before! Don't break semver on me! I won't be ignored! 🎶:metal:

👌