Unable to change the properties of 'previous' button

....
		        2 => [
					'title' => 'Step 2',
					'icon' => 'glyphicon glyphicon-cloud-upload',
					'content' => Yii::$app->controller->renderPartial('_permohonan_usulan_kegiatan.php'),
					'buttons' => [
					    'next' => [
					        'title' => 'Go Next>',
					        'options' => [
					            'class' => 'btn btn-primary'
					        ],
					     ],
					     'previous' => [
					        'title' => 'Go Back >',
					        'options' => [
					            'class' => 'btn btn-primary'
					        ],
					     ],
					 ],
		        ],
.....

I added the "previous" properties to change the 'previous' button, but nothing happen. The 'previous' button still using the same class and the title (button text) didn't change to 'Go Back'.
Am i using the wrong properties or wrong place to put it?

Hi Arvidthd,
You found a discrepancy between the documentation and implementation. The implementation uses the key 'prev' instead of 'previous'. To be backwards compatible, I will update the documentation accordingly.

Thank you, sorry clearly i didn't read the docs carefully. Keep awesome @drsdre i love your plugins.


Distribution: Implement compounding by numerical integration

Currently, N-compounding a distribution is done by sampling the source distribution N times, adding the values, and using it as a single sample of a new distribution. The only way to construct a p.d.f. from such a formulation is to sample the compounded distribution enough times to obtain a representative histogram. This is obviously expensive, especially if the p.d.f. needs to be sufficiently accurate for values far into the tails, whose probability is very low.
Instead, we should explore the option of using numerical integration to compute the c.d.f., and then numerical differentiation of the c.d.f. to obtain the p.d.f..
Given a source p.d.f. f(x), the c.d.f. of an N-compounded distribution is
G(y) = P(sum_(x_1..x_N) < y) = \integral_{ sum(x_1..x_N) < y } f(x_1) dx_1 * ... * f(x_N) dx_N

and its p.d.f.:
g(y) = (G(y + h1) - G(y - h2)) / (h1 + h2)

for sufficiently small h1 and h2.

As the first attempt, try direct integration over the entire space by replacing x = t / (1 - t^2) and integrating over t in (-1..1). This can be done either by iterating over the full grid, or by using a Monte Carlo integration method over the volume. There are also adaptive methods that increase the number of points in the "interesting" parts of the volume, such as t near 1 or -1.
For a t-distribution with parameter a, I believe a good choice of a variable replacement is x = t / (1 - t^(2b)), where b = ceiling(a); it keeps the terms under integration in reasonable ranges for all values of t, especially in the extremes, minimizing the rounding errors.
It's also worth solving the hyperplane inequality sum(x) < y analytically, so only the valid points are used. Specifically, the first N-1 variables can vary over the full range, but the last variable has a restricted range (-inf..y-sum(x_1..x_(N-1))).

Correction: grid-based enumeration for large N can be infeasible. For instance, for N=250 (one year worth of trading days), even 2 points per dimension results in 2^250 ~= 10^75 points, which is definitely infeasible.
Therefore, we are left with only Monte Carlo methods.
A couple of more ideas:

Rather than computing G(y) directly and then differentiating, compute G(y2) - G(y1) directly by integrating over the space between two hyperplanes defined by y1 and y2. In particular, this constrains the last x_N to a range [y1 - s, ..., y2 - s] where s = sum(x_1, ..., x_(N-1)). The choice of y_i can be e.g. the bucket boundaries, so that p.d.f. can be computed for the middle of the bucket similarly to how it's done in Histogram.
When the value of the integrated function is very small, e.g. far in the tails, it may be better to compute it directly in log-space. The function itself is a product of source p.d.f.'s, so it's just a sum of logarithms, but accumulating the arithmetic average of the samples requires a special logsum method which adds numbers represented by their logarithms:

logsum(x, y) = log(exp(x) + exp(y)) = log(exp(x) * (1 + exp(y - x))) = x + log(1 + exp(y - x))

This formula is the most useful when x >= y. In particular:

logsum(x, y) = x when x - y > k for a large enough k, e.g. when exp(-k) is beyond the required or float64-supported precision for mantissa;
logsum(x, y) = x + exp(y - x) when x - y is relatively small but still greater than 1 or 2.

Another idea:

Extend the Histogram to use float64 counts, so that it can be directly reused by c.d.f.-based distribution, e.g. obtained by numerical integration.

Rather than going for a more general integration, we can simply bias random sampling while building a histogram towards the tails, and correct the bias with the appropriate weight, thus increasing the count of the appropriate bucket not by 1, but by some weight w(x).
After doing the math (to be described in the docs in more detail), the algorithm is the following:

Add Histogram.AddWithWeight(x, w) method to increase the x's bucket count by w;
Sample t in (-0.5..0.5) with the uniform distribution;
Compute x = t / (0.25 - t^2)^b, x' = (0.25 + (2*b - 1)*t^2) / (0.25 - t^2)^(b+1) and w = f(x) * x';
Add x with the weight w to the histogram.

Here f(x) is the p.d.f. of the distribution, and b is a small non-negative integer which controls the amount of bias towards the tails. Normally, for fatter tails we want higher b (more bias towards the tails). For a t-distribution with a parameter a > 1 as good choice seems to be b = ceiling(9 / a).

Obviously, the usefulness of the above procedure should come for N-compounded samples with sufficiently high N (e.g. N=250). Here, a single sample y consists of the sum of N source samples sum(x_1, ... x_N), the p.d.f. becomes the product f(y) = f(x_1) * ... * f(x_N), and the weight w is the product of source weights: w = w_1 * ... w_N computed as above.
The appropriate b can be selected experimentally.

Some more thinking and experimenting later:

The usefulness of the variable substitution is determined by how many samples we generate for the interesting values of y, which is the interval [-R..R] that covers most of the histogram buckets except, perhaps, the extreme catch-all buckets. For simplicity, however, just assume that [-R..R] is the buckets range.
In that range, the best coverage is obtained by a close-to-uniform distribution. Obviously, we also have to cover the values outside of the interval, but keep their probability relatively low, or at least prevent it from approaching 100%.
A perfect uniform distribution for [-R..R] is obtained by a linear variable substitution x = R*t, t in [-1..1]. To extend it to the full real axis, we adjust the substitution as follows: x = r*t / (1 - t^2b) where r = R, and b controls the width of the out-of-range regions, larger b makes the regions smaller, and hence less probable.
The derivative is x'(t) = r * (1 + (2*b-1)*t^2b) / (1 - t^2b)^2, and the sample weight is w(t) = f(x(t)) * x'(t).
A compounded sample y = sum(x_1, ..., x_N) near zero begins to approach the normal distribution pretty quickly for N of a few dozen, and certainly for N=250. The best way to keep it close to uniform in the desired range [-R..R] is to ensure that MAD of y is around R. This can be achieved by using r = sqrt(N)*R in the substitution for x.
Experimentally, the parameter b should equal b = ceiling(c*sqrt(N)); this consistently yields the out-of-range values with probability P( |x| > R ):

c = 1: P(|x| > R)  < 0.5
c = 5: P(|x| > R) < 0.2
Note, that higher values of c may lead to loss of precision in computing the weights, and losing even 50% of the samples is not bad if it keeps the precision higher.

To implement all of this, add a CompoundHistogramDistribution method which computes a HistogramDistribution out of an N-compounded source distribution using the above Monte Carlo method and the source's Prob(x) method. Reuse RandDistributionConfig, perhaps renamed, for the necessary parameters. The histogram can be computed in parallel, similarly to how it's done in RandDistribution.

Add an error estimation to each Histogram bucket as the sum of absolute distances between consecutive results (deviations). The error is the mean of these deviations.
Also, update PreciseEnough to consider epsilon as a relative error when [x-dev..x+dev] lies entirely on one side of 0. This, in particular, allows for correct error estimation of very small but strictly positive quantities such as histogram's weighted bucket values.

On error estimation, the most accurate way to parallelize it is to accumulate sum(y) (already done) and sum(y^2), and the error then is the variance
Var(err) = sum(y^2) / N - sum(y)^2 / N
Sigma(err) = sqrt(Var(err))

Can I use Welford's online algorithm for calculating variance?
Check out one of the references on that page: it's a tech report from 1983 (later published as a paper), which describes the exactly how to do it, including parallel processing.
The gist of it:

Accumulate

