Example responses for other requests

The homepage currently features an example for a collection request. When building other kind of requests I bump into things that are unclear for me. I would love to have some examples on other kinds of requests. They can be simple to start with, but a head start would be lovely.
Main points that are unclear to me right now are:

resource (i.e. GET /articles/1): does it contain a links.self and a data.links.self which are the same?
relationships resource (i.e. GET /articles/1/relationships): how is it structured? are the relationships given as links, data, included even?

does it contain a links.self and a data.links.self which are the same?

Neither is required. Both would have the same value in this case.

relationships resource (i.e. GET /articles/1/relationships): how is it structured?

See http://jsonapi.org/format/#fetching-relationships-responses

Neither is required. Both would have the same value in this case.

Ok. And there is no preferred / recommended / best-practice one?

See http://jsonapi.org/format/#fetching-relationships-responses

As far as I can see that only shows requests like GET /articles/1/relationships/author, not the list of relationships from a GET /articles/1/relationships.

Ok. And there is no preferred / recommended / best-practice one?

For simplicity and full hypermedia support, include both. Sometimes they will be identical, such as when targeting a single resource.

As far as I can see that only shows requests like GET /articles/1/relationships/author, not the list of relationships from a GET /articles/1/relationships.

Sorry - I didn't focus on that URL. There is no concept of a relationships URL in the spec, just individual relationship URLs. If you were to implement that endpoint, it would be beyond the scope of the spec. While possible, we don't provide guidance and make no guarantees about compatibility.

I see. Thanks for the answers.
I think an example single resource response could help others getting started. Do you want to leave this open for that? Or shall I close as my personal questions are resolved?

I sympathize with your concerns @lode. I've been considering a possible solution to this for some time and this issue has prompted me to write it up. I'm going to close this in favor of #639.
Thanks!


Write Cypher queries for the new graph traverser

This follows #292. We need new Cypher queries for the new graph traverser, starting first from converting the old patterns in the txt files for the old state machine.

This could be a starting point:
https://github.com/Rothamsted/knetminer/wiki/Evaluation-of-Cypher-and-SPARQL-for-KnetMiner

State Machine queries have now been migrated, using the SM/Cypher converter.
Keeping this issue opened for a while, to see if we have to optimise the SM queries, as well as add new ones.

I'm closing this, now we have either auto-converted or manually curated queries.


RPC client interface for transactor

Still a work in progress.
So far, adds three RPC methods

FetchObjectChainHead

takes a multihash reference and gets the head of a canonical's chain

InsertCanonicalRecord

accepts a cbor-encoded Entity or Artefact and tries to insert

UpdateCanonicalRecord

accepts a cbor-encoded ChainCell and tries to update the referenced canonical

It has these message types defined:

MultihashReference - contains a base58-encoded string repr of a multihash
InsertRequest - contains a byte array with cbor-encoded Entity or Artefact
UpdateRequest - contains a byte array with cbor-encoded ChainCell

FIXME: this should be changed to include a ref to the canonical, to match the interface in the copycat client and let the transactor verify that the reference in the cell matches the one in the request.

Adds a simple scala cli app to start the RPC service, which wraps the copycat client interface.  To run with sbt:
sbt 'transactor/run-main io.mediachain.transactor.RpcService <transactor-host:port> <rpc-service-port>

That will start a service that connects to the cluster at the given address and listens on the given port for rpc requests.

Whoa this crashed scalac, rebuilding

dang... we can revert the grpc version bump if it's a problem... We don't need anything specific from it, I just figured it'd be a good idea since we were a few point releases behind

I think it was just a fluke


Construction of a Uri object

How should we construct a Uri object?
Our current constructor is:
public function __construct($scheme, $host, $port = null, $path = '/', $query = '', $fragment = '', $user = '', $password = '')

Should it be changed?
I think that the most common use-case is that the user has a string representation of a URI (e.g. "http://example.com/foo") & currently we use a factory called createFromString for this case.
Should we update the way we create Uris for Slim 4? These are the choices for construction of a Uri:

$uri = new Uri('http', 'example.com', '/foo'):  (as current)
$uri = new Uri("http://example.com/foo"):    (constructor takes a string)
$uri = Uri::createFromString("http://example.com.foo"):  (static factory in Uri class)

Note that we also want to support the upcoming http-interop's factories (PSR-17), so we'll also have this way to create a Uri from a string:
$uri = UriFactory::createUri("http://example.com/foo");
Any preferences to how we should create Uris in addition to UriFactory::createUri() ?

I prefer $uri = new Uri("http://example.com/foo"); approach.

What @tuupola said

Done.


Support for profile credentials

Hey,
We're using profile credentials, can we add support for it to your plugin?

Sure!  I'm looking at the javadocs for ProfileCredentialsProvider  and have a few questions:
Are you just using the "default" profile?
Would it make sense to add support for would it make sense to add support for specifying a profileName and/or a profilesConfigFilePath?  That support would probably be via environment variables and/or Java system properties.

@tpunder Currently we are using only default profile, but support for setting it through env variable and file path, could be useful for other users of the plugin.

Published 0.8.0-SNAPSHOT to Sonatype with this patch


Name delimiter be applied to runtime chunk

Feature request
What is the expected behavior?
When declaring property automaticNameDelimiter: '-' this should be applied to runtime files too, i.e: runtime-main.js.
What is motivation or use case for adding/changing the behavior?
Some authentication providers/proxies (Siteminder, Single sign on solutions) does not allow some characters on files they are proxying.
How should this be implemented in your opinion?
When declaring property automaticNameDelimiter: '-' and having runtimeChunk: true the defined delimiter should be applied to runtimeChunks, i.e: runtime-main.js.
Are you willing to work on this yourself?
Totally.

Workaround:
runtimeChunk: {
  name: entrypoint => `runtime-${entrypoint.name}`
}

I think I would be a bit weird that an option from splitChunks affect runtimeChunk. It could make sense to have an runtimeChunk.automaticNameDelimiter. Considering that the "workaround"/solution takes the same config space, it probably doesn't make sense to add such an option.

Indeed, that works too.
Thanks.


Auto refresh/reload table viewer

Is your feature request related to a problem? Please describe.
Table viewer does not reload automatically when the dataframe or matrix being shown changes. It is somewhat cumbersome to have to close that view and re-open it in order to reflect changes. I apologize if this has already been discussed, but I couldn't find a related issue.
Describe the solution you'd like
Ideally, the view of the table will refresh/reload automatically when the dataframe or matrix being displayed is modified.
Describe alternatives you've considered
A somewhat "inelegant" alternative would be to just implement a keybinding or command that closes the view of an object foo and then immediately calls View(foo) again.
Additional context
Below is a recording of what I mean, hoping it helps to make my point more clear. The simple example code is
library(dplyr)
library(magrittr)

# Open table viewer for `df`
df <- starwars
View(df)

# Update `df`; problem is that changes are not reflected in viewer
df %<>%
  filter(height < 100)

https://user-images.githubusercontent.com/9773292/155612306-407ac62f-29ef-40a4-abf3-40f894b79b5c.mov

Many times I was about to write this feature request.
I didn't it because, in my context, I found useful to compare the previous values with the new ones.
Anyway this preference (refreshing or not refreshing) may be resolved with a setting or with a UI artifact making a call to action.
Curious to see extension team's replies.

This would be a really nice feature to have, even if it's a flag we can turn on to auto refresh or keep stale to compare as @albertosantini mentioned

I just created an account to voice my support for this feature. To expand a little further, combining the power to pop out to a new window with auto refresh would be optimal for working with large dataframes. Thanks

Just wanted to check in and see if there's been any progress on implementing an auto-refresh for the table or list? Thanks for taking the time to work on this issue.

Would be amazing have this feature. So far this is one of the main reasons to keep using RStudio.

Agreed that it wold be very nice to have!

Agreed, I miss that.

Agreed!!

Agreed!

Would save so much time, agreed!


Build: Include minified version of additional methods in npm package

@staabm
Should we also add the localization folder to tags? In other words, adding it to this list: https://github.com/jquery-validation/jquery-validation/blob/5482dfd95ff01bb89a4fe5171f67c63d90c12198/build/release.js#L39-L44

Since nobody requested localizations in the npm package I would leave them out for now.
Whats your opinion?

The localization folder is already distributed in the npm package, see https://github.com/jquery-validation/jquery-validation/blob/5482dfd95ff01bb89a4fe5171f67c63d90c12198/package.json#L30-L31
I'm talking about the dist folder committed to GitHub as part of the released tag. See the dist folder of the release 1.17.0 as an example.

oh I see. please add it then.

thx!


Add support for ppc64le

I have added support for ppc64le in travis.yml file. Please review.
Thanks!

No thanks


The note about Service Fabric upgrade domain by upgrade domain behavior is misleading

This note stating: "When using Automatic OS Upgrades with Service Fabric, the new OS image is rolled out Update Domain by Update Domain to maintain high availability of the services running in Service Fabric. To utilize Automatic OS Upgrades in Service Fabric your cluster must be configured to use the Silver Durability Tier or higher. For more information on the durability characteristics of Service Fabric clusters, please see this documentation."
Is misleading and can result in application downtime. The actual behavior of the automatic upgrade is as described only within single node type i.e. within single VMSS. It is important because when using multiple Node Types mapped to multiple VMSS in Service Fabric cluster (e.g. according to guidance on multi AZ deployments https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cross-availability-zones) in the case multiple VMSS go through the auto update at the same time (this happens quite often in reality) it is possible (and again quite often) that on one VMSS UD x will go down and on another VMSS UD y will go down. This results in multiple UD going down at the same time (though in different VMSS).
To give a specific example: given simple multi AZ setup where 3 VMSS are used to deploy to 3 AZ and a statefull service service configured to use 3 replicas, let us assume that the service is deployed to VM1 in VMSS 1, VM2 in VMSS 2 and VM3 in VMSS 3. All VMs are in different Upgrade Domains. Since every VM is in different VMSS these UDs are not comparable what that means is that it is possible that during the OS upgrade in VMSS 1 VM1 will go down and at the same time in VMSS 2 VM2 will go down an in VMSS 3 VM3 will go down causing quorum loss in the service. To prevent that the service should be configured with higher number of replicas but it is not obvious from the documentation.

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

ID: 51c75ce7-2144-d81a-693c-fb51cc00f3e5
Version Independent ID: cba654ea-ee84-fca4-a76d-717bfb9d9bf5
Content: Automatic OS image upgrades with Azure virtual machine scale sets - Azure Virtual Machine Scale Sets
Content Source: articles/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade.md
Service: virtual-machine-scale-sets
GitHub Login: @mimckitt
Microsoft Alias: mimckitt

