Can't use LDAP

Hello,
I'm trying to set up owncloud with ldap authentication, but I'm unable to make it work.
Owncloud always try to authenticate me with oidc on https://idp.owncloud.test/realms/ocis/.well-known/openid-configuration.
Here are some important values that I edited, maybe am I missing something ?
features:
  basicAuthentication: true
  externalUserManagement:
    # LDAP related settings.
    enabled: true
    adminUUID: "admin"
     ldap:
      writeable: false
      insecure: true
      . . .

Thanks for your help.

The documentation comments in the values.yaml state following:
https://github.com/owncloud/ocis-charts/blob/5c854bc2ac38ee2326039f96576ae5b050d3ce16/charts/ocis/values.yaml#L251-L254C61
This means you also change the OIDC identity provider settings:
https://github.com/owncloud/ocis-charts/blob/5c854bc2ac38ee2326039f96576ae5b050d3ce16/charts/ocis/values.yaml#L261-L265
I admit, that we should not have a default value here. We should refuse the installation if external user management is enabled and not external OIDC identity provider is configured.

oCIS ships a LDAP and IDP service by default. You can omit one or both of them.
The oCIS Helm chart is more opinionated and does only allow to use both for development or small installation purposes. This is because the chart aims at high available and scalable installations. Neither the oCIS LDAP nor the IDP services are
currently  (horizontally) scalable. Therefore we expect them to be replaced both for the Helm Chart (also to reduce configuration permutations)

Sorry, what I mean is that I have an external ldap server and I want to use it as a users provider.

Just ouf of curiousity, what is the point of having both an external ldap and oidc provider at the same time ? Both of them can do authentification, and in my case, the keycloak use ldap as it's source.
I tried too use keycloak before opening this issue but it didn't work, where am I supposed to register the token generated by keycloak ?

Thank you, I have one last question.
I ended up with this "error":

I want to use my users uid (ldap ones) which are equals to  usernames of keycloak users. I don't understand how to map it to ocis.
For example with my user (uid=whidix), I have :
features:
  basicAuthentication: true
  externalUserManagement:
    enabled: true
    adminUUID: "whidix"
    oidc:
      issuerURI: "https://auth.example.com/realms/production"
      webClientID: "owncloud"
      userIDClaim: ocis.user.uuid #I tried ocis.user.username
      userIDClaimAttributeMapping: userid
    ldap:
      writeable: false
      uri: ldaps://ldap.example.com
      certTrusted: true
      insecure: true
      bindDN: uid=client-consult,ou=scripts,ou=inp-net,o=inp,dc=example,dc=com
      useServerUUID: false
      user:
        schema:
          id: uid
          idIsOctetString: false
          mail: mail
          displayName: displayname
          userName: uid
          # -- LDAP Attribute to distinguish between 'Member' and 'Guest' users. Default is 'ownCloudUserType'.
          userType: ownCloudUserType
        baseDN: dc=example,dc=com
        scope: sub
        substringFilterType: any
        filter:
        objectClass: inetOrgPerson
      group:
        schema:
          id: cn
          idIsOctetString: false
          mail: mailAlias
          displayName: displayName
          groupName: displayName
          member:  memberUid
        baseDN: dc=example,dc=com
        scope: sub
        filter:
        objectClass: Club

After some debugging I have this error which means that no users called whidix exist, which is normal since it's my first connection. May be the mapping is broken ?
│ 2023-10-19T21:23:14Z INF access-log bytes=2494 duration=3.196537 line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:31 method=GET path=/ocs/v1.php/cloud/capabilities proto=HTTP/1. │
│ 1 remote-addr=x.x.x.x request-id=00ddaed2-628f-4b44-9aa7-ef273622d9ce service=proxy status=200                                                                                │
│ 2023-10-19T21:23:14Z DBG User by claim not found claim=preferred_username line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/account_resolver.go:118 service=proxy value=whidix                 │
│ 2023-10-19T21:23:14Z DBG Autoprovisioning disabled claims="marshaling error: json: unsupported type: map[interface {}]interface {}" line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/account_r │
│ esolver.go:120 service=proxy                                                                                │
│ 2023-10-19T21:23:14Z INF access-log bytes=0 duration=11.138444 line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:31 method=GET path=/ocs/v1.php/cloud/user proto=HTTP/1.1 remote-a │
│ ddr=x.x.x.x.x request-id=986bde56-73fb-4538-9038-3265488a78dd service=proxy status=401

The log confirms, that it takes the value whidix from the preferred_username claim.
But the user could not be found in your LDAP.
Could you please try manually to find the user via uid in the ldap?
Eg. ldapsearch -b dc=example,dc=com uid=whidix

Sorry I didn't update my previous message, I fixed the issue with the ldap, but there is a new one with oicd roles (which are supposed to be disabled but looks mandatory according to the logs).
.180254997Z 2023-10-20T06:53:51Z INF access-log bytes=0 duration=88.54707 line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:31 method=POST path=/api/v0/settings/values-list proto=HTTP/1.1 remote-addr=x.x.x.x request-id=f8cbaf9d-de5b-4a7a-b3af-6efad7749132 service=proxy status=500
2023-10-20T06:53:51.287991990Z 2023-10-20T06:53:51Z DBG director found line=github.com/owncloud/ocis/v2/services/proxy/pkg/router/router.go:222 method=GET path=/ocs/v1.php/cloud/user policy=ocis prefix=/ocs/ routeType=prefix service=proxy
2023-10-20T06:53:51.288039840Z 2023-10-20T06:53:51Z DBG cache hit for userinfo claims="marshaling error: json: unsupported type: map[interface {}]interface {}" line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/oidc_auth.go:67 service=proxy
2023-10-20T06:53:51.288112447Z 2023-10-20T06:53:51Z DBG successfully authenticated request authenticator=oidc line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/oidc_auth.go:171 path=/ocs/v1.php/cloud/user service=proxy
2023-10-20T06:53:51.293730428Z 2023-10-20T06:53:51Z ERR Could not load roles error="{\"id\":\"ocis-settings\",\"code\":400,\"detail\":\"cannot be blank\",\"status\":\"Bad Request\"}" line=github.com/owncloud/ocis/v2/services/proxy/pkg/userroles/defaultrole.go:38 service=proxy
2023-10-20T06:53:51.293759039Z 2023-10-20T06:53:51Z ERR Could not get user roles error="{\"id\":\"ocis-settings\",\"code\":400,\"detail\":\"cannot be blank\",\"status\":\"Bad Request\"}" line=github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/account_resolver.go:154 service=proxy

https://github.com/owncloud/ocis-charts/blob/ebb85842659e0bdb951be58867f8e4ce9f33bba2/charts/ocis/values.yaml#L288-L289
is set to false, right?
I also assume that you have no custom roles:
https://github.com/owncloud/ocis-charts/blob/ebb85842659e0bdb951be58867f8e4ce9f33bba2/charts/ocis/values.yaml#L416-L422
From your configuration, I see that you have configured the adminUUID:
https://github.com/owncloud/ocis-charts/blob/ebb85842659e0bdb951be58867f8e4ce9f33bba2/charts/ocis/values.yaml#L260
Can a user login which is not configured there?

I tried to unset adminUUID without results, I can confirm that I have no custom roles and that roleAssignment is set to false.

Hello again, now I'm able to connect with my user but all groups are empty.
In my ldap, I use memberUid to store users uid.
Any idea ?

@Whidix sorry that you didn't receive a response for such a long time! Did you meanwhile manage to get it running?


Fix GoLint Errors in pkg/controllers/apis and pkg/controllers/cache packages

What this PR does / why we need it:
Fixed Golint Errors for following packages

pkg/controllers/apis
pkg/controllers/cache

/lgtm
/approve


reworking serialization API for schema registry support

this is a continuation of @treziac 's #129.
I think I finally have a definite opinion on changes that should be made to (de)serializers for schema registry support (a new idea).

configuration works differently to java. the idea is a (de)serializer can take the configuration dict in their constructors, and the constructor of Producer/Consumer then ignores any properties used by the serializers. I also added capability for key and value serializers to be configured separately. we can update the string, int and long serializers to also optionally be configured from the main config dict. we can do the same architectural pattern for custom partitioners (allow them to be configured).
no IDisposable - I don't see when this would be necessary. Only suggested it because it's there in java - what am i missing? we can have this if needed, but this raises questions of ownership - it's most convenient if the Producer and Consumer take ownership of the (de)serializers, and this is not without precedent in dotnet (see StreamReader), but it's a pattern that can cause confusion (in general, though probably not in our case) and best avoided.
actual serializers and custom partitioner classes are not going in the configuration dict - they will be only arguments to the constructor. they can however be parameterized by values from the config. I think this is an optimal balance.
no explicit implementation of interfaces (for reasons noted in #129).

to use:
using (var producer = new Producer<string, string>(config, new StringSerializer(config), new AvroSerializer(config)))
{
}

(the old way of configuring string serializer will remain as well).
note: WIP tests not updated, just putting the code changes out for comment.

Perhaps we should rater add the possibility to have config not used in librdkafka (and generate warnings like in java) rather than forbiding unknown conf (so we won't have to do the parsing to remove unknown config). No definitive opinion here...
Yep, I just implemented it since you asked ;) I also prefer the user to take care of it if needed rather than giving the control to the handle and having potential bug.
For the StringSerializer for example, Configuration would contain encoding, that's it? And all serializer would preferably have a constructor with a IEnumerable<KeyValuePair<String, object>>? In this case, we could also add a (facultative) base class wich deal with this automatically.
With this configuration object, we can't know the type of config object (for librdkafka as it's an external library it's not such an issue, here it's a bit more problematic) I would rather have properties, and have the base constructor I mentioned before do the mapping (so both can be used, constructor with initialization and/or constructor with config - I never liked initializing things at runtime (dictionary) rather than compile timpe (properties), I assume I'm not the only C# dev in this case

Perhaps add the StringSerializer with encoding as config to show exactly what you want to do

This may come later, but I see nothing which would prevent specifying the serializer/deserializer/partitioner via config also with this. For people who like everything in config (very useful when done via file without having to look at code with miscroservices and co, I must admit ;) )