T_i,j = sum_{k=i..j} x_k` and
S_i,j = sum_{k=i..j} (x_k - Ti,j / (j-i+1) )^2

The desired Var(X) = S_1,N / N.
Combining two accumulators from two parallel runs:
T_1,m+n = T_1,m + T_m+1,m+n
S_1_m+n = S_1,m + S_m+1,m+n + m/(n*(m+n)) * (n / m * T_1,m - T_m+1,m+n)^2

In particular, for n=1 (adding a single sample within each parallel job) this reduces to:
T_1,j = T_1,j-1 + x_j
S_1,j = S1,j-1 + 1/(j*(j-1)) * (j*x_j - T_1,j)^2

As a refinement, find a constant shift d, e.g. as the first sample x_1, or the mean of the first few samples, and use x_i - d instead of x_i. It preserves the variance, but further reduces the rounding errors, so much so that even the classical sum of squares can be used with reasonable precision.

It's worth creating a separate data structure with an interface which estimates errors from parallel online sampling using the above technique. This should make it easy to instrument various points of use.

When adjusting the standard error of a bucket, we should not be adding zeros for the samples outside the bucket, since in fact they may result in non-zero p.d.f. values divided by the larger number of samples. Need to figure out the correct way to adjust the errors.

Histogram error estimates still don't make sense, since for weights equal 1.0 the error comes out exactly zero according to the formula (which is wrong), while weighted histograms apparently grossly overestimate the errors.
The most accurate way would be to update p.d.f. values for every column for every bucket update. This, however, increases the complexity of Histogram.Add to O(N*n), where N is the number of buckets and n is the number of samples.
Instead, we can run such a global error estimation update every k*N updates for some configurable k >= 1, so the amortized complexity is still O(n) and doesn't depend on N.


Setting socket buffer sizes

I've been looking through some C examples for some SocketCAN Netlink communications, and they all seem to set the socket buffer sizes. Like:
int sndbuf = 32768;
int rcvbuf = 1048576;

setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (void *)&sndbuf, sizeof(sndbuf));
setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (void *)&rcvbuf, sizeof(rcvbuf));

Is there a way to do this easily with this library - other than getting the socket file handle and doing it manually with libc functions? If it doesn't already exist, I can give it a try and send over a PR.

Hi @fpagliughi, sorry for the delay. I don't support this right now, but this is actually very interesting to me mainly because if we can set the buffer size to a lower value than MAX_NL_LEN, we can simplify some of the parallel buffer code a bit by only allocating buffers that are rcvbuf size. This would also eliminate an environment variable that I thought was a little bit clunky.
Does this mean that the data from .recv() is guaranteed to be less than or equal to rcvbuf?

Honestly, I have no idea. I'm still brand new to Netlink as a whole. I was just going through a number of different C libraries and examples for the SocketCAN use of Netlink to figure out the calls, and all of them set the socket buffer length. Like here:
https://github.com/lalten/libsocketcan/blob/b464485031b6f2a4e53d3ef1b3d405f9ba159c07/src/libsocketcan.c#L305-L307
My random guess was that it was a performance thing to reduce the trips across the user/kernel barrier if you were transferring large amounts of data.


mustCompile: enable detail trace

DetTracing enables "deterministic tracing", not "detail". But it might still be more detailed, so it might be what we want.
Do you have an example of where DoTracing vs DetTracing differ?

You probably want this as I explained in the issue.


How to get API key

Your example working absolutely fine for me when I'm sending any addresses using your key (Fmjtd|luur2hu1n5,2s=o5-9wawhy). However when I'm using my key (generated from Google Map API leys, https://developers.google.com/maps/documentation/javascript/tutorial) it not working and giving 403 Forbidden error. Can you help?

You will need to create a mapquest developer account and register for a key here:
http://developer.mapquest.com/web/products/open

Right, I already tried that. It will not allow you to create free key as well as Paid key? For now I am only trying to get free key. Could you please try that to create yourself once ? Please guide me

It appears MapQuest has recently updated their site and is now offering a variety of plans.  You can signup for the 'Free Trial' plan here:
https://developer.mapquest.com

Thank you. Could you please let know why following MapQuest's nominatim not working
http://open.mapquestapi.com/nominatim/v1/search.php?format=json&q=12 Queen Street STE 2 WORCESTER MA 16102411
Please guide ASAP

Nominatim is a service written by the folks at openstreetmap.  The documentation, http://wiki.openstreetmap.org/wiki/Nominatim does a very good job of explaining how to use it.


Persist WP data across app rerenders

https://www.joshwcomeau.com/react/persisting-react-state-in-localstorage/

used react-query instead, but with the experimental feature that persists the cache using localstorage


Merge multiple configs

I expect options to be merged instead of being overwritten:
config.yml
php:
    timezone: "UTC"
    error_reporting: 0
    ini:
        display_errors: false
        display_startup_errors: false

config_development.yml
php:
    error_reporting: -1
    ini:
        display_errors: true
        display_startup_errors: true

Expected result:
$app['php']['timezone'] contains "UTC"
Actual results:
$app['php']['timezone'] does not exist

This is currently not possible. Symfony does this by having a configuration setting per configuration tree.
Sorry this wont happen.


screen recording

Description of the new feature / enhancement
screen recording
Scenario when this would be used?
online course creation and other
Supporting information
No response

/dup #143


Add a license?

Hi there! Love your paper and really appreciate the implementation here. Are you able to add a license for this code? For example, tensorflow itself uses Apache: https://github.com/tensorflow/tensorflow/blob/master/LICENSE
Totally understand if this isn't possible, for some reason, but in any case thanks again!

Thanks for pointing this out. We added a license.


Download - Please Clarify how to add download link

Hi this looks amazing, thanks for maiking it available.
I'm strugling to add the dowload option this related with this plugin?

I have it disabled by default (https://github.com/rohit-gohri/redocusaurus/blob/da046b5fdb66d292f3423020cf083073bf47b37f/packages/docusaurus-theme-redoc/src/theme/Redoc/Redoc.tsx#L101), will add an option to override it.

Released v0.3.0. Added redocOptions in theme options.
You can pass it { hideDownloadButton: false } and download button should be visible.

Full config example:
[
      'redocusaurus',
      {
        specs: [
          {
            specUrl: 'https://redocly.github.io/redoc/openapi.yaml',
          }
        ],
        theme: {
          primaryColor: '#1890ff',
          redocOptions: { hideDownloadButton: false },
        },
      }
    ]

Let me know if you face any problems.


False Positive Status Definition

The only item that Status Definitions seems to be missing is "False positive". I know it's self explanatory. But, its useful to document for people developing around the service communications api. And the service communications api page doesn't list the status definitions that can come in messages.

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

ID: dd2a834a-296b-1c7d-7358-6f6a19f8f3c3
Version Independent ID: 9ab6adbe-c651-d833-f395-64b7cddb2dd2
Content: How to check Office 365 service health
Content Source: Enterprise/view-service-health.md
Service: o365-administration
GitHub Login: @JoeDavies-MSFT
Microsoft Alias: josephd

@adagioajanes I see the article contains already the missing information, so i guess it has been updated since you requested it.

@adagioajanes - Thank you for submitting feedback.
From our understanding, the issue you raised has been answered by VLG17. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!


Add support for Mustache partial templates

Mustache supports partial templates, which can be included in other templates. These partial templates are looked up in a table which is third parameter for lustache:render. I added support for this additional table, it can be used as second parameter for render_mustache and choose_mustache functions

This should have been merged ages ago :/. Apologies for missing this.


Fix dsExample logic double negative for focus on error panels

What is the context of this PR?
Error panel inputs are not focusing when clicking the link in the error panel header this fixes the double negative logic to stop this happening
How to review
Check that in the error prototype the error panels now focus on the inputs within them when the header links are clicked

 Error panels not focusing on input when header links clicked


Rename references to libndt7 throughout

The ndt7 library was originally part of a generic "libndt". Since removing the older ndt protocols in https://github.com/m-lab/ndt7-client-cc/pull/3 the name libndt is a misnomer. This change updates file names, paths, namespaces, includes, and other references to specifically mention libndt7 instead.
A future change will update references to "measurement_kit" with "measurement_lab" (or simply "measurementlab").
Part of:

https://github.com/m-lab/ndt7-client-cc/issues/2

This change is

The change set is large but the substance of the changes should be very simple in general, i.e. adding "7" to the end of references to libndt for libndt7, or LIBNDT7, or similar. @bassosimone if you'd like me to split it up differently, please let me know, and we'll find something that works better.


Remove the need for super calls by providing abstract methods

Requiring the user to perform a super call is not great because they might forget, and on the C++ side, its a bit messy with the templating. Further, on the C++ side since there is no super then the user must specify which parent node class to use, so if on_* functions are not implemented for each obelisk node type, then this will be very confusing for the user, unless every class implements all of them, which is silly in some cases. For another take on this, see here. It would be cleaner to provide an abstract method that we call in each on_* function. Then the user will be required to implement this function and we can guarantee that it gets called (and better yet, that it gets called at the right point in the function).

On the C++ side I have implemented OnConfigure(), OnActivate(), etc... that the user can override if they want an action to be called. It is always called last so that we can assure everything is setup for the user. The normal on_* methods are not overridable currently (but we can undo this change easily if we want).

We have removed the PostConfigure(), PostActivate(), etc... functions in favor of having the user call super. Note that all C++ classes now have all on_*() functions implemented so the user can always call super on the immediate parent class. We may choose to re-visit this in the futue.


updated to python 3

mostly using the automated 2to3 tool

hey @poldrack ! I think we updated this for python 3 long ago, so I'm going to close this. But thank you for your contribution, many years ago!


Files OAuth Full Data Plane Support

Work in progress, do not merge.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Storage.Files.Shares

TODO changelogs


Can't save flat rate calculator because of Psych::DisallowedClass

Encountered when trying to create a flat rate calculator in the Admin namespace.
As I have another project using the spree_backend gem without this issue, I'm reporting it here.
Context
This is a fresh spree_rails_frontend install (4.8.0). On a local machine using Rbenv.
Expected Behavior
Calculator is saved.
Actual Behavior
Psych::DisallowedClass in Spree::Admin::ShippingMethodsController#update
Tried to dump unspecified class: BigDecimal
/.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:571:in accept' /.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:331:in block in visit_Hash'
/.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in each' /.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in visit_Hash'
/.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in accept' /.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:574:in accept'
/.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:117:in push' /.rbenv/versions/3.3.0/lib/ruby/3.3.0/psych.rb:585:in safe_dump'
activerecord (<IP_ADDRESS>) lib/active_record/coders/yaml_column.rb:19:in `dump'
Possible Fix
Ensure class is permitted.
Add:
config.active_record.yaml_column_permitted_classes << BigDecimal
Reference:
https://github.com/rails/rails/issues/45826
https://stackoverflow.com/questions/74312283/tried-to-load-unspecified-class-activesupporttimewithzone-psychdisallowed

I am encountering the same error when creating a flat rate calculator for my Shipping Method. In addition I am encountering it when trying to add a flat rate Action to my promotion
Psych::DisallowedClass in Spree::Admin::PromotionsController#update


Prepare for 4.10.0 release

Signed-off-by: Ian Chen<EMAIL_ADDRESS>🎈 Release
Preparation for 4.10.0 release.
Comparison to 4.9.1: https://github.com/ignitionrobotics/ign-gazebo/compare/ignition-gazebo4_4.9.1..bump_4.10.0
Checklist

[ ] Asked team if this is a good time for a release
[x] There are no changes to be ported from the previous major version
[ ] No PRs targeted at this major version are close to getting in
[x] Bumped minor for new features, patch for bug fixes
[x] Updated changelog
[ ] Updated migration guide (as needed)
[ ] Link to PR updating dependency versions in appropriate repository in ignition-release (as needed):

Note to maintainers: Remember to use Squash-Merge

Looking at the diff, I think there are missing changelog entries:
https://github.com/ignitionrobotics/ign-gazebo/compare/ignition-gazebo4_4.9.1...ign-gazebo4
Also, we should have bumped the dependency requirements in ign-gazebo4-release, see the changes in CMakeLists:
https://github.com/ignitionrobotics/ign-gazebo/compare/ignition-gazebo4_4.9.1...ign-gazebo4#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20a

updates to ign-gazebo4 changelog:
https://github.com/ignitionrobotics/ign-gazebo/pull/1031
ign-gazebo4-release dep update:
https://github.com/ignition-release/ign-gazebo4-release/pull/6


Forking Broken?

V <IP_ADDRESS>2 Beta
Clicking on the Fork button seems to do nothing....