@skwasiborski
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@mimckitt
Can you please check and add your comments on this doc update request as applicable.

@skwasiborski I sort of get where you are going, but your example doesn't seem to work. If you are using Automatic OS upgrades with VMSS on Service Fabric, it requires you to have at a minimum, the silver durability tier. This means you are required to have 5 VMs in each VMSS instance. So even if you have 2 VMs in different update domains go down across an Availability Zone, you still would have 4 VMs up in each zone. Plus the silver tier also has a replica count of 5 for each VMSS.
This document is main explaining how Automatic OS upgrades work from a VMSS standpoint. Hence we link to the SF documentation around durability tier to help make it more clear. I do agree that the documentation between SF and VMSS for automatic OS upgrades would likely work better if they were separated and more focused on one or the other. That is something I am working on but it just takes time to actually implement.

I am going to close this out for now but if you have further feedback let me know and we can always reopen and continue the discussion. However from reading the doc and the included links I don't see any need for an update at the moment.


Need transaction selection policy implemented for gas fee charging

Related issue: https://github.com/ainblockchain/ain-blockchain/issues/312
Basic policy:

Service transactions: high gas price first
App transactions: apply app bandwidth budget

Implemented in https://github.com/ainblockchain/ain-blockchain/pull/373


Resource Management - Graphservices Sample Issue

Section link1, link2

Reason:
When run the sample, it will return the following error:

If we add location eastus in the sample, it will return the following error:

Suggestion:
Add code here:
location: "global",

@joheredi for notification.

This issue has been fixed.  We will close this issue.


Port codebase to TS

Looks good!
Curious - was porting to TS a mandatory precursor or just something you wanted to do?

@mrchief I've a lot of plans for this lib, but for them I needed some solid static type-checking and tests. This is just the foundation.
I feel this will encourage the community to contribute more and easier for everyone to be confident about the changes as well!


fix neophyte.desktop

Exec=neophyte instead of Exec=spotify

Thank you! I need to get around to adding an icon as well at some point. Neophyte always looks a little sad in the app switcher.


Show what changes are suggested along with the apply button rather than hiding what changes will be done by default

Rather than asking people to apply unspecified changes and requiring an extra click to see what change you will be making, iD should show what tagging changes it is proposing. Honestly, nobody should be clicking automatic edit buttons unless it's an approved import and their click is part of that approved process, but these tag upgrades are not an import or they could be done mechanically. I'm not proposing an annoying confirmation pop-up or anything, just fold out the proposed changes by default so people can tell, often at a glance, if it is expected and good.

The sentence "Some features should have additional tags." seems redundant to me, if we want to save some space while we're at it. The info button could be made into a collapse symbol or removed altogether since people can collapse the Issues section if they don't want to see this.
If there is no objection, I could write a patch to resolve this issue.

I like this. I would prefer this format better:

@lectrician1 I would like that format too!

I support this change, because I always click [i] button to expand even though I am experienced with the tags and I usually know what is going to change.

Welcome, @lgommans. I think #6408 covers this…


createOpenAPIChain: Consistently incorrect payloads, incorrect values, some params can't be empty when provided

First off, very thankful for this addition. I've tried many other methods with the JS library and they pale in comparison to python solutions, and this does indeed bring some parity.
While the examples for this new chain all work for me, I wanted to use it with an openAPI spec I personally find useful.
The spec I'm using can be found here: https://scholar-ai.net/openapi.yaml
There are a couple of issues with this payload, and I've highlighted them in comments

  "function": {
    "name": "searchAbstracts",
    "arguments": {
      "params": {
        "keywords": { // "keywords" is the only required param
          "text": "AI VR"
        },
        "sort": {
          "by": "relevance", // Valid values are cited_by_count or publication_date.
          "reverse": false
        },
        "query": {}, // isn't required, even when spec says otherwise. can be passed an empty value, so no issue
        "peer_reviewed_only": true,
        "start_year": {}, // can't be passed an empty value: must be a 4-digit year
        "end_year": {}, // can't be passed an empty value: must be a 4-digit year
        "offset": {} // can't be passed an empty value: Must be an integer
      }
    }
  }

I would like to contribute to this and here are some things I noticed.
Since some parameters need to be specific and not empty when provided, perhaps it's best to filter them completely if they are empty?
I made a change to SimpleRequestChain to do exactly this and now some of the API calls it generates are working, will need to test with other specs if this creates issues.
However, there are some issues with the schema not being correct. In  https://github.com/hwchase17/langchainjs/issues/1849#issuecomment-1618810667, @jacoblee93 mentioned that we could add an output checking step that retries if the schema doesn't match, which I believe may help. I will add that it should filter any params if they are invalid, when other params are valid.
#1860 will be helpful if it's an improvement over the OutputFunctionsParser as I understand
Thank you for reading, this is an awesome addition to langchain

my test code
  const chain = await createOpenAPIChain(spec, { verbose: true });
  const result = await chain.run('Can you find and explain some articles about the intersection of AI and VR?');
  console.log('api chain run result', result);
  return result;

Thank you - going to try to address this and other raised issues today!

Thought about it a bit more and I think it's best to wait for #1852 to land first as it solidifies our strategy for validating that an object conforms to a given JSON Schema - otherwise we won't know when to retry. Both that PR and this are high priority so hopefully shouldn't be too long.

Thought about it a bit more and I think it's best to wait for #1852 to land first as it solidifies our strategy for validating that an object conforms to a given JSON Schema - otherwise we won't know when to retry. Both that PR and this are high priority so hopefully shouldn't be too long.

Sounds good, glad they are priority items! OpenAI Functions really unleashed so many possibilities and can't wait to get more reliable results from their use in this chain and elsewhere.
I put in a small PR to filter out empty params. Feel free to close if there is an issue with doing so, or with my exact method. It's bad practice for an API to require parameters that are not used, so I can't imagine this creating issues.
As highlighted here, it's more likely an API may try to consume a provided query if it's empty, and will throw a Bad Request response if the parameter is not an expected value


fix: display sorting indicator in DataGrid headers

Pull request type

Please check the type of change your PR introduces:

[ ] Update
[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes

What is the current behavior?

Currently, when using a DataGrid and sorting it by clicking on the header, the default behavior is to display a sorting indicator (▲|▼). However, this indicator is missing due to the applied header style in the project.
Issue Number: #1160
What is the new behavior?

The default sorting indicator (▲|▼) is now displayed correctly in DataGrid headers after applying a style.
The issue where the sorting indicator was missing has been fixed.

Other information

Before the change:

No sorting indicator was displayed in DataGrid headers when sorting columns.

After the change:

The sorting indicator is correctly displayed in DataGrid headers when sorting columns, improving user experience.

Closing this pull request as the sorting indicator fix is now part of a larger PR that resolves multiple issues related to DataGrid. Please check #1192 for the latest updates and consolidated changes. Thank you for your understanding!


Provisioner interface does not pass StorageClass parameters to Delete

The provisioner interface passes the StorageClass parameters into Provision, but does not pass them into delete. Is there a reason for this? Is there a case where sometimes there is not the ability to pass the StorageClass parameters into delete?
What is the recommendation if these parameters are needed?

Put the parameters you need to delete in the volume object during provisioning?
Query the class parameters during delete?
Other?

Can you comment on your use case for what StorageClass parameters you need at delete time?  StorageClass parameters have primarily been used to specifying creation options.  During deletion, all the information necessary should be in the PV object.

When carving out storage on a remote server I need to know the local path on the server to carve it out from. So I put that in the StorageClass, I also need to know that same local path to remove the resource from the pool when freeing the data.
I assumed since the data was already available on the storage class to just pass it again during delete. But I can instead duplicate it on the PV.
This makes sense to me now that I think about it for longer, in that the information will live to cleanup the resource even if someone removes the storage class.


While checking for resource existence with "Exist" function, exist func should also return the resource.

Value Addition
Today, in the resources.go file, both the Resources interface and ResourcesImpl struct, has the following method definition for Exists method Exists(Resource, ExistsOpts) (bool, error). It doesn't return actual Resource object. Thus, if the caller of the Exists method has to act on the Resource Obj, he has to do another Get() call to get the latest resource. By adding the resource obj among the objects returned by Exists func, we can gain some performance.
Code Changes:

Navigate to the resources.go file.
Change the Resources Interface Exists(Resource, ExistsOpts) (bool, error)  to Exists(Resource, ExistsOpts) (Resource, bool, error).
There are two implementation of this interface:

FakeResources in identified_resources_list_test.go file
As there is no method body for this, just changing the method signature will be enough here.
ResourcesImpl in resources.go file
Here, we need to change both method signature as well as method body. In method body, we need to create the Resource object similar to like we do in Get method of resources.go file. Keep in mind that Retry functionality has to be retained.

This method is consumed directly in identified_resources.go file. We have to change the method signature of this function to return Resource Obj as well.
https://github.com/vmware-tanzu/carvel-kapp/blob/b5d6a0aa7c6bbef9857b472ca70b8a8c38a70d1a/pkg/kapp/resources/identified_resources.go#L101
Now, we have to change the places from where Exists method of identified_resources.go is called. Those places are:

In add_or_update_change file
https://github.com/vmware-tanzu/carvel-kapp/blob/b5d6a0aa7c6bbef9857b472ca70b8a8c38a70d1a/pkg/kapp/clusterapply/add_or_update_change.go#L102
In delete_change file
https://github.com/vmware-tanzu/carvel-kapp/blob/b5d6a0aa7c6bbef9857b472ca70b8a8c38a70d1a/pkg/kapp/clusterapply/delete_change.go#L63
In labeled_resources.go file
https://github.com/vmware-tanzu/carvel-kapp/blob/b5d6a0aa7c6bbef9857b472ca70b8a8c38a70d1a/pkg/kapp/resources/labeled_resources.go#L222
In labeled_resources.go file, immediately after this, we check if it exist and then make another call to get the Resource. Now, we can remove that and put this returned Resource Obj over the channel resCh
https://github.com/vmware-tanzu/carvel-kapp/blob/b5d6a0aa7c6bbef9857b472ca70b8a8c38a70d1a/pkg/kapp/resources/labeled_resources.go#L228-L234

Acceptance Criteria
As these methods are consumed internally, acceptance criteria for this will be to:

Adopt the changed method signature at all the places it is called from( as mentioned above).
No compilation error. To compile, you can navigate to the root directory i.e. carvel-kapp and run this script hack/build.sh.

Hi @rohitagg2020 I would like to take this up.

Sure, feel free to make a PR.

released as part of v0.43.0

@shubham14bajpai, thank you for your contribution


Metal: Failing compute tests

The following tests in the compute category currently fail to compile with Metal.
All failing tests are disabled using:
//DISABLE_TEST(compute):COMPARE_COMPUTE:-slang -shaderobj -mtl

This should make it easy to find them.
Some of these are failing to compile due to #4288
For reference and marking fixed tests, here is the full list:

[x] tests/autodiff-dstdlib/determinant.slang
[x] tests/autodiff-dstdlib/dstdlib-mul-mat-mat.slang
[x] tests/autodiff-dstdlib/dstdlib-mul-mat-vec.slang
[x] tests/autodiff-dstdlib/dstdlib-mul-vec-mat.slang
[x] tests/autodiff-dstdlib/dstdlib-sqrt.slang
[x] tests/autodiff/custom-intrinsic.slang
[ ] tests/autodiff/global-param-hoisting.slang
[x] tests/autodiff/reverse-matrix-ops.slang
[x] tests/bindings/nested-parameter-block-2.slang
[x] tests/bugs/atomic-coerce.slang
[ ] tests/bugs/buffer-swizzle-store.slang
[x] tests/bugs/dxbc-double-problem.slang
[x] tests/bugs/frexp-double.slang
[x] tests/bugs/frexp.slang
[ ] tests/bugs/generic-default-matrix.slang
[x] tests/bugs/generic-groupshared.slang
[x] tests/bugs/generic-member-method.slang
[x] tests/bugs/generic-type-duplication.slang
[x] tests/bugs/gh-2959.slang
[x] tests/bugs/gh-3980.slang
[x] tests/bugs/interface-type-self-ref.slang
[x] tests/bugs/mutating/buffer-write-dce.slang
[x] tests/bugs/mutating/mutating-call-in-loop-dce.slang
[x] tests/bugs/mutating/mutating-generic-method.slang
[x] tests/bugs/mutating/resource-specialization-inout.slang
[x] tests/bugs/negative-literal.slang
[x] tests/bugs/nested-existential-dyndispatch.slang
[x] tests/bugs/nested-switch.slang
[ ] tests/bugs/op-assignment-unify-mat.slang
[x] tests/bugs/operator-overload.slang
[x] tests/bugs/specialize-existential-in-generic.slang
[x] tests/bugs/ssa-loop.slang
[x] tests/bugs/static-method.slang
[ ] tests/bugs/type-legalize-bug-1.slang
[x] tests/bugs/vec-compare.slang
[x] tests/compute/array-param.slang
[x] tests/compute/assoctype-nested.slang
[ ] tests/compute/atomics-buffer.slang
[x] tests/compute/atomics-groupshared.slang
[x] tests/compute/atomics.slang
[x] tests/compute/buffer-layout.slang
[ ] tests/compute/buffer-type-splitting.slang
[x] tests/compute/byte-address-buffer.slang
[x] tests/compute/cast-zero-to-struct.slang
[x] tests/compute/cbuffer-legalize.slang
[ ] tests/compute/column-major.slang
[ ] tests/compute/compile-time-loop.slang
[ ] tests/compute/constexpr.slang
[ ] tests/compute/discard-stmt.slang
[x] tests/compute/entry-point-uniform-params.slang
[x] tests/compute/enum.slang
[x] tests/compute/frem.slang
[x] tests/compute/interface-param.slang
[ ] tests/compute/interface-shader-param-in-struct.slang
[ ] tests/compute/interface-shader-param.slang
[x] tests/compute/interface-static-method.slang
[x] tests/compute/logic-short-circuit-evaluation.slang
[ ] tests/compute/loop-unroll.slang
[x] tests/compute/matrix-layout-structured-buffer.slang
[x] tests/compute/matrix-layout.hlsl
[x] tests/compute/modern-syntax.slang
[x] tests/compute/mutating-and-inout.slang
[x] tests/compute/mutating-methods.slang
[x] tests/compute/non-square-column-major.slang
[x] tests/compute/non-square-row-major.slang
[ ] tests/compute/parameter-block.slang
[ ] tests/compute/semantic.slang
[x] tests/compute/simple.slang
[x] tests/compute/static-const-array.slang
[x] tests/compute/static-const-matrix-array.slang
[x] tests/compute/static-const-vector-array.slang
[x] tests/compute/struct-make.slang
[x] tests/compute/structured-buffer-of-matrices.slang
[x] tests/compute/texture-get-dimensions.slang
[ ] tests/compute/texture-sampling.slang
[x] tests/compute/texture-simple.slang
[x] tests/compute/texture-simpler.slang
[x] tests/compute/texture-subscript-multisample.slang
[ ] tests/compute/texture-subscript.slang
[x] tests/compute/transcendental-double.slang
[x] tests/hlsl-intrinsic/bit-cast-double.slang
[x] tests/hlsl-intrinsic/bit-cast.slang
[x] tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang
[x] tests/hlsl-intrinsic/classify-double.slang
[x] tests/hlsl-intrinsic/f16tof32.slang
[x] tests/hlsl-intrinsic/f32tof16.slang
[ ] tests/hlsl-intrinsic/matrix-float.slang
[ ] tests/hlsl-intrinsic/matrix-int.slang
[x] tests/hlsl-intrinsic/scalar-double-simple.slang
[x] tests/hlsl-intrinsic/scalar-float.slang
[x] tests/hlsl-intrinsic/size-of/align-of-2.slang
[x] tests/hlsl-intrinsic/size-of/align-of-3.slang
[x] tests/hlsl-intrinsic/size-of/align-of-generic.slang
[x] tests/hlsl-intrinsic/size-of/align-of.slang
[x] tests/hlsl-intrinsic/size-of/size-of-2.slang
[x] tests/hlsl-intrinsic/size-of/size-of-3.slang
[x] tests/hlsl-intrinsic/size-of/size-of-generic.slang
[x] tests/hlsl-intrinsic/size-of/size-of.slang
[x] tests/hlsl-intrinsic/vector-float.slang
[ ] tests/hlsl/packoffset.slang
[x] tests/ir/scalar-truncate.slang
[x] tests/language-feature/bit-cast/struct-bit-cast.slang
[x] tests/language-feature/bitfield/sizeof.slang
[x] tests/language-feature/constants/constexpr-loop.slang
[x] tests/language-feature/constants/static-const-in-interface.slang
[x] tests/language-feature/constants/static-const-in-struct.slang
[x] tests/language-feature/constants/type-cast-const.slang
[x] tests/language-feature/constants/type-cast-truncate.slang
[x] tests/language-feature/enums/enum-bit-ops.slang
[x] tests/language-feature/enums/enum-equality.slang
[x] tests/language-feature/enums/enum-generic-arg.slang
[x] tests/language-feature/enums/nested-enum.slang
[x] tests/language-feature/extensions/extension-method-simple.slang
[x] tests/language-feature/extensions/interface-extension.slang
[x] tests/language-feature/generics/arithmetic-ops.slang
[x] tests/language-feature/generics/generic-interface-1.slang
[x] tests/language-feature/generics/generic-interface-2.slang
[x] tests/language-feature/generics/generic-value-constant-folding.slang
[x] tests/language-feature/generics/iarray.slang
[x] tests/language-feature/generics/partial-generic-argument-inference.slang
[x] tests/language-feature/generics/struct-generic-value-param.slang
[x] tests/language-feature/generics/typealias.slang
[x] tests/language-feature/higher-order-functions/simple.slang
[x] tests/language-feature/inheritance/derived-struct-init-list.slang
[x] tests/language-feature/inheritance/struct-inherit-interface-requirement.slang
[x] tests/language-feature/inheritance/struct-inheritance.slang
[x] tests/language-feature/interfaces/interface-conjunction.slang
[x] tests/language-feature/modules/include/main.slang
[x] tests/language-feature/multi-level-break-switch.slang
[x] tests/language-feature/namespaces/multiple-namespace.slang
[x] tests/language-feature/namespaces/namespace-import/test.slang
[x] tests/language-feature/namespaces/namespace-include/a.slang
[x] tests/language-feature/namespaces/namespace-using/b.slang
[x] tests/language-feature/namespaces/simple-namespace.slang
[x] tests/language-feature/namespaces/using-namespace.slang
[x] tests/language-feature/non-copyable-return.slang
[x] tests/language-feature/operators/subscript-multi-dimension.slang
[x] tests/language-feature/parameters/generic-func-param-default-arg.slang
[x] tests/language-feature/pointer/const-ref.slang
[x] tests/language-feature/properties/property-decl.slang
[ ] tests/language-feature/shader-params/entry-point-uniform-params.slang
[ ] tests/language-feature/shader-params/interface-shader-param-ordinary.slang
[x] tests/language-feature/simple-inline.slang
[x] tests/language-feature/struct-in-func.slang
[x] tests/language-feature/swizzles/matrix-swizzle-write-array.slang
[x] tests/language-feature/swizzles/matrix-swizzle-write-single.slang
[x] tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang
[x] tests/language-feature/swizzles/matrix-swizzle-write.slang
[x] tests/language-feature/swizzles/matrix-swizzles.slang
[ ] tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
[x] tests/language-feature/types/opaque/inout-param-opaque-type.slang
[ ] tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
[x] tests/language-feature/types/opaque/out-param-opaque-type.slang
[ ] tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
[x] tests/language-feature/types/opaque/return-opaque-type.slang
[x] tests/optimization/func-resource-result/func-resource-result-complex.slang
[x] tests/optimization/func-resource-result/func-resource-result-simple.slang
[x] tests/pipeline/compute/compute-system-values.slang

In addition, the following tests generate wrong/unexpected results:

[x] tests/autodiff/swizzled-store.slang.2 syn (mtl)
[x] tests/autodiff/struct-this-parameter.slang.2 syn (mtl)
[x] tests/autodiff/loop-init.slang.3 syn (mtl)
[x] tests/autodiff/material2/diff-bwd-falcor-material-system.slang.2 syn (mtl)
[x] tests/autodiff/material2/diff-falcor-material-system.slang.2 syn (mtl)
[x] tests/autodiff/geometry/ray-triangle-intersect.slang.2 syn (mtl)
[x] tests/autodiff/material/diff-bwd-falcor-material-system.slang.2 syn (mtl)
[x] tests/autodiff/material/diff-falcor-material-system.slang.2 syn (mtl)
[x] tests/autodiff-dstdlib/dstdlib-dot.slang.2 syn (mtl)
[x] tests/autodiff-dstdlib/dstdlib-clamp.slang.2 syn (mtl)
[x] tests/autodiff-dstdlib/dstdlib-pow.slang.2 syn (mtl)
[x] tests/autodiff-dstdlib/vector-length.slang.2 syn (mtl)
[x] tests/autodiff-dstdlib/dstdlib-max.slang.2 syn (mtl)
[x] tests/bugs/gh-518.slang.2 syn (mtl)
[ ] tests/compute/column-major.slang.5 syn (mtl)
[x] tests/compute/write-structured-buffer-field.slang.1 syn (mtl)
[x] tests/compute/func-param-legalize.slang.1 syn (mtl)
[x] tests/compute/cast-zero-to-struct.slang.2 syn (mtl)
[x] tests/compute/ssa-reduce-bug.slang.2 syn (mtl)
[x] tests/language-feature/operators/subscript-multi-dimension.slang.2 syn (mtl)
[x] tests/language-feature/constants/constexpr-loop.slang.2 syn (mtl)

Marking for Q2 initially, but completion within the milestone is a stretch goal.

Issue Triage
Needs further triage/fixing:
Missing implementation or wrong capabilities for matrix operations
{

tests/hlsl-intrinsic/matrix-float.slang
tests/hlsl-intrinsic/matrix-int.slang
}

Legalize input/output shader semantic used with struct [#4487]
{

tests/compute/compile-time-loop.slang
tests/compute/constexpr.slang
tests/compute/discard-stmt.slang
tests/compute/texture-sampling.slang
}

intN is invalid type for [[thread_position_in_grid]]
{

tests/compute/buffer-type-splitting.slang
tests/language-feature/shader-params/entry-point-uniform-params.slang
tests/language-feature/shader-params/interface-shader-param-ordinary.slang
}

Array of buffers is not valid (?) input semantics
{

tests/compute/loop-unroll.slang
}

Test has incorrect syntax RWTexture2DMSArray instead of RWTexture2DArrayMS
{

tests/compute/texture-subscript-multisample.slang
}

Atomics need rework/fixes
{

tests/compute/atomics-buffer.slang
}

Compiler silently fails
{

tests/bugs/op-assignment-unify-mat.slang
}

Code compiles but test is disabled, unknown if they work or do not work
{

tests\bugs\buffer-swizzle-store.slang
tests/bugs/generic-default-matrix.slang
tests/bugs/type-legalize-bug-1.slang
tests/compute/column-major.slang
tests/compute/semantic.slang
tests/compute/texture-subscript.slang
tests/hlsl/packoffset.slang
}

Wrong results
{

tests/compute/column-major.slang
}

GFX backend:
param block missing
{

tests/autodiff/global-param-hoisting.slang
tests/compute/interface-shader-param-in-struct.slang
tests/compute/interface-shader-param.slang
tests/compute/parameter-block.slang
tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
}

Needs no additional work but requires comment:
no double support in MSL
{

tests/bugs/dxbc-double-problem.slang
tests/bugs/frexp-double.slang
tests/compute/transcendental-double.slang
tests/hlsl-intrinsic/bit-cast-double.slang
tests/hlsl-intrinsic/classify-double.slang
tests/hlsl-intrinsic/scalar-double-simple.slang
}

I think we should have an issue for each group so that they can be assigned to multiple people.

I did not make any issues but having 1 per group would be a good idea

"matrix<int,N,M> is not allowed in MSL" might be an exception since there was a bigger plan around emulating matrix<> types

Closing this issue since we have determined that the remaining issues are out-of-scope for our metal support.


Add Last.fm scrobbling

Actually, I could implement it by myself, but it's required to create an API account on Last.fm for this purpose. Since the project is yours, I've decided to write this feature request.

I just made an API account for TUIJam. Here are the credentials. Let me know if you need anything else to implement this feature.


Add scaleup function

What this PR does / Why we need it
Add scaleupStepSize feature
Which issue(s) this PR fixes

@tjun Thanks for corrections!

@tkuchiki Thank you for reviewing. I checked your comments and suggestions and responded those.

@tkuchiki @tjun @rustycl0ck I responded all reviews you all requested. Please review it again 🙇♂


利用Ollama部署的GLM4在进行信息识别任务时输出大量G

System Info / 系統信息
Ollama 2.1.0 Windows preview
RTX4090 D
Who can help? / 谁可以帮助到您？
No response
Information / 问题信息

[ ] The official example scripts / 官方的示例脚本
[X] My own modified scripts / 我自己修改的脚本和任务

Reproduction / 复现过程
代码内容
import ollama
from tqdm import tqdm
import ollama
import pandas as pd

model = 'glm4' #glm4

def LLM_Process(model, sys_prom, usr_prom):
    messages = [
        {'role': 'user', 'content': usr_prom},
        {'role': 'system', 'content': sys_prom}
    ]
    resp = ollama.chat(model, messages)
    try:
      out = resp['message']['content']
      return out
    except AttributeError:
        # 可能是信息太长或有违规信息
        print("跳过处理。")
        return None

inputdir = 'D:/NLP/Ollama/data/crime_data.csv'
outputdir = 'D:/NLP/Ollama/data/processed_data.txt'

sysP = '你是一名犯罪地理学家，在不编写代码的前提下，请在我提供给你的法律文书中辨析其中犯罪发生的的地址信息以及相关事件，并回复我一个包含key“UUID”“address”“event”的json格式文本，如果这段文字中不包含地址信息或事件信息，key下的内容写“0”即可，你回复给我的内容只需要这段包含核心信息的json文本，不需要其他的任何文本，即使文本中没有可用的内容。如果提供给你的文本没有可用的内容，你在每个key下的内容都设为0即可，切记不要假设一个虚构的文书信息，这会产生重大错误'

allin = pd.read_csv(inputdir)
keys = ['UUID', '正文']
usrP = []
for index, row in tqdm(allin.iterrows(),total = allin.shape[0]):
    content1 = row[keys[0]]
    content2 = row[keys[1]]
    usrP.append(f"{keys[0]}：{content1}, {keys[1]}：{content2}")

with open(outputdir, "w", encoding="utf-8") as file:
    for text in tqdm(usrP[:100], total=100):
        out = LLM_Process(model, sysP, text)
        if out is not None:
            file.write(out + "\n")
print('process over')

因保密协定，Prompt中提到的法律文书信息不能提供，正文内容参考一般法律裁判文书即可。
模型输出（此问题在本机可以稳定复现）
{
  "UUID": "2",
  "address": {
    "法院地址": "江苏省南京市六合区",
    "犯罪地点1": "我市XX区XX街XX通信广场负一楼（具体街道和商场名称缺失）",
    "其他相关地点": []
  },
  "event": [
    "诈骗罪",
    "盗窃罪"
  ]
}

{
  "UUID": "11",
  "address": [
    "本市鼓楼区",
    "本市玄武区"
  ],
  "event": [
    "盗窃华为手机一部",
   GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "21",
  "address": "南京市栖霞区某某悦X栋XX号某某美容美GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "22",
  "address": "南京市栖霞区GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "24",
  "address": [
    "本区GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "42",
  "address": "南京市栖霞区迈皋桥弘阳家居美的专卖店",
  "event": "盗窃罪"
}

{
  "UUID": "43",
  "address": [
    "南京市浦口区新浦路与河滨路路口附近的林景尊园工地",
    "南京市浦口区团结路与张墩路路口附近的中海原山工地",
    "南京市浦口区康安路与新浦路路口附近的新城金陵樾工地",
    "浦口区雨山路地铁站附近的保利云禧工地"
  ],
  "event": [
    "盗窃工地内被害人胡某的扣件",
    "盗窃工地内被害人张某的扣件",
    "盗窃工地内被害人侯某的扣GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "0",
  "address": "0",
  "event": "0"
}

{
  "UUID": "47",
  "address": "南京市鼓楼区",
  "event": "盗窃罪"
}

{
  "UUID": "48",
  "address": "南京市栖霞区某某西村XXX号",
  "event": "被告人刘某至南京市栖GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "51",
  "address": "南京市高淳区××街道××路××号中交荣域小区",
  "event": "盗窃罪"
}

{
  "UUID": "52",
  "address": "南京市栖霞区XX路XXXX小区",
  "event": "盗窃"
}

{
  "UUID": "59",
  "address": "江苏省南京市鼓楼区",
  "event": "盗窃罪"
}

{
  "UUID": "64",
  "address": "南京市江宁区东山街道玉堂巷中心花园",
  "event": "盗窃罪"
}

{
  "UUID": "71",
  "address": "南京市栖霞区东江村",
  "event": "盗窃罪"
}

{
  "UUID": "73",
  "address": [
    "南京市栖霞区红梅村栖霞大道与312国道的交界涵洞处嘉盛公司工地",
    "南京市栖霞区龙潭港区旁龙潭大道南约五十米处南京力高建筑有限公司工地"
  ],
 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
```json
{
  "UUID": "76",
  "address": [
    "南京市江宁区长兴大街1202号盛江商业街自动扶梯处",
    "南京市秦淮区太平南路330号肯德基店",
    "南京市建邺区万达广场",
    "南京市江宁区大市口回味鸭血粉丝店",
    "南京市秦淮区石鼓路33号肯德基店"
  ],
  "event": [
    "盗窃作案五起"
  ]
}

{
  "UUID": "78",
  "address": [
    "南京市建 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
{"UUID":"0","address":"0","event":"0"}
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG

### Expected behavior / 期待表现

望查明原因，是GLM4的问题还是Ollama的问题

一样的问题，用的ollama部署的

一样的问题,GGG

一樣的問題。

此问题于Ollama 0.2.3版本修复，随后0.2.5版本又出现了，并且问题更加严重

先更大哦0.2.3，感觉好像是llama cpp的问题，我们还在排查中

这个问题和之前qwen2-7b-instruct一样，可以通过启用flash attention来尝试修复。启用后大概率可以修复，但不排除特殊情况。

https://github.com/OpenGVLab/InternVL/issues/351

是ollama的问题，但我是版本3，有时候也有这个问题，但换个模型就好了

尝试开一下flash attention

尝试开一下flash attention

如何在ollama开启flash attention呢？直接添加一个环境变量吗？

ollama开启flash attention后没有GGGG了，但是推理速度很慢，纯CPU推理要2分多钟才出结果，开启flash attention之前秒级出结果。。。

flash attn是给GPU加速的吧


Which integrator to use when coefficient is a function of surface normal?

I am new to MFEM. This is not an issue but a question.
I am trying to solve a PDE on a 3D surface $\Omega$ which has a term
$$\int_{\Omega}\nabla \cdot \left(\vec{g}(\vec{n}(x))\ u\right) v$$
where $\vec{n}(x)$ is the surface normal.
After carrying out integration by parts, I shifted the derivative to the test function $v$ as follows:
$$-\int_{\Omega} \vec{g}(\vec{n}(x))u \cdot \nabla v $$
From the list of BilinearFormIntegrators, I found the MixedScalarWeakDivergenceIntegrator to be the most appropriate. I also found how to calculate normals in MFEM. My question is do I need to write a custom integrator for this case, or is there some existing function already implementing this?

Hello, @amit112amit,
It looks like you will need a custom integrator. This is mainly because your vector-valued coefficient g seems to be a function of the surface normal. This is not common so we don't have any integrators, as far as I know, with such coefficients.
I'll be happy to offer more specific advice if needed.
Best wishes,
Mark

Thank you, for the reply @mlstowell.
I will attempt to write a custom integrator for this case. Then, I will be able to ask more specific questions.
Once I get the code working, I will close this issue.

I went through the documentation https://mfem.org/integration/. As of now, I think I have enough information about how to implement the custom integrator. I will ask another question if I face any difficulty. Thank you for the prompt response!


Add option to disable notification

What
I'd like to have a flag to disable notifications. I don't need them and it warns everytime with gup:WARN : exec: "notify-send": executable file not found in $PATH.
How
I'm thinking of something like gup update --no-notification (I'm fine with any other flag).
Checklist

[ ] Finish implementation of the issue
[ ] Test all functions
[ ] Have enough logs to trace activities
[ ] Notify developers of necessary actions

@giggio
Thank you for the suggestion.
I would like to add an option to enable notifications (-N, --notify) and disable them by default.

I'd prefer that. I didn't suggest because I thought you had a reason to have it on by default.

I write down PR #57.
I will merge when I add the unit tests.

@giggio
The feature you wanted was introduced in v0.15.0 (newest version).
I close this issue.


⚠ Samsung has degraded performance

In 7a653e1, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2403 ms

Resolved: Samsung performance has improved in 28b3e5f.


Clarity of current search paramaters

It seems that currently, if one uses a file gene list, clicking reset and providing a list through the text bar, the search is still performed on the file gene list. Ideally file should be removable without refreshing the session

Great catch. In the past, I've skirted around R Shiny's poor support (or maybe my lack of understanding of their support) for file uploads by:

Changing the fileInput UI element to a uiInput element
Dynamically adding the fileInput on application launch in server.R
Removing and re-adding a new fileInput on reset button clicked

This has worked for me when "hard" resets are necessary, but you can also probably get around it by having a session variable tracking whether to use the uploaded file or not (setting to FALSE on reset click, and TRUE on upload)


Sync 7.x with master

This PR syncs some of the changes that went into master that did not make it into 7.x. These are mainly stylistic/whitespace changes.
Doing this so that if we do a folder diff mainly functional changes will light up.

@codebrain @russcam merging this in to start work on other bits.


Brian Munene: Workflows, week 1

my fork of module repository

Learning Objectives
🥚 0. Local Development Without Git
Practice the foundational workflows of software development by learning to write
Markdown locally on your own computer using Visual Studio Code (VSCode), the
Command Line Interface (CLI), and NPM scripts to automate your code's quality
(formatting, linting and spell checking).

[x] 🥚 Folder Structures: You can explain how files and folders are stored
in your computer and can find, open or create files in your computer
without using the Command Line Interface.
🥚 Command Line Interface (CLI): In a Unix shell you can ...

[x] open a new terminal window
[x] navigate up and down directories using cd
[x] list the contents of a directory using ls
[x] view the contents of a file using cat
[x] create new files using touch
[x] create new folders using mkdir

[x] 🥚 Markdown: You can write a document in Markdown with no syntax
mistakes that renders into a well-formatted document.
🥚 VSCode: You can complete these workflows in VScode, and can use
keyboard shortcuts to complete them all:

[x] Opening a repository in a new window
[x] Opening the VSCode terminal
[x] Adding a new file
[x] Adding a new folder
[x] Deleting a file
[x] Deleting a folder
[x] Previewing a Markdown File
[x] Formatting a Markdown document

[x] 🥚 READMEs: You can write a README file that describes the project you
are working on, why it's helpful, and how someone can use it.
🥚 NPM: You can use NPM commands to verify your code's quality, this
includes ...

[x] using npm install to install a project's dependencies
[x] reading a package.json file to find which scripts are available for
the project
[x] use npm run <script> to execute an npm script

🥚 Formatting Code: You can use Prettier to make sure all the code in your
project is well-formatted:

[x] You can use the Prettier VSCode extension to format a document while you
are writing it
[x] You can use npm run format to format all of the documents in your
project
[x] You can use npm run format:check to make sure all files are
well-formatted

🥚 Linting Folder and File Names: You can ...

[x] use npm run lint:ls to check all folder and file names in your project
[x] you can fix all linting mistakes reported by npm run lint:ls

🥚 Linting Code: You can ...

[x] use npm run lint:md to check all Markdown files in your folder for
linting mistakes
[x] you can fix all linting mistakes reported by npm run lint:md

🥚 Spell Check: You can ...

[x] use the Code Spell Checker VSCode extension to correct spelling mistakes
in your Markdown documents while you are writing
[x] use npm run spell-check to check the spelling in all the files of your
project
[x] update .cspell.json to add words that should be allowed in your
project

🥚 File and Folder Naming Conventions: You can ...

[x] identify and follow the naming conventions for the project you are
working on.
[x] use npm run lint:ls to check that all files and folders follow the
project's naming conventions.
[ ] you can correct any file and folder names to make them match the project
conventions.

[x] 🐣 File Extensions: You can identify all of the languages covered at
HYF and give the correct file extension. You don't need to know the
languages, just recognize them.
[ ] 🐣 Touch Typing: You can write a Markdown file without looking at your
keyboard to find any letters, numbers or special characters. (slowly is
ok!)

🥚 1. Local Development With Git
Practice using Git to save and organize your development process. You will learn
how you can use Git to go back to previous versions of your project, and to work
on different changes in parallel.

🥚 Git: Using the CLI you can ...

[x] Initialize a new git repository with git init
[x] stage changes using git add <path>
[x] check what is staged with git status
[x] commit changes using git commit -m <message>
[x] display your repository's git history using git log
[x] create a new branch using git branch <branch-name>
[x] check out a branch using git checkout <branch-name>
[x] create a new branch and check it out using
git checkout -b <branch-name>
[x] merge changes from one branch to another using git merge <branch-name>
[ ] return to a previous version of your project with git log and
git checkout <commit-hash>
[ ] stash and retrieve uncommitted changes with git stash and git pop

🥚 .gitignore: You can use a .gitignore file to describe which files
you don't want included in your git history.
🥚 VSCode: You can ...

[ ] use the Git Graph extension to to visualize your repo's commit history
[ ] use the Git Lens extension to investigate your repository's commit
history
[ ] explain how the file tree in VSCode can show you which files have
uncommitted changes

[x] 🥚 Atomic Commits: You can save your development progress using small
commits with clear and helpful message.
[x] 🐣 Feature Branches: You can organize your development process using
branches. You can create a new branch for each part of your project and
merge those changes to main when they are finished.

🥚 2. Local/Remote Development
Learn how you can connect your local Git repositories with a GitHub repository
to add more structure to your development process and to share your projects.

🥚 Licenses: You can ...

[x] explain why it's important to include a license for your code on GitHub
[ ] choose a license for your projects that matches how you want others to
use your code

[x] 🥚 GitHub SSH Key: You can connect your computer to your GitHub
account using an SSH key, clone using the SSH link, and push/pull using
your SSH connection.
🥚 GitHub Repositories: You can ...

[x] create new repository on GitHub
[x] write a description for your repository
[x] turn on GitHub Pages
[x] configure your repository to block pushing to main
[x] configure your repository to block merging to main until Continuous
Integration (CI) checks have passed

🥚 Git Remote/Local Connection: You can ...

[x] clone a remote repository to your computer
[x] initialize a new repository locally and connect it to an empty remote
repository
[x] push and pull changes between remote & local branches

[x] 🥚 Pull Requests: You can create a pull request between two branches
in your repository and merge changes without causing any conflicts.
[x] 🥚 PR templates: You can use a PR template to add a checklist to all
of your PRs so you are sure the code is great before merging to main.
[x] 🥚 Continuous Integration: You can use GitHub Actions to check your
code's quality before merging a pull request to the main branch.
[x] 🐣 Local/Remote Branching Workflow: You can use a branching workflow
that keeps mistakes away from the main branch and prevents conflicts
from happening in GitHub. For each contribution to the project you can ...

Check out a new local branch and write your code
Check out main on your local machine
Pull changes from remote main to local main
Merge changes locally from main to your new branch

Fix any conflicts on your new branch before pushing!

Format and lint your code
Push your new local branch to your remote repository
Open a Pull Request from the new branch to main

Go through the PR's checklist to make sure everything is correct
Make sure all CI checks pass!

Merge your new remote branch to main

You can delete the branch after it's merged if you want to

##Workflows module: Week 1

[ ] I have pushed my progress to my fork of exercises repo

I Need Help With:
At this point in time, all is well
What went well?
Working with git locally/remotely was quite an eye opener. Also writing Markdown is very simplified and easy to learn as most commands are easy to remember.
What went less well?
The first attempt to push my local repo failed for an extended period of time. However, this provided another opportunity to learn how to investigate errors by searching on the internet or reading the errors themselves.
Lessons Learned
I have really enjoyed working with the CLI. The various study materials provided provide an excellent introduction. I can now see the difference between working from the CLI and using the default GUI that most users are accustomed to. This also applies to Git and GitHub.
Sunday Prep Work
I am going through the Sunday prep material and hope to have covered most of them before then.

hi @BrianMunene96, you are going well!
You can also use this website to find a solution to your errors: https://stackoverflow.com/

The first attempt to push my local repo failed for an extended period of time. However, this provided another opportunity to learn how to investigate errors by searching on the internet or reading the errors themselves.

:tada::muscle:

I have really enjoyed working with the CLI. The various study materials provided provide an excellent introduction. I can now see the difference between working from the CLI and using the default GUI that most users are accustomed to. This also applies to Git and GitHub.

Workflows module: Week 2
I Need Help With:
Most things are clear at this point in time.
What went well?
I have enjoyed working with Git/Github locally and pushing my work remotely. Writing the markdown files was also very straightforward.
What went less well?
I realized it's not easy to work in a group especially remotely as everyone has different schedules. However, through the collaboration available on Github, it was eventually possible to get some work done.
Lessons Learned
Being able to debug code and errors is very crucial in day to day life of a developer. I enjoyed solving the lint errors in the markdown files before a branch can be merged.
Sunday Prep Work
I am currently reviewing the basic of HTML and CSS since I haven't written much in a while now.


Replace SubmitJob convenience method with LLC-like convenience method

Given offline discussion, we'll merge as-is for now but will need to resolve this by 1.1.0 GA.
Originally posted by @heaths in https://github.com/Azure/azure-sdk-for-net/pull/28639#discussion_r879931568

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Storage:0.17121921,Azure.Core:0.091112144,Event Hubs:0.09084201'


other locale then English doesn't work

I'm running High Sierra, downloaded the workflow from GitHub Release page and if I only set locale to German the "fake" keyword does not suggest "Name" or the other arguments.
Do I have to download faker data from somewhere?

It was a silly bug. The other locales worked, but the whole thing fell apart if English (or another complete locale) wasn't selected.
Should be fixed in v2.1.


RFC: API Change: Flash: New API to access flash information

Introduction
Introducing API change that allows to define "virtual" flash devices over real flash devices.
Currently some of flash API calls, like the flash_api_pages_layout, often propagate pointers to structures directly defined at driver level; this makes it hard to setup "virtual" device that could lie about the information returned by such API call as it may require run-time allocation of resources as the "real-device" can never be assumed, which is not possible.
Aim of this RFC is to discuss changes to API that would prevent direct access to layout and this way make it easier to generate "virtual" devices.
Such virtual devices would allow defining devices that could serve as replacement for flash map API or direct encryption devices, with no need to special API layer for them, as basically any function or utility could use flash API directly, without knowing whether it is real device or "virtual".
Problem description
The flash_api_pages_layout , when enabled with CONFIG_FLASH_PAGE_LAYOUT, gives direct access to array that defines layout of flash, the user code can iterate over for gathering information; additionally there are flash_get_page_info_by_offs, and flash_get_page_info_by_idx that utilize this access.
With such direct access virtual device is not able to provide own definition of layout.
Proposed change
Proposed change is to replace the optional flash_api_pages_layout, with set of following API calls:
flash_get_page_info, flash_get_page_count, flash_get_size that would allow to quick obtain the same information but does not give direct access to information from driver.
The missing functionality of flash_get_page_info_by_offs and flash_get_page_info_by_idx can be easily added with use of the above function, even in form of utility library for flash access
Proposed change (Detailed)
Proposed addition to flash API calls:
int flash_get_page_info(const struct device *dev, off_t offset, struct flash_page_info *fpi);
ssize_t flash_get_page_count(const struct device *dev);
ssize_t flash_get_size(const struct device *dev);

note that the last two calls would be very quick as they will be given literal value during compilation.
Additional additions to struct flash_parameters would be max_page_size, which is maximum page size on the device (or any in case of uniform devices), and flags which will hold flags; currently there will be only one flag defined FDF_NON_UNIFORM_LAYOUT that means that the device has pages of different size.
With such definitions, in contrary to flash_api_pages_layout, any "virtual" driver that would be able to query the information from underlying driver, process it if needed, and return to caller.
Dependencies
Anything that uses flash_api_pages_layout will not be able to use "virtual" devices.
All flash drivers will require some patching.
Concerns and Unresolved Questions
Initialization order impact, power management (regarding the "virtual devices", device readiness).
Alternatives
There is no such attempt to flatten the API layers, where flash access is considered.
Related PRs
Proposed flash API change: https://github.com/zephyrproject-rtos/zephyr/pull/36484
Demo of flash partition device (formerly flash area device) that is possible due to change: https://github.com/zephyrproject-rtos/zephyr/pull/36487

FYI @nvlsianpu , @jfischer-no , @mbolivar-nordic , @galak , @nandojve .

Do we really need virtual flash devices ? It seems to be like we would better look at the linux solution for memory technology devices (mtd) and adapt zephyr to the approach of linux. This would result in the flash api being deprecated completely and replaced with an mtd api.
Probably it is also not needed to create a virtual device as a real device, only the "master" devices needs to be a device. Other things like partitions can be (const) structs that are using this master device. A simple approach providing all the required functionality is provided in https://github.com/zephyrproject-rtos/zephyr/pull/34494. This PR does not need any API changes or whatever.

I was looking into virtual flash device - looks like it does the job of partition management well, it reduces amount API we have.
Can be similar idea be implemented with MTD API?,  so we will be able to switch to it smoothly.
I think both ideas doesn't collide each other.

@nvlsianpu, the main difference between virtual flash devices and mtd API is that virtual flash devices create a device for each partition, while mtd only uses (or creates if we would replace the flash device with a mtd device) for the "master" device. This allows support for repartitioning without any changes. This also results in the compiler removing any unused partitions from the image for the mtd API.
The mtd API could (and should) provide support for regions (like in linux) so that page support is provided from the start. It should also be extended to provide a "mtd-compatible" so that master devices can be registered (this would remove the flash API completely). Also it might be a good idea to provide some way of "linking" the different partitions (using a list) so that for each partition it is possible to find the parent and child partitions.

API meeting (6th July): no objections.

Update to API implementation:
Because adding the special API calls increases size of flash device structure significantly, the independent API calls to provide back-end for the flash_get_page_info, flash_get_page_count and flash_get_size will not be provided,
instead single API call, flash_api_get_param will be provided that will be taking the opcode for the parameter
to obtain; the increase in access time, to the parameters, should be acceptable as obtaining parameters is not
happening often and the significant reduction of size of code is worth it.
The flash_api_get_parameters and flash_api_get_layout may be also moved under the single flash_api_get_param API call reducing the API switch table even further.
The
int flash_get_page_info(const struct device *dev, off_t offset, struct flash_page_info *fpi);
ssize_t flash_get_page_count(const struct device *dev);
ssize_t flash_get_size(const struct device *dev);

can be implemented as non-syscalls with such approach.

@carlescufi, strange that API meeting did not detect the above.
@de-nordic, I support that there would be one function entry in an api to access and modify "configuratable items". However I think you are duplicating info to avoid syscalls, this is not a good idea.

@de-nordic, I support that there would be one function entry in an api to access and modify "configurable items". However I think you are duplicating info to avoid syscalls, this is not a good idea.

Can you elaborate on that?

@de-nordic, I support that there would be one function entry in an api to access and modify "configurable items". However I think you are duplicating info to avoid syscalls, this is not a good idea.

Can you elaborate on that?

A flash device (when flash page support is enabled) has a layout structure and an api call to access this layout structure. A virtual flash device needs to follow the api and so also has a layout structure. The information in the layout is duplicated in the flag and the max_page_size.

@de-nordic, I support that there would be one function entry in an api to access and modify "configurable items". However I think you are duplicating info to avoid syscalls, this is not a good idea.

Can you elaborate on that?

A flash device (when flash page support is enabled) has a layout structure and an api call to access this layout structure. A virtual flash device needs to follow the api and so also has a layout structure. The information in the layout is duplicated in the flag and the max_page_size.

The max_page_size is gone at this point, I got to the same conclusion as you. The flags remains because It allows you to figure out whether you need to use flash_get_page_info for each page or you can do it once, for uniform devices, and do all calculations by yourself, avoiding further syscalls.

BTW: It is OK to create a virtual device with uniform block size on top of a flash device that has varying block size. This should be done by defining an appropiate layout.

The flash_get_page_info can also do that.

The max_page_size is gone at this point, I got to the same conclusion as you. The flags remains because It allows you to figure out whether you need to use flash_get_page_info for each page or you can do it once, for uniform devices, and do all calculations by yourself, avoiding further syscalls.

The flags is the same as: layout_size == 1.

BTW: It is OK to create a virtual device with uniform block size on top of a flash device that has varying block size. This should be done by defining an appropiate layout.

The flash_get_page_info can also do that.
??? When you create a virtual flash device it should be done properly, and its layout should reflect what you want it to be. The virtual flash device should not have a uniform layout when using one api call while it has a non-uniform using a different api call.

The flags is the same as: layout_size == 1.

This will be retired.

??? When you create a virtual flash device it should be done properly, and its layout should reflect what you want it to be. The virtual flash device should not have a uniform layout when using one api call while it has a non-uniform using a different api call.

The virtual device is the way you implement it, so the flash_get_page_info of your device will do whatever you tell it to do.
The virtual partition device I have demonstrated is very basic, and it gives you layout of the device at specified range: if that specified range is uniform, the virtual partition device will be uniform device even when the real device, in its entirety, has  non-uniform layout.

The virtual device is the way you implement it, so the flash_get_page_info of your device will do whatever you tell it to do.

Yes, but what I am trying to say is that the virtual device should follow the API specifications. The layout is a part of the API specification and should be correct (either a part of what is inside the real device or a new definition).

Update to API implementation:
Because adding the special API calls increases size of flash device structure significantly, the independent API calls to provide back-end for the flash_get_page_info, flash_get_page_count and flash_get_size will not be provided,

After experimenting with few approaches, including the direct implementations of 1-1 callback, for example  flash_get_page_count calls api->get_page_count(...),  and 1-N callbacks, for example flash_get_page_count calls api->get_param(FLASH_PARAM_PAGE_COUNT, ...),  I have come to following conclusions:

addition of separate calls to API structure does not have that much of an impact, it is only pointer size of bytes per call, and the API structure has only one instance;
overhead in drivers, where each callback has to be defined is not so big in comparison to overhead needed to invoke syscall from the user side; for example when 1-N approach is used, the exemplar flash_get_page_count would be inlined as

flash_device_api api = ...;
ssize_t count = 0;
api->get_param(dev, FLASH_PARAM_PAGE_COUNT, &count)
return count;

and it is clearly visible that passing parameters to the get_param and returning value, takes more operations than 1-1 invocation:
flash_device_api api = ...;
ssize_t count = 0;
return api->get_page_count(dev);

because syscalls from flash.h are inlined, look at point 2), multiple ivocations may increase binary size when using 1-N approach, although with the simple getters, like proposed here, the large number of independent invocations does not make that impact (and is not real scenario).
That observation has been compared against inlined flash_erase, in current form, and with intermediate function defined where flash_erase would call that function: in 'real life' scenario of the littlefs test (for nrf52840) the size in binary change has been less than 16bytes in favor to the current implementation.

Conclusion: we are back to direct, 1-1, API callback implementation.


implement point cloud registration

Thanks @dimitri-yatsenko for the contributions!  And thanks for the discussion offline.  To let others know, we just decided to hold off on releasing this schema until it has been further tested.  So I will close this pull request for now, but please feel free to reopen once it is ready.


Proposal: make this role an official nextcloud installation method

@aalaesar @wiktor2200 I see that this role is mature and is working quite well. Nextcloud has partner projects of installations of Nextcloud namely all-in-one and nextcloudpi.
I have the feeling that by putting it under nextcloud organization we give visibility, get more users and even can share between the other official methods supported features (such as backup/restore, certificate config, proxy|load balancer config, etc) to have a better way to manage nextcloud on-prem for more advanced users. I even met the lead engineer from nextcloudpi and we plan on collaborate. What do you think? If you agree, I can reach out to Nextcloud employees and try to make it happen.

Hello @staticdev .
That's a interesting idea.
Although  nextcloudpi and all-in-one are much more complete solutions than this role.
Talking about collaboration, do you have this role in mind or are you giving context about your engagement in nextcloud related projects ? 😃

About the collaboration I saw that the bare-metal solution of nextcloudpi is basically a shell script that does almost the same things as this role. It can be that we implemented more apache configs for security and they implemented other things that complement each other. If we collaborate we can try to find the best of both worlds and maybe come with a new solution. This idea is still very new and I plan to study more about both projects when I have free time for it.

Hello @staticdev @aalaesar! I really like the idea of "whole solution", but I'm not convinced to "complete solution" within Ansible role. Every tool has its own purpose, Ansible role's is to automate some steps and be easily used along with any other solution/tool.
nextcloudpi is bunch of scripts which create whole environment (build multiple images). It doesn't emphasizes Nextcloud's config itself. So after creating image you are still getting "clean" NC to configure and then you can even use this role.
all-in-one is complex docker environment for NC (preferably Portainer), but still is has its pros and cons.
Maintaining AiO project would end up in hundreds of egde cases which should be cover, here's just a list of few examples: different DB (mysql, mariadb, postrgres), multiple certificates (obtain by Let's Encrypt, own self-signed, other CA or wildcard), firewall methods (nftables, iptables or any other cloud provider's), a few storage solutions and even more backup. It's just a peak but I've mentioned at least several dozen of combinations and possible environments.
I would personally prefer adding more and more improvements to this role only. In my opinion, if we want some AiO based on Ansible, we should consider creating Ansible Collection to enhance our role with some other modules.
I've got lots of ideas for improvements, which I've on my TODO list when having some time. Most of them are for proper (best practices) NC config, which I used to change using occ or via NC interface.
Some examples (to have it in this role):

role hardening - variable and task to define auth parameters, session length, brute-force protection
configs for: trashbin management, versions retention, logging (level, format etc.), preview settings, share settings, SMTP config, TOTP/2FA
users and groups management
apps and their configs management (I really liked idea from this closed PR: #150 but it needs some tweaks).
Most of that is doable by occ commands so it's a matter of adding tasks and corresponding variables/defaults, when having all of that in place this role could be full-automation solution.

Hello @wiktor2200 @staticdev,
I think you made a good point @wiktor2200 in the difference of use case and tooling between those projects and the role.
They are intended as complete solutions for a given case.
They have to make choices and cut corners to get a fiable, working, easy to use solution.
Depending on their deployment/automation tools and code they can get a modular or monolithic system. more or less harder to maintain, update etc. (really, I haven't looked into these projects, So I don't judge anything)
The role, on the other hand, is intended to be just one step of a larger installation workflow but it comes with the advantages of ansible:

extensibility (everything can be overridden, redefined)
repeatability and idempotence (easier for doing config update and compliance)

It implies to use the ansible tools-stack that may not be adequate for self-hosted, one time installation on one host. (unless, of course, if  you're a tech power user and you're doing Infra as Code in your garage)
Ansible is definitively useful when repeatability comes into account and shine even more on multi-host deployments.
Given all of that, I would not like the role to be "forced" upon  those projects just because "ansible is better than bash".
I think their is a lack of solutions on ansible galaxy for nextcloud that would motivate more project to use ansible as an installation tool.
As I talked before already on other issues, I think a nexcloud collection is a good way to extend this role exposition.
But, blaming myself, I have worked on self-hosted Kubernetes and smart-home things as IaC in my garage rather than starting working heavily on this collection project. 😞
Well those where just my thoughts qboute the place of the role. @staticdev , I trust you will find some common ground with the other project 😃 .
regards.
Aal

@wiktor2200 maybe I gave some impression that I wanted to merge this role with AIO or NCP, but this is not what I meant. I think each project will remain independent and have different features/use-cases. I am not even sure they can really be combined.
Actually breaking down in concrete steps I have 2 proposals:

adding install_nextcloud role as a project under nextcloud organization on Github, the same way as AIO and NCP. This gives visibility and bigger user base to test and contribute. I think this project has more potential to evolve faster this way. For that, if you agree I can ask directly people I know from Nextcloud (I even met their CEO in the Nextcloud Conference this year ;) ).
about crossing over with AIO/NCP it is still a very early idea, but maybe we could introduce tasks to add backup/restore capabilities in the ansible role in a way that we can reuse/adapt what is already working on both AIO and NCP. This for me would be the greatest improvement, since ability to restore NC is critical for me and streamlining it would be excellent.

@aalaesar @wiktor2200 maybe I gave some impression that I wanted to merge this role with AIO or NCP, but this is not what I meant. I think each project will remain independent and have different features/use-cases. I am not even sure they can really be combined.

No worries. You are opening  a discussion and thoughts are going all over the place. That's normal.
We had to build a foundation about what we agree first, then the subject can be refocused.

Actually breaking down in concrete steps I have 2 proposals:

adding install_nextcloud role as a project under nextcloud organization on Github, the same way as AIO and NCP. This gives visibility and bigger user base to test and contribute. I think this project has more potential to evolve faster this way. For that, if you agree I can ask directly people I know from Nextcloud (I even met their CEO in the Nextcloud Conference this year ;) ).

I agree but by proposing a collection rather than a role. It will allow a easier expansion of use cases and codes.
(For my first modules, I'm still hitching my head around how to use occ cli in an ansible modules)

about crossing over with AIO/NCP it is still a very early idea, but maybe we could introduce tasks to add backup/restore capabilities in the ansible role in a way that we can reuse/adapt what is already working on both AIO and NCP. This for me would be the greatest improvement, since ability to restore NC is critical for me and streamlining it would be excellent. I am still researching how these projects work more in depth.

So you mean understand and reuse their backup process and format to write a compatible backup role with ansible ? ( I've done my own backup role btw)

@aalaesar @wiktor2200 do you think this repo can be moved to https://github.com/nextcloud or should a new repository be created? (I think the advantage of moving is keep history/stars/forks)
Also regarding the idea of a collection instead.. should it already start the collection with install and backup roles?

Why do we need to move it at all? It can be just mentioned in NC documentation with no need to be moved.
Or maybe collection could be created in that organization and then this role could be added to collection (just just yaml file)?

Why do we need to move it at all? It can be just mentioned in NC documentation with no need to be moved. Or maybe collection could be created in that organization and then this role could be added to collection (just just yaml file)?

It does not NEED. It is a proposal and it was well received by Nextcloud and also NCP and AIO are in Nextcloud Github org. IMO it definitely increases visibility for Nextcloud users.

Hello there !

it was well received by Nextcloud

@staticdev does this mean you asked some nextcloud member to if they may took the role in their organization ?

Do you think this repo can be moved to https://github.com/nextcloud or should a new repository be created? (I think the advantage of moving is keep history/stars/forks)

Keeping the stats is  a good point. I'll see if I can merge the collection's few commits to a new collection dev branch in this repo

Hello there !

it was well received by Nextcloud

@staticdev does this mean you asked some nextcloud member to if they may took the role in their organization ?

Do you think this repo can be moved to https://github.com/nextcloud or should a new repository be created? (I think the advantage of moving is keep history/stars/forks)

Keeping the stats is a good point. I'll see if I can merge the collection's few commits to a new collection dev branch in this repo

Yes, you are right. I talked to them. And Andy Scherzinger van help us with that one you give the go.

Hello there !
@staticdev , thank you again for your initiative, it is definitively a good idea.
Still, I need more infos about implications like:

licensing change (if any)
rights managements changes on the repository
CI & bots integration
...
Is there some doc relative to what happen to projects integrated under the nextcloud organization ?
Or maybe should we make a call with a nextcloud community manager or someone related ?
regards.
Aal.

Anyway. The repository next big evolution will be to become a collection.
I've made some good progress on some fundation code and module:

@aalaesar I will try tot get answers ASAP.

Hi @staticdev @aalaesar just invited you to the Nextcloud org on Github and also replied to your mail @staticdev .
To answer the questions raised up to now:

licensing change (if any)
Not needed

rights managements changes on the repository
I just make you an admin and than you take it from there

CI & bots integration
Haven't seen anything that needs to be discussed, so all good I would say

...
Just shoot the questions :)

Is there some doc relative to what happen to projects integrated under the nextcloud organization ?
In a way nothing except the "home" as-in having it moved into the Nexctcloud Github organization. You would still be the owner(s) and can do what you need.

Thanks a @AndyScherzinger =)

Hello there !
@staticdev @AndyScherzinger  @wiktor2200
I have some fundamental questions before moving the repo to the nextcloud organization.
As said before, I want it to be now a collection of roles and modules for administration.
modules and roles will be called with the fully-qualified collection name (FQCN) in playbooks so it is  kind of significant
the FQCN is <namespace>.<collection-name>.<module or role name>
so choosing the collections namespace and name is important as it won't be easy to change it later.
(my suggestions are at top of the lists)

what namespace the collection should be in ?

obviously become 'nextcloud'
stay 'aalaesar'
suggest an other idea

What name should the collection have?

'admin' (so FQCN could  be nextcloud.admin.something 😃 )
'nextcloud' (but FQCN could be nextcloud.nextcloud.something 😞 )
suggest an other idea

Should the repository be renamed in the context of the nextcloud organisation?

yes, something like 'ansible_admin'
no, stay install_nextcloud
suggest an other option

Should the install_nextcloud role be renamed in the context of the collection?

yes, something like "install_it"
no, let's keep it as is.
suggest an other name

Thank you in advance for your your feedbacks . 😃
Regards, Aal.

@aalaesar great points.. I like the suggestion to be nextcloud.admin, the name of the repo is not critical since the metadata file is what is important for Ansible Galaxy.. to distinguish I would call it ansible-collection-nextcloud-admin (this is similar to the convention I use for my Ansible roles and also from many of the roles/collections in Galaxy. Alternatively you can also call it nextcloud.admin, this is more of personal taste.
Second point, to have it nextcloud.admin we need to create a user nextcloud on Ansible Galaxy (if it is still allowed). For that we are lucky, I just verified it does not exist. But I am really not sure how organizations can log in into Galaxy... maybe only admins on Github such as @AndyScherzinger will be able to login in Galaxy as Nextcloud. Then we will need the API Key to set it as a secret for the new repo. And the rest is CI/CD magic =)

Second point, to have it nextcloud.admin we need to create use nextcloud on Ansible Galaxy (if it is still allowed). For that we are lucky, I just verified it does not exist. But I am really not sure how organizations can log in into Galaxy... maybe only admins on Github such as @AndyScherzinger will be able to login in Galaxy as Nextcloud. Then we will need the API Key to set it as a secret for the new repo. And the rest is CI/CD magic =)

I created #186 with a link to galaxy doc to manage that.
Given the doc, I don't think a special user is required, it depend on the organisation one is part of.
But even if I have accepted @AndyScherzinger invitation, I can't see the nextcloud namespace yet in galaxy. Probably because I don't have any right on any repository in the organization.

@staticdev @wiktor2200
about Point 4 on my previous questions. How should this role be renamed in the future collection?
Do you have suggestions ? I have to rename it for #184

If it's possible I would leave the name as it is. Name may be associated with knowledge of the solution among all users of role. Seeing the old name even when collection/FQCN is changed, may be more obvious choice for some users (just using old, proven method).
But if there is a need to change it, I don't see any other contraindications :)

If it's possible I would leave the name as it is. Name may be associated with knowledge of the solution among all users of role. Seeing the old name even when collection/FQCN is changed, may be more obvious choice for some users (just using old, proven method). But if there is a need to change it, I don't see any other contraindications :)

That's a really good point.
You convinced me.
So I'll keep the role name and continue.
Thank you @wiktor2200 !

Hi @aalaesar,
been on vacation the last days / week, so couldn't reply earlier than today. Looping in @blizzz and  @-mejo about the Ansible Galaxy part, also because I don't have absolute admin rights on the Nextcloud Github organization.

Probably because I don't have any right on any repository in the organization.

Being a member of the Nextcloud org on Github, you should have write permission on any repo I think.

As I understood the idea of the collection we would not just focus on install but also do other operations no? Maybe keeping install_nextcloud is not good for that but maybe moving to just nextcloud fit better as it is standard for names in Ansible Galaxy.

Yes my point was about the role name only. The collection namespace will be nextcloud and it's name admin
Given that, the role fqcn would be nextcloud.admin.install_nextcloud. Keeping the same role name for all current users

Hi @aalaesar, been on vacation the last days / week, so couldn't reply earlier than today. Looping in @blizzz and @mejo- about the Ansible Galaxy part, also because I don't have absolute admin rights on the Nextcloud Github organization.
...
Being a member of the Nextcloud org on Github, you should have write permission on any repo I think.

Hello @AndyScherzinger . No problem 😃
i don't think galaxy will be a big problem. We will have time to manage this subject after the transfert to nextcloud.

Sounds good @aalaesar 👍 Please let me know if I can be of any help 😃

Hello @AndyScherzinger
another question came into my mind relative to the repo name.
will I be able to rename it after I transfered it to you ? (maybe I should rename it before handling it if it is not possible)

Hi @aalaesar, not sure to be honest, but renaming should be possible either by you or one of our oganization admins after the move, by me during the move or by you before the move.

I would think having Ansible as part of the repo name might help to point to the technology behind it. In case that ever change one might rather create a new repo I would assume.

I would recommend for repo name ansible-collection-nextcloud ;)

Hello there !
@AndyScherzinger The collection in coming very soon and I'll transfer the repository to you just after its release.
Once this repository is transfered, updated with new infos and properly imported in ansible Galaxy,
Would the nextcloud Org wish to communicate about this ?
Ansible is a very popular and robust deployment tool. This would add a new string to the project's bow for visibility.

Hello @aalaesar,
looking forward to the release 😃
As for the communication part I have no idea, so looping in @jospoortvliet

@aalaesar before communication would be best if we already have the repo transfered, deployed to galaxy and tested, right?

@aalaesar before communication would be best if we already have the repo transfered, deployed to galaxy and tested from there, right?
Yep that what I said 😃
Just being busy this week-end.

Hello there !
I've just sent the transfert request to you @AndyScherzinger
regards

Hi @aalaesar, all
moved the repo to https://github.com/nextcloud/install_nextcloud and granted you admin permission 👍
Cheers

Great, thanks everyone for the team work.
We can try to do some alpha releases to see how it goes on Ansible Galaxy now =)

And thank you @staticdev for the proposal.  :+1:


feat: add PushSecret and DeleteSecret to onepassword provider

Problem Statement
Currently the onepassword provider does not implement the PushSecret functionality.
Related Issue
#2565
Proposed Changes
implement the methods PushSecret and DeleteSecret for the onepassword provider to conform to the esv1beta1.SecretsClient interface
Checklist

[X] I have read the contribution guidelines
[X] All commits are signed with git commit --signoff
[X] My changes have reasonable test coverage
[X] All tests pass with make test
[X] I ensured my PR is ready for review with make reviewable

Don't forget to update support for push/delete!
https://github.com/external-secrets/external-secrets/blob/77a70d08fa1bdd698e3ebdfe98a13d74cfd76477/docs/introduction/stability-support.md?plain=1#L75

Hey @gusfcarvalho any chance this can be reviewed in more detail?  Would love to see 1password support mature.
Thanks!

Hi @bthuilot 👋  Thank you for the PR and sorry that we could not review the PR in a timely fashion. Something seems to be wired with the commits. Would you fix them so that we can review the PR?

hey @shuheiktgw yeah this was probably because the first time i updated i did a weird rebase, i just merged from the upstream but let me know if something is still up and I can take a look. thanks!

Any updates on this?  Would love to see this merged!

hey @shuheiktgw ive gone ahead and collapsed all commits into one, and updated with the changes to the PushSecret interface. and to echo @acelinkio , would love if you could give it another review 😁

I just came across a use case for this and it would be awesome to see this reviewed and merged 🚀

I definitely have a use case for this and would like to see it added.
Thanks!

Great job on this one, I have the fork running right now and it's working great, looking forward to getting it merged so I can go back to mainline.

Nice, thanks! :)

hey @Skarlso updated the PR, let me know when you get a chance to review

@bthuilot Can you please take a look at the 6 new Sonar issues? :)
That's why they had the constants for errors I guess. You can still wrap the error using an error format or something like that.
After that I think this is great work and job done. :)

@Skarlso fixed those issues, thank you again for taking the time to review!

Nice! Thanks!! No problem. :)

/ok-to-test sha=35dac81

Thank you very much for this feature! Great job implementing it, and again, lovely tests. :) Thanks!


IO stream closed on create method only - Tempfile is being closed before save

When creating any object with an attachment, the tempfile is closed before it can be read.
My temporary fix is to add this the first line of the create method in the controller, where Subscriber is the model and file is the attachment field:
params[:subscriber][:file].tempfile.open
What might be causing the file to close prematurely? Refile version 0.6.2 rails version 5.2.1

I'm unable to reproduce that.
Do you have any more specific details?

Note: Tested locally in an application with upload with small files like 100KB and 300MB, both worked fine.


Set time in datetime field

Slowly starting to use it :) something is off setting the time for a datetime column. Seems to work after second attempt.

Thanks for your feedback.

something is off setting the time for a datetime column. Seems to work after second attempt.

I was able to reproduce the problem
When registering a new record, the time selection dialog is being skipped.
I will check.

Thanks for yourr feedback.
The problem is fixed in #25.


The rope

Hello, can you tell me what kind of rope you used to secure the IMU to the body during your experiment? As a beginner, I was impressed by how well you secured the imu in Figure 2 with just one rope. Can you tell me specifically what type of rope you used? I would even appreciate a purchase link recommendation. Thank you!

We used the Velcro. You can order proper width Velcro and it is pretty stable.
The one we bought:
https://www.amazon.com/Eowpower-Reusable-Microfiber-Management-Organizer/dp/B07G131767/ref=sr_1_30?crid=20U0CEHDUZHSK&keywords=1%2F2"+velcro&qid=1641448677&sprefix=1%2F2+velcro%2Caps%2C130&sr=8-30


workloads/uibench: Pylint Fix

Sorry, I hadn't noticed you had a .pylintrc (as it's not at the root of the repo). I've integrated that in my development setup so that we can avoid the need for PRs like this one in the future :)


GHA to tag Docker images with latest non-prerelease version as latest

Currently, we tag the image with the highest semantic version as the latest, which isn't always true, especially given with our pre-release setup, and it's very tedious to click through 8 images if there's a discrepancy. Let's add a GHA that's only manually dispatched to:

Find the latest non-prerelease version as the latest tag candidate
Pull the images with the above version tag
Tag those images as latest plus their existing version tag
Push the new tags

This might become irrelevant if we end up changing our tag semantics for 7.12, which @turetske has been discussing to fix other issues with conda packaging.


Local API Error: by_similarity Chunking Strategy Not Recognized

Describe the bug
When running the Docker image quay.io/unstructured-io/unstructured-api:0.0.68 locally, the chunking strategy by_similarity fails to work as expected.
To Reproduce
Steps to reproduce the behavior:

Start the Docker container with quay.io/unstructured-io/unstructured-api:0.0.68.
Run the following curl command:

curl -X POST http://localhost:30000/general/v0/general \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -H 'unstructured-api-key: <YOUR_API_KEY>' \
  -F<EMAIL_ADDRESS>\
  -F 'strategy=auto' \
  -F 'chunking_strategy=by_similarity'

Expected behavior
The API should process the request using the by_similarity chunking strategy without errors.
Actual behavior
The API returns an error indicating that the chunking_strategy should be by_title:
{
  "detail": [
    {
      "type": "literal_error",
      "loc": ["body", "chunking_strategy"],
      "msg": "Input should be 'by_title'",
      "input": "by_similarity",
      "ctx": {"expected": "'by_title'"}
    }
  ]
}

Environment
Docker Image: quay.io/unstructured-io/unstructured-api:0.0.68
Local machine setup
Additional context
This issue occurs consistently with the latest image. It seems that the API does not recognize the by_similarity chunking strategy, even though it is documented.

Hi @eduardolundgren ! The by_similarity chunking strategy is only available through the Unstructured hosted APIs, not locally (mentioned here at the top of the section of that strategy)

Hi @eduardolundgren ! The by_similarity chunking strategy is only available through the Unstructured hosted APIs, not locally (mentioned here at the top of the section of that strategy)

So, is there any way to use a local embedding model by input any config fields? If not, hopefully it will be supported,great thanks to you


How do I add a different notify sound?

How do I add a different notify sound?  I have attempted to change the file of notify.mp3 but the new sound won't play even if I delete the database and start fresh.  Can anyone help with this? The notify sound doesn't stand out enough for me at times so it would be extremely useful.  Thank you

change the file of notify.mp3

This. Maybe make a forced refresh in your browser, or delete the cache.