Perhaps we should rater add the possibility to have config not used in librdkafka (and generate warnings like in java) rather than forbiding unknown conf (so we won't have to do the parsing to remove unknown config). No definitive opinion here...

I believe the Java client's way of handling this is more error prone , it is too easy to typo a config property and miss the warning message.
What the Go and Python wrappers do is intercept the configuration before it passed to librdkafka, to find and remove the properties the wrapper handles.
One way of to achieve this is through the new interceptor interface:
https://github.com/edenhill/librdkafka/blob/master/src/rdkafka.h#L3360

Ok - that's how it's done now, we can continue. How to make sure we won't use a config which would be later added to librdkafka and be in conflict? Are there some reserved word which will never be used by librdkafka (like beginning by _, or anything else?)

Yes, I'm intercepting the configuration before passing to librdkafka. I don't think the new interceptor interface is going to be useful here as serializers are completely on the C# side and there isn't much to it. And yes, failing fast is generally better (as the current implementation does).
I'm not worried about config name clashes. 1. The config names are long and descriptive. 2. in the event there ever was overlap, nothing would break and the C# side greedily taking the config parameter (which only happens if the user configured it to do so) is probably what is wanted.
(De)serializers don't need to have a IEnumerable<KeyValuePair<String, object>> constructor, but doing so provides a mechanism to allow them to be easily configured from a config file. I don't think there is much benefit to a helper base class - not sure what it would do. Ok, I'll add implementations to this PR to demonstrate.
We could create another class for config info with static type checking that implements IEnumerable<KeyValuePair<String, object>> to provide it to the Producer and Consumer. For maximum safety, the interface to the Producer and Consumer should be constrained to this, however I believe what we have is an optimal compromise.
We could ultimately allow serializers / partitioners to be specified in the config dict as well, however I don't think this is going to be necessary (I know earlier I was throwing this about as an option). I expect people will want the ability to be able to configure their serializers / partitioners via the one config dict (which could be read in from a file), but need to configure the actual serializer / partitioner implementation will be much less common. Also, in such scenarios this can be solved with some extra code. I could be wrong, but as you say, the design allows for it, so we can do it in the future if it comes up. I'm very much hoping to keep things simple - configuring of actual implementations is via constructor arguments. Configuration of strings/bools/values via config file.

closing in favor or #205


Improve security of CREATE transactions

Currently, CREATE transactions can issue assets for every public key and they are only validated by a single node.
What would be better:

only create assets for your personal key
have the asset creation signed off by at least n / 2 + 1 nodes

The proposed workflow could be as follows:

A client sets up a CREATE transaction.
The CREATE transaction has an implicit condition, as there is no input to the transaction:

n / 2 + 1 out of n threshold condition for the nodes
The above output goes into a 2 - 2 threshold condition together with the signature of the client

The fulfillment of the CREATE transaction fulfills the implicit condition above and the nodes validate whether the public key matches the one of the client.
The output condition only requires the public key of the client

I just discussed this with @r-marques. Makes sense!

Issue #327 has some similar ideas to improve security of CREATE transactions.

This is blocked as long as ThresholdSha256 Fulfillments cannot be signed partially.
See:

https://github.com/bigchaindb/cryptoconditions/pull/25
https://github.com/bigchaindb/bigchaindb-common/issues/13

This is blocked as long as ThresholdSha256 Fulfillments cannot be signed partially.

Not exactly. The fulfillment + message can go around off-chain. No need to store it on-chain: you just want to gather signatures. In many cases the contract negotiation is done on a layer above

Based on a discussion I had with @ttmc, I think the motivation for this was:

Previously, federation nodes were the ones minting assets
Even if clients were the ones to sign nodes, a federation node could "steal" a CREATE transaction getting passed through by replacing the signature and public keys to its own.

I don't think what's proposed is the right approach (though let me know if I've misunderstood anything).

only create assets for your personal key

I believe this has already been accomplished by the Transaction model (you need to at least know the private key before you can create something for its public key)?

have the asset creation signed off by at least n / 2 + 1 nodes

Not a big fan of this approach; I think this just skirts around the topic but still leaves the system vulnerable. The root problem here is to enable end users to trust the transactions they're getting as inputs. Rather than using a majority-signing approach to tackle this problem, I'd rather keep it simple and let trust be established through publicly advertised trust networks off-chain (i.e. users advertising their public keys to other users, like how gpg works). Using a majority-signing approach doesn't solve the counterfeiting, or "stealing," since anyone, at any time, can duplicate an asset that's in the DB and register it as their own.
There's two parts to this trust issue:

As the minter, it's obviously not ideal if the federation node I'm using to send my CREATE transactions can "steal" my assets. However, I can double check that I'm getting my assets created properly and simply report and switch federation nodes if one becomes problematic. Nobody can counterfeit my assets, since I'm the only one in control of my public key.
As the end user who may be receiving an asset, I can look up its creator's public key (note that every BDB asset has an implicit "creator": the public key that was assigned for its CREATE transaction) and match it to the public key of who I'm assuming it to be. If it doesn't match, I should ignore the transfer if given the choice (e.g. not paying for it).

Currently, CREATE transactions can issue assets for every public key and they are only validated by a single node.

I am a bit confused by the above statement. The voting mechanism is such that all nodes of the federation will vote on the validity of a proposed block, which entails that every transaction in that block will go though a validation step.

This is probably related to #327 and we should move the discussion there

Resolved (indirectly) by pull request #794 (a pull request which also resolved issue #327).

@ttmc how is this resolved by #794?
I mean, the problems remains that:

anyone can mint assets
anyone can mint assets in the name of someone else

I agree with @diminator.
Especially when IPDB wants to bill on a transaction-base, the proposal in outlined in the original post should be considered.

@diminator @TimDaub
PR #794 included a change that makes it so that CREATE transactions must be signed by all "owners_before".
Yes, anyone can mint assets, but they can only use their own private key(s) when signing to generate the fulfillments in the CREATE transaction.
For example, suppose TicketBaron.com has a set of public/private keypairs. They share their public keys with the public. Only TicketBaron.com can create ticket assets signed with their private key. Sure, others can create counterfeit TicketBaron.com tickets, but it's easy to check the authenticity of tickets (CREATE transactions): are they signed by one of TicketBaron.com's private keys? If yes, then they are authentic.
In other words, it's left up to clients to detect counterfeit assets.
That needs to be documented.


⚠ SceneTime has degraded performance

In a4642e5, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1157 ms

Resolved: SceneTime performance has improved in 8732ebd after 9 minutes.


Debug impls should not use Printer implementations

See #59 for an example; the printer is opinionated and produces sometimes unrepresentative output. Debug implementations should represent exactly what is stored in memory for testing purposes.

I think the question comes down to "Who will use the Debug implementations?". From my perspective, the Debug impls should be used strictly for debug purposes, i.e. if you want to know the actual content of the data for debug purposes. This is especially relevant due to what you've pointed out: the debug information currently does not provide information that would help someone debug.
It may be appropriate to implement debug s.t. values set to zero are simply omitted and a finish_non_exhaustive is used. But ultimately, hiding the units will make things harder to debug, especially since the units are the user-facing API.

I don't think it's quite that clear cut. While hiding units can make things harder to debug, showing too much information can also make things harder to debug. I've spent a lot of time debugging Jiff, and I can say with some confidence that showing all units (even when they are zero) makes things incredibly noisy. The output is easily one or two orders magnitude bigger than is necessary in most cases.
I think the most likely path here is to use something other than ISO 8601 as the output format. But I would still want something that is information dense.

Hm, okay. Would you consider adding a way to format it with units shown, e.g. with a new type pattern?

Even units that are zero? I'd rather not personally. I mean I'm open to it if it becomes a widely requested feature with a solid use case. But for now, I think that can be implemented outside the crate inside the fuzzer if necessary though.

Ah, not including units that are zero. I'll add it to the shim module.


RuntimeError: Expected to have finished reduction

Hello,
I'm trying to use accelerate to train a simple two tower model (each tower being a huggingface pretrained model) on a machine with 2 GPUS.
Launch command: CUDA_VISIBLE_DEVICES=0,1 accelerate launch main.py
Right after it does the forward pass for the first batch it gives the following error:
_Traceback (most recent call last):
File "main.py", line 79, in
batch_loss = model(**batch)
File "/home/akson/.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/akson/.local/lib/python3.8/site-packages/torch/nn/parallel/distributed.py", line 692, in forward
if self.reducer.rebuild_buckets():
RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter detection by (1) passing the keyword argument find_unused_parameters=True to torch.nn.parallel.DistributedDataParallel; (2) making sure all forward function outputs participate in calculating loss. If you already have done the above two steps, then the distributed data parallel module wasn't able to locate the output tensors in the return value of your module's forward function. Please include the loss function and the structure of the return value of forward of your module when reporting this issue(e.g. list, dict, iterable).
If I remove the optimize.backward, the forward pass works properly.
Any help with this would be appreciated.

Forward Pass:
`model, optimizer, train_loader, valid_loader = accelerator.prepare(model, optimizer, train_loader, valid_loader)
#####################################################################
Training Loop
#####################################################################
for epoch in range(epoch, args.epochs):
logging.info(f"Training started for epoch: {epoch}")
model.train()
torch.set_grad_enabled(True)
pbar = tqdm(enumerate(train_loader, 0), disable=not accelerator.is_main_process)
loss = 0
for step, batch in pbar:
    batch = {key: value.to(DEVICE) for key, value in batch.items()}
    batch_loss = model(**batch)
    accelerator.backward(batch_loss)
    optimizer.step()
    optimizer.zero_grad()
    loss += batch_loss
if accelerator.is_main_process:
    print(f"\nLoss after epoch: {epoch} is = {loss/step}. best_loss = {best_loss}")`

Since PyTorch suggests to set find_unused_parameters=True, you should do that with DistributedDataParallelKwargs:
kwargs_handlers = [DistributedDataParallelKwargs(find_unused_parameters=True)]
accelerator = Accelerator(kwargs_handlers=kwargs_handlers)

Works great! Thanks @sgugger!

@sonix022 Can I know how did find_unused_parameters=True solve your problem? In my case, it didn't change anything (I got the same error message).


Throwing error when using bboxes with numberOfChars === 0

Instead of returning geohashes with numberOfChars == 9, and potentially make an app crash with too many geohashes

Why not also ensure numberOfChars >= 0？

That's true ! I added a commit

Thanks!


chore(C): add merging array

PR Checklist:

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is on refer on the language README.md file
[x] My addition does not have a spelling problem
[x] My submission has a proper and user-friendly description of the algorithm
[x] My submission has the time complexity of the algorithm
[x] My submission has sample input-output of the program (NOT FOR PYTHON)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[ ] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR

Other information:

The code is working properly.

Hi @bishtanuj,
Why are you close the pull request?

Hi @bishtanuj,
Could you solve the spelling error?

I am unable to find the spelling mistake.

Done

Hi @bishtanuj,
Any updates?


copy-sqldatabase bug: withreplace not working properly

Is this a feature OR bug:
bug
System Details

Operating system name and version:
Windows 7 SP1
Output from $PSVersionTable:

Name                           Value
----                           -----
PSVersion                      3.0
WSManStackVersion              3.0
SerializationVersion           <IP_ADDRESS>
CLRVersion                     4.0.30319.42000
BuildVersion                   6.2.9200.16481
PSCompatibleVersions           {1.0, 2.0, 3.0}
PSRemotingProtocolVersion      2.2

Output of dbatools version:

Sorry, throws the error "item with the same key has already been added".  I used the Invoke-expression install on 1/27/2017

SQL Server version for source/target
2008R2 / 2016SP1

Steps to Reproduce
On the source server (2008 R2):
CREATE DATABASE [Cube_Query_History] ON  PRIMARY
( NAME = N'Cube_Query_History', FILENAME = N'F:\SQL_Data\Cube_Query_History.mdf' , SIZE = 50176KB , MAXSIZE = UNLIMITED, FILEGROWTH = 102400KB )
LOG ON
( NAME = N'Cube_Query_History_log', FILENAME = N'F:\SQL_Logs\Cube_Query_History_log.ldf' , SIZE = 10240KB , MAXSIZE = 2048GB , FILEGROWTH = 102400KB )
GO
On the target server (2016sp1), I created a stub database:
CREATE DATABASE [Cube_Query_History]
CONTAINMENT = NONE
ON  PRIMARY
( NAME = N'Cube_Query_History', FILENAME = N'K:\SQL_Data\Cube_Query_History.mdf' , SIZE = 50176KB , MAXSIZE = UNLIMITED, FILEGROWTH = 102400KB )
LOG ON
( NAME = N'Cube_Query_History_log', FILENAME = N'L:\SQL_Logs\Cube_Query_History_log.ldf' , SIZE = 10240KB , MAXSIZE = 2048GB , FILEGROWTH = 102400KB )
GO
We then ran the copy-sqldatabase, using -withreplace, and got this error:
Action Results
(note there is no F on the target server)
System.Management.Automation.MethodInvocationException: Exception calling "SqlRestore" with "1" argument(s): "Restore failed for Server 'my-tar-get-server'. " ---> Microsoft.SqlServer.Management.Smo.FailedOperationException: Restore failed for Server 'my-tar-get-server'.  ---> Microsoft.SqlServer.Management.Smo.SmoException: System.Data.SqlClient.SqlError: Directory lookup for the file "F:\SQL_Data\Cube_Query_History.mdf" failed with the operating system error 3(The system cannot find the path specified.).
Expected Results
Restore the database to K/L
Attached Logs or any exception errors

Use of Start-Transcript can help collection of console output and exceptions
Certain commands will generate an exception log that you can find in following directory: dir $env:USERPROFILE\Documents\dbatools-exceptions.txt

Really great bug report, @mbourgon! Thank you. It'll be super helpful.
I'm not sure how you got the dbatools version error, but Get-Module dbatools should work. If not, try **Get-Module dbatools | Select * **

I'm gonna try to get this one in by today's release, too

Any luck? (We're migrating 10+ servers in the next two weeks, this would make life simpler)  MANY MANY MANY thanks!

Still working on it. Was hoping it'd be a quick fix but it's all complex. Will keep you updated

Sorry to hear. Thanks!

Check out this branch! I'll get some testers (if you can, that'd be nice) but the fix should be in the release coming out tomorrow https://github.com/sqlcollaborative/dbatools/tree/copy-sqldatabase-fix-withreplace

Woohoo! We'll test it out today!

If you do it before the proper release, you can download a zip with it here: https://github.com/sqlcollaborative/dbatools/archive/copy-sqldatabase-fix-withreplace.zip

Passed our tests :) Please let us know how it goes for you! this bugfix is now in the development branch


[Bug]: Creating event with id or phase causes problems

What happened?
Verbs stores the user's event data mingled with internal Verbs data. Thus:

You cannot create an event with a phase property. (Type of App\Events\BrokeVerbs::$phase must be Thunk\Verbs\Lifecycle\Phase (as in class Thunk\Verbs\Event))
If you create an id property (of type int), no error will be thrown, but Verbs will nuke it and overwrite it with that row's id snowflake.

The phase one isn't too bad. You get an error, and anyone encountering it will likely realize they need to rename their phase in that event.
The id one is kinda nasty. It's highly likely someone will try this, and it just silently overwrites their data.
Some questions:

Could these internal fields be prefixed with an underscore to reduce the chance of accidental collision?
Is it necessary to store id in both the id column of an event and also in the JSON data column?
Is it necessary to store phase in the database at all?

How to reproduce the bug
<?php

namespace App\Events;

use Thunk\Verbs\Event;

class BrokeVerbsPhase extends Event {
	public function __construct(public string $phase) {
	}
	public function handle() {
	}
}

<?php

namespace App\Events;

use Thunk\Verbs\Event;

class BrokeVerbsId extends Event {
	public function __construct(public int $id) {
	}
	public function handle() {
	}
}

Then just fire those events.
Package Version
0.0.6
PHP Version
8.1.26
Laravel Version
10.10
Which operating systems does with happen with?
macOS
Notes
No response

This is a great point. Been thinking about this as well. I think you're right… it'd be nice if they don't have to live on the event object at all.

The metadata PR may also help with this…

So I removed phase from events, because I think you're 100% right there. I do think that we need all events to have an $id but I've updated things so that IDs are only set if they weren't provided, which means that if you define a public $id property on your event and fill it with something yourself, Verbs will honor that. Does that feel like a good resolution?

I think that if they are passing in an id they will be expecting it to be their id, not the event's id, and it could lead to events with conflicting event ids (which presumably would prevent the event from being inserted).

I think that if they are passing in an id they will be expecting it to be their id, not the event's id, and it could lead to events with conflicting event ids (which presumably would prevent the event from being inserted).

I guess… why would you set an $id property on an event if it's not the event's ID?

I guess… why would you set an $id property on an event if it's not the event's ID?

Let's say I have a ArticleCreated event. The ArticleState id needs to reference some id. In my mind, it would be nice to be able to have that be id rather than article_id. That way, in my handle method I could just do Article::create(['id' => $this->id]); rather than $this->article_id.
Later, in an ArticleUpdated event I still want to pass in id rather than article_id.
Right now, none of that is really possible.

Seems like the existing id that verbs is using should be called verb_id or verbs_event_id


Change repo description

Current:
Python implementation of the Language Server Protocol.
Proposed:
Generated types of the Language Server Protocol for various languages.

And link official page.

done


CSS Delay with darktheme token in SSR

Hi i'm opening this issue that has been discussed in other issues just to atomize it.
As we saw in previous issues https://github.com/vueComponent/ant-design-vue-nuxt/issues/6 https://github.com/vueComponent/ant-design-vue-nuxt/issues/25 there is already a fix for the default ant theme css delay using the extractStyle method.
Now in my case I would like to use the dark algorithm, but this one seems to not be working.
Maybe I'm doing something wrong.
This is my current setup:
// generateAntStyle.ts
import { extractStyle } from 'ant-design-vue/es/_util/static-style-extract'
import { ConfigProvider, theme } from 'ant-design-vue'
import { h } from 'vue'
import fsExtra from 'fs-extra'

export async function genAntdStyle() {
  const css = extractStyle(node =>
    h(ConfigProvider, {
      theme: { algorithm: theme.darkAlgorithm },
    }, { default: () => node }),
  )
  await fsExtra.outputFile('public/css/antd.css', css, 'utf8')
}

genAntdStyle()

// nuxt.config.ts
...
  app: {
    head: {
      link: [
        {
          rel: 'stylesheet',
          href: '/css/antd.css',
        },
      ],
    },
  },
...

// App.vue
<template>
  <ConfigProvider :locale="esES" :theme="{ algorithm: theme.darkAlgorithm }">
    <NuxtLayout>
      <NuxtPage />
    </NuxtLayout>
  </ConfigProvider>
</template>

In reality I would like to also add a custom antToken :theme="{ ...antToken, algorithm: theme.darkAlgorithm }", but lets start with the dark theme algorithm problem.
My ant-design-vue is on version 4.0.8 ,nuxt is on 3.9.0 and @ant-design-vue/nuxt is on 1.3.0 .
I would really appreciate any help, since i'm close to deploying to production and this is a topic that if can't be solved might mean we have to see how to customize the default theme to a dark one (if that works) or change component library, which would be a pity. At least knowing that this won't be fixed anytime soon is already helpful :) . Thanks beforehand !

Hi, have same issue

Same issue here 🙏🏽🙏🏽

I tried to reproduce the problem you mentioned, but unfortunately I couldn't reproduce it.
https://antdv-nuxt-starter.vercel.app/
https://github.com/antdv-community/antdv-nuxt-starter
What is worth celebrating is that this problem may be better improved in antdv4.1 version

I tried to reproduce the problem you mentioned, but unfortunately I couldn't reproduce it.
https://antdv-nuxt-starter.vercel.app/
https://github.com/antdv-community/antdv-nuxt-starter
What is worth celebrating is that this problem may be better improved in antdv4.1 version

oh i will try to create a stackblitz later today with the latests deps with a reproduction, thanks @aibayanyu20 !


RKManagedObjectRequestOperation  [operation start] not fired

`RKManagedObjectRequestOperation *operation = [[RKObjectManager sharedManager] managedObjectRequestOperationWithRequest:request
managedObjectContext:[RKManagedObjectStore defaultStore].mainQueueManagedObjectContext
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
if (success) success(operation, mappingResult);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
if (failure) failure(operation, error);
}];
[operation start];
`
The request is never sent with latest release. If i can remember correctly is was working with previous release.

can you please write a test showing the problem?

Do you need to call the start method on main thread? http://stackoverflow.com/questions/1642444/problems-queuing-concurrent-non-concurrent-nsoperations
The RKOperationStateMachine.m start function should have the following lines at the beginning:
if (![NSThread isMainThread]) { // Dave Dribin is a legend!
        [self performSelectorOnMainThread:@selector(start) withObject:nil waitUntilDone:NO];
        return;
}


Display error messages for invalid kwargs

ev3dev version: 4.4.24-16-ev3dev-ev3
**ev3dev-lang-python version:**0.8.0
As the platform rolls out to more students there are more silly mistakes made.  The primary silly mistake I see with my students during their first week is typos with the keyword arguments to the motor functions.  Yes, it's a silly goof on their part.  I see lots of code like this... (notice the words spedd_sp and postion_sp):
motor_turns_deg = 486
left_motor.run_to_rel_pos(position_sp=motor_turns_deg, spedd_sp=400)
right_motor.run_to_rel_pos(postion_sp=-motor_turns_deg, speed_sp=400)

left_motor.wait_while("running")  # Wait for the turn to finish
right_motor.wait_while("running")  # Wait for the turn to finish

ev3.Sound.beep().wait()

The reason they make this mistake is because PyCharm doesn't know that spedd_sp and postion_sp are an invalid keyword arguments and they are not marked as errors.  If they type the function name  wrong (run_to_rel_pos) then PyCharm will mark it as an error and students will fix it instantly.  However kwargs don't get marked as errors.  What happens now is that no error is ever thrown, but the motor doesn't turn since a keyword argument is wrong.  That is not terrible, but for new students they don't know what is happening.  A descriptive error message would help them a lot.  Making their program crash would probably also be good.
So it would be nice for the newbies to either:

print a warning of some sort (or throw an exception) when an invalid keyword argument is sent
figure out how to make IDE's like PyCharm help check for keyword argument typos.

Just trying to share the mistakes that students are making.

This should be covered already by #278, which was recently released as part of 0.8.1. Please update both your kernel and the library.

Please update both your kernel and the library.

Given that this may not be feasible in a classroom environment, it's worth noting that the only thing that won't work with the new library but an old kernel is the buttons on the EV3. Although, this could be the last release of ev3dev-jessie before we call it "stable" and begin breaking things in ev3dev-stretch, so maybe it's good to get on this release now and then leave it. I can't say for sure what the roadmap looks like though.
For reference:

http://www.ev3dev.org/news/2017/02/11/ev3dev-jessie-2017-02-11-release/
http://www.ev3dev.org/news/2017/02/08/kernel-release-cycle-19/

Awesome!  We'll update in the future, so if it's in we're all set.  We'll pick it up at some point.  Thanks!


feat: modal

feat: modal
fix: formatting

#98  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @kylemcd and the rest of your teammates on  Graphite


GLB Model Crashes App

I'm facing a big issue when loading models into flutter. My gpu consistently hits 100% and then crashes the app and returns a message in the terminal stating "Lost connection to the device". My gpu is quite old and I assume this might not consistently happen on the app release build, but is there anything I'm missing that fixes this?

Hi @Kvsh-03,
I am sorry to hear you are having an issue. I have experienced this with an older version of an ipad. If your files are too large and you don't have enough GPU memory this will occur.
There is also a small memory deallocation issue if you go in and out of the builder constantly it will cause your memory to continue to go up.
You could reduce your model, or break it into multiple parts and load them separately. This is how this issue is usually solved for mobile games. This has also been an ongoing problem with three.js for web in the past due to this constraint.
If you have any recommendations on other ways to help solve the issue I am more than happy to help.
Sorry for the inconvenience

Hi @Kvsh-03,
I hope all is well.
I will be closing this issue soon unless you have another issue related to this?


Close (X) button is not functioning for workspace card error messages.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.42-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @jayeshmangwani
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1727728301784899
Action Performed:

[Admin] Create a new card.
[Admin] Go to the card limit page and keep it open.
[Owner] Deactivate the newly created card.
[Admin] Change the card limit. At this point, the error message should appear.
[Admin] Click X to dismiss or close the error message

Expected Result:
Error message dismissed
Actual Result:
Unable to dismiss the error message
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/4d78174a-9f22-44dc-93dc-4f30bae4e0ea
https://github.com/user-attachments/assets/947afcce-0568-445a-ba3c-eb20b021d254
Add any screenshot/video evidence

View all open jobs on GitHub

@bfitzexpensify Please close this issue, now we decided to fix this issue in this PR https://github.com/Expensify/App/pull/49292#discussion_r1783157990


The kube-cert-manager can't access the extension API

Hello,
I followed the deployment guide but I get the following error when checking the kube-cert-manager logs
kubectl logs -f kube-cert-manager-659385072-z3e39 kube-cert-manager
2016/10/12 11:53:54 Starting Kubernetes Certificate Controller...
2016/10/12 11:53:54 Kubernetes Certificate Controller started successfully.
2016/10/12 11:53:54 Error while watching kubernetes events: Get http://<IP_ADDRESS>:8001/apis/extensions/v1beta1/ingresses?watch=true&resourceVersion=0: dial tcp <IP_ADDRESS>:8001: getsockopt: connection refused
2016/10/12 11:53:54 Error while watching kubernetes events: Get http://<IP_ADDRESS>:8001/apis/stable.k8s.psg.io/v1/certificates?watch=true&resourceVersion=0: dial tcp <IP_ADDRESS>:8001: getsockopt: connection refused

Am I missing something?
Thanks

Hello, do you keep getting these afterwards as well ? It's entirely possible the kube-cert-manager container started before the kubectl proxy container, which would cause these errors at startup.

I don't get them afterwards :+1:
I see! My bad, thanks for the blazing fast response


Nested numeric id causes out of memory error

Are you submitting a bug report or a feature request?
bug report
What is the current behavior?

Nested numeric id causes infinite loop probably and browser crashes eventually
Open redux dev tools and try checking a checkbox in the sandbox: https://codesandbox.io/s/k2w897ym83

Without dev tools, you can select the unnested ones but it's very sluggish to update the check state.
This is probably related to https://github.com/erikras/redux-form/issues/2503
What is the expected behavior?
Should not cause out of memory error
What's your environment?

redux-form: ^7.3.0
Chrome: Version 66.0.3359.170 (Official Build) (64-bit)

As a workaround, I'm doing this (prepending with a $ - which is just an arbitrary char. Any alpha char will work too - anything the makes the string no-numeric will work):
<Field name={`$${id}`} ... />

Surprisingly, passing an empty bag in initialValues also seems to work (doesn't cause the OOM error):
reduxForm({
  form: 'sampleForm',
  initialValues: {
    sample: {}
  }
})

Surprisingly, passing an empty bag in initialValues also seems to work

While this works while checking/unchecking, it still causes OOM error on form submit. The $ (or non-numeric) workaround is the only way forward for now it seems.


Text nodes as children of a flex container

It’s less common but possible to use text nodes as children of a flex container.

This text is in an element.

	This text is not in an element but will act like it is when flexbox is applied.

This is not supported by flexibility right now, but the raw text node could be wrapped to achieve similar functionality.

I’m closing this as there does not seem to be any interest in this kind of support for raw text nodes outside my own.
Nerd! :stuck_out_tongue_closed_eyes:


Add PR-status triggered docs build action to reduce wait on ReadTheDocs

Pull Request Checklist:

[x] This PR addresses an already opened issue (for bug fixes / features)

This PR fixes #1155

[x] Tests for the changes have been added (for bug fixes / features)

[ ] (If applicable) Documentation has been added / updated (for bug fixes / features)

[ ] HISTORY.rst has been updated (with summary of main changes)

[ ] Link to issue (:issue:number) and pull request (:pull:number) has been added

[x] The relevant author information has been added to AUTHORS.rst and .zenodo.json

What kind of change does this PR introduce?

Adds a docs-building action that is only triggered once a PR is reviewed
Migrates the existing CI to use the 22.04 Ubuntu image
Splits the docs-building steps to prevent source files from being erased and remade when running checks and docs
Fixes a handful of broken links in the documentation

fail_on_warning is now fully enforced

SKIPNOTEBOOKS → SKIP_NOTEBOOKS

Does this PR introduce a breaking change?
No.
Other information:
I still have yet to figure out the best course of actions regarding the ReadTheDocs builds:

~Option 1: ReadTheDocs builds are only triggered when changes are pushed to master~
Option 2: ReadTheDocs builds are triggered on Pull Requests and on Push to master, but notebooks are only built on latest (master).

I can further simplify the actions here to only test the notebooks on GitHub Actions when the PR is nearing completion. This could also help cut down on build time.

ReadTheDocs build time goes from 17.5 minutes to 10 minutes when not running notebooks. Works for me.

Coverage remained the same at 92.217% when pulling 928c940e069bcd61559835876625eacd1931b9c1 on fix_1155_CI into 2101143d29a965763f9ca359c80369401770d6c4 on master.

!run doctests

!run doctests

!run doctests

!run doctests

@aulemahal @juliettelavoie
This Pull Request is ready for (actual) review. There are many changes to the ways that workflows are organized and triggered, but this should cut down on simultaneous builds quite a bit.
When we open Pull Requests now, we will only be testing for code style and whether it works on Python3.8. Once the PR has been approved, a label will be automatically added (approved), and this will trigger the more intense testing suite (this now includes the Doctests) and subsequent code coverage reports.
For build on ReadTheDocs, Pull Request builds no longer run the notebooks. They are now only generated once changes have been pushed to master. This cuts down time on RtD PR builds by around 7 minutes.
In terms of the builds (test-py38-upstream-lm3, test-py39-sbck-slow-conda, test-py310) I am thinking of pulling the upstream from the needs block of the finish step. This means that we would allow that build to fail (i.e. not blocking merge to master). I'm wondering what you think about that idea.
Thanks for the help!

This PR was somewhat blown out of scope, but here's a summary of the gains:

ReadTheDocs builds are much faster
Testing prior to PR approval now finishes in under 10 minutes
The number of simultaneous runs after approval is reduced
We now run pytest across multiple workers to bring down the time needed to run tests
We now have workflows for:

Auto-labelling PRs as approved on approval
Asking first time PR contributors to add their contact info to AUTHORS.rst and .zenodo.json

Once the coveralls reporting issue is addressed (might be a website outage) this can be merged.

@aulemahal
I hate to ask again, but if you have a minute to review the changes made for thread safety, I think that's all that's needed. I had to rewrite some test fixtures and move some file access steps to the fixtures as well. Essentially, I needed to ensure that at no point in time would two running processes attempt to open the same file, so we now copy the relevant files to a tempdir for each launched pytest worker on execution.
Thanks again!


No Tests

Create tests to check common cases that are easy to verify, e.g. fire a ray from each side of a box and make sure the intersection and normal are correct.

We now have tests.


Add confirmation prompt and greyed out continue

Changes:

button colours are changed
if theres no save file, the continue button is disabled
clicking start game, if a save file already exists, shows a "are you sure" prompt
"start game" renamed to "start new game"

Looks good to me. We can merge.


Syllabus: Create development tasks

We need to break down the syllabus feature into development tasks.

The feature was broken down in tasks. I'll create the respective GitHub issues.

The tasks have been created.


Error on pretrain_generator

Hello, excellent your model and it is well explained. Only while running the code did I encounter this error. Do you know how to solve it. Thank you
`/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:481: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
cpuset_checked))
KeyboardInterrupt                         Traceback (most recent call last)
 in ()
18 opt = optim.Adam(net_G.parameters(), lr=1e-4)
19 criterion = nn.L1Loss()
---> 20 pretrain_generator(net_G, train_dl, opt, criterion, 20)
21 torch.save(net_G.state_dict(), "res18-unet.pt")
6 frames
/usr/local/lib/python3.7/dist-packages/torch/autograd/init.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables, inputs)
154     Variable.execution_engine.run_backward(
155         tensors, grad_tensors, retain_graph, create_graph, inputs,
--> 156         allow_unreachable=True, accumulate_grad=True)  # allow_unreachable flag
157
158
KeyboardInterrupt: `

Hi, Thanks.
This highlighted error is saying that you need to lower the num_workers when building the dataloader in make_dataloaders function in the tutorial. You can set it to 2 or even 0 and see if this resolves the issue.
The error is not related to pretrain_generator.

Thank you, that's exactly it. Otherwise I had one last question. Is the resolution of the output image degraded? For example if I have a satellite image of 50cm resolution per pixel, will the output image be 50cm too? Thank you

Glad it resolved the issue; so, I will close this issue.
About your second question I can say that all the images get resized to 256 * 256 in this tutorial.


Cladun Returns: This is Sengoku! Trial Version [PCSG90212]

App summary

App name: クラシックダンジョン戦国（体験版）
App serial: PCSG90212
App version: 1.00

Vita3K summary

Version: v0.1.6 3028-8744f031
Build number: 3028-8744f031
Commit hash: Vita3K/Vita3K@8744f03
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by: User01
OS: Windows 10
CPU: AMD Ryzen 5 2600 Six-Core Processor
GPU: NVIDIA GeForce RTX 3060 Ti/PCIe/SSE2
RAM: 16 GB

Issues

seems to be a graphical issue when moving your character as well as audio issues with sound repeating. everything else works fine.
Tested all missions.
Screenshots

https://user-images.githubusercontent.com/71127352/221366101-dc113d8b-8ec1-4852-88c1-b21f16d3ab8c.mp4
Log
vita3k.log
Recommended labels

Playable
Graphical bug
Audio Bug

Tested on android 13 using a Samsung S20+ snapdragon. Bugs and glitches as reported by the OP persists on the game. Also the game crashes randomly when idling (doing nothing for a while)
https://github.com/Vita3K/compatibility/assets/171383998/7036a968-1558-4825-8025-d44fd7f86183


Fixed the patch method to not fetch all rows

The patch method needed to use the params argument in the _getOrFind method instead of the options argument
Summary
(If you have not already please refer to the contributing guideline as described
here)

[ ] Tell us about the problem your pull request is solving.
[ ] Are there any open issues that are related to this?
[ ] Is this PR dependent on PRs in other repos?

If so, please mention them to keep the conversations linked together.
Other Information
If there's anything else that's important and relevant to your pull
request, mention that information here. This could include
benchmarks, or other information.
Your PR will be reviewed by a core team member and they will work with you to get your changes merged in a timely manner. If merged your PR will automatically be added to the changelog in the next release.
If your changes involve documentation updates please mention that and link the appropriate PR in feathers-docs.
Thanks for contributing to Feathers! :heart:

Thank you for digging into this! Released as v2.3.2


Convert sync-perm command to click and make tests compatible.

Related to https://github.com/apache/airflow/issues/22708 . This converts sync-perm command to use click. I have also used fixtures to ensure both click and argparse are tested along with reusing code wherever possible to avoid duplication. Please let me know if I am missing something as per the original PR to convert db command to click.
I left cli_utils.action_cli since I came across ValueError when using the decorator since it expects args to be non-empty though it's empty when using click.

cc: @blag

This isn't stale, I'm getting around to merging the different PRs.

Thanks @blag


Add Links for All Call to Action Panels on State Details Page

This could go to a new Take Action page and then sections within it. This should fix all links in this type of panel:

This website on Legal Pathways to Deep Decarbonization has a bunch of model legislation. https://lpdd.org/model-laws/
They also track laws passed in each state, which can be linked to directly with the state abbreviation code: https://lpdd.org/resources/?fwp_res_location=il

@jmadans is going to do some research on this

@jmadans is logging on.....
Initial impression is that we have decision to make: do we want people to better understand "what's happening" with regard to climate action in their state or do we want to connect with an advocacy group that is going to onboard them. If it's the latter than these trackers aren't going to solve that problem.

Lets move this content into a 'Take action' page and link off to it. @jmadans would you mind taking a first draft of it in a Google doc with the research you've done?

@jmadans has a draft of this page here: https://docs.google.com/document/d/1twZfl9xP096fnwq4TwkcXwEbNZKPNB7rWc4fsVMKWgk/edit

Question for discussion: How will people get to the take action page? I think we should go with some combo of the following:

Add it to the navigation in the top right (which currently just has home). Downside:
Add it as another button to the right of "Back to Map" in each of the state profile pages.
Pick a place on each of the state profile page to highlight the call to action.
Pick multiple places to highlight the call to action page.
Have it pop up as a full width band that sticks to the page.

Personally I'd suggest number 1 and number 3 and put the call to action at the bottom of the page, since we didn't want to break up the story of each state detail page.

Here's a link to the draft google form: https://docs.google.com/forms/d/1423PcQc6klSW0osK_pmnsDEwrlvWoD6BcSRInu7p5I0/edit
I've made it editable by anyone with the link for now so you can edit the iframe code to make it fit however you want.
Here's the iframe code:
<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSdiwiT6OZO0jsnLu22r6ClBZLh8fvfGIiYu_5coOvjYXqogtw/viewform?embedded=true" width="640" height="720" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>


Added missing extras serialization for nodes

Noticed that extras field was not serialized for nodes (and many other elements).
(The existing extras serialization for scene and asset seem to check for the existance of keys in the element, but according to the spec, extras can be any type, not only objects.)

Thanks! Merged!


error message when connecting lnbits to cln node on same lan " [Errno 99] error while attempting to bind on address ...

[Errno 99] error while attempting to bind on address (node ip address, 5000) : cannot assign requested address"
i have tried everything i could possible think of and i still receive the error any ideas? i'm stumped!!

Maybe there is another service already running on port 5000?
Did you try using a different port?

It seems you are having a problem starting LNbits server, not connecting to CLN.
Maybe there is another service already running on port 5000?
Did you try using a different port?
Did you try using address <IP_ADDRESS> as LNbits address?

i finally figured it out, it  was user error. my env file was in shambles to say the least. thanks for the reply


Exception in _flag_connection_as_ready

<PeerConnection(faf40a94a9ea, 10.0.x.x> failed to handle message: 'str' object has no attribute 'is_ready'
Traceback (most recent call last):
  File "/opt/sre/lib/python3.11/site-packages/diameter/node/node.py", line 850, in _receive_message
    self.receive_cea(conn, msg)
  File "/opt/sre/lib/python3.11/site-packages/diameter/node/node.py", line 1243, in receive_cea
    self._flag_connection_as_ready(conn)
  File "/opt/sre/lib/python3.11/site-packages/diameter/node/node.py", line 579, in _flag_connection_as_ready
    app.is_ready.set()
    ^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'is_ready'

If I understand correctly self._peer_routes is declared as dict[str, dict[Application | str, list[Peer]]]  so app can be a string (with content "_default"). What's the best thing to do here, skip the setting of the is_ready event?

This looks like a bug. The _flag_connection_as_ready helper should skip apps that are not actual apps. The "_default" dictionary entry exists just for routing purposes, so there is no actual app to flag as ready to receive connections. The entry is already ignored elsewhere, just not in this method.
I'll add a fix for this and push out a release.
In the meantime, do you actually need the is_default property for a peer?
If you flag a peer as default, it results in every request being routed through it and your other peers are permanently ignored. Unless you really want to address only one peer constantly, you're probably better off not setting it at all and leaving the node to load balance between the peers.

Thanks @mensonen , you are right this bug can be triggered only if is_default is set, I'll follow your suggestion.


Automatic driver installing & telemetry

Apparently, TinyNvidiaUpdateChecker can disable telemetry and download driver packages. This may be worth looking into.

this will be shipped in 3.0


Melkehitys-1054

Routes / Bulk
readContent, remove and removeContent are there for testing purposes
readContent: to check that saved that is if OK
remove & removeContent: to remove failed test loads

Routes / Prio: Offlinehours
There is still down time on server for maintenance purposes? To avoid situation where request is in process and server goes to maintenance.

Interfaces / Bulk
Queries can be dummed down later. Atm. they are here to help me check old load stats for testing

There is still down time on server for maintenance purposes? To avoid situation where request is in process and server goes to maintenance.

Shouldn't  be necessary now that the record load API should return the resource id immediately and the importer just polls for it.


Recommendations about implicit state

Working with Cycle I often find myself in situation where some issue can be solved with either implicit or explicit state. For example, we have a toggler. Toggler has 2 states: favorite and non-favorite.
Implicit state
Intent relies on HTML class to produce both favup$ and unfav$ observables.
So some state is implicitly encapsulated in DOM. This reminds our old days with jQuery where ALL state was in DOM so DOM served as XML database. It was imperfect, though worked to some degree.

Explicit state
Intent produce just toggle$ observable. It's a model purpose to decipher it. In many cases will require to have scan in Model, because scan is one of the few stateful methods.

Second option is probably both more complex and more "idealistic". On the other hand, Intent barely deserves it's name when it's completely pure and state agnostic...
This question is obviously non-Cycle specific.
But I wonder: are both approaches conventional from the author point of view?
If implicit state is properly encapsulated, can it still cause some unwanted consequences later?
Should we avoid implicit DOM state in Cycle whenever possible or not?
Or both are fine and it's a developer task to decide when it's time to switch from Implicit to Explicit?

But I wonder: are both approaches conventional from the author point of view?

I prefer explicit. Skinny Intent is not a problem. Sometimes it really is skinny (specially on click events), sometimes it's not (when doing voice recognition for instance, you need to run an algorithm. The best place to put it in is Intent).

If implicit state is properly encapsulated, can it still cause some unwanted consequences later?

If it causes some unwanted consequences, then it's not properly encapsulated. ;)

Should we avoid implicit DOM state in Cycle whenever possible or not?

Yes we should avoid.

Or both are fine and it's a developer task to decide when it's time to switch from Implicit to Explicit?

I recommend explicit, and to clarify some potential fears: Cycle is not optimized for minimal boilerplate nor productivity. It's optimized for separation of concerns. If a developer wants to speed up his development processes, he will often find himself mixing concerns, taking shortcuts. Cycle is not a framework for those types of shortcuts, unfortunately (or fortunately). I'm not saying they are a bad thing, I'm just saying Cycle is not the right tool for that if maximum productivity is a requirement.

Thanks! There is often a blurry difference between two but it's valuable to keep some "best practices" in mind.

"Maximum productivity" as defined by maximum code output today, or maximum system functioning over time?  They are rarely the same.

What about stateful components? Every time I created additional state loops like this:
[Click] <- Component State <- App State <- Component State

I got very fragile and buggy behavior. So my experience leads to conclusion to avoid stateful components at all costs. But what about WebComponens, aren't they meant to have state? And this state should be somehow incorporated into app state...

I got very fragile and buggy behavior. So my experience leads to conclusion to avoid stateful components at all costs.

Whenever you don't need state in components, don't put state in components. Otherwise that would be accidental complexity. But if you are dealing with essential complexity, than you can't sensibly avoid stateful components, so you should do it in the right and cleanest possible way. Most of the times it's best solved by deciding what is the best place to put state.
I recommend checking how I solved this in RxMarbles: https://github.com/staltz/rxmarbles/tree/master/src/components specially the interplay between Diagram component (its intent and model) and the Marble component.

@staltz there are also cases when complexity is faked for learning purposes u know.
I have this toggle sandbox, where state is duplicated in component and app.
Of course this complexity is accidental but as an emulation for real-world cases.
And I can't figure out whether this problems are app problems or something connected with VDOM.
It would be great if you took a look.

Quick check: have you forgot to use key for custom elements?

Yes, good catch. This time I forgot it and that was a reason.
Can we made React-like warning about missing ref? It would help a lot.

Can we made React-like warning about missing key? It would help a lot.

Good idea, I'll make an issue for that.
(do you mind if I close this issue? We can reopen if needed)


aflplusplus: 2.64c -> 2.65c

Motivation for this change
New release. Fixes some annoying bugs.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

cc @Mindavi

Out of curiosity; why remove the cmocka tests?

See the commit comment

i don't think running the unit tests really adds anything given that we have proper integration tests working, and it just introduces another build dependency and possibility for spurious breakage.

FYI: I did test this as mentioned in my previous comment, so LGTM.

Oh cool thanks - my robot brain was just waiting for an "approved" message.


how do i fix this

Describe your problem here.
so i just added a new stage and managed to put everything in place but when i decidet to put it in the song it was intendet to be it showed this
PlayState.hx (line 2469)
PlayState.hx (line 2324)
PlayState.hx (line 1053)
flixel/FlxGame.hx (line 637)
flixel/FlxGame.hx (line 724)
flixel/FlxGame.hx (line 677)
flixel/FlxGame.hx (line 551)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)
Uncaught Error: Null Object Reference
How can i fix it?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

your custom note xml is broken

I havent made any custom notes

Duplicate of #10566

Found my mistake thx

close this issue


Inconsistent column names in parameters

In parameters.csv, the column names are like "Variable_type" vs. "Category_Esp" vs. "Description_esp". In the Python code, there were used different terms, I had to modify them. So I suggest to unify spelling (capitals, not capitals, etc.).

Unified: not capitals


[BUG] fix bug for vectorized compaction

Proposed changes
Issue Number: close #9343
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

cc @HappenLee

Oh, I noticed that now the compaction operation is go through vmerge_rowsets directly without checking if vectorized is enabled. Is it safe? @Gabriel39 @HappenLee

Oh, I noticed that now the compaction operation is go through vmerge_rowsets directly without checking if vectorized is enabled. Is it safe? @Gabriel39 @HappenLee

Config enable_vectorized_compaction has been added in last commit. Please review again @morningman


tooltip component on bootstrap input-group wrapper not showing

Tooltip works fine on regular input.
= f.input :size
but if i use a wrapper following the default instructions for bootstrap and tooltips it does not work. I have to remove the do and use it without f.input_field to get it to work.
= f.input :peak_visibility, wrapper: :horizontal_input_group, label: 'Peak Audience Visibility' do
        = f.input_field :peak_visibility, class: 'form-control'
        %span{class: 'input-group-addon'} %

the tooltips are coming from a locale file thats why they are not explicitly shown here.
the horizontal_input_group wrapper i modified is...
config.wrappers :horizontal_input_group, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
    b.use :html5
    b.use :placeholder
    b.use :label, class: 'col-sm-4 control-label'
    b.use :tooltip

    b.wrapper tag: 'div', class: 'col-sm-8' do |ba|
      ba.wrapper tag: 'div', class: 'input-group col-sm-12' do |append|
        append.use :input, class: 'form-control'
      end

      ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
      ba.use :hint,  wrap_with: { tag: 'p', class: 'help-block' }
    end
  end

Is it possible to keep the tooltips and still have the input-groups?

+1

I created this as well to maybe get more exposure. http://stackoverflow.com/questions/35793164/simple-form-tooltip-component-on-bootstrap-input-group-wrapper-not-showing

What is the markup being generated and which markup should be generated?

Also I saw that tooltips are being generated by your custom code, so the problem may be there. If you could provide the markup being generated and the expected markup I could help with that.

Yes, nothing changes to html after tooltip. It's not generating any attibute in html tag. Are there anyone to fix and pr this.

Tooltips, quick and dirty with bootstrap (config/initializers/simple_form_bootstrap.rb):
# app/helpers/application_helper.rb
  def add_tooltip_to_label(label, tooltip)
    result = "".html_safe
    result << label
    result << " <abbr title='".html_safe
    result << tooltip
    result << "'>".html_safe
    result
end

then, in form:
# replace
:label => "This is the label","This is an example of a tooltip"
# with
:label => add_tooltip_to_label("This is the label","This is an example of a tooltip")


Added a .tiny modal size

It seems to be a common request: #3214. Feel free to modify the variables; I’ve been using these settings for quite a while, and considering the optimal line length of the default theme’s font size, 0.4 ratio works great with small forms, messages or text. Not so sure about @tinyHeaderSize that I kept at 1.3em, though.
I’ll submit a PR to the documentation as soon as I figure out how to add JavaScript to it.

I couldn’t run the documentation locally, and while it’s very easy to update it to add the .tiny variation example, I’d rather not open an unproven PR.

I'll update.

Added tiny and mini in 2.1.11


feat(spanner) : add support for client resource base routing

Implement resource based routing.
When making first data network call If Client code does not specify the Host than check for suggested endpointUris from the instance.
If endpointUris are returned, use the first one as Host.
In case of no endpointUris are returned, use default Host.
endpointUris are cached per instance on Client.
This feature is disabled by default and it can be enabled by setting the environment variable to true.
Environment variable to enable this feature:
GOOGLE_CLOUD_SPANNER_ENABLE_RESOURCE_BASED_ROUTING
Closes : #3986

Amanda will review this soon; I'll then have a look after her.

As an aside though, it would be good to get rid of the whitespace-only parts of this PR. We can make any whitespace changes separately, in a PR that is clearly "whitespace-only".

FYI: reviewing

I agree with almost all of Amanda's design - but I wouldn't make InstanceHostManager a singleton; I'd make it a regular class that can be internally set for a SpannerConnectionBuilder, with a default instance. That way we can control it better for test purposes.

Oh yes, good point about InstanceHostManager being a singleton and testing. Agree that it should be internally setable.
@laljikanjareeya for reference, you would set the InstanceHostManager in SpannerConnectionStringBuilder the same way the SessionPoolManager is set.

Unit tests are failing, please fix before I can take another look.

Unit tests are failing, please fix before I can take another look.

Some test cases were failing because _instanceName and _databaseName both are empty even after parsing current datasource.
It state here that after parsing datasource only one will ever be non-null.
I have return default Host in above case.

I'm closing this for now as the work is somewhat on hold, and after we've migrated to the next major version branch, it's likely that it would be simpler to start this PR again from scratch rather than try to rebase it.


Move highfreq refresh statistics delete to lowfreq Clearing cronjob

1. Why is this change necessary?
when enabling the refreshStatistics function for a higher traffic site the DELETE turned out to be a bottleneck
2. What does this change do, exactly?
it moves the 2nd DELETE in the function to the Clearing cronjob. For the pageimpression / uniquevisitor count a daily cleanup is sufficient as it filters with its own WHERE-condition in the pool table before counting to their target. For the currentuser table deleting on rand()%10 of requests does make sense, not for the daily pool though. If the cronjobs runs at the end of the day, it still keeps the pool table small for inserts.
Git will not tell the story of that code, I can find it in sw 3.5.6 still. I guess the first DELETE was present before the second was added.
3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
haven't found any, in general performance topics
5. Which documentation changes (if any) need to be made because of this PR?
6. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Re checklist: I tested the clearing cronjob to successfully delete old entries, but didn't write tests.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-25218
Please use this issue to track the state of your pull request.

We didn't see cleanupStatistic() impacting another higher traffic 10.3 mariadb much, only 10.2 with enabled binlogs. There were improvements to 10.3 so an explanation could be a DELETE having less overhead (see the undo log changes to "persistent data structures").
Some numbers during regular traffic for casual comparison: refreshStatistic ~250ms, ~150ms DB time. +40ms with the DELETE on pool on 10.2, +15ms on 10.3. The DELETE on currentusers is one magnitude quicker as the table is smaller. The stats controller is among the most requested (top 3), so I think the change is worthwhile also for >10.2 mariadb users.

Thanks for your Contribution! :blue_heart:


Fix webdriver bundle

Hello,
This fixes the issue with Wedriver package on Windows as reported on google groups.
Regards
Philippe M. from UbikLoadPack Team

Thanks!

Hello @undera ,
Thanks for merging.
What is needed to have the change live ?
I have just tested now, the change is at:
https://jmeter-plugins.org/repo/
But when I use jmeter-plugins it doesn't show the change nor downloads the additional jars.
Thanks

Have you tried re-installing the plugin? It should help with latest version of plugins manager.
I have also fixed the "platform" library name in plugin descriptor.

Hi @undera ,
I have upgrade for both jars the jna one is ok , but it seems this one returns 404:
https://search.maven.org/remotecontent?filepath=/net/java/dev/jna/platform/3.5.2/platform-3.5.2.jar
But I don't know where to find this platform-3.5.2.jar although  it exists:
http://repo1.maven.org/maven2/net/java/dev/jna/platform/3.5.2/platform-3.5.2.jar
Is it possible in json to set this:
http://repo1.maven.org/maven2/net/java/dev/jna/platform/3.5.2/platform-3.5.2.jar
Thanks

The real problem is an extra slash in your URL before /net/java. Changing it to net/java fixes it. I have committed the change, please try again in like 10 mins from now.


Handle long image name when updating

When updating an encrypted AMI, handle the possibility that the new name
may exceed 128 characters.  Refactor the image name generation logic
into a separate function, to make it more testable.  Move
append_suffix() into the util module, since it's now called from
multiple places.

Will open another PR to resolve the merge conflict.


Data for all languages with over 100 entries, except phonetic French and Russian.

I also reverted the changes I made to logging in scrape.py in my previous PR and updated languagecodes.py in accordance with #84 .
Latin, Khmer, Thai and 3 small languages (Choctaw, Tetelcingo Nahuatl, Mecayapan Nahuat) were run with the new segments parsing.
Does this PR require a changelog entry? We do have data for new languages (previous big scrape only included languages with over 1000 entries) and the new data for languages that we previously scrapped is different in that it has been parsed and the duplicates are removed.
I'll add Russian and French when I get them, but wanted to submit this now to make working on Serbo-Croatian easier.

I'm not sure how these changes could cause the tests to timeout. Is this related to the performance problems that Jackson commented on in the Latin PR?

FYI it looks like a few of the smoke tests just timed out (which happens).


[Improvement] Return early in fast_round when the amount of KeyConflict  large than or equal to recover quorum

Currently, the fast_round in crates/curp/src/client/unary.rs looks like
/// Send proposal to all servers
pub(super) async fn fast_round(
    &self,
    propose_id: ProposeId,
    cmd: &C,
    token: Option<&String>,
) -> Result<Result<C::ER, C::Error>, CurpError> {
    let req = ProposeRequest::new(propose_id, cmd, self.state.cluster_version().await);
    let timeout = self.config.propose_timeout;

    let mut responses = self
        .state
        .for_each_server(|conn| {
            let req_c = req.clone();
            let token_c = token.cloned();
            async move { (conn.id(), conn.propose(req_c, token_c, timeout).await) }
        })
        .await;
    let super_quorum = super_quorum(responses.len());

    let mut err: Option<CurpError> = None;
    let mut execute_result: Option<C::ER> = None;
    let mut ok_cnt = 0;

    while let Some((id, resp)) = responses.next().await {
        let resp = match resp {
            Ok(resp) => resp.into_inner(),
            Err(e) => {
                warn!("propose cmd({propose_id}) to server({id}) error: {e:?}");
                if e.should_abort_fast_round() {
                    return Err(e);
                }
                if let Some(old_err) = err.as_ref() {
                    if old_err.priority() <= e.priority() {
                        err = Some(e);
                    }
                } else {
                    err = Some(e);
                }
                continue;
            }
        };
        let deserialize_res = resp.map_result::<C, _, Result<(), C::Error>>(|res| {
            let er = match res {
                Ok(er) => er,
                Err(cmd_err) => return Err(cmd_err),
            };
            if let Some(er) = er {
                assert!(execute_result.is_none(), "should not set exe result twice");
                execute_result = Some(er);
            }
            ok_cnt.add_assign(1);
            Ok(())
        });
        let dr = match deserialize_res {
            Ok(dr) => dr,
            Err(ser_err) => {
                warn!("serialize error: {ser_err}");
                // We blame this error to the server, although it may be a local error.
                // We need to retry as same as a server error.
                err = Some(CurpError::from(ser_err));
                continue;
            }
        };
        if let Err(cmd_err) = dr {
            // got a command execution error early, abort the next requests and return the cmd error
            return Ok(Err(cmd_err));
        }
        // if the propose meets the super quorum and we got the execute result,
        // that means we can safely abort the next requests
        if ok_cnt >= super_quorum {
            if let Some(er) = execute_result {
                debug!("fast round for cmd({}) succeed", propose_id);
                return Ok(Ok(er));
            }
        }
    }

    if let Some(err) = err {
        return Err(err);
    }

    // We will at least send the request to the leader if no `WrongClusterVersion` returned.
    // If no errors occur, the leader should return the ER
    // If it is because the super quorum has not been reached, an error will definitely occur.
    // Otherwise, there is no leader in the cluster state currently, return wrong cluster version
    // and attempt to retrieve the cluster state again.
    Err(CurpError::wrong_cluster_version())
}

As you can see, all the KeyConflict errors are ignored. We can count the KeyConflict errors. If the number of KeyConflict errors is equal to or larger than the recover_quorum, which is about a quarter of the number of nodes in a cluster, we can return early from the fast round since the superquorum condition will never be met.

/assignme


Deleting Antrea should do a complete cleanup

Describe the bug
When running kubectl delete -f antrea.yml, one would expect everything created by Antrea to be deleted, including the OVS bridge on each Node, along with the gateway interface. Failure do so may cause networking issues if someone decides to deploy another CNI after deleting Antrea.
Versions:
Antrea version:
===> Version information <===
VERSION: v0.2.0-dev
GIT_SHA: 4a446d4
GIT_TREE_STATE: clean
RELEASE_STATUS: unreleased
DOCKER_IMG_VERSION: v0.2.0-dev-4a446d4

Additional context

We cannot simply delete the bridge, etc. when the agent exists. For example, we may want to preserve connectivity during some Antrea upgrades. Note that currently this is not possible since all flows are deleted when the openvswitch daemon restarts. See these resources:

email thread: https://mail.openvswitch.org/pipermail/ovs-discuss/2019-November/049448.html
submitted patch: https://mail.openvswitch.org/pipermail/ovs-dev/2019-November/364811.html

@jianjuns and I discussed this cleanup issue in a separate PR: https://github.com/vmware-tanzu/antrea/pull/137#issuecomment-559235222. He suggested having a cleanup daemonset dedicated to this purpose. See also these K8s issues:

https://github.com/kubernetes/kubernetes/issues/35183
https://github.com/kubernetes/community/pull/483

I think we could either have a separate DaemonSet or add a ConfigMap option to indicate antrea-agent to do the cleanup (the two approaches are not very different from each other, but with the ConfigMap way agent could watch the option in runtime when we support runtime config changes later).

I'd like to start working on this. I like the DaemonSet approach more since it works even if there is an issue (e.g. buggy agent) or if Antrea has already been deleted from the cluster. Someone might have done kubectl delete -f antrea.yml already, and we need to be able to perform the cleanup without the Antrea agent / controller running.
My proposal is as follows:

define a YAML manifest antrea-cleanup.yaml to take care of cleaning up artifacts created by Antrea
the manifest would define one K8s Job in charge of performing the cleanup, plus necessary RBAC permissions
the Job would be in charge of creating the cleanup DaemonSet, monitoring the status of the cleanup process and deleting the DaemonSet once cleanup is complete

A few considerations:

there is no notion of a DaemonSet that runs to completion and doesn't restart Pods (see https://github.com/kubernetes/kubernetes/issues/64623). But we can use a Controller and have each DaemonSet Pod return completion status to the Controller using CRDs.
the Job should probably return an error if Antrea is still running (and recommend deleting Antrea with kubectl delete -f antrea.yml). Although another option is to have the Job also delete all K8s resources with label app=antrea. I'm open to both solutions.
the DaemonSet needs to be aware of the Antrea agent configuration (as the OVS bridge name / gateway interface name may not be the default ones). This is a bit tricky: if Antrea is not running anymore, the ConfigMap is not available anymore. Rather than ask the user to modify a ConfigMap in the cleanup manifest (antrea-cleanup.yaml), I would rather modify the Antrea agent to have it save its config (antrea-agent.conf) on the host under /var/run/antrea/. I think this is a very non-intrusive change, very much in spirit with how we use /var/run/antrea/ for other things (e.g. OVSDB) that we do not need to persist across reboots.

@jianjuns @salv-orlando @tnqn any thoughts or concerns?

Questions:

Do you plan to use agent bin to do the clean up or a separate bin?
For shared resources like Controller CRD who will do the clean up?

No, I was planning to use different binaries (one for the DaemonSet and one for the "orchestrator", which will be run by the K8s Job and talk to the apiserver).
I think the "orchestrator" could take care of this easily, what do you think?

I was thinking about running the same agent and controller bins, to avoid introducing new bins. But I saw there are benefits of using a separate bin too, that could be executed standalone, including executed manually. In this sense, do you think it is good to make it part of CLI, and so user could run the CLI manually to clean up?
Also note on Windows, we could not clean up Node state with DS.

Just to add, it might be helpful to be able to clean up node after K8s is down.

I think it's better to introduce new bins as I like the idea of separating the cleanup logic from the core functionality (rather than adding a new mode of operation for existing binaries).
I definitely think we should have the ability to run the binary directly as a process. I would like to organize the code as a library that can be used by the CLI & or in a DaemonSet. Even though kubectl apply -f antrea-cleanup.yaml may not work on Windows, it's a nice K8s-native way to do cleanup that doesn't require to download any binaries manually.

Unfortunately there weren't many review in the past few days. @antoninbas  do you think we can still make a final push for 0.5.0 inclusion, or do we just move this issue to 0.6.0?

Pushing this out to next release


When editing color name, check it is not empty or an existing color name

Fixed this issue
Issue : When editing color name, check it is not empty or an existing color name #425

Hey @alexdanilowicz can you please review this PR

Hey @noobCode-69 thanks for this, going to close this because https://github.com/Mirrorful/mirrorful/pull/433 was merged but really appreciate your help and for facilitating the conversation!


torch.cuda.OutOfMemoryError: CUDA out of memory.  in SS2Dvm0

I have been using SS2Dv2 for forward inference, which works perfectly and consumes about 22GiB of GPU memory. However, after replacing it with SS2Dm0, I encountered the following error:
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.72 GiB. GPU 0 has a total capacty of 47.54 GiB of which 2.14 GiB is free. Including non-PyTorch memory, this process has 45.40 GiB memory in use. Of the allocated memory 44.90 GiB is allocated by PyTorch, and 164.54 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Additionally, I noticed assertion errors (related to getCvtOrder) when using Triton. As a workaround, I forced the inference to run with Torch instead of Triton.
My Questions:
Could this issue be related to switching from Triton to Torch for inference?
If the input data remains identical, what might cause SS2Dm0 to use more GPU memory compared to SS2Dv2?
Additional Information:
Framework: PyTorch
GPU Model: NVIDIA A6000
CUDA Version: 11.8

Yes, the torch for-loop version cost much more memory than triton or cuda version (as it need to save every variable in its computing graph to make autograd possible) and is also much slower.


hotfix for v4

theses little change may help to keep soundworks-electron working with soundworks-v4 the lazy way .. :)

Hey, thanks let's merge that as a work in progress


Overdue command  (Telegram bot)

[x] Accept /overdue command
[ ] Show "Recently overdue chores" (last 10?), something like:

Xxx
Ggg
Hhh
Uuu
Kkk

[ ] Show buttons below, one for each chore

Current coverage is 83.30% (diff: 0.00%)

Merging #59 into develop will decrease coverage by 1.39%

@@            develop        #59   diff @@
==========================================
  Files            21         21
  Lines           536        545     +9
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            454        454
- Misses           82         91     +9
  Partials          0          0

Powered by Codecov. Last update f0f17d9...d73c5da


led control example not functional on NCS36510 in various configurations of Thread devices

Testing version 5.5 release candidate 2.
toolchains tested: IAR
I used all the various methods to reduce the memory footprint that are listed in the readme, I also compiled with the release profile (which I recommend be added to the list also!)
mbed compile --profile mbed-os/tools/profiles/release.json
It is able to connect to the border router and get an IP address, but it does not turn on the led when you press the button on another board running the same application.
I tried Thread sleepy end node, minimal end node, and router configurations.  Each seem to have their own problem.
I suspect that the sleepy end node does not listen for multicast messages, and the router node runs out of memory.
not sure why the minimal end node does not work, because I thought that was added to address this problem.
cc @karsev
Here are the various mbed_app.json settings I tried.

The example works with Thread router and MED devices.
When you define MED device you should define THREAD_END_DEVICE ->
"target.features_add": ["NANOSTACK", "THREAD_END_DEVICE", "COMMON_PAL"]
I tried out the example on NCS36510 and it seems to be very unstable. Lot of messages are send and received and after some time device runs out of memory. Also the button does not create ISR events always.  So the issue seems to be that there is not enough memory for the application.

@artokin @mikter @karsev Can you investigate?

I found that the button gpio is floating by default. It can be fixed in -> targets/TARGET_ONSEMI/TARGET_NCS36510/PinNames.h
by defining in the PinMode enum ->
PullDefault       = PushPullPullUp.
To make sure there is enough RAM I did the following ->
In Rtos/mbed_boot.c -> MBED_CONF_APP_MAIN_STACK_SIZE -> changed to 2kb
Rtos/rtx5/Mbed_rtx_conf.h -> MBED_CONF_APP_THREAD_STACK_SIZE -> changed to 1kb
With the GCC compiler seemed to work.
Still sometimes packet does not get delivered to other nodes.
Another issue was with the ARM compiler reporting wrong RAM numbers when using mbed compile.

Thanks a lot Kari.  I think that the internal pullup should be enabled for just the push button switch, but not other pins because that will have an impact on power consumption and might cause other problems.
I think this can be fixed by setting the pullup in mesh_led_control_example.cpp.  This should work with boards that ground the signal when the button is pressed.  I expect that to be the vast majority of boards.  Maybe a new configuration option can be added in mbed_app.json to select whether to enable a pullup or not.
if (MBED_CONF_APP_BUTTON != NC) {
	my_button.fall(&my_button_isr);
    my_button.mode(PullUp);
}

For the main stack and thread stack changes, can this be done in the mbed_app.json file correct?  Can you clarify?  Can this example include an additional config file for reference in the configs folder that includes all the various optimizations for a small memory device?

I have added the pullUp mode definition in the led example.
The example works without any rtx stack size changes, as MED mode does not require some much memory.

@maclobdell @karsev is this issue resolved (link to PR needed) or requires a fix?

fixed by https://github.com/ARMmbed/mbed-os-example-mesh-minimal/pull/103.


Added some improvements to the README

fix typo
clarify path
updating ALLOWED_HOSTS

😃🙏 Cheers @mkuzak ! Great additions. Did you get everything to work ok then?

yes, got docker running on my machine after some fight :)