Thanks your feedback!
It does nothing when you click on repository you owned, are you saying about this?

Yes indeed
-------- Original Message --------
From: "无闻"<EMAIL_ADDRESS>Sent: March 19, 2015 8:37:08 PM GMT+01:00
To: gogits/gogs<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [gogs] Forking Broken? (#1095)
Thanks your feedback!
It does nothing when you click on repository you owned, are you saying about this?

Reply to this email directly or view it on GitHub:
https://github.com/gogits/gogs/issues/1095#issuecomment-83734630
Sent from Kaiten Mail. Please excuse my brevity.

Hi,
May I add somme input about this one?
Here is the situation:
As a user, I am the owner of a public repository and am member (and creator) of an organization.
When I am on the page of the repo at user/repo, I want to fork it under the organization in order to get a organization/repo repository.
So I click on the Fork button, and there is nothing.
Hope it could help to fix it.

I already said that haha

Just added some more details.
Also, I forgot this one: the installation I used to reproduce the problem is the v0.6.1 binary release.

It's a problem since 0.6.1

0.6.0* at least.

I have no problem using gogs Version: <IP_ADDRESS>7 Beta

I have no problem using gogs Version: <IP_ADDRESS>7 Beta
I login user2.
I fork user1/repo1 into org1.

@linquize can you login as user1 (which I assume is in org1 and has rights to create and fork repos) and fork user1/repo1 into org1?

But in previous test, user1 did not belong to org1

I understand the problem. You cannot fork your repo to your organization.
The fork button is no op.

If I transfer the repo to org1, gogs hangs. Need to restart gogs.
Transfer to a real user does not hang.

It is working now...


two-line-hologram-lift doesn't work

Running version 1.11.1
Changing the setting two-line-hologram-lift does not change the hologram lift ingame.
I've tried setting it ingame by /shop config and manually in the config file and restarting the server.

It does work for me 😕

Yes, two-line-prices is enabled.
See the full config: Pastebin

Ok, you're right, this works. But it only has an effect on shops with two prices. Shops with disabled sell or disabled buy price are not affected. This would be a nice enhancement to lift the hologram in all cases. You may call it hologram-lift instead of two-line-hologram-lift.


Add No Loud Comment rule

CC @jmesserly if you'd like to review as well... though not much to review 😛


invite_user: Convert overlay to dialog_widget.

Fixes #22957.

Hm, for some reason the "Invite users" modal is not opening for me at all -- the links in the right sidebar and the gear menu change the URL to http://localhost:9991/#invite, but no modal pops up.

@alya Fixed the issue. Ready for review.

Thanks!
We should make the Cancel / Invite buttons part sticky, like it currently is, so that you can always see it even in short windows.

Thanks!
We should make the Cancel / Invite buttons part sticky, like it currently is, so that you can always see it even in short windows.

#23033 is the PR for that.

@sahil839 Would you be up for reviewing this PR? It might be good to get this merged before @laurynmm works on disabling the invite flow in demo orgs when there is no user email.

@ganpa3 ca you rebase the PR? It would also possibly need some CSS changes since we have removed some bootstrap CSS rules.

I think the changes in #23529 will also need to be incorporated as well.

@ganpa3 ca you rebase the PR? It would also possibly need some CSS changes since we have removed some bootstrap CSS rules.

Rebased the PR. Ready for review.

Code looks good overall. Noticed a few issues -

The alignment of unit and the value input for custom expiration time is not correct.
The Generate Invite link is not enabled if I click on Generate Invite link just after opening the modal without typing anything inside email textarea.
The gear menu is not closed after clicking on Invite users option.
The Generate Invite link checkbox looks disabled and also the copy button for the link. This might have been the behavior before this change, so I think shouldn't be a blocker, but just thought of pointing out while we are working on this.

@sahil839 Made the changes. Ready for review.

Looks good to me overall. I guess we can remove static/templates/invite_user.hbs file now and also there is some unused CSS for #invite-user-link which does not exist anymore. Would be good to check if there is some other unnecessary CSS.

Made the changes. Ready for review.

The text in select elements does not look properly aligned to me, which I guess is due to change in font-size

Thanks!

I think this was discussed on another PR, but the big regression from my perspective is that the buttons at the bottom are not sticky.
Let's make the "Generate invite link" checkbox look the same as the stream checkboxes. It's quite odd to have it look totally different.

The following are not regressions from main, but would be nice to fix while we're here:

I agree about the "copy" button in dark theme -- can we make it brighter?
Can we remove the dragging option in the bottom right of the emails text field, or else have it drag the box down? Letting it drag it sideways (the way it currently does) doesn't seem useful, as the box already takes up most of the horizontal space, and I don't see why you'd want to narrow it.
If it's not too hard, can we make this selection box rectangular?

That's all I've got at the moment!

I think this was discussed on another PR, but the big regression from my perspective is that the buttons at the bottom are not sticky.

This will be fixed when https://github.com/zulip/zulip/pull/23033 is merged.

Let's make the "Generate invite link" checkbox look the same as the stream checkboxes. It's quite odd to have it look totally different.

Done.

Can we remove the dragging option in the bottom right of the emails text field, or else have it drag the box down? Letting it drag it sideways (the way it currently does) doesn't seem useful, as the box already takes up most of the horizontal space, and I don't see why you'd want to narrow it.

Made the dragging to be vertical.
Ready for review.

Hm, it looks like the changes didn't get pushed?

Hm, it looks like the changes didn't get pushed?

Pushed the changes. Ready for review.

Thanks, looks reasonable to me! @sahil839 Is this PR ready for Tim to take a look once it passes CI?

Yes, there is nothing more from my side. Can be reviewed by Tim once CI is fixed (which shows a lint error).

Did a quick review; overall looks great and I think my main concern is that we definitely want the https://github.com/zulip/zulip/pull/23033 behavior to apply to this modal. @sahil839 can you work with @ganpa3 to get to a state that you feel good about merging there?

@ganpa3 it looks like your rebased this -- can you respond to the comments above?

@timabbott Replied to the above comments and rebased. Ready for review.

Merged, huge thanks for all the work on this @ganpa3!
@laurynmm FYI, since I seem to recall you were waiting on this to do additional changes to the modal.


Generate R.string

Implements https://github.com/mac-cain13/R.swift/issues/41 and is based on https://github.com/mac-cain13/R.swift/pull/176
This builds on @renrawnalon's pull request. The code is refactored to be more in line with other generators, and to prepare for stringsdict parsing.
Basic support for format specifiers has been added, based on code from SwiftGen.

[x] Support single Localizable.strings file used as a string constants file.
[x] Support multiple Localizable.strings files in their respective .lproj directories.
[x] Support printf style string formatting (format specifiers).
[x] Create tests for format specifiers.
[x] Handle mismatched patterns in format specifiers
[x] Check if base translation should be special case.
[x] Generate comment with base translation.
[x] Create "LocalizableString" resources in R.swift.Libary, like for other resources.
[x] Generate "lets" with LocalizableString resources.
[x] Support multiple tables
[ ] Support .stringsdict files.

I've added a StringResource to the R.swift.Library and the generator.
This allows, for example, to print all translations of a key:
let string = R.string.settings.title

for locale in string.locales {
  if let path = NSBundle.mainBundle().pathForResource(locale, ofType: "lproj") {
    let bundle = NSBundle(path: path)

    if let localizedString = bundle?.localizedStringForKey(string.key, value: nil, table: string.tableName) {
      print("\(string.key) [\(locale)]: \(localizedString)")
    }
  }
}

This prints:
Title [Base]: Settings
Title [nl]: Instellingen

I've split out the stringsdict feature into a separate branch.
This pull request is feature complete and can be reviewed.

Alright, I say we'll merge this in and release a beta that we can put in some project to give it a try in the real world!

@tomlokhorst and @renrawnalon thanks a million for your work on this feature! It's awesome to have it in R.swift and I'm sure a lot of users will enjoy this! 👍


Return\add password retrieving feature

I want to raise Integration Quality Scale in HA.
This feature required for that

Related: https://github.com/home-assistant/core/pull/33302


Current webcast URL

What do you think of an endpoint to learn the location of the current webcast?
Which is normally available at https://www.spacex.com/webcast
and currently would be https://www.youtube.com/watch?v=yRiLPoy_Mzc
Additionally it would be nice to know if this is for a mission currently in progress.
I'm thinking of something like: app checks this endpoint and can tell the user, "hey there is a missions live now, and here's the video"
Not perfectly sure about the details yet, I might have a more exact idea soon.

One solution could be using the filter tag in the URL: https://api.spacexdata.com/v3/launches/next?filter=links.
It just downloads the specific links tag, then look for video_link.

Alright I'll try it for the next launch and see if the video link is available in time.
I'm just prototyping a new app, no time pressure

Generally the webcast link is added 24 hours or so before the launch, so you should have plenty of time.
Adding on to what @jesusrp98 said, you could even go a step further and use https://api.spacexdata.com/v3/launches/latest?filter=links/video_link, which only gives you the webcast link.

Also, if the latest webcast is always available in the page you linked, we could maybe write a script to grab that link for the most up to date source.


Unit path showing stay after moving a unit

When set a unit to go somewhere the path is shown correctly but when you cancel that movement by selecting it and moving the unit, the old path is still showing

might be a better idea to remove the unit path altogether as civ has its own version now.

Now the mod use the new vanilla RealizeMovementPath(true) on hover of the unitflag instead of the custom cqui implementation.


[2.0-Bukkit] NullPointerException on load; empty permissions.json

Hello!
I recently updated Spigot from 1.9.2 to 1.9.4, and at the same time updated PEX to build #125. Now when I start my server, a NullPointerException is thrown when PEX tries to load. It appears PEX tried to convert my permissions.yml to permissions.json, but the new permissions.json file is empty. My server won't let me connect anymore, which I realize may or may not be related. Update: My server is letting me connect now, so that issue appears unrelated after all.
I updated PEX to build #128, but this did not fix the problem.
I've attached recent server logs (since the original update) and PEX configuration files. When you have time, would you mind taking a look? (It's entirely possible I messed something up.)
Thank you so much for all your work on this plugin! Please let me know if more information would be helpful.
Environment details:
OS: Windows Server 2012
Java: 8 update 91 (64-bit)
MC: Spigot 1.9.4
PEX: build #128
PEX Issue.zip

This has been fixed in 8ef4d5e. You'll have to delete the permissions.json and rename permissions.yml.legacy-backup back to permissions.yml -- there was an issue causing PEX to think it hadn't converted yet when it had, and try to convert a file that didn't exist anymore (permissions.yml), which it interpreted as an empty file, overwriting the permissions.json.


Add docs for auto-rehoming of RBR tables

Fixes #11214
Fixes #11454
Fixes #11212
Depends on a link that will exist once we merge #12035

Hey Arul are you OK with this after the latest changes?  Sorry to ping, trying to wrap this and a couple other things up by the v21.2 official release date

Thanks Arul!


Date and time

Hi
When obtaining the list of directories, is it possible to obtain the date and time of modification?

currently
cURL_FTP_GetDirList returns

the raw response in dirList (text)
more information from ftpparse (collection)

the precision of mtime depends on the server response.
the plugin sends the FTP LIST command.
if mtimetype is REMOTEDAY the time would be missing.
https://everything.curl.dev/ftp/dirlist
perhaps it should send MLSD

ftpaparse doesn't support MLSD so the text is detailed but the collection becomes empty.

https://github.com/miyako/4d-plugin-curl-v3/releases/tag/4.5.0


Style/code the home page

Code and basic styling done for home page
closes issue #2

Changes look good ! Merging them with Admin privileges.

Thanks for the review @KirankumarAmbati . Merging this PR now.


Area limit and double.Nan causes a wrong plot

How to reproduce?
Create a line series that uses both features, double.Nan, to split the points, and set an AreaLimit different to default:
Extra notes

I am using

Live-Charts version
0.9.6

.Net Version
*

Windows
*

No, I'm just inept.  No longer an issue in the most recent version.

@PixelHero confirmed that this is not an issue in the latest nuget version.
Thanks!


[ID] The Browse Grants table should be sorted by Open Date by default

@mhuang-usdr : I think you mean 'sorted by Open Date with most recent first'? Also, I'm assuming this doesn't affect the "My Grants" tab.

@chrisxkeith you are correct on both fronts. I'll update the title to reflect that.

I turned on SQL statement logging to see what sorting is being done in the database. That SQL shows 'order by "created_at"', which indicates to me that the sort-by-close-date is done either in the server or client. Searching packages/server/src shows one orderBy in db/index.js, but I don't see that query in the Postgres log. Searching for ‘close_date’ in packages/client/src doesn’t show me anything that looks like code (or configuration) that would sort on that field.

For the Browse Grants tab that this issue is about, you want the main getGrants accessor and its query; it seems you are looking at two other queries that are used for other pages:

I turned on SQL statement logging to see what sorting is being done in the database. That SQL or this link shows 'order by "created_at"'

This is a different query, in getGrantsInterested, that feeds UI on the dashboard and recent activity pages; not the Browse Grants page.

Searching packages/server/src shows one orderBy in db/index.js, but I don't see that query in the Postgres log

This is also a different query, in getClosestGrants, that is used for the dashboard and "upcoming closing dates" pages; not the Browse Grants page.

Searching for ‘close_date’ in packages/client/src doesn’t show me anything that looks like code (or configuration) that would sort on that field.

Indeed, the Browse Grants page does not currently specify any sorting in its DB query in getGrants (as mentioned on Slack, an orderBy field is supported in getGrants, passed to it from the API endpoint (called here), and listed in GrantsTable.vue but never set to a non-empty string right now; so the query does not get an ORDER BY clause at all).
When an ORDER BY clause is not specified, SQL does not prescribe what order rows are returned in (it sounds like Postgres returns rows in the order they were last updated but don't rely on this; it's undefined behavior). Indeed, when I look at this page, I don't see any apparent sorting by date:

I think for this task what you'll want to do is update GrantsTable.vue to properly set its orderBy data field (both initially and when the user clicks the sort buttons) and make sure that it gets passed properly through the VueX action, the XHR to the endpoint, the call to the getGrants accessor, and the DB query (it looks to me like it does, but since this code path appears unused, would be good to test once you start using it with non-empty orderBy; also add some tests in grants.test.js for this).
I think docs on BootstrapVue's b-table sorting functionality (which is purely clientside, hence currently only sorts a single page worth of rows) will be useful, particularly the part about using .sync to make sort-by a two-way binding so that you can respond to the user changing it by updating orderBy.

Thanks so much, Matt!

so the query does not get an ORDER BY clause at all).

So I'm not completely :) crazy.

I don't see any apparent sorting by date

I should have looked more closely. I guess the data in my local database looks close enough to being sorted that it fooled me.
I will talk with the team on this morning's meeting to see whether I should do a quick fix for this bug (a fix which doesn't pass the sort criteria to the backend), or just close this one and go back to  https://github.com/usdigitalresponse/usdr-gost/issues/425 .