Review feedback

Both States and Kanban columns are used to track the status of work. Workflow states are shared across a project while Kanban columns are shared within a team. Only project collection admins can add custom states, while team admins can add Kanban columns.
Users being granted with edit right to inherited process can also add custom states.

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

ID: 6bd97771-b2cf-b722-99c6-c33ca064423c
Version Independent ID: 9ff61b2f-db48-999e-c6be-6eadad9939e9
Content: Backlogs/boards workflow states & state categories - Azure Boards
Content Source: docs/boards/work-items/workflow-and-state-categories.md
Product: devops
Technology: devops-agile
GitHub Login: @mijacobs
Microsoft Alias: kaelli

@pengfei-ye-2020 thank you for the feedback


Deployment link is not working

Hi
Deployment link is not working from Template
https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fignite-learning-paths-training-data%2Fmaster%2Fdeployment%2Fscripts%2FData10-deployment.json

and .CSV
https://raw.githubusercontent.com/microsoft/ignite-learning-paths-training-data/master/data20/demos/moviesDB.csv
is there any update?
THX

Same issue, I use this in my demos. Luckily I had a copy, I put it on https://raw.githubusercontent.com/rebremer/demo30-ignitemdw-git/master/moviesDB.csv


Update CI step - validate clang-format - to run from Windows as well