whether I should do a quick fix for this bug (a fix which doesn't pass the sort criteria to the backend), or just close this one and go back to https://github.com/usdigitalresponse/usdr-gost/issues/425

I don't think setting a default clientside sort for only one page of unsorted data would make any sense; I'd just do #425 based on my suggestion above (I missed that there was a separate task for that) and then this is a very small incremental change on top of that (changing the initial value of orderBy)

@chrisxkeith: I'm assuming this doesn't affect the "My Grants" tab.
@mhuang-usdr: you are correct on both fronts. I'll update the title to reflect that.

Is there a good reason this shouldn't affect both places? Both My Grants and Browse Grants tabs share the same GrantsTable.vue component and endpoint (just with different filtering)

I don't think setting a default clientside sort for only one page of unsorted data would make any sense

I agree. I'm closing this issue and will start work on the other soon.

Both My Grants and Browse Grants tabs share the same GrantsTable.vue component and endpoint (just with different filtering)

I'm fine with this.


go.dev: gopherbot should add go.dev label automatically for issues with "go.dev" prefix

Now that the issue tracker is open to issues for go.dev, we will use the go.dev label for issues. Gopherbot should automatically add the "go.dev" label for these labels.

FWIW, I’m not sure if this is working yet, e.g.,
https://github.com/golang/go/issues/36986

Thanks @thepudds! We haven't deployed gopherbot yet. I am working on that this afternoon.

This has been deployed.


Changed return of the facter script.

We had to redo that part as this was giving errors ("Could not retrieve fact='server_service_installed', resolution='': ...). This was solved by removing the return statement.
We also renamed the facts as we want to avoid conflict (facts are global).
No return statement needed.
Added facter naming changes where they are used
Changed to coherant naming.

Thanks for the pull request @nnmathieugrin. However, stopping services has been entirely removed in Commit db36c14. This also rendered the facts you provided in your pull request deprecated.


Sound is set to max volume everytime when resetting

The sound is set to max volume every time the saber is turned on from completely off. When I get to the volume setting, the volume turns back down to the user settings; but when I reset the saber, the volume is set to max again.
I have CS_VOLUME in front of CS_LASTMEMBER. I changed it from the default CS_LASTMEMBER in front of CS_VOLUME.

I added a piece of code in the setup() routine to set volume to max (31) CS_VOLUME>CS_LASTMEMBER, i.e. if the user do not want to be able to change the volume settings. For my test sabers I removed volume as I want full volume if I swing my saber. But thanks for the hint, I will have a look.
BTW, you can also easily find the place in the code where volume is manipulated, just look for dfplayer.SetVolume. Maybe you find the problem faster than I do. Did you have the problem before this release too?

I didn't have the problem before this release. The only problem I had was the menu increasing increments when cycling through the config menu.
I also found another problem with the volume. Everything is saved at their last setting except the volume. When I return to the config menu and get to the volume setting, the volume is incremented twice.
I tried putting CS_VOLUME after CS_LASTMEMBER while also putting SetVolume to 15 in the code area where it defaults, but it still defaulted to max volume.

Try the new build and let me know it fixes your problem. Volume auto-increment should also be fixed now. It works well on my side.

It works now. All the issues that I brought up are fixed.
Is the light supposed to be off for Ignition Style?

Yes, at the moment there are multiple ignition types only for segmented LED strings. Pixelblades and Star LEDs do not have any, it's a place holder for future development. Want to contribute :o) ?


build: fallback BOOTSTRAPPING_MODE before the first use

BOOTSTRAPPING_MODE was used before it's fully determined by a falling back logic (the fallback is introduced recently by 9017ef51ce14f478adf2ec2640a24f3d7ce40aee).
It results in validation test failure with --bootstrapping=bootstrapping --enable-array-cow-checks on Linux, which is used by buildbot_incremental_linux_crosscompile_wasm^1.
This PR just moves the code block for loading earlyswiftsyntax targets and falling back BOOTSTRAPPING_MODE before the first use of the variable.

preset=buildbot_incremental_linux_crosscompile_wasm
@swift-ci Please test with preset Linux Platform

preset=buildbot_incremental,tools=RA,stdlib=RA
@swift-ci Please clean test with preset macOS

@swift-ci please smoke test

OK, but

It results in validation test failure with --bootstrapping=bootstrapping --enable-array-cow-checks on Linux, which is used by buildbot_incremental_linux_crosscompile_wasm

Now that --bootstrapping=bootstrapping is not supported in linux, so SWIFT_ENABLE_ARRAY_COW_CHECKS is now practically always FALSE?

Yes, this is intended to be a quick fix to unblock other PRs. Will update the presets themselves separately 👍


push notification failure

Hey guys,
My app push notifications suddenly stopped working :(
the reply I get from Ionic is:
"statusCode" : 201,     "body" : {         "data" : {             "app_id" : "486aaf62",             "state" : "enqueued",             "status" : "open",             "uuid" : "49d0f418-4e6d-4ab0-948b-b1b135e09d67",             "created" : "2016-06-15T03:00:14.154299+00:00",             "config" : {                 "notification" : {                     "android" : {                         "data" : {                             "notId" : 100,                             "title" : "New Current Score",                             "message" : "Your bid was outbidden and therfore refunded.
                             Your updated current score is: 2023958."                         }                     },                     "ios" : {                         "title" : "New Current Score",                         "message" : "Your bid was outbidden and therfore refunded.
                         Your updated current score is: 2023958."                     },                     "message" : "Your bid was outbidden and therfore refunded.
Your updated current score is: 2023958."                 },                 "profile" : "winnerz",                 "tokens" : ["eFmTWZeZCWk:APA91bFbJ4uS6lHytmjEUCaECMMUZQf3JoMEAORq1hUWRjYlDHh_NfdCGJasd86KAUHKEMUoCwf1yoFPSKU3fkPC_EGfFgfSPoEWumn1qj5fS8nTbM0J6MEO3-                     C-bza8Pa6V8U2LYNDe"]             }         },         "meta" : {             "version" : "2.0.0-beta.0",             "request_id" : "93f29df0-a2c9-44d6-995c-70f9015c40e1",             "status" : 201         }     },
Trying to send push from the ionic dashboard also gives an error:
"unable to save push, please contact support"
Is it a general issue or something specific for my app??
Thanks

Hi, @asafco4. I had same errors. Is it working for you now?

Yes,  it's working for me.
Verify that you didn't unregistered the token
On Dec 23, 2016 03:27, "Segi Henggana"<EMAIL_ADDRESS>wrote:
Hi, @asafco4 https://github.com/asafco4. I had same errors. Is it working
for you now?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/driftyco/ionic/issues/6914#issuecomment-268962373, or mute
the thread
https://github.com/notifications/unsubscribe-auth/APVIBLSASGG2LX2GrPtAwSz1eY8v9LVTks5rK5PqgaJpZM4I19YU
.


Wandb==0.8.16 is incompatible with installed version of graphql-core==0.3.0

See https://github.com/wandb/client/issues/692

fixed


Ability to add MX records

I'm searching where to add it but no way to find where to add an MX record.
Is it possible ? or planned ?
Thanks :)

[ Quoting<EMAIL_ADDRESS>in "[skydns] Ability to add MX records ..." ]

I'm searching where to add it but no way to find where to add an MX record.
Is it possible ?

No.

or planned ?

don't know... a SRV has a lot of simularies with an MX record, so I should not
be that hard.
/Miek
--
Miek Gieben

how do actually envision this? Usually MX records are limited to < 5 records. If I would say all records in SkyDNS can become MX records you'll end up with a lot of (potential) records. Another thing would be to extend msg.Service with some kind of Type thingy. Both ways have drawbacks.

my first idea was something like mx=true
This keep the logic of text records and cname auto sense
Plus it's easier to implement and lower memory footprint
For the 5 limit it's the sys admin problem not skydns one :)

Hmm, yeah, indeed for TXT I added a Text member to the msg.Service struct. So maybe a Mail boolean makes sense here.

It's the only missing feature before having a fully functional DNS server with super easy etcd backend
It's really great work !

Thanks :)
Yes, mx records do complete the set of the "most-used-records".

MX records are now supported.

Thanks Miek :)
I've just finished my own cluster and thinking again about the type variable
With the type field it become easy to use skydnss etcd to dynamically configure haproxy trough
Confd
It can become a central registry for the inside and  outside cluster
What do you think ?
Sorry for beiing late and thanks again for the mx support :)

dunno, I don't really want to extend msg.Service any further.
Can you just use etcd directly for this?
On 5 May 2015 8:54 pm, "Vincent Vermersch"<EMAIL_ADDRESS>wrote:

Thanks Miek :)
I've just finished my own cluster and thinking again about the type
variable
With the type field it become easy to use skydnss etcd to dynamically
configure haproxy trough
Confd
It can become a central registry for the inside and outside cluster
What do you think ?
Sorry for beiing late and thanks again for the mx support :)
—
Reply to this email directly or view it on GitHub
https://github.com/skynetservices/skydns/issues/161#issuecomment-99202462
.

You're totally right, I will keep it separate. Thanks again !


Clarify Max_distance for Sniping

Added a comment to the map config example to clarify the max_distance variable.

@mjmadsen here, hope this helps.

Would you mind adding to configuration_files.md as well? Maybe note the unit (meters?).

Yes, done so. Unit is in KM, calculated with the Haversine formula.

:-1:

:+1:
Thanks for the PR!

Aw shoot. Does this have the recent changes to configuration_files.md (merged last half hour).

Now it should

:+1:


Error: unrecognized flag --harmony_destructuring

I'm writing a Foxx service using ES6.  However, I got the error, Error: unrecognized flag --harmony_destructuring. Not quite sure why it's doesn't work. My node version is v5.6.0.

While ArangoDB uses V8 as node does, it doesn't use the same version (see #1513 )
Use the corrosponding call to V8 to find out the supported options:
arangod --javascript.v8-options="--help" /tmp/dummydatabase

Thanks for your response. Is there any timeline that you're going to integrate the latest version of Node? Or, could you give some suggestions on the current best option I could do to write ES6 in Foxx?

ArangoDB doesn't use Node. It embeds V8 like Node does.
There were a lot of breaking changes in V8 since v4.3.61 (which ArangoDB
uses), which makes it rather difficult to update. But work is in progress
to make that upgrade happen. Chances are good, that ArangoDB 3.0 will
feature a much newer V8.
Note that destructing hasn't landed in a stable V8 yet. It should arrive
soon though with the next major Chrome release (which will mark the point
of a stable V8 4.9).
Your best option is a transpiler like BabelJS at the moment I guess.

Ok. Thanks @Simran-B.

hi @lvarayut, meanwhile we released ArangoDB 3 with V8 5.0; As you're the author of https://lvarayut.github.io/relay-fullstack/ - have you seen this question on stackoverflow? http://stackoverflow.com/questions/38158327/arangodb-foxx-with-relay-framework
Maybe @pluma and you could write a cookbook about how to combine foxx and relay fullstack?

@dothebart, Thanks for asking. That would be great to have the cookbook. Where would you like to create a cookbook?

The cookbook repository is here:
https://github.com/arangodb/cookbook
And it is hosted here:
https://docs.arangodb.com/latest/cookbook

I'm very busy this month. Will check it out asap.


Large files in history making it hard to clone

There's a number of large files in the history that are making it hard to clone foldamers - I'm going to try to remove them from the history.

Have we dealt with all the unnecessary large files? I remember we got rid of a bunch.

So, it's down from 2 GB to 200 MB.  I think right now it's usable, so I would probably wait until we have more of the examples sketched out to know what files should be in the final release.  So maybe put this on as pending before a release.


error[B0002] when attempting to run load_vrm example

I have a brand new binary project called bevy_example
Dependencies
bevy = "0.13.0"
bevy_vrm = "0.0.8"
I have replaced main.rs with the code written in the load_vrm example.
I have changed the asset directory path to point to asset directory
It compiles fine, but exits imminently with an error in draw_springbones
│[m@jahl bevy_example]$ cargo run                                                                                │
│    Finished dev [unoptimized + debuginfo] target(s) in 0.14s                                                                                │
│     Running `target/debug/bevy_example`                                                                                │
│2024-03-09T21:37:05.727246Z  INFO bevy_winit::system: Creating new window "App" (0v1)                                                                                │
│2024-03-09T21:37:05.727802Z  INFO log: Guessed window scale factor: 1                                                                                │
│2024-03-09T21:37:05.875800Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon RX 5600M (RADV NAVI10)", vendor: 4098, device: 29471, device_type: DiscreteGpu, driver: "radv", driver_info: "Mesa 24.0.2-manjaro1.1", backend: Vulkan }                              │
│2024-03-09T21:37:06.364992Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux 23.1.3 Manjaro Linux", kernel: "6.6.19-1-MANJARO", cpu: "AMD Ryzen 7 4800H with Radeon Graphics", core_count: "8", memory: "7.1 GiB" }             │
│thread 'main' panicked at /home/m/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.0/src/system/system_param.rs:542:13:                                                                                │
│error[B0002]: ResMut<bevy_gizmos::config::GizmoConfigStore> in system bevy_example::draw_spring_bones conflicts with a previous Res<bevy_gizmos::config::GizmoConfigStore> access. Consider removing the duplicate access.                                                     │
│note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace                                                                                │
│Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!

However if I comment the 3 lines dealing with the config it launches okay, just without the change in the config

Thanks for the report. My pc is being weird right now but I think I just fixed it, was an issue in the load_vrm example.


Fix/hbk nodeset include

Type of change
Please delete options that are not relevant.

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

Checklist:

[x] Pull request title reflects its content
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Description:
Fixes an invalid memory access by using hbk nodeset.

I have tested if with a HBK device and it works.


SourcePath not made clear it is relative to the hypervisor when executing remotely

After reading the documentation, I understood I would be able to remotely copy a file from my workstation to a VM via its hypervisor with the following command:
Copy-VMFile -ComputerName <hypervisor> -VMName <VMname> -SourcePath <file on my workstation> -DestinationPath <path on VM> -FileSource Host
However, I have learnt from trial and error that -SourcePath is a path to a file on the hypervisor only. This is not made clear anywhere on this page.
Suggestions:
The document summary should be more verbose to explain this functional limitation. "Copies a file to a virtual machine from its hypervisor."
Disambiguate the value "Host" for the required FileSource parameter: Host refers to the Hyper-V host machine. --I can't understand why this parameter is required when it only accepts one value, but I know that's not a question for the documentation team.
Explain that the SourcePath parameter is a path on the Hyper-V host machine, not the machine executing the Copy-VMFile command when it's done remotely by specifying the ComputerName or CimSession parameters.

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

ID: c94869f3-0ff2-5d02-e45b-2fabcd78b0a0
Version Independent ID: 9767d17f-bd62-bd26-cc27-17b1a1c1eb1f
Content: Copy-VMFile (Hyper-V)
Content Source: docset/winserver2022-ps/hyper-v/Copy-VMFile.md
Product: w10
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Make samples work

Samples should be clean and working! It is the guidance for new users!
It had caused me time and a great deal of frustration to figure out why taxonomy fields modeled after the samples would not show up in the search crawled properties. I had tried a number of things to fix it: reset search indexes and re-crawled everything, forced re-indexing on lists, nothing seemed to help... Until I found articles that talk about prefixing the hidden taxonomy note fields with TaxHTField... I do not know the exact details how SharePoint registers the note tax field when it is created through the UI as even though the internal name does not start with the prefix, search crawling works for those fields, but when tax fields are provisioned using other methods, it requires the prefix. Must be a bug in SharePoint Search...
WebPart elements must have Zone attribute specified. It is missing in the 2018-05 full sample (line 540), violating schema:
<pnp:WebPart Column="1" Row="1" Title="Script Editor">

Bottom line is, please fix the samples! And, test them before publishing! There was a number of other issues with the samples last time I tried.

Hi,
I would suggest you exporting those kinds of fields from a live template site, rather than manually writing XML. Nevertheless, we fixed a while ago some issues related to taxonomy and to the field prefix you're talking about. I would suggest you trying again with the latest version of the engine. In case of any further issue, feel free to re-open this item. Thanks.


Accept Consent Not Working

i am trying to accept consent request but i keep. getting the following error
resp, err :=  worker.Admin.AcceptConsentRequest(&admin.AcceptConsentRequestParams{
		 Body:             &models.AcceptConsentRequest{
			 GrantScope:               scopes,
			 Remember:                 remember,
		 },
		 ConsentChallenge: challenge,
		 Context:          ctx,

	 })

it fails with the following response..
response status code does not match any response statuses defined for this endpoint in the swagger spec (status 400): {}
in hydra logs i get
level=error msg="An error occurred while handling a request" code=400 debug= details="map[]" error="json: unknown field \"handled_at\"" reason= request-id= status=
i updated hydra and now the error says
ERROR: column "handled_at" of relation "hydra_oauth2_consent_request_handled" does not exist (SQLSTATE 42703) StatusCode:500}
exit status 1

Looks like you're missing the proper SQL Migrations. I would recommend start with a fresh system and retrying based on the documentation. The errors stated do not actually have to do anything with the SDK, so I'll be closing this.


DIFGSM fix input_diversity transform probability

Diversity_prob = 1.0 doesn't apply transformation. Since torch.rand(1) is always less than 1.0, x is returned

Thank you, good catch.


Fix terminology consistency

Fixed:
Replaced sub-package with subpackage for consistency and correct terminology.
Why it's useful:
This change ensures consistency in terminology, improving readability and accuracy.

Hi team! Could someone please review and merge my pull request? Let me know if any changes are needed. Thanks!
@gipsy86147 @josharian @devrandom


Matcher: greaterThan flacky

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.greaterThan;

String balanceCurrency = somePage.balance("currency").shouldNotHave(text("----")).getText();
assertThat("Balance in not enough: ", balanceCurrency, is(greaterThan("100000000000.0000")));

Actual balance is: 7603.5911
Assert should be False and describe why, but it not fails.
But if I change "100000000000.0000" to "99999999999999999999999999999999999999999999999999999.0000" it now will fail with proper message.

the variable balanceCurrency is a java.lang.String, hamcrest does not magically covert strings that look like numbers.
You'll need to change it to a Float or Double depending what range and precision you need for this field.
Double balanceCurrency = Double.valueOf("7603.5911");         assertThat("Balance in not enough: ", balanceCurrency, is(greaterThan(Double.valueOf("100000000000.0000"))));
Hamcrest should probably thrown and exception for this use case as it doesn't make sense for an end user the combination of string and greaterThan.

Hamcrest should probably thrown and exception for this use case as it doesn't make sense for an end user the combination of string and greaterThan.

greaterThan makes perfect sense for anything that implements Comparable, including String.
I certainly agree with the invalid label on this issue - can someone just close this please?


[castlemock]

https://github.com/cnieg/helm-charts/blob/92b4e3ff0c96c585025645ab1c01f83523228746/charts/castlemock/templates/deployment.yaml#L54
This values must be overriden in values.yaml cause startup can take more time

@audig This issue seems already fixed, it can probably be closed, right?

already fixed


Feature suggestion: Insert fields with constant values

A feature that I don't see in 0.9.6 that might be useful to add: insert new fields into a data set with a constant value.
Example use case: you have a set of files, each of which has data that pertains to a different date.  The dates are in the file names but not in any field in the file.  You would like to merge them into one data set, but still be able to tell which record came from which file.  So you'd do something like:
for date in `generate-dates 2015-04-01 2015-06-30`
do
    xsv insert columns file_date:"$date" file_${date}.csv > file_${date}_with_file_date.csv
done

xsv cat rows file_*_with_file_date.csv > file_2015Q2.csv

I can see how this might be occasionally useful.

Seconding the request this insert ability, and expanding on the use case for insert row. Something I currently do occasionally with jq is use it to generate properly-formatted JSON; I would love to be able to do something similar for CSV with the guarantee of all the quoting and escaping.
For example, with jq, I might do:
JSON_TEMPLATE='{$filePath, $size, $mtime}'
JSON=$(
    jq -n -c\
    --arg 'filePath' "$PATH" \
    --arg 'size' "${SIZE}" \
    --arg 'mtime' "${MTIME}" \
    "$JSON_TEMPLATE"
  )

to generate a line like {"filePath": "...", "size": "...", "mtime": "..."}
Going off of the syntax suggested by the OP, this could be something like:
xsv insert row filePath:"$PATH" size:"$SIZE" mtime:"$MTIME" > file.csv

or even something lower-level, like
xsv format "$PATH" "$SIZE" "$MTIME" >> file.csv

to allow for specifying various options (delimiter, line endings, column types, etc).
I'd be okay hearing that this is out of scope for this project, but it feels like it would be nice to have in a CLI "toolkit"

I need this today

Not as convenient and requires an extra file, but this is already possible with a cross join:
cat > table.csv <<EOF
a,b
1,2
2,4
EOF

# file for fixed column
cat > fixed.csv << EOF
c
FIXED
EOF

# add the column to table.csv
xsv join --cross 1 table.csv 1 fixed.csv

This results in the following output:
a,b,c
1,2,FIXED
2,4,FIXED


Add ok-to-test label to dependabot config generator

This will allow to automatically run tests without adding this label trough command.

/approve
/lgtm


Extend runtime header search logic to conda

As CuPy also needs a bit of help searching for headers in the conda case, extend the logic used to search for wheel headers in PR ( https://github.com/cupy/cupy/pull/8489 ) to also search for conda headers. In particular this searches the targets directory for the platform where CuPy is being run on so that it can find headers there.
Fixes https://github.com/cupy/cupy/issues/8466

/test mini

Thanks Kenichi! 🙏


/dev/kvm not accessible inside docker container when running with sysbox

We need access to kvm in our docker machines to open android emulator instances.
We pass kvm to docker container via --device=/dev/kvm flag. This works fine without sysbox, but when --runtime=sysbox-runc is also present at container start, Android Emulator will not start, but it will complain that This user doesn't have permissions to use KVM (/dev/kvm).. User inside container is root.
Any idea what could cause this and how could we get it to work?

Hi @matejdro, thanks for giving Sysbox a try.
Unfortunately accessing /dev/kvm inside the Sysbox container is not yet supported (and we don't have short term plans to do this).
The problem you are likely facing is that Sysbox containers use a "fake root" (i.e., Linux user-namespace), so root in the sysbox container is not the host's real root and therefore has no permissions to access the /dev/kvm device (which shows up with nobody:nogroup ownership inside the container).
To overcome this, Sysbox would need to make that device show up with proper permissions inside the container, either by leveraging shiftfs, ID-mapped-mounts, or emulating the /dev/kvm device. Unfortunately, shiftfs is being deprecated, ID-mapped-mounts won't likely work on /dev/, and Sysbox emulating /dev/kvm  would work but may have a performance hit (not sure how much).
Out of curiosity, what is the use case you are after? (if you can share).
Thanks!

Our use case is having a single docker image for CI that can handle both Android instrumented tests (for which we need access to /dev/kvm) and running docker commands inside (docker-in-docker) for backend tests and building.

special consideration is needed so that the container can't get around the container's cgroup restrictions (cpu accounting etc) if the host's /dev/kvm is directly exposed to the container, not?

special consideration is needed so that the container can't get around the container's cgroup restrictions (cpu accounting etc) if the host's /dev/kvm is directly exposed to the container, not?

Likely yes; whenever you expose hardware directly to the container, the problem of how to ensure containers are bounded on their use of that resource comes up and it can be challenging to solve unless the kernel has the constructs that would allow that resource to be limited.

Any known workarounds for this yet? Would like to use sysbox for all docker and dind cases, but currently have some android test cases that need /dev/kvm .


Add the SSL metrics to the prometheus exporter

The below issue added SSL detection to Vaguer, however, for the metrics/monitoring to fully use this we need the SSL metrics adding to the prometheus exporter.

https://github.com/vegaprotocol/vaguer/issues/16

tasks (STC):

[ ] check if we do indeed need the SSL metrics adding to the prometheus exporter or if there is a different process OPs should be aware of
[ ] Add the SSL metrics adding to the prometheus exporter (if required)
[ ] Let @mirdhyn know the outcome of the above to unblock the following OPs issue

Closing as this has already been implemented


Consistent handling of ALV (ABAP Language Version) during pull/push

Dear abapGit community,
With the 7.52 release, SAP provides the usage of the ALV (ABAP language version) information in the onPrem world.
In order to support a consistent handling of the ALV across the different abapGit "flavours" (Open Source / part of SAP BTP ABAP), we are currently working on a concept/proposal (also referring to issue #5921).
The idea is to use this issue to discuss the topic and its boundary conditions as well as collect feedback.
Further links:
https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenabap_versions.htm
https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/abenabap_versions.htm
https://blogs.sap.com/2022/09/09/abap-language-versions-faqs/

a. Dont serialize ALV to files
b. During deserialization set the ALV according to the ALV from the package

Appreciate the initiative, Thomas 🙏
a. agree
b. agree, but needs clarification if package does not exist (yet)
c. specify "orignal ALV" and a list of "compatible-with ALVs" in repo settings

b. IMHO, require users to always create packages manually, we cannot automatically determine things like transport route
c. nice to have

Somewhat off topic, I am seeing the use of the acronym ALV for ABAP Language Version here for the first time. Is that a fixed term? (Many people might get confused with the ABAP List Viewer :P )

Somewhat off topic, I am seeing the use of the acronym ALV for ABAP Language Version here for the first time. Is that a fixed term? (Many people might get confused with the ABAP List Viewer :P )

Not it is not - but often used inside SAP. It can easily cause confusion because of the ABAP List Viewer. We should not use it here.

so, it turns out that in on-prem it is possible to have a package with mixed ALVs, ie. ignoring the field in serialization would loose information.
the nice world would be developers using the ALV on package level
so perhaps, by default ignore ALV, but have a setting(in .abapgit.xml) which will enable serialization of the field
hmm

The language version on package level is just the "default" when creating new development objects in that package.
But the language version of individual development objects can be change to other language versions. AFAIK each package (or software component) also contains a list of allowed language versions. When you try to change the language version it is checked if the package / sw component does allow it and if you have the needed authorization for it.

The language version "ABAP for cloud development" on package level is enforced if the package is part of a software component that uses ABAP language version 5.
Setup Developer Extensibility

Just as a reference. There was a discussion on the topic related to ABAP language version and ABAP file formats in issue https://github.com/SAP/abap-file-formats/issues/44

so, it turns out that in on-prem it is possible to have a package with mixed ALVs, ie. ignoring the field in serialization would loose information.

Yes, this is possible. @BeckerWdf confirmed the same. This was also the reason why I wanted this field (at least as optional information) per object in the ABAP file formats. There we need the possibility to ensure to keep the ABAP language version of an object.
I guess, it wouldn't be an issue to specify the ABAP language version per object (as it is for other object-specific property) if there weren't the need to work with repositories in different releases (releases which support the ABAP language version as property and releases which don't).
This situation would lead to the fact that abapGit serializes object differently (dependent on the release). Same situation as for other fields which might be introduced in later releases, but are unknown in lower releases. Since ABAP language version affects a broad range of object types this might lead to diffs for almost all objects in a repository. :(

so perhaps, by default ignore ALV, but have a setting(in .abapgit.xml) which will enable serialization of the field

I am in favour in storing the ABAP language version per object (since it is a property of the object). However, I can understand the issue with the serialization/large diffs. Therefore, I guess @larshp's proposal to provide a configuration in the repository could be a solution for abapGit.
If this approach is taken, we should be aware of the implications if no ABAP language version is not serialized (due to the setting):

There is no option to have mixed ABAP language version in a repository
If we don't store any further information (e.g., in the repository) which ABAP language versions the objects shall get. The ABAP language version might not be set in the target system. If we take up the approach of set this information manually on the root package of the repository, each developer would have to set it manually
If the ABAP language version for the repository is not consistent specified (at least for systems which support the ABAP language version ;), developers might use functionality which are not supported for ABAP language version to be used in ABAP Cloud. I.e., they might introduce usages of non-released APIs or use statements which are not allowed in ABAP Cloud.
Most probably there are further implications ;)

In any case, we would need a clear contract for abapGit how objects are deserialized in systems which support ABAP language version if the ABAP language version was not specified for the object.

This situation would lead to the fact that abapGit serializes object differently (dependent on the release). Same situation as for other fields which might be introduced in later releases, but are unknown in lower releases. Since ABAP language version affects a broad range of object types this might lead to diffs for almost all objects in a repository. :(

Maybe if the field is not available, serialize ABAP Language Version "Standard ABAP", if it is available, serialize the one in the system? Then we'll have a one time diff for every repo when this logic is applied, but not on each pull / commit when a repo is used in two different systems.

We want to build an ecosystem where its easy to share and contribute to code.
Eg. if I implement a cool Fibonacci algorithm in 702, then it should be possible to pull it to Steampunk, and vice versa, without causing too many diffs.
Currently abapGit does not enforce/carry information as to which syntax or statements that are used, its a job for CI to check.
Also, what are the recommendations from SAP on how to build nice systems, eg. I'd guess its nice to have ALV enforced via the software component? Whereas having mixed ALVs should not be a recommended setup?

Maybe if the field is not available, serialize ABAP Language Version "Standard ABAP", if it is available, serialize the one in the system? Then we'll have a one time diff for every repo when this logic is applied, but not on each pull / commit when a repo is used in two different systems.

I had following situation in mind: One developer works in a system which supports ABAP language version (e.g. in the Cloud or releases >= 7.52) and another developer in a system which doesn't support it (e.g. 7.50).
If the objects are developed in ABAP language version for ABAP Cloud, the one system would set "abapLanguageVersion": "cloudDevelopment", the other would set it either to "abapLanguageVersion": "standard" or wouldn't serialize the value at all.
This would lead to a diff for all affected object, wouldn't it?

Also, what are the recommendations from SAP on how to build nice systems, eg. I'd guess it's nice to have ALV enforced via the software component? Whereas having mixed ALVs should not be a recommended setup?

Recommendation is to go for "ABAP Cloud" and not mixed (per software component). ;)
See also https://www.sap.com/documents/2022/10/52e0cd9b-497e-0010-bca6-c68f7e60039b.html

SAP offers max flexibility by allowing a different ALV for each object. Mixing ALVs in package/swc might be necessary to support SAP legacy scenarios but that does not mean it's a good practice for custom developments nor does it mean that abapGit must support such questionable practices.
It's similar to the "original language" of objects. Sure you could mix English, German, and French objects in a package. But it's not a good idea. For abapGit we decided to define/fix the main language at repo level which enforces the good practice.
Is there any reasonable use case where a repo must support mixed ALVs (note: different branches can still have different settings)? If not, there's no need for abapGit to support it.
How about these options for a repository setting:

Standard: Repo is limited to on-prem (won't work on Steampunk)
Key user: Repo is limited to key user extensibility
Cloud: Repo is limited to BTP and embedded Steampunk (won't work on-prem)
Cross-platform: Repo is compatible with on-prem and Steampunk

When serializing, objects with an ALV that does not match the repo settings are marked as "not supported" (handled the same as unsupported object types).
When deserializing objects, ALV is set according to the following rules:

Standard, Key User, & Cloud:

If target package does not exist, set ALV to the repo ALV
If target package already exists and does not match the repo ALV, raise error

Cross-platform:

If target package does not exist, set ALV to the ALV supported by the system

If system supports exactly one ALV,  set ALV accordingly
If system supports multiple ALV, raise error and ask user to create target package with the desired ALV
If system does not support ALV, deserialize without ALV

If target package already exists, set ALV to the ALV of the target package

Is there any reasonable use case where a repo must support mixed ALVs (note: different branches can still have different settings)?

I can imagine users want to go for "ABAP Cloud", but it hasn't been possible (yet) to change all code to ABAP cloud. E.g.,  some objects still require to call functionality which is not released by SAP. I am not sure whether you want to move these to a dedicated repository (with a different language version).

How about these options for a repository setting:
...
Cloud: Repo is limited to BTP and embedded Steampunk (won't work on-prem)
...

Actually, "Cloud" works on-premise, too. This ABAP language version indicates this code can run in the cloud. It does not mean "cloud-only".
Maybe, this is one of the misleading aspects.

Cross-platform:

If target package does not exist, set ALV to the ALV supported by the system
-- If system supports exactly one ALV, set ALV accordingly
-- If system supports multiple ALV, raise error and ask user to create target package with the desired ALV
If system does not support ALV, deserialize without ALV
-- If target package already exists, set ALV to the ALV of the target package

@mbtools If I I understand your proposal, "cross platform" means it is compatible with both, but you want to set the same ABAP language version for all objects in the repository. Right?
Can't we set the repository to "Cloud" in this case. Objects would be set to "Cloud" in systems which support ABAP language version "cloudDevelopment", in other systems it is anyhow "standard".

Maybe if the field is not available, serialize ABAP Language Version "Standard ABAP", if it is available, serialize the one in the system? Then we'll have a one time diff for every repo when this logic is applied, but not on each pull / commit when a repo is used in two different systems.

I had following situation in mind: One developer works in a system which supports ABAP language version (e.g. in the Cloud) and another developer in a system which doesn't support it (e.g. 7.50). If the objects are developed in ABAP language version for ABAP Cloud, the one system would set "abapLanguageVersion": "cloudDevelopment", the other would set it either to "abapLanguageVersion": "standard" or wouldn't serialize the value at all.
This would lead to a diff for all affected object, wouldn't it?

Yes, I thought that scenario wouldn't apply as the 750 developer would have to "blindly" develop compatible code without accidentally using unreleased APIs or disabled ABAP statements. But I guess there is other tooling available to check for compatibility without the syntax check which would rely on the ABAP Language Version.

@fabianlupa in general true and tooling would be a necessity. at the same time, there are also many "open-source ABAP libraries" to be invented which would not rely on any or only well known APIs.

When looking at the discussion I see that various versions of terms are used to describe the name of the ABAP language versions.

I agree, we shouldn't use different terms in the discussion. I suggest to use the same values as they are defined in the ABAP file formats "standard", "keyUser", and "cloudDevelopment".
See https://github.com/SAP/abap-file-formats/blob/ea84f27da76ff525e6262ff1675afe1ef17ba890/file-formats/ddls/ddls-v1.json#L38-L40

Let me try to summarize the discussion up to now:
There shall be a repository setting which specifies the ABAP language version for all objects in the repository. We see the following values/options for this setting :

"standard": Repo is limited to on-prem (won't work on Steampunk)
"keyUser": Repo is limited to key user extensibility
"cloudDevelopment": Repo consist of ABAP Cloud-ready code. It can potentially also - run on-premise.

Note: I have chosen the same values as we use them already for the abapLanguageVersion in ABAP file formats.
There is also the use case of having mixed ABAP language versions. However, this is most probably are rare case that might happen during the migration from "standard" to "cloudDevelopment". Therefore, I understand abapGit won't support it in a first step. This could be added later (if required/desired) by either adding another value to the above mentioned options or by adding an additional repository setting.
The behavior during deserialisation shall be as follows:
The repository configuration defines which ABAP language version shall be set for each repository object during deserialization. This means:

If the setting of the software component allows the specified ABAP language version, the ABAP language version is deserialized for the object accordingly
If the setting of the software component does not allow the specified ABAP language version, the pull of the object raises an error and the object is not pulled.
If a system does not support ABAP language versions it will just ignore the repository setting.

If its a field, I suggest it to be optional, and default empty, allowing the community to share code
Typically repository specific information is stored in .abapgit.xml

Some repo settings are read-only (like "original language"). This could work here, too, until a change process is defined and implemented.
during deserialize the package might not exist. the software component will then depend on the package name:
generally: $ = LOCAL, Y/Z = HOME, but other scenarios are possible

With ABAP Cloud the above mentioned naming convention will not fit anymore.
You can have packages starting with 'Z' that are part of the software component 'ZLOCAL' and other packages whose name starts with 'Z' that are part of 'ZCUSTOM_DEVELOPMENT'.
On prem you can also have packages whose name start with "TEST_" that are part of "LOCAL".

I guess it shall be also allowed to have repositories without specifying the ABAP language version. What shall be the behavior in this case?
I guess same behavior as it is today.

The current behavior led to the problem that I have tried to import a GitHub repo in an on premise system in a package of ABAP language version "ABAP for Cloud Development"  and ended up in a dead lock situation.
The repo did not specify a behavior and ZABAPGIT set the ABAP language version of classes and CDS views to "ABAP standard" though this is not allowed due to the settings of the package / software component in my SAP S/4HANA 2022 system.

I guess it shall be also allowed to have repositories without specifying the ABAP language version. What shall be the behavior in this case?
I guess same behavior as it is today.

The current behavior led to the problem that I have tried to import a GitHub repo in an on premise system in a package of ABAP language version "ABAP for Cloud Development" and ended up in a dead lock situation. The repo did not specify a behavior and ZABAPGIT set the ABAP language version of classes and CDS views to "ABAP standard" though this is not allowed due to the settings of the package / software component in my SAP S/4HANA 2022 system.

That was a misunderstanding. In your case, @anfisc,  the repo would bear the setting "cloudDevelopment", because you originally created it from a Steampunk/Cloud system. On-premise, the import target package should be assigned upfront to a "cloudDevelopment" SWC. Then  all objects would be imported as "cloudDevelopment".
Even if you would import the repo on-premise into an arbitrary different package, even if it is not assigned to any SWC, the ABAP language version "cloudDevelopment" would still be set for all objects (if the target system's release supports this), because objects with "cloudDevelopment" can still live in "standard" packages.
@schneidermic0 Correct?
What we should be more precise on is the behavior when importing repos w\o specified ABAP language version. Should the behavior of deserialization also depend on the SWC assignment of the target package?: If the target package belongs to an SWC where only "cloudDevelopment" is allowed, would import:
a) attempt to set "cloudDevelopment" to all objects (and maybe fail for some individually), or
b) fail immediately for all because SWC for "cloudDevelopment" allow no other ABAP language versions?
I would vote for a).
In the end we have a 2x2 matrix of possibilities for which we need to specify the desired behavior for both, import and export:

repository: undefined/"standard"  -- System/SWC: undefined/"standard"
repository: undefined/"standard" -- SWC: "cloudDevelopment"
repository: "cloudDevelopment" -- System/SWC: undefined/"standard"
repository: "cloudDevelopment" -- SWC: "cloudDevelopment"

Even if you would import the repo on-premise into an arbitrary different package, even if it is not assigned to any SWC, the ABAP language version "cloudDevelopment" would still be set for all objects (if the target system's release supports this), because objects with "cloudDevelopment" can still live in "standard" packages.
@schneidermic0 Correct?

Yes, this is also my understanding.

I went through the different options, I think we can reduce @xtough's 2x2 matrix to 3 options we need to differentiate:

repository: ABAP language version is undefined
repository: ABAP language version is defined -- System/SWC has same or undefined ABAP language version as specified in the repository
repository: ABAP language version is defined -- System/SWC has different ABAP language version as in the repository

If my understanding is correct, I think there have been proposals for the import of these options in this issue:

undefined: Set the default ABAP language version of the system/ software component; see https://github.com/abapGit/abapGit/issues/6154#issuecomment-1482335573
same: Set ABAP language version to repo's ABAP language version
different: Raise error

I think the behavior of the export will be the same in all situations. The objects are just serialized without ABAP language version to the abapGit repository.
However, I still see following open question:

How do we handle changes to the repository setting? E.g., introducing the repository setting "abapLanguageVersion": "cloudDevelopment", but the objects have already been pulled into a user's system. Since, there won't be a diff in the objects some special handling would have to change the ABAP language version for all objects that already exist in the system with the wrong/old ABAP language version?

What is the import behavior in systems which don't support ABAP language version at all, but the repo specifies ABAP language version (not "standard")? Does abapGit raise an error or does it just import it (without setting the ABAP language version)?

How do we handle changes to the repository setting?

Fork, rename, ask users to migrate - since you are redefining where the project can be run and what it can do.
BTW: IMHO mixed ABAP versions in one package/repository just lets the mess in ABAP packaging grow further. Let's teach ABAPers that source codes are not their pets (can be moved, renamed) and push ABAPers to be better in packaging - defining components not just blindly throwing bits into a bucket.

How do we handle changes to the repository setting?

There will be a diff on .abapgit.xml. Pulling should raise an error. User can uninstall and reinstall. Or wait until we define a change process in AG.

What is the import behavior in systems which don't support ABAP language version at all

If the repo is "cloudDevelopment", importing into an old release should raise an error right away since it's unlikely to work (ABAP syntax, steampunk libs, etc).

todo, update https://docs.abapgit.org/development/serializers.html

Just want to give you a short overview about the raised pull requests:

Introduce ABAP Language Version as repository setting in .abapgit.xml without no implication to the current behavior. Pull Request #6335
Introduce ABAP Language Version functionality as part of new class zcl_abapgit_abap_language_vers to check whether an import can be performed based on the the repository settings and package respective software component settings.
Call IS_IMPORT_ALLOWED check within import logic (no change to current behaviour)
Call GET_ABAP_LANGUAGE_VERS_BY_OBJT for to be deserialized object

Object types supporting ABAP language version:
ADVC, AIFC, AOBJ, APLO, AUTH, BDEF, BGQC, CACC, CCAC, CDBO, CFDA, CGRC, CHDO, CHKC, CHKE, CHKO, CHKV, CLAS, DCLS, DDLS, DDLX, DEVC, DMON, DOBJ, DOMA, DRAS, DRTY, DSFD, DSFI, DTDC, DTEB, DTEL, EEEC, EEEP, ENHO, ENHS, ENQU, EVTB, FUGR, G4BA, G4BS, GCPM, GSMP, HTTP, ILMB, INA1, INTF, IWMO, IWOM, IWSG, IWSV, IWVB, LRCC, NONT, NROB, NTTA, NTTY, OA2S, PCFN, RONT, SAJC, SAJT, SKTD, SMBC, SMIM, SOD1, SOD2, SQL1, SRVB, SRVC, SRVD, SUSH, SUSO, TABL, TOBJ, TRPR, TTYP, UIAD, WAPA, WB2J, WMPC, XINX, XSLT

Included in #6476:
CLAS, DEVC, FUGR, INTF, PROG
Supported by abapGit but will need ALAV handling:
AIFC, AUTH, BDEF, CHDO, DCLS, DDLS, DDLX, DOMA, DTDC, DTEL, ENHO, ENHS, ENQU, G4BA, G4BS, IWMO, IWOM, IWSG, IWSV, IWVB, NROB, SKTD, SMIM, SRVB, SRVD, SUSH, SUSO, TABL, TOBJ, TTYP, WAPA, XINX, XSLT

Hello Everyone,
with great effort (#6298, #6476), abapGit is now able to handle ABAP Language Version end-to-end. It's still behind a feature switch and support is limited to the object types listed in the previous comment but should work well otherwise.
Please go ahead and test.
Best,
Marc

Ref https://github.com/abapGit/docs.abapgit.org/pull/184
Issues:

Consistency: "Any" serialized ALaV for classic objects but not for AFF
Compatibility: AFF in AG does not serialize ALaV but other SAP tools would contain it (can't exchange files)
Diffs: Since "Any" contains ALaV in metadata, importing might show diffs

Suggestion:

"Any": Always serialize ALaV
AFF:  Always serialize ALaV
New mode "None" (no ALaV): Never serialize ALaV ("Lars Mode"), import sets ALaV based on root package
This might or might not work for a given object. But there won't be diffs.

After some internal discussions on how to deal with this repo-setting on Steampunk, we came to a similar proposal like the "Lars Mode":

import any repo, log warning in case repo ALaV is not "Cloud", set ALaV on all objects to "Cloud" upon inactive import --> ABAP Cloud rule violations will surface upon activation in target system (this allows initial import of non-cloud "legacy" code to Steampunk)
export to any repo, log warning in case repo ALaV is not "Cloud", set ALaV on repo to "Cloud", never write ALaV to individual objects (to avoid unnecessary deltas)

We are aware that the 2nd part leaves a bad taste in the mouth but it still seems the better alternative. Otherwise developers intending to use tier 1 extensibility (ABAP Cloud compliant) also in SAP S/4HANA Private Cloud Edition or on-premise would have to be mindful to explicitly set their abapGit repo to "Cloud". If they forgot this small but important step, the ALaV setting on individual objects will be missing on the target system and the whole application will not be usable.

Closing this with https://github.com/abapGit/abapGit/issues/6689 as a follow-up
Any problems, just create a new issue


Current user signout url

Depends on https://github.com/vivid-planet/comet/pull/903

Please rebase onto next


Link to CommonJS in README.md is dead.

Looks like http://www.commonjs.org/specs/modules/1.0/ is a 404'd page now. Should we just link to the CommonJS Wiki instead?

I’d suggest so. for now, that sounds like a good option.

@IngwiePhoenix on it :-D

Fixed. Closing.


(eval):1: bad assignment

Describe the bug
When I enable the theme, zsh starts to throw:
(eval):1: bad assignment

To Reproduce
Steps to reproduce the behavior:

Starts new shell, error shows, before prompt. Will happen also on empty line submit.

Expected behavior
No errors thrown
Environment:

Plugin Manager: oh my zsh
ZSH Version: zsh 5.8 (x86_64-ubuntu-linux-gnu)
Operating System: Windows 10, build 19041.388
Terminal Emulator: Windows Terminal, CMD,

Additional context
Not sure what causing it, and no more ideas how to debug. When I used other themes, everything worked. When I switch back to old one, everything works.
I installed the theme with:
git clone --recurse-submodules https://github.com/eendroroy/alien-minimal.git ${ZSH_CUSTOM}/themes/alien-minimal

I cleaned the .zshrc from everything, except:
export ZSH="/home/user/.oh-my-zsh"
ZSH_THEME="alien-minimal/alien-minimal"

source $ZSH/oh-my-zsh.sh

and it still unfortunately happen.
I expect it to be layer 8 problem, i'm just out of ideas how to debug it.

This might happen from this line: https://github.com/eendroroy/alien-minimal/blob/master/modules/prompt.zsh#L9
Probably one of ENV variables causing the issue while copying it to async process.
You can try adding a echo like below:
__import_env() {
  echo "${1}" | while read -r line; do

    echo "DEBUGGING => ${line} <=" # DEBUG LINE

    eval "export $(echo "${line}" | awk -F'=' '{print $1"=\""$2"\""}')" > /dev/null
  done
}

So the output is:
(eval):1: bad assignment
DEBUGGING => <=

Could you please share the output of:
env | grep --color=never "ENV_VERSION=\|^VIRTUAL_ENV=\|^AM_"

BTW, what procedures did you follow to install zsh in windows? If you could share I can try it out in a windows vm.

$ env | grep --color=never "ENV_VERSION=\|^VIRTUAL_ENV=\|^AM_"                                                                                (eval):1: bad assignment
DEBUGGING => <=

So actually nothing :)
also my .amrc does not exist yet.
I'm using WSL 2, which is implemented in Windows as hyperv vm.

I just checked the proposed code and it worked. Thanks!

You're welcome ☺

Merged #32