Current step is valid only for macOS because it installs the clang-format-11 using brew install
We can use this script from any other OS or it would fail
We need to split the validation in two steps, first one to install clang-format-11 and then a second one to run it.
The install step needs to depend on the OS for the installation strategy to use.

Why do we need to validate clang-format on two platforms? Are we gonna get different results on macOS and Windows?

Why do we need to validate clang-format on two platforms? Are we gonna get different results on macOS and Windows?

Why do we need to validate clang-format on two platforms? Are we gonna get different results on macOS and Windows?

I got confused on how it was working on macOS. But the issue was something different that what I initially thought. This is not required. Closing it

Why do we need to validate clang-format on two platforms? Are we gonna get different results on macOS and Windows?

I got confused on how it was working on macOS. But the issue was something different that what I initially thought. This is not required. Closing it


chore: label types

Description
Add ReactNode on label types to support custom label:
 <Input
   type="text"
   label={
Email *
}
   name="username"
/>

 <Input
   type="text"
   label={Email}
   name="username"
/>

Codecov Report

Merging #38 (df9ded7) into main (5f0fd14) will decrease coverage by 0.34%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
- Coverage   95.22%   94.89%   -0.34%
==========================================
  Files          43       43
  Lines         482      490       +8
  Branches      212      215       +3
==========================================
+ Hits          459      465       +6
- Misses         22       24       +2
  Partials        1        1


Support for async requests or webhooks

🚀 Feature

Is there currently a way to run inference and get the result by polling or a webhook callback?
Motivation

If an inference takes a long time to run lets say 30 min you dont want the connection to drop because you will have to rerun the inference especially on a shaky connection.
Pitch

A webhook callback or polling method can let us run inference as a background task based off a uuid or something the user specifies so that they can come back at a later time for the result. can also help integrations so the inference is not a blocking request.
Alternatives

Cog from replicate implements a webhook
Additional context

I've looked at the documentation and saw those handy Hooks, but wouldn't the the initial api request wait until the server returns something? I was thinking of returning something immediately like an id the user can poll for the polling method or for the web hook method return a success message. while still running the background task. I guess something that could potentially work is returning immediately in the predict function and run some thread in the background but that seems hacky to get it to work. having async task is important for my type of tasks

Yes @brian316  as you said, you can have a background thread execute the task and post the result back. But honestly LitServe focuses on model serving with high throughput and scale so we won't be taking this at this time unless we see a lot of demand for this request from the community.
I really like this idea though and thank you for opening the issue.


Ticket 24997 -- Allow bulk_create with proxy models

This is a review-only pull request for https://code.djangoproject.com/ticket/24997

Tests pass with both Sqlite and Postgres.

Per, https://code.djangoproject.com/ticket/24997#comment:8, this patch no longer applies to 1.8.x