proposal: regexp: add iterator forms of matching methods

We propose to add methods to regexp that allow iterating over matches instead of having to accumulate all the matches into a slice.
This is one of a collection of proposals updating the standard library for the new 'range over function' feature (#61405). It would only be accepted if that proposal is accepted. See #61897 for a list of related proposals.
Regexp has a lot of methods that return slices of all matches (the “FindAll*” methods). Each should have an iterator equivalent that doesn’t build the slice. They can be named by removing the “Find” prefix. The docs would change as follows. (Plain text is unchanged; strikethrough is removed, bold is added):

There are 16 24 methods of Regexp that match a regular expression and identify the matched text. Their names are matched by this regular expression:
(Find|All|FindAll)?(String)?(Submatch)?(Index)?

If 'All' is present, the routine matches successive non-overlapping matches of the entire expression.
The ‘Find’ form returns the first match. The ‘All’ form returns an iterator over all matches.
Empty matches abutting a preceding match are ignored.
The For ‘FindAll’, the return value is a slice containing the successive return values of the corresponding non-’All’ non-‘Find’ routine. These The ‘FindAll’ routines take an extra integer argument, ...

Instead of enumerating all eight methods here, let’s just show one example.
FindAllString currently reads:

// FindAllString is the 'All' version of FindString; it returns a slice of all
// successive matches of the expression, as defined by the 'All' description in
// the package comment. A return value of nil indicates no match.
func (re *Regexp) FindAllString(s string, n int) []string

This would change to become a pair of methods:

// FindAllString is the 'All' 'FindAll' version of FindString; it returns a slice of all
// successive matches of the expression, as defined by the 'All' 'FindAll' description in
// the package comment. A return value of nil indicates no match.
func (re *Regexp) FindAllString(s string, n int) []string
// AllString is the ‘All’ version of ‘FindString’; it returns an iterator over all
// successive matches of the expression, as defined by the ‘All’ description in
// the package comment.
func (re *Regexp) AllString(s string) iter.Seq[[]string]

The full list is:

// All is the ‘All’ version of ‘Find’: it returns an iterator over all ...
func (re *Regexp) FindAll(b []byte) iter.Seq[[]byte]
// AllIndex is the ‘All’ version of ‘FindIndex’: it returns an iterator over all ...
func (re *Regexp) FindAllIndex(b []byte) iter.Seq[[]int]
// AllString is the ‘All’ version of ‘FindString’: it returns an iterator over all ...
func (re *Regexp) FindAllString(s string) iter.Seq[string]
// AllStringIndex is the ‘All’ version of ‘FindStringIndex’: it returns an iterator over all ...
func (re *Regexp) FindAllStringIndex(s string) iter.Seq[[]int]
// AllStringSubmatch is the ‘All’ version of ‘FindStringSubmatch’: it returns an iterator ...
func (re *Regexp) FindAllStringSubmatch(s string) iter.Seq[[]string]
// AllStringSubmatchIndex is the ‘All’ version of ‘FindStringSubmatchIndex’: it returns ...
func (re *Regexp) FindAllStringSubmatchIndex(s string) iter.Seq[[]int]
// AllSubmatch is the ‘All’ version of ‘FindSubmatch’: it returns an iterator over all ...
func (re *Regexp) FindAllSubmatch(b []byte) iter.Seq[[][]byte]
// AllSubmatchIndex is the ‘All’ version of ‘FindSubmatchIndex’: it returns an iterator ...
func (re *Regexp) FindAllSubmatchIndex(b []byte) iter.Seq[[]int]

There would also be a new SplitSeq method alongside regexp.Regexp.Split, completing the analogy with strings.Split and strings.SplitSeq.

// SplitSeq returns an iterator over substrings of s separated by the expression.
func (re *Regexp) SplitSeq(s string) iter.Seq[string]

It seems like you are trying to establish a general pattern in the stdlib that the word All in a method means that it returns an iterator. However, the regex module has already established a pattern that All means a method that returns a slice.  I don't think that dropping the Find prefix is a particularly good or memorable compromise, and that it would be better in this case to find a different word to replace All (say, Iter).
Which is to say, I think these names would be a lot clearer:
    func (re *Regexp) FindIter(b []byte) iter.Seq[[]byte]
    func (re *Regexp) FindIterIndex(b []byte) iter.Seq[[]int]
    func (re *Regexp) FindIterString(s string) iter.Seq[string]
    func (re *Regexp) FindIterStringIndex(s string) iter.Seq[[]int]
    func (re *Regexp) FindIterStringSubmatch(s string) iter.Seq[[]string]
    func (re *Regexp) FindIterStringSubmatchIndex(s string) iter.Seq[[]int]
    func (re *Regexp) FindIterSubmatch(b []byte) iter.Seq[[][]byte]
    func (re *Regexp) FindIterSubmatchIndex(b []byte) iter.Seq[[]int]

@magical I think Iter as a name component reads very badly. I'd prefer essentially anything over changing the All convention to an Iter convention, including accepting this slight ambiguity in the regexp package, or not adding iterator-versions of methods to regexp at all. In particular, given how rarely used the regexp package is in my experience.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

I have found it quite confusing in the past to figure out which of the 16 Find* methods to use for a particular task. Determine String vs non-string is quite straight-forward, but I always have to re-read several paragraph of docs and play around to determine which one of those 8 to use. It's cute cute/elegant that the method names are matched by a regex (Find(All)?(String)?(Submatch)?(Index)?), but in my experience that doesn't make it easier to choose which one you need. This proposal is going to increase that cognitive burden. I don't have a concrete suggestion, but I wonder if there's a better way. From this perspective I do think having Iter (or Seq?) in the name could help. Or maybe there needs to be a "regex method chooser wizard" in the docs? (Only semi-serious, but maybe.)

In addition to the correction @cespare proposes, I believe your AllString example has the wrong returned iterator element type ([]string). It should be string:
func (re *Regexp) AllString(s string) iter.Seq[string]

I believe it would be beneficial to document in the relevant methods that any yielded slices ([]byte, []int, [][]byte, []string) cannot be retained beyond the current iteration step, thus allowing the regex implementation to reuse these slices. There is precedent for this kind of restriction in bytes.Buffer.Bytes and elsewhere.
I suspect most use-cases will be unaffected by this restriction, other than to benefit from reduced allocations (which could potentially further benefit from internal use of sync.Pool to share applications between unrelated iterations). Those cases that do need to retain the slice can easily enough call slices.Clone or append.
go vet could include a check to ensure these slices do not escape in most cases.

Emm, that is, we will have nearly 60 methods to do matching? 😂
How about add a new type RegexpIter? And provide methods convert between the two.

Irrespective of my above comments, I believe we'll be better served with an approach closer to bufio.Scanner, in which something like a *Match value, with methods for fetching index offset ranges, individual matches as a string or byte slice, etc.

Regarding the index variants, wouldn't make sense to use a Seq2[int,string|[]byte] instead?
That would be similar to slices' convention.

With separate methods, particularly the Index variants, I am concerned that we'd be adding the methods for completeness without gaining much value.
FindReaderIndex is of questionable utility, given that when you have a reader that you know nothing about (or know that you can't or don't want to reread, such as io.Stdin), it's rare that you can make meaningful use of the indices alone.
There are other cases where having a separate Match type is simply more efficient: the consumer may want a string representation of some submatches while having a byte slice representation of others. With a Match type, the consumer does not need to care what the underlying input was. If a string for a particular submatch is requested, it'll slice or copy a portion the underlying input data depending on whether or not it was a string, but will be no worse in allocation efficiency compared to what the caller needs to do today.

@Merovius regarding deviating from the current convention being confusing, I think that's entirely manageable if all of the iter methods are internally self-consistent. Per your point, if we implement the methods as Russ initially proposed and then introduce a separate type, that certainly will be confusing. So this is really the only good time we'll get to make a clean decision.

@extemporalgenome We seem to be talking past each other. Putting the method on a new type is the deviation. Obviously that can't be addressed by making them "internally self-consistent". And it's also not about timing - it's a deviation if we do it from the beginning just as much.

Is there really a need for these? do the regexp find methods return enough elements to justify returning an iterator or is this just to avoid that one slice allocation?

It's unfortunate that the *regexp.Regexp type has that many methods. But I don't think deviating from that design decision at this point will be an improvement. It just means the result will be even more confusing, because now it is also incongruent and asymmetric.

@Merovius a crazy idea, how about introduce regexp v2 like the math v2 to simplify API.

@leaxoy It doesn't seem that wild to me. I think there is an argument to be made that a) we might want to wait a release or so to see how the math/rand/v2 migration works and b) if we intend to make a v2, we might as well add these in the meantime, as any harm would be time-limited.
But yeah, it's not really up to me. Personally, I think this proposal is fine as it is, but maybe the Go team can be persuaded to do a v2 for regexp as well (I'm not sure how a simplified API would look, though).
@doggedOwl I thought the same thing, TBH. Especially as the matching groups can be sliced out of the input, so just the actual result slice has to be allocated. There are still two ways in which an iterator form arguably might improve performance: 1. it might enable you to prematurely stop some matching work - though this seems to be possible in a corner case at best. And 2. it might enable you to do subgroup matching entirely without allocations.
But I'm not totally sold on needing an iterator form of these either. It would be possible to feed the iterator into other iterator transformation functions, but then again, that would be just as possible by using slices.All on the result.

Unfortunately the proposal doesn't say, what the benefit of the proposal is or what problem it is trying to address. It looks more like a demo for iterator functions.
The proposal will further inflate the number of methods for the Regexp type. Already now I have to consult the documentation every time I use the package.
I would welcome a regexp2 package that simplifies the interface. Maybe by using byte slices and string as type arguments and supporting only the iterator methods, since the first match functions wouldn't be required anymore. Using a match type could also reduce the provided variants.

Unfortunately the proposal doesn't say, what the benefit of the proposal is or what problem it is trying to address.

It says

Regexp has a lot of methods that return slices of all matches (the “FindAll*” methods). Each should have an iterator equivalent that doesn’t build the slice.

The benefit is that it doesn't build the slice. If you are searching large texts, you almost always want to consider the matches one at a time, and building the slice of all results is wasted memory, potentially larger than the text.

Finishing this proposal discussion is blocked on https://github.com/golang/go/issues/61405.

This should be unblocked right? Or is it waiting on the iterators addition to roll out?

This is a lot of new methods, but it's also very regular and consistent with the existing API. Is there anything still blocking this proposal?

Every time I use the regexp API I find it hard to remember what all the different unnamed numbers signify. Has anyone prototyped a version of a Match method that returns a iter.Seq of some abstract match data type that provides methods (with informative names!) that can return any information you need about a given match: its indices, its byte or string value (allocating if different from the input string type), its submatch index, and so on?
(speaking for proposal committee)


[Bug]: S3 : Move the deleting icon to the top of the Group Filter

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When the Group filter is added to where Clause it is observed that the delete icon is at the bottom of the filter and leads to confusion posing it on the top of the would help us understand better
Steps To Reproduce

Navigate to S3 query
Add a "fetch method"
observe the delete icon

Environment
Release
Version
Self-Hosted

This has been fixed via a commit on PR #10411.


Fix curly braces.

typo fix.

Hi @shibayan, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

:shipit:

Thanks!


drawing.clear() does not remove the defs

If it does not have the intention of removing all children, we need another function that does.

In which case you are forced to remove the defs?

Thank you for such a fast answer. I would like to repeatedly set var mySvg = SVG('id') and destroy the var for programatic reasons. At each creation it adds defs but at each destruction I cannot remove them :(

If you destroy the whole school you should call drawing.remove() to remove the svg root element  from the dom. When you now reinitialize the svg it is clean and new.
If this is not what you want you can call drawing.defs().remove but this will render the instance useless because many features relay on the defs - property. (actually I didn't test it in the whole). However if you reinitialize the whole svg then this should work, too

i tried .defs.remove() and it has bad side effects. on the other hand I don't want to destroy the svg element. would have been nice if mySvg = SVG('id') would not add a new def if an empty one exists ..

 That makes no sense to me.
Anyway - you can try the second version of svg.js which comes with an adopt-function. Maybe you can use it to adapt the svg again and again. But note that version 2 is still under development

an adopt function seems to be exactly what my intent is. thanks.

Btw: There is a plugin for version 1: https://github.com/wout/svg.absorb.js


Allow passing null/undefined literals subexpressions

I originally filed this on the Ember.JS tracker but was directed here, instead.
It would be really great if subexpressions could handle null and undefined literals. It doesn't appear to work that way currently. I have an EmberJS JSBin that shows the issue I'm talking about.

Not just subexpressions. They would need to fit anywhere an Expression can go.

Thank you!! :)

BTW your patch doesn't support {{null}} and {{undefined}} so it diverges from how boolean/number/etc are treated. I don't really care that much though. Sorry to be a pain...

@mmun, dfd141c adds support for null and undefined in the helper name/path section.

Thanks.

Released in 3.0.2


Verify the functionality of the " Comment" container on the "detailed event information" page

Date Time
12-09-2020 19:20
Priority
Medium
Description
This test verifies the " Comment" container:  the list of records   and the pagination component functionality
Pre-conditions

Move to https://eventsexpress-test.azurewebsites.net/
Authorize as user: "login"=<EMAIL_ADDRESS>"password"= 'QWERTY123. '
/admin<EMAIL_ADDRESS>' , "password"= 'QWERTY123.'
Open the detailed information of the event 'Подорож в Дубаї'
Verify the the  'comment'  container is empty (delete the already existing records)

Steps to Test
Test Data
Expected result

1. Set the caret into 'comment' text box

The  'comment' text box is empty and enables input

2.  Set value and click on the "ADD" button
'Hello World'
One new record is displayed in the  'comment'  container

3. Repeat step 2 for five times

5 new records are added to the  'comment'  container. The pagination component is present below the list

4. Verify the records are fit to the  'comment'  container

The records are fit to the  'comment'  container

5. Verify the number of records per page

5 records per page is in the  'comment'  container

6. Verify the total number of records

The total number of records is 6

7. Verify the pagination component

The pagination component is in the center below the list

8.Verify the pagination component displays the correct number of pages

Total number of the records divide on 5 and round

up to a larger integer

Environment:

OS: [ Windows 10]
Browser [ Chrome. Version 86.0.4240.198 (Official Build) (64-bit)]
Version [ 20201214.1]

The pagination  mock up

PASS 12.14.2020
#266 ( https://github.com/EventsExpress/EventsExpress/issues/266)  is verified


Tslint migration does not consider an extends property containing an array

🚀 Feature request
Command (mark with an x)

[ ] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[X] update
[ ] lint
[ ] xi18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Description
Running ng update @angular/cli --migrate-only tslint-version-6
with a tslint config like this:
{
  "extends": [
    "tslint:recommended",
    "tslint-plugin-prettier",
    "tslint-config-prettier"
  ],
....

fails with
 tslint configuration does not extend "tslint:recommended".
    Migration will terminate as some rules might conflict.

The following file implements the migration.
https://github.com/angular/angular-cli/blob/master/packages/schematics/angular/migrations/update-10/update-tslint.ts
Describe the solution you'd like
 If you have a solution in mind, please describe it.
Describe alternatives you've considered
 Have you considered any alternative solutions or workarounds?

Hi, thanks for the issues. Actually the problem here is the error message, as the migration will be executed only and only if extending tslint:recommended

Can I contribute the fix to this @alan-agius4 ?

@sfabriece, there is already a PR for this: https://github.com/angular/angular-cli/pull/17323

For me, I don't have the "extends" array and got the warning message bot the migration completes
Using package manager: 'npm'
Collecting installed dependencies...
Found 67 dependencies.
** Executing 'tslint-version-6' of package '@angular/cli' **

> Update tslint to version 6.
    tslint configuration does not extend "tslint:recommended".
    Migration will terminate as some rules might conflict.
UPDATE package.json (3375 bytes)
UPDATE tslint.json (3099 bytes)
  Migration completed.


Create CodeSandbox Templates

Would be nice to have some templates ready to go for writing quick repros and stuff.  We can link to these in the issue template so people will have a good starter for writing repros for issues.
@TheSharpieOne, can you assist with this?  I don't have permissions to create new repos under reactstrap org.
Thanks!

Can I help work on this too? Do you mean one code sandbox example for each component?

I've added a couple starters in https://github.com/reactstrap/code-sandbox-examples already.
I think simple examples should stay on the docs page and some that require a little more setup (like maybe showcasing a different bundler etc) should go into CodeSandbox.


Flutter build issue

Could not resolve all artifacts for configuration ':app:debugRuntimeClasspath'.

Failed to transform libs.jar to match attributes {artifactType=processed-jar, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
Execution failed for JetifyTransform: /home/aman/Desktop/projects/mservice/build/app/intermediates/flutter/debug/libs.jar.
Transform's input file does not exist: /home/aman/Desktop/projects/mservice/build/app/intermediates/flutter/debug/libs.jar. (See https://issuetracker.google.com/issues/158753935)

Flutter doctor -v
[✓] Flutter (Channel stable, 1.22.5, on Linux, locale en_IN)
    • Flutter version 1.22.5 at /home/aman/Android/flutter
    • Framework revision<PHONE_NUMBER> (12 days ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /home/aman/Android/Sdk
    • Platform android-30, build-tools 29.0.3
    • Java binary at: /home/aman/Desktop/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Android Studio (version 4.0)
    • Android Studio at /home/aman/Desktop/android-studio
    • Flutter plugin version 50.0.1
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.52.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.17.0

[✓] Connected device (1 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android
      10 (API 29) (emulator)

flutter build apk -v at https://pastebin.com/4AkZdJXj
There is currently a way to solve this run flutter build apk --debug then flutter build apk --profile then running this command
But there is a new problem
the app works fine in flutter run --release
But shows White Screen in this built apk

Forgot to mention : https://github.com/flutter/flutter/issues/58247#issuecomment-638344044 is the method how to use the default gradle version

Hi @amanv8060
Please change your gradle to  classpath 'com.android.tools.build:gradle:3.5.0' in your build.gralde and try again.
If the problem persists, Can you please provide flutter run build apk --verbose logs with updated gradle, and a minimal complete reproducible code sample without using third-party packages
Thank you

There is no issue with 3.5.0 version , I just posted the issue so that the problem can be further tracked that on latest gradle the built apk doesnt run even if its built . You can close it if there is a issue that mentions it, all i found were issues mentioning that apk is not being built

Hi @amanv8060
Gradle 4.0.0+ isn't fully supported, it is expected to have issues, there are open issues to address this.
Given your last message I feel safe to close this issue, if you disagree please write in the comments and I will reopen it.
Thank you

I was having same issue with 4.1.1 gradle version. It worked well with certain abi but not with all.
@TahaTesser  Thank you for the information


Pulse utils

Summary
Adding functions to compute dressed states and dressed frequencies. Also functions for computing probabilities from states and dressed states, and sampling probabilities. Closes #74. Closes #75.
Details and comments
May need to be changed for new design decisions. Added many tests for generating different hamiltonians and evaluating their dressed states and sampling from their probabilities.

This is out of date with dev plan.


No way to load "all" records

How can I use dataloader load_many to load all records (not giving any IDs)?

Short answer: There isn't a way right now.
Longer answer: The whole of Dataloader is predicated on a key / value paradigm. This is true even for the ecto source and ecto associations, where when you load something like comments on a post the key is {some_post, :comments} and the value is all the comments. So what we'd need for Dataloader to load all posts is a key that looked like {%Dataloader.Root{}, :posts}. As of yet such a root value has not been specified. This is a feature I'm considering for 1.1
Notably, a PR is absolutely welcome on this front.

Yes. As @benwilson512  said, Dataloader is predicted on a key-value paradigm. So if you want to get a more detailed knowledge about it, take a look to Using Dataloader to Batch Request

I'm wondering if there is a plan to implement this since, as of now, it still seems impossible despite the issue being closed as completed.

I was able to get a this working though
        Dataloader.Ecto.new(Melzi.Repo,
          run_batch: fn
            _queryable, query, :id, ["*"], repo_opts ->
              [Melzi.Repo.all(query, repo_opts)]

            queryable, query, col, inputs, repo_opts ->
              Dataloader.Ecto.run_batch(Melzi.Repo, queryable, query, col, inputs, repo_opts)
          end
        )

This lets me do this
        loader
        |> Dataloader.load(Melzi.Data, {:many, Melzi.Data.Person}, "*")
        |> on_load(fn loader ->
          {:ok, Dataloader.get(loader, Melzi.Data, {:many, Melzi.Data.Person}, "*")}
        end)


Transform 'kerning(forFont: )' method to public

Currently kerning(forFont: ) method in Tracking enum has an internal attribute. It would be good if it will be public

@acacuce thanks for your pull request! Just curious - what's your use case for making this method public?

I use StringStyles to describe the text styles in our application. Our designers use custom Tracking. This text is used in a chat where the sizes of chat bubble are calculated in with the help of NSTextContainer. For the correct calculation, I need to transfer the value of the tracking value.

As an example, I need to count the hashValue from the value of Tacking

Ah, yep, that makes sense. Would you mind adding a unit test that confirms that this method stays public? It would be a simple test case that does import BonMot instead of @testable import BonMot, and then it just needs to call kerning(forFont:), so if the method ever loses public, the test won't compile.
Also, as a current workaround, you can get the kerning if you query yourStringStyle.attributes[.kerning] as? NSNumber (I think as? CGFloat would work too).

I merged this, but then I realized it should really be spelled kerning(for:), so the call site looks like kerning(for: font). I'm going to push a change for this. Just a heads up in case you're depending on this method name.

This has been released as part of BonMot 5.1. Thanks for your contribution, @acacuce! 🚀


getting error on webinstaller when setup admin credential with default email and password

Bug report
Issue Description
getting error on web installer when setup admin credential with default email and password
Bagisto version

[X] master branch
[ ] 1.3.1
[ ] 1.3.0
[ ] 1.2.0

Steps to reproduce

setup bagisto using web installer

add admin default credentials<EMAIL_ADDRESS>

Expected result
Should proceed further without any error
Actual result

Hi @vaishaliwebkul,
This seems like you are trying to do in the existing database. If this error occurs then all test cases should be failing also.


php 5.5 has no apc available

Hi guys,
if you want to use dotdeb 5.5 with debian 7 its not working because there exist no apc anymore. maybe you want to implement that ;)

You should switch to apcu, because 5.5 ships with opcache which makes most of apc obsolete.


interface implements issue

TypeScript Version:  2.9.0-dev.201xxxxx

Search Terms:
interface Animal {
age: number;
name: string;
}
interface Bird implements Animal{
speed:number;
}
var b:Bird
b.speed// 只有speed 的属性
// A *self-contained* demonstration of the problem follows...
// Test this by running `tsc` on the command-line, rather than through another build tool such as Gulp, Webpack, etc.

**Expected behavior:  type b.age  is number
**Actual behavior:type b.age  is none
Playground Link:
Related Issues:

By running tsc test.ts (with your code) I get the error:

error TS1176: Interface declaration cannot have 'implements' clause.

You need to use the extends keyword instead: interface Bird extends Animal
After that change it will run fine, because by default it will not use the strict-compiler options. So b.age' is a number, but in JavaScript it can also be implicitly undefined`.
By calling tsc test.ts --strictNullChecks you enable the strictNullChecks feature (https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html) which will change the semantics of null and undefined from values to types. If you do this, then your code will not compile anymore:

error TS2454: Variable 'b' is used before being assigned.

The compiler can not ensure anymore that your variable matches the interface.


Make max media upload size configurable

As some of us want to upload full-size photos and videos.
I’m pretty rusty with Django so sorry if this isn’t the idiomatic way to access the setting from a view. Please let me know if not, and I’ll fix this.
I hope to propose a follow-up change that’ll make the max image dimensions configurable. After that, someone should be able to configure their installation such that they’d be able to post, say, a 14 megabyte file of a 25 megapixel photo, and have it be uploaded, saved, and attached to a post, at the original fidelity. If so desired.

It's worth noting why this is in place - Mastodon's image proxy won't support super large images, so we forcibly scale all uploaded media down so it's an acceptable size to give out to Mastodon so it can load them (2000x2000). That means increasing the uploaded media size will merely give the resizer more work to do and not keep the originals around.
If you also want to keep the originals, we will need to add a third FileField to PostAttachment that stores the original image, and then not send that over ActivityPub or client APIs but only use it when viewed locally. I opted not to do that yet because of the very small utility.

Yes, that's a good point - this is more just a setting right now of "how much RAM did you give the web process?".
With that in mind, can we rename the setting to MEDIA_MAX_IMAGE_FILESIZE? That way it lines up with the other media settings, and we can also implement an alternative one when we get to videos, as those need background processing anyway.

Yes, that's a good point - this is more just a setting right now of "how much RAM did you give the web process?".

👍

With that in mind, can we rename the setting to MEDIA_MAX_IMAGE_FILESIZE? That way it lines up with the other media settings, and we can also implement an alternative one when we get to videos, as those need background processing anyway.

Of course. How would you feel about adding the suffix _MB to make the units clear? I know the resulting var name is pretty long, but I find it really helpful when numeric configs indicate the units right in the name.

Yup, agreed, let's stick the unit on there. Better to be explicit.

Done via 56ec2e0a55da372b62847505de2a07b19aadde80

apropos to the shelved-for-now notion of increasing image resizing dimensions, I found an ongoing and in-depth discussion of image resolutions here: mastodon/mastodon#20255

Thanks. That issue you linked does seem rather split - there's definitely a "phone cameras will just burp out giant files" versus "artists want to preserve their work" split. Odd that Mastodon forces everything to low-quality JPEG, though, not webp, given the compatibility of the latter!


Add support for .net 5 and .net framework

Not all projects are .net6.

Now fixed with commit be1cabff9330e02beb4f53e2ff691aa27a050b6c


[INTGW-1166] Fix for tier edit logs are not available

@sachindakumara
ApplicationDAO - code formatting changes needed. Remove unwanted additions of empty lines (eg. 8, 27, 72, 74, 76, 79, 90, 92, 94 ect.)
SubscriptionDAO - Code formatting changes needed. Remove unwanted additions of empty lines (eg. 67, 70, 77, 79, 81, 89 etc)
line 85 - StringBuilder getUpdatedTimeQueryString = new StringBuilder("SELECT TIER_ID,UPDATED_TIME FROM ");
only UPDATED_TIME is used for data fetching, therefore enough of select UPDATED_TIME from
ApplicationService - Remove unused import (import com.wso2telco.workflow.dao.SubscriptionDAO;)
Remove unwanted addition of empty lines
String previousTier =application.getExistingTier(); no need to assign into a variable. can directly use as the other fields in the string for log entry (+ ", Previous tier - " + application.getExistingTier())
SubscriptionService
String previousTier =application.getExistingTier(); no need to assign into a variable. can directly use as the other fields in the string for log entry (+ ", Previous tier - " + application.getExistingTier())
Suggestion: ApplicationService, SubscriptionService - Better to have words "New tier" in the log message as requested in the ticket by QA.


Updating nettest image to latest code

Fixes https://github.com/GoogleCloudPlatform/kubernetes/issues/11014

@ixdy

Have pushed the updated image to gcr.io with @ArtfulCoder's help

I think you need to update test/e2e/networking.go L167, too.
Also please run the test locally and verify that it's fixed, since the pull request Jenkins won't.

Thanks for catching that @ixdy! Have fixed it.
Running e2e locally to verify.

LGTM assuming Jenkins is still good and your local e2e works.
@quinton-hoole can you provide a second set of eyes?

Verified that e2e passes locally.
Ready to be merged.

LGTM, ok-to-merge.
I'm merging so we can get clean e2e overnight.


increased version

Signed-off-by: Du Cheng<EMAIL_ADDRESS>

Looks good to me! The changes are needed for the updated badges. Thanks @wddcheng!


Request from industry to show table (Table 4) of TAC and realised catch for all years

This is a bit of a tricky request b/c reporting of 'target' has changed over time, particularly prior to the Treaty (which is why that's where we start).  If we end up doing this I imagine that we need to caveat things in the caption a bit and not do all years (i.e., like back to 1966!).

and is this request for something they want to see at the JMC meeting or in the future...?

what milestone would this be for, I am assuming 2021 assessment document?

During JTC meeting we looked at this. See data/landings-tac-history.csv for the full history. We could show everything back to 1984 (First TAC) or show a plot of TAC/Realized catch. There are some US/Canada TACS missing from 2002-2004 although there is a total TAC for that year.
Leave this and see if it's asked for again as it is straightforward.

I was going to add this column to the landingd-tac-history.csv table, but I have a question first. @cgrandin is there a way to robustly specify how many digits are being stored here. I am having trouble seeing when things get updated versus when I just recalculate and a different number of digits are being stored. I am going to update some historical catches that are off by a few mt for shoreside. I compared the spreadsheet to the data base and they have not been updated (e.g., catches in 1982 are 1022.80226 instead of 1026.56738).

I was going to add this column to the landingd-tac-history.csv table, but I have a question first. @cgrandin is there a way to robustly specify how many digits are being stored here. I am having trouble seeing when things get updated versus when I just recalculate and a different number of digits are being stored. I am going to update some historical catches that are off by a few mt for shoreside. I compared the spreadsheet to the data base and they have not been updated (e.g., catches in 1982 are 1022.80226 instead of 1026.56738).

If you want to change the number of digits in the file, that's fine I think. I'm not totally sure what you mean here..

If you want to change the number of digits in the file, that's fine I think. I'm not totally sure what you mean here..

I was looking for recommendations on the "best" r function for this? Should I just use round?

I was looking for recommendations on the "best" r function for this? Should I just use round?

I'd use this, but maybe 1 or more decimal places than we show in the table in the document in case we are asked for that one day. The format command saves trailing zeros and makes it look nicer
format(round(293.019, 2), nsmall = 2)

I'd use this, but maybe 1 or more decimal places than we show in the table in the document in case we are asked for that one day. The format command saves trailing zeros and makes it look nicer
format(round(293.019, 2), nsmall = 2)

Fun fact: This is what I was going off about yesterday.. run this line of code to see how the double 11.1 is actually stored in all computers, due to computers being binary and not base 10:

format(11.1, nsmall = 20)
[1] "11.09999999999999964473"

So it doesn't matter that you have exactly 11.1 in a file, when it is read in, it is stored as the value shown, and all calculations now have this error introduced. Imagine doing an MSE 100 years into the future with parameter values like this exponentiated and multiplied by values from the previous year. Fun times.
11.1 is just an example. Almost all doubles don't convert exactly from decimal to binary.

Fun fact: This is what I was going off about yesterday.. run this line of code to see how the double 11.1 is actually stored in all computers, due to computers being binary and not base 10:

format(11.1, nsmall = 20)
[1] "11.09999999999999964473"

So it doesn't matter that you have exactly 11.1 in a file, when it is read in, it is stored as the value shown, and all calculations now have this error introduced. Imagine doing an MSE 100 years into the future with parameter values like this exponentiated and multiplied by values from the previous year. Fun times.
11.1 is just an example. Almost all doubles don't convert exactly from decimal to binary.

PacFIN only has tribal landings since 2013, I emailed the tribal contact to get more details.

PacFIN only has tribal landings since 2013, I emailed the tribal contact to get more details.

I think OY for US in 2002-2004 (currently missing numbers) are 129600,148200, and 225000. Anyone want to check those for me and CAN numbers are still blank for these years. I have no idea where the total numbers came from.

I think OY for US in 2002-2004 (currently missing numbers) are 129600,148200, and 225000. Anyone want to check those for me and CAN numbers are still blank for these years. I have no idea where the total numbers came from.

Do we want to combine Table 3 with Table 4 and make it landscape? Half of the columns are redundant.

Do we want to combine Table 3 with Table 4 and make it landscape? Half of the columns are redundant.

That is a good idea and seems like we could just follow the column headers it Table 4.  The additional two columns in Table 3 (Percent U.S. and Percent Canada) seems not needed and not as important as percent of catch target removed, as in Table 4.  We may have a bunch of early years that have US and CAN specific targets blank and only have a combined target or none at all, but that's ok.  We just need to make sure we have a label that means no target specified or used versus one that indicates unknown.

That is a good idea and seems like we could just follow the column headers it Table 4.  The additional two columns in Table 3 (Percent U.S. and Percent Canada) seems not needed and not as important as percent of catch target removed, as in Table 4.  We may have a bunch of early years that have US and CAN specific targets blank and only have a combined target or none at all, but that's ok.  We just need to make sure we have a label that means no target specified or used versus one that indicates unknown.

I don't know why the numbers are not the same in these two tables. Let me look into this since I'm already doing table work..

I don't know why the numbers are not the same in these two tables. Let me look into this since I'm already doing table work..

I don't see where the  numbers are different, at least upon first glance.  The table three %'s are just how much of the total catch was caught by each country (not really that important unless one is trying to say that the 76/24% split needs revisiting.  the %'s in Table 4 are the individual attainments of country-specific TAC (not total catch).

I don't see where the  numbers are different, at least upon first glance.  The table three %'s are just how much of the total catch was caught by each country (not really that important unless one is trying to say that the 76/24% split needs revisiting.  the %'s in Table 4 are the individual attainments of country-specific TAC (not total catch).

You're right. I was comparing 'Total coast-wide' in Table 3 with  'Coast-wide catch target' in Table 4. I obviously haven't been getting enough sleep

You're right. I was comparing 'Total coast-wide' in Table 3 with  'Coast-wide catch target' in Table 4. I obviously haven't been getting enough sleep

what are your thoughts on combining it?

what are your thoughts on combining it?

That's what I'm doing now, I can't remember why it was split. Looks like the landings-vs-tac.csv file was split into two and these tables made. Probably due to someone's traditional preference which is long gone..

That's what I'm doing now, I can't remember why it was split. Looks like the landings-vs-tac.csv file was split into two and these tables made. Probably due to someone's traditional preference which is long gone..

Thanks Chris.
On Fri, Jan 29, 2021 at 1:39 PM Chris Grandin<EMAIL_ADDRESS>wrote:

That's what I'm doing now, I can't remember why it was split. Looks like
the landings-vs-tac.csv file was split into two and these tables made.
Probably due to someone's traditional preference which is long gone..
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pacific-hake/hake-assessment/issues/708#issuecomment-770064400,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7LCFBMODMIGCAVQNZMBI3S4MTHDANCNFSM4LEM4ZVQ
.

--
Kelli Faye Johnson, PhD
Research Fish Biologist
Northwest Fisheries Science Center
National Marine Fisheries Service
2725 Montlake Boulevard East
Seattle, Washington 98112
(206) 860-3490
<EMAIL_ADDRESS>

Thanks Chris.
On Fri, Jan 29, 2021 at 1:39 PM Chris Grandin<EMAIL_ADDRESS>wrote:

That's what I'm doing now, I can't remember why it was split. Looks like
the landings-vs-tac.csv file was split into two and these tables made.
Probably due to someone's traditional preference which is long gone..
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pacific-hake/hake-assessment/issues/708#issuecomment-770064400,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7LCFBMODMIGCAVQNZMBI3S4MTHDANCNFSM4LEM4ZVQ
.

--
Kelli Faye Johnson, PhD
Research Fish Biologist
Northwest Fisheries Science Center
National Marine Fisheries Service
2725 Montlake Boulevard East
Seattle, Washington 98112
(206) 860-3490
<EMAIL_ADDRESS>


Question added : LINKED LIST MIDDLE ELEMENT

Hacktoberfest! 🎊🎈
🎉 Have you read the Contributing Guidelines? 🤔
Yes.
📝 Description
Added Question: Find the middle element of linkedlist
✅ Checklist

[x] I've read the contribution guidelines. 📚
[x] I've checked the issue list before deciding what to submit. 🔍
[x] I've edited the README.md and linked to my code. 📄

Hi there!
I am the Mentor of this project .
Although this repo is not part of Hacktoberfest 2024, we have some great alternatives for you. Welcome to SkillShow, a repository focused on skill enhancement!
Guidelines:
Please adhere to the existing guidelines.
No additional rules, thanks!
Check it out here: SkillShow.
Note: Start by creating an issue. Once it’s assigned to you, feel free to open a pull request (PR). Directly opening a PR will lead to an invalid label.
Looking forward to your contributions!


RFC: a type to attempt parsing

In my (internal) codebase, I've just written this type:
-- | Try parsing a value.  If it fails, record the error message.
newtype Try a = Try { tryValue :: Either String a }
  deriving (Eq, Ord, Show, Read, Functor)

-- | Always succeeds.
instance (FromField a) => FromField (Try a) where
  parseField = return . Try . runParser . parseField

The intent is for fields that may not match a specified format; e.g. the documentation for FromField has an example of a Color type.  In practice, if this is in the middle of a row, then parsing that row fails, and thus parsing an entire CSV file can fail.
Whilst the type can be wrapped with a Maybe, this has two unfortunate side-effects:

Cannot distinguish between "Empty cell" and "Failed to parse cell"
No error message available to report back as to why a row may be bad

As such, this wrapper type allows you to successfully parse a file, and then discard rows which did not actually succeed (logging errors, etc.).
If we add in the attempted field into the Left case, we can then use that for ToField and thus have the round-trip property.  We can similarly also apply this to the FromRow/ToRow case to be able to discard rows that cannot succeed (especially useful for streaming scenarios).
Do you think this is a useful enough type for me to send a PR?  What should the name be?

How is this different from just using Either Text (or Either String). The default instance are already written and I think are identical to yours.

There is an Either Field a instance which keeps the field value, but not the error message.  When I wrote that type I needed the error message to be able to report why a row was skipped.

I'm a bit confused. Your Try is at the column level not row level, so I'm not sure which error message you get at the row level .

You can make a row level instance of it as well.
On Wed, 5 Jul. 2017, 11:37 pm Max<EMAIL_ADDRESS>wrote:

I'm a bit confused. Your Try is at the column level not row level, so I'm
not sure which error message you get at the row level .
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hvr/cassava/issues/146#issuecomment-313105240, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAwXc8ML5OYZ-HXkytAWXrazeCuGbhrTks5sK5GhgaJpZM4OHgS4
.

--
Ivan Miljenovic
On mobile; please excuse any tpyos

What I mean, I have similar problems and the way I do to have row parametrized by a functor
data Product f = Product { name :: f String, price :: f Double }

What I parse (and declare as a FromRecord instance) is Product (Either Text). Then I have a validate function Product (Either Text) -> Either (Product (Either Text)) (Product Identity) which returns a valid product or an invalid one, then I can display if needed the all the rows (valid or not) with the original value and error message. I'm not sure how your approach is different ?

My use-case was for having fields that were meant to have specific textual values (hence why I referenced the example Color example) but were at times incorrect; alternatively, they would need to be in a specific format (such as a date encoded as an 8-digit integer) that I need to parse.  However, I wanted to distinguish between a Maybe because the column was empty and a Maybe because the value was invalid.
I wasn't aware of the Either Field a instance or I might have used that; but what I actually wanted was to get the actual error message and display that as I processed the CSV file (whilst continuing on with the rest of the file rather than erroring), so if I used Either I'd have to re-parse the (invalid) Field again just to get that message.
So in practice I have a bunch of Try (Maybe Foo) in my datatype that parses the CSV file, then a function to convert from that to a datatype that contains what I actually want which just has Maybe Foo; that function is of type CSVType -> Either ErrorType UsedType where ErrorType is a richer consistent error type that I use throughout my program that contains the error message, unique key from the record, etc.
TL;DR: I want error messages; to use Either Field a I would have to re-parse them, and there is no corresponding Either String a for that (that could be used instead of wrapping it up, but it means that e.g. #116 couldn't be implemented).


Feature: Leveled logging

Feature description
The logs the wrapper sends to Conduit (implemented in #43) are sent with an "unknown" logging level (i.e. the logging level is ???). It would be good to have proper, leveled, logs.
Additional info about the current logging implementation: https://github.com/ConduitIO/conduit-kafka-connect-wrapper/pull/43#discussion_r836684780

More info on how logging works in go-plugin gRPC plugins and reasoning why https://github.com/hashicorp/go-plugin/pull/135#issuecomment-590518189.


Incorrect Indentation on newline

Issue Type: Bug
Using the following code hit enter after the last line. The new line will be indented to match the closing bracket, which is incorrect. It should be matched up with the indentation of the C in const
const res = await fetch(`${URL}`,
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        createCdJson,
      }),
    });

I also ran the same steps with code --disable-extensions and the same thing happened.
VS Code version: Code 1.46.1 (cd9ea6488829f560dc949a8b2fb789f3cdc05f5d, 2020-06-17T21:17:14.222Z)
OS version: Darwin x64 19.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (8 x 2600)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.06GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

swagger-viewer
Arj
3.0.1

vscode-eslint
dba
2.1.5

gitlens
eam
10.2.2

EditorConfig
Edi
0.15.1

terraform
has
2.0.2

vscode-xml
red
0.12.0

vscode-yaml
red
0.8.0

local-history
xyz
1.8.1

Our auto indentation support is currently based on brackets and doesn't cover this scenario.


Type information for arbitrary portions of code

ghcide gives me information on most alphanumeric symbols (and numeric literals) but there are two features that I'm used to from dante and/or itnero:

type information on operators
type information on arbitrary selected expressions

Do these features exist, and have I simply not found them?
If not, any hints on how to implement them?

I'm able to see type information on operators.

Operators should definitely work, given that it seems to work in some cases, it would be good if you could provide a specific test case where it fails.
Getting type information of a range is a bit more tricky. It is obviously more complex to implement but there is a second issue here: LSP hover does only give us a position not a range. I’ve taken a quick look at the spec and I also couldn’t find any other method that we could use here either.

Operators should definitely work

Sorry, yes, they do (it's just that in my configuration symbols' types were being shown spontaneously, while it took a bit more effort for symbols).

I guess that the bug label isn't appropriate here, as everything that is expected to work (information about symbols) seems to work.

The type of arbitrary expression can be extracted indirectly in hls, using the eval plugin, that includes :t.
Not sure if it is possible right now to translate in the hover, using the lsp protocol as pointed by @cocreature. So we should wait for some spec update to implement it.
@jacq does the workaround using eval works for you?

That question should be addressed by me nearly twin @jacg :)
Cheers,

FYI https://github.com/microsoft/language-server-protocol/issues/377

The type of arbitrary expression can be extracted indirectly in hls, using the eval plugin, that includes :t.

@jneira Could you please give some more advice on how to install/ configure?

@normenmueller you have to install haskell-language-server which includes by default the eval plugin (you can see it in accion here ).
Then you can write -- >>> in the code to evaluate expressions in the module context:
-- >>> :t fooExe
fooExe :: [Char]
fooExe = "hi"

pressing a link Evaluate

-- >>> :t fooExe
-- fooExe :: [Char]
fooExe :: [Char]
fooExe = "hi"

You can write arbitrary expressions:
-- >>> :t "hi"
fooExe :: [Char]
fooExe = "hi"

-- >>> :t "hi"
-- "hi" :: [Char]
fooExe :: [Char]
fooExe = "hi"


Support filtering using feature ids

I'd like to work on supporting ogc:FeatureId in the ol.format.ogc.filter namespace.
The functionality would be equivalent to the OL2 implementation described at http://dev.openlayers.org/releases/OpenLayers-2.13.1/doc/apidocs/files/OpenLayers/Filter/FeatureId-js.html.

Yes, that makes sense.

FWIW, I think we should drop ogc from the ol.format.ogc.filter namespace.  We're not going to have other filter formats and we have other OGC things outside of ol.format.ogc (e.g. ol.format.GML).  I know this is unrelated to your proposal here, but if anybody is feeling like collapsing the namespace a bit, I'd be in favor.

Makes sense to me, I think we came from ol.format.wfs.filter and I suggested changing to ogc back then since that is the OGC namespace, but dropping it altogether makes sense.

Any news on this?

Sorry, no longer on my TODO list. :(


(Relay) Output ID instead of GlobalID in GraphQL schema

Request to output the ID scalar instead of  GlobalID, while generating the GraphQL schema
My understanding is that GlobalID was meant to be an internal helper that resolves nodes, but ended up being a custom scalar.

Feature Request Type

[ ] Core functionality
[x] Alteration (enhancement/optimization) of existing feature(s)
[ ] New behavior

Description
Currently, while using the relay integration, and working with node types, like the example code below:
import strawberry
from strawberry import relay

@strawberry.type
class Fruit(relay.Node):
    code: relay.NodeID[int]
    name: str
    weight: float

    @classmethod
    def resolve_nodes(
        cls,
        *,
        info: strawberry.Info,
        node_ids: Iterable[str],
        required: bool = False,
    ):
        return [
            all_fruits[int(nid)] if required else all_fruits.get(nid)
            for nid in node_ids
        ]

We get a schema output like this:
scalar GlobalID

interface Node {
  id: GlobalID!
}

type Fruit implements Node {
  id: GlobalID!
  name: String!
  weight: Float!
}

But in the relay specification, which the GlobalID scalar is based on:
https://relay.dev/graphql/objectidentification.htm
calls this scalar by the name ID, and not GlobalID.
I think that there is no mention of a custom scalar to be returned for object identification.
This leads to a lot of issues while working with client libraries such as relay, where directives expect the return type to be the scalar type of ID, and not GlobalID.
An example relay compiler error is shown below:
><EMAIL_ADDRESS>relay
> relay-compiler

[INFO] [default] compiling...
[ERROR] Error: ✖ Invalid use of @deleteEdge on field 'deletedTodoId'. Expected field type 'ID', got 'GlobalID'.

  client/src/components/home-page/Todo.tsx:20:21
   19 │     deleteTodo(todoId: $todoId) {
   20 │       deletedTodoId @deleteEdge(connections: $connections)
      │                     ^^^^^^^^^^^
   21 │     }

[ERROR] Compilation failed.
[ERROR] Unable to run relay compiler. Error details:
Failed to build:
 - Validation errors: 1 error(s) encountered above.

Output GraphQL schema (After requested change)

interface Node {
 id: ID!
}

type Fruit implements Node {
 id: ID!
 name: String!
 weight: Float!
}

It would be nice if we could change the GlobalID scalar being generated to ID

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

after looking through the graphql relay documentation, I think GlobalID is not even a scalar. it'd a dataclass that is being generated in the schema. I think that we must have the ID scalar type instead of a custom scalar like GlobalID, like this

Here is a temporary solution for anyone who has the same issue, until this has been resolved:
import strawberry
from strawberry.relay import GlobalID

# temporary hack until strawberry fixes relay ID scalar generation
ID = strawberry.scalar(
    strawberry.ID,
    serialize=lambda value: str(value),
    parse_value=lambda value: GlobalID.from_id(value=value),
)

schema = Schema(
    query=query,
    mutation=mutation,
    scalar_overrides={GlobalID: ID},
)

Thanks for creating an issue for this. There is already a discussion (#3177) and a PR (#3180) for this. Feel free to join the conversation over there as well.

@aryaniyaps your temporary solution doesn't seem to work for me. I'm getting this:
TypeError: Query fields cannot be resolved.
What version of strawberry are you using?

@aryaniyaps your temporary solution doesn't seem to work for me. I'm getting this: TypeError: Query fields cannot be resolved.
What version of strawberry are you using?

I think the issue is, after creating a scalar like this;
ID = strawberry.scalar(
    strawberry.ID,
    serialize=lambda value: str(value),
    parse_value=lambda value: GlobalID.from_id(value=value),
)

You are using strawberry.ID in your schema.
You should be using your own ID scalar instead

Here is a temporary solution for anyone who has the same issue, until this has been resolved:
import strawberry
from strawberry.relay import GlobalID

# temporary hack until strawberry fixes relay ID scalar generation
ID = strawberry.scalar(
    strawberry.ID,
    serialize=lambda value: str(value),
    parse_value=lambda value: GlobalID.from_id(value=value),
)

schema = Schema(
    query=query,
    mutation=mutation,
    scalar_overrides={GlobalID: ID},
)

Thanks for this.  This definitely needs to be changed.


Incorrect content

The following is incorrect: "As previous explained, only users who are members of the Reviewer or eDiscovery Manager role groups can be added as members of the case. "
You can add members to the cases without them having these permissions; they just won't be able to see the eDiscovery menu option when they go to the Security & Compliance center.

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

ID: 24e97a56-f8f5-3725-cfda-954ec3ba71f6
Version Independent ID: 0626a65e-d55d-48c7-90fe-1f982a18d729
Content: Manage eDiscovery cases in the Security & Compliance Center - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/ediscovery-cases.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@Robright Thanks for the heads up. Article has been updated.


test.cpp: Crash with w64devkit when running without iprof...

Also with IPROF_DISABLE_VECTOR_OPT! (Note don't forget to define it twice then: both in test.cpp and iprof.cpp!... Which is so stupid, worth its own issue...)
Also with -O2 (and -O3).
Also with the prev. 4 commits (oldest tried yet: 32d3934b)! :-o Something is really off here... I'd swear this didn't happen with any of them earlier! Even with the fresh ones today, it was all right for quite a while.
Nothing with MSVC and CLANG on WSL2. Nothing with g++ on WSL2, either!
>gdb a.exe                                                                                Reading symbols from a.exe...

warning: could not convert 'main' from the host encoding (CP65001) to UTF-32.
This normally should not happen, please file a bug report.
(gdb) r
Starting program: a.exe
[New Thread 23768.0x7530]
sizeof(iProf::TagList): 128 bytes

And the lucky double is: 440.835

The profiler stats so far:
SCOPE: AVG_TIME (TOTAL_TIME / TIMES_EXECUTED)
All times in micro seconds
heavyCalc: 3.33874e+06 μs (3338737 μs / 1)
heavyCalc/bigWave: 539.615 μs (539615 μs / 1000)
heavyCalc/hugePower: 2798.49 μs (2798489 μs / 1000)
heavyCalc/hugePower/Interm.: 2797.3 μs (2797305 μs / 1000)
heavyCalc/hugePower/Interm./FirstPowerLoop: 604.288 μs (604288 μs / 1000)
heavyCalc/hugePower/Interm./SecondPowerLoop: 562.654 μs (562654 μs / 1000)
heavyCalc/hugePower/Interm./BigWavePowerLoop: 1629.42 μs (1629422 μs / 1000)
heavyCalc/hugePower/Interm./BigWavePowerLoop/bigWave: 542.846 μs (1628539 μs / 3000)

Second lucky double is 440.835

The profiler stats after the second run:
heavyCalc: 3.33854e+06 μs (6677079 μs / 2)
heavyCalc/bigWave: 539.271 μs (1078542 μs / 2000)
heavyCalc/hugePower: 2798.61 μs (5597211 μs / 2000)
heavyCalc/hugePower/Interm.: 2797.8 μs (5595600 μs / 2000)
heavyCalc/hugePower/Interm./FirstPowerLoop: 605.265 μs (1210530 μs / 2000)
heavyCalc/hugePower/Interm./SecondPowerLoop: 561.518 μs (1123036 μs / 2000)
heavyCalc/hugePower/Interm./BigWavePowerLoop: 1630.06 μs (3260129 μs / 2000)
heavyCalc/hugePower/Interm./BigWavePowerLoop/bigWave: 543.053 μs (3258320 μs / 6000)

Let's try a multithreaded environment
[New Thread 23768.0x59ac]
[New Thread 23768.0x5ff8]
440.835

Thread 4 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 23768.0x5ff8]
0x00007ff6b6ef7dee in std::map<LossyVector<char const*, 15u>, iProf::Totals, std::less<LossyVector<char const*, 15u> >, std::allocator<std::pair<LossyVector<char const*, 15u> const, iProf::Totals> > >
::~map() ()

FTR. I also noticed earlier another w64devkit weirdness: test times all of a sudden almost tripled!
Either I actually remember wrong, and they always took so long, or something happened that med them last more than 10 seconds, while all others are at around 3-4!

There's not much I can do about it, so... I can still reopen it later, if it becomes relevant again.


Begin paper draft

Paper will likely concern the results of the source injection, as well as requirements for mitigation of any effects the current sky subtraction has on LSB features.

As reported at 03/MAR/21, it was that this  can be closed. This concerned a paper being written about alternative sky subtraction software that was written while waiting for the outcome of the DM tests.


Request | File Explorer: Add options to File Explore

Workspace Folder
Principals

[x] Create new file
[x] Create new folder
[x] Rename Folder F2
[x] Move Folder to Trash Delete
[ ] Delete Folder Shift+Delete
[ ] Cut Ctrl+X
[ ] Copy Ctrl+C
[ ] Paste Ctrl+V

Secondaries

[ ] Reveal in File Explorer
[ ] Open in Integrated Terminal
[ ] Copy Path
[ ] Copy Relative Path

Individual Folders on Workspace - Recursive options
Principals

[x] Create new file
[x] Create new folder
[x] Rename Folder F2
[x] Move Folder to Trash Delete
[ ] Delete Folder Shift+Delete
[ ] Cut Ctrl+X
[ ] Copy Ctrl+C
[ ] Paste Ctrl+V

Secondaries

[ ] Reveal in File Explorer
[ ] Open in Integrated Terminal
[ ] Copy Path
[ ] Copy Relative Path

Individual Files on Workspace - Recursive options
Principals

[x] Rename File F2
[x] Move File to Trash Delete
[ ] Delete File Shift+Delete
[ ] Cut Ctrl+X
[ ] Copy Ctrl+C
[ ] Paste Ctrl+V

Secondaries

[ ] Reveal in File Explorer
[ ] Open in Integrated Terminal
[ ] Copy Path
[ ] Copy Relative Path

Related: #653 (once it is merged) adds New File / New Directory /  Rename / Move to Trash (delete but safer).
Thanks for the list of useful options that we'll want added.

+1 for Reveal in File Explorer, I use that all the time.

+1 for Reveal in File Explorer, I use that all the time.

+1, I'd also love for there to be an option to automatically open the current file in the explorer.

Deleting directory is already implemented
Revealing in file explorer - #1165

I'd also add the ability to move files or folders. This would Ideally be done by simply dragging them.

Deleting directory/file is already implemented Revealing in file explorer - #1165

move to trash is different from delete, if will not be implemented, I can scribe


Fix quote on LBSGD docs

Description
fix https://github.com/apache/incubator-mxnet/issues/12171

This comment is ignored: https://github.com/apache/incubator-mxnet/issues/12171#issuecomment-415178244

@mxnet-label-bot update [Doc, pr-awaiting-merge]

@ThomasDelteil The issue mentioned https://github.com/apache/incubator-mxnet/issues/12171 talks about doc fix needed and the bug in optimizer. This PR only takes care of doc fix.
Can you remove "fix #12171" from description or maybe fix the bug as well to merge this PR and close the issue?

@ThomasDelteil Could you please take a look into comments by @Roshrini

I've updated the description. The issue is left open.


Internal redirects to proxy server when path contains an index

1. What version of Caddy are you using (caddy -version)?
Caddy 0.10.6
2. What are you trying to do?
Protect pages using the internal directive.  An app server responds with X-Accel-Redirect
3. What is your entire Caddyfile?
http://localhost:4000 {
  errors stderr
  log stdout
  root public
  internal /private
  proxy /secure localhost:3000 {
    transparent
  }
}

4.  Please paste any relevant HTTP request(s) here.
> curl http://localhost:4000/secure/index.html -v
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 4000 (#0)
> GET /secure/index.html HTTP/1.1
> Host: localhost:4000
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Mon, 07 Aug 2017 16:02:55 GMT
< Location: http://localhost:3000/private/
< Server: Caddy
< Content-Length: 65
< Content-Type: text/html; charset=utf-8
<
Moved Permanently.

* Connection #0 to host localhost left intact

6. What did you expect to see?
File public/private/index.html served
7. What did you see instead (give full error messages and/or log)?
Returns redirect to http://localhost:3000/private/
8. How can someone who is starting from scratch reproduce the bug as minimally as possible?
Clone this repository
https://github.com/dusty/caddy-issue
npm install
npm start
caddy

Wanted to make a note on this.
It appears the trouble I'm seeing with the internal is a byproduct of something Caddy is doing to perhaps enforce clean urls.  For example, check out the static scenarios in the readme at https://github.com/dusty/caddy-issue
On the simplest setup, where you are just statically serving a file if its named something that matches an index, and you request the file directly, instead of serving the file it will redirect you with a 301 to a URL without that filename.
eg:  get /index.html redirects you to /
That is likely not going to be a problem, aside from an extra http request.
However, I am seeing a potential problem (unless I have a mistake in my configuration).
If you have a file named notindex.html, you will get redirected to /not.  It appears Caddy is just stripping away the index from the end of path and sending a redirect with that.  This is going to be a problem as you will likely get a 404 error, or get served incorrect content if you happen to have something located at not/index.html
It appears this behavior is what is causing the issue I was seeing with the internal.

I've never looked at Go code before, so I thought this might be interesting to look at.  I think I located the part of the code that would send a redirect on notindex.html to /not.  I added a failing test and then fixed it here:
https://github.com/dusty/caddy
Basically the check to see if an index file was called was simply using hasSuffix on the path.  I'm thinking that was probably a shortcut to deal with slashes (eg: /something/index.html).  I changed it to split on / and then grab the last element and compare that directly to the index we were checking.
For example
/something/notindex.html
notindex.html == index.html
instead of
strings.hasSuffix('/something/notindex.html', 'index.html')
Not sure if this will fix the internal piece or broke anything else.  Will look at that as soon as I figure out how to install all the deps.
I installed go via homebrew and get this error.  Any tips?
go install: no install location for directory /Users/dusty/tmp/caddy/caddy outside GOPATH
For more details see: 'go help gopath'

@dusty Nice job investigating! All your Go packages should be in your GOPATH (a "workspace"): https://golang.org/doc/code.html#Organization
The default GOPATH is $HOME/go, I think. So check that folder. Having things in $HOME/tmp won't work for you unless you set that to your $GOPATH env variable.
Caddy's static file server redirects requests to index files to their canonical path: /index.html -> /. This comes from within the staticfiles package, as you have found. And indeed, that might be a bug... we should be checking if path.Base(...) == indexFile (or something like that), rather than doing a naive HasSuffix() check on the whole path.
So your fix is on the right track, but consider using path.Base instead. Does that help?

Thanks!  That is very helpful for a major go newbie.  I'm currently googling things like "how to split a string in go" and "How to get the last element in an array in go"  :)

Ok, so I pushed out the change you suggested, much cleaner.  This took care of a file named somethingindex.html being redirected to /something.  It turns out this in particular is a different issue than the one I created this for.
The redirect issue I am experiencing on serving an internal file named something defined as an index (index.html) still has an issue.  I'll try digging for this tomorrow, any tips would be helpful.
eg:
GET http://localhost:4000/secure/index.html
301 redirects to:
http://localhost:3000/private/
However, /private is protected by the internal command.  In addition the actual server you are proxying to may be on an internal network that can't be reached and shouldn't be presented.
To continue with the clean url behavior, I think it should be:
http://localhost:4000/secure/
Assuming the internal component should pick up on index files as well.

@dusty Nice work on the index file bug; that is indeed separate, go ahead and submit a PR for review.
I like @slightfoot's suggestion (in our Slack), where we possibly handle the redirect case within the internal directive. Similar to what we do now, but we just look at a different status code and response header. :)

Original issue was fixed in #1812. Could this be closed?


Implement test archci to trigger test

When archci try to trigger test, it just need to add the new build record in database and set the status to test.

This is done before 0.3 released :smiley:


Feature proposal: Add Networking to containers

This proposal would keep networking to a minimal for now, but with a big impact.
The idea is as follow:

[ ] Enable network support within Kitematic Preferences (this adds a new 'kitematic' networ)
[ ] Add network to containers (with networking enabled, this would show the network that the container can attach to)

Keep in mind that the above is a rough draft and comments are welcome as to how users would like this to work.
I would like to keep this as a small feature for now which can then grow later on.  Adding the default 'kitematic' network would allow for all things to talk to each other on a common network.

:+1:

I'd love to see this! :+1:

any progress in this?

@ToniIltanen If you'd like to own the implementation, please do so :)


amd-module tag has no effect on generated d.ts file

When using /// <amd-module name="foo/bar/baz" /> to name an AMD module, the generated d.ts file does not declare an ambient declaration; it remains an anonymous module. This ties into the ongoing discussion about how to best bundle external libraries.
Edit: removed useless hyperbole

that is because the compiler never emits modules as ambient external module declarations. i am working on a change to make this happen though. so i will take on this one,

In the meantime, do you have any pointers to generating single d.ts file from the generated output?
It seems like the generated anonymous modules cannot be bundled without substantial manual effort. One cannot simply wrap the generated output in a declare module 'foo' clause, because then relative imports don't work. If the source is updated to use absolute imports, the output is still incorrect because the generated code has export declare class ... statements which result in these errors:  error TS1038: A 'declare' modifier cannot be used in an already ambient context.
So, it seems that there is not a reasonable way to deal with large libraries of external modules currently. Distributing unbundled is frought with its own pains because one cannot set the import path of the compiler.

Have you tried https://github.com/SitePen/dts-generator?
I have a working version that i need to clean up and send a PR for. hopefully before end of next week.

Thanks. This works for now. Looking forward to the official support!

the name from amd-module tags should now be reflected in the output with --out and --module combination.


Fix altitude for viewport first person & object labels

Coverage decreased (-9.0%) to 30.565% when pulling 3c83a44adc43549a443007858f74d80940b3f52b on tpw/fix-website-demo-alt into b329e92b8cb283bd3de8d14a11e1670b41c4742a on master.


(PUP-8604) Move string functions from stdlib to puppet

CLA signed by all contributors.

Meh, Ruby before 2.4.0 produces the wrong results for UTF-8 string operations. Making those tests pending.

But of course - MRI < 2.4.0 does not do well on international characters and up/down casing them. Made those tests depend on RUBY_VERSION >= "2.4".


processes not been killed

OS: arch linux
go: 1.8.1
oliveag+ 12379  0.0  0.0<PHONE_NUMBER>0 pts/7    Sl+  10:34   0:00 ./main
oliveag+ 12603  0.2  0.1<PHONE_NUMBER>2 pts/7    Sl+  10:34   0:00 ./main

       // here. proc.Pid > 0
	if !isMac {
		err = proc.Release()
		if err != nil {
			return nil // to prevent throw an error if the proc is not yet started correctly (= previous build error)
		}
	}
        // now proc.Pid is always -1
	if proc.Pid <= 0 {
		return nil
	}

@oliveagle It's fixed with https://github.com/kataras/rizla/commit/55dc5f9e603825885f80de5c69519efe11047c32 Thanks for the report


Implement xdg-output

I'd like to replace wlr_output_{create,destroy}_global by a new wlr_output_expose(struct wlr_output *output, bool expose) for consistency with wlr_output_enable. Also this change will require to add an expose signal.

-1


How to use Admin Api

I am trying to call Admin API from another API, which is very common scenario. Usually, one uses Client-Credentials-flow in such chase. This is what I trying to do (for a week already) - I am calling token endpoint passing client_id and client secret and the scope of the adminapi. I got my access token and it validates correctly, but in the last step when I am actually calling the Admin API (to get all clients, for example) I get 403 with the message  in the event log: "IdentityServer4.AccessTokenValidation.IdentityServerAuthenticationHandler
AuthenticationScheme: Bearer was forbidden."
I am guessing this is because the access token doesn't have any roles listed, and the admin api controllers have this Authorization policy that requires administratition role.
So, I tried to add "roles" to the scopes I would like to get back. In this case I am getting an error in the first step - when trying to get a token:
"Client cannot request OpenID scopes in client credentials flow"
It kind of makes sense that we shouldn't get OpenID scopes (like roles in this example) in the workflow that has no end-user involved. It also make sense that you want to protect you admin API with some elevated-permission requirement. What is not clear at all, is to how to call this API? If there is some way to fix it that requires some work on the admin-API side - please describe what exactly should be done and I would be happy to create a PR for you. At this point I just don't see any good solution. Please advise.

Please, try this scenario:

Add client claim into your client - role and value which is requered in API
Then you will receive the claim in your api called - “client_role” so you need extend the default authorization for additional check for client_role. Please check in Client object the collection claims and clientclaimsprefix.
Give me pls info if it is good direction for your use case.
Thanks 😊

Thank you Jan. I actually was able to get trough with the "Password" flow. I created and API user and pass that user's credentials in the PasswordTokenRequest. That works.
Now, I also created an additional admin API method to get user's role's claims. Would I be able to PR it into your main repo or you are not interested in this type of functionality?

Hi @gzinger, @skoruba
could you please elaborate your "Password" flow a bit more?
I am also trying to call Admin.API let's say /api/ApiResources but I am unable to get token for my client. How could I set up my client to call that api? What did you do?
@skoruba
Is there a sample "console app" for calling Admin.API ? Or some code with relevant configuration for it to work?
Thank you

https://github.com/IdentityServer/IdentityServer4/blob/master/samples/Quickstarts/2_ResourceOwnerPasswords/src/IdentityServer/Config.cs#L71 - here is the configuration which you probable are looking for. You need register new client for your console app and use api name for property called - allowedscopes. Then in your console app you need call api like in this file: https://github.com/IdentityServer/IdentityServer4/blob/master/samples/Quickstarts/2_ResourceOwnerPasswords/src/ResourceOwnerClient/Program.cs#L29
But I recommend use client credential flow instead like I mentioned above.
Please don not forget that user must have a role for administration.

Hi Jan,
is it possible to enable GitHub Wiki on this repository?
I would like to add some info about how to setup client and use it for others to see...
Thank you

Please, you can add new markdown file into folder called docs. I will convert folder docs into readthedocs instead of wiki. :-)
Thank you.

Sure.
My I suggest you open a gitter community like let's say https://gitter.im/dotnet/home so we talk a bit easier then here. I don't want to "pollute" issues to much ;)

For sure, we already have it - https://gitter.im/skoruba/IdentityServer4.Admin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

BTW, the way I was able to get around the issue to create both client and
user credentials and passing them both to create an access token.
Is that what you did or you found some more elegant approach?
On Thu, Oct 17, 2019 at 12:07 PM b0<EMAIL_ADDRESS>wrote:

Hi @skoruba https://github.com/skoruba and thank you for the link, I am
aware of those samples.
What I am trying to do is call your's Admin.API from my console
application.
It seams to me that I am making mistake in creating correct type of client
in Admin gui.
You have created AdminClient and AdminClient_api_swaggerui clients that
call Admin.API but both of those are browser based. How would you configure
client that is just plain console app, no browser but that it can call
Admin.API?
I think I have same problem as @gzinger https://github.com/gzinger , I
don't know how to use/do rest call on your Admin.API.
Do you have some directions?
Thank you
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/skoruba/IdentityServer4.Admin/issues/347?email_source=notifications&email_token=AAFYMQVMO3QAMWF7DCSIEALQPCETVA5CNFSM4IMLFYMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBQUVTA#issuecomment-543247052,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFYMQVFLGEQHHULYPYYTNTQPCETVANCNFSM4IMLFYMA
.

@gzinger - Yes, I implemented this with client credentials flow, please check dev branch and authorization stuff in API. You can use client credentials flow and client_role claim.

I've tried everything above and I simply cannot access the Admin API from a console application. The above GitHub links do not work. Would really appreciate some help

Just updated to your new net5 version and now all my previously working Client Credential flows are giving an error "invalid scope". Did I miss something?

Thank you @skoruba , @gzinger , and @b0 for your helpful discussion and suggestions on this issue. The information provided here was invaluable in helping me understand and resolve my problem with connecting to the Admin API.
I was able to add the necessary client_role claim through the Skoruba UI as suggested. This, combined with the proper configuration of client credentials and scopes, allowed me to successfully authenticate and access the Admin API.
For anyone else facing similar issues, make sure to:

Use the Client Credentials flow
Add a client_role claim to your client
Ensure your scopes match those required by the Admin API
Update your API's authorization policies to check for the client_role claim

Thanks again for maintaining this project and providing such helpful support!


ocis-bin: 5.0.5 -> 6.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/owncloud/ocis/releases.
meta.description for ocis-bin is: ownCloud Infinite Scale Stack
meta.homepage for ocis-bin is: https://owncloud.dev/ocis/
meta.changelog for ocis-bin is: https://github.com/owncloud/ocis/releases/tag/v6.1.0
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.1.0 with grep in /nix/store/jvp05y8pfsi33j8573dcns8gqr8g1px1-ocis-bin-6.1.0
found 6.1.0 in filename of file in /nix/store/jvp05y8pfsi33j8573dcns8gqr8g1px1-ocis-bin-6.1.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

ocis-bin

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jvp05y8pfsi33j8573dcns8gqr8g1px1-ocis-bin-6.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ocis-bin https://github.com/r-ryantm/nixpkgs/archive/bb4673f83a51af5aef45b91b7d8127305000e17f.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bb4673f83a51af5aef45b91b7d8127305000e17f#ocis-bin

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jvp05y8pfsi33j8573dcns8gqr8g1px1-ocis-bin-6.1.0
ls -la /nix/store/jvp05y8pfsi33j8573dcns8gqr8g1px1-ocis-bin-6.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ocis-bin

Maintainer pings
cc @Ramblurr @bhankas @danth @Ramblurr for testing.

closing in anticipation of @Ramblurr 's solution.

@bhankas which has just arrived :) see :arrow_right:  https://github.com/NixOS/nixpkgs/pull/326809


Fix for #6855 - Measure-Object should handle scriptblock properties.

PR Summary
Fixed issue #6933 by renaming the class that does all the work from MshExpression to PSPropertyExpression, making the class public and then in MeasureObjectCommand, lifting it up to the parameter level. Previously the implementation exposed the -Property as string then wrapped it internally as a PSPropertyExpression. Now the parameter type is PSPropertyExpression directly allowing for both wildcard strings and scriptblocks.  Note that this is technically a breaking change (the public type of the parameter has changed) but this was reviewed by the committee and approved. (The vast majority of changes in this PR are due to the renaming. The code changes are relatively small.)
PSPropertyExpression now lives in a public namespace where it can be used by cmdlet and script authors to easily add the same type of functionality to their commands.
I also modified PSPropertyExpression to treat hashtables as objects so that
@{prop = 3} | measure-object prop

and
@{prop = 3} | measure-object {$_.prop}

will work the identically. (Previously the example using just the property name would just fail.)
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[ ] Not Applicable
OR
[x] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[ ] Not Applicable or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

@BrucePay Thanks! I am extecting that the PR will marked by the label.
Seems we lost all MSFT team in recent weeks. I wonder.

Oops - I had the wrong issue number in the comment so you might have looked at the wrong issue. #6855 is, in fact, marked "Committee Reviewed".

@SteveL-MSFT Says we're ignoring CodeFactor issues for now.

@iSazonov FYI - Most of my team has been involved with helping port existing Windows PowerShell modules owned by other teams to work with PSCore6 so you may find us not as active.  Hopefully we'll be back to fully engaged by end of June (or mostly engaged).

I'm glad that this process began. I do not see this leading to corrections in PowerShell Core - it convinces me that PowerShell Core is very good! :smile:

@daxian-dbw @BrucePay  Sorry for the late review.  To answer Dongbo's question, from a security point of view I think this is Ok.  MshExpression (now PSPropertyExpression) takes a ScriptBlock in its constructor which it will invoke.  But as long as the passed in ScriptBlock is created in a constrained environment it will be marked accordingly and the script block will be invoked with CL mode constraints.
A constructor also takes a string "expression", but as near as I can tell it is never evaluated as script and is used to look up properties.  Is this correct?
However, we should include a CL mode test to ensure the expression scriptblock is run in CL mode.

A constructor also takes a string "expression", but as near as I can tell it is never evaluated as script and is used to look up properties. Is this correct?

@PaulHigin Yes, that's correct. It's for property lookup.

@PowerShell/powershell-committee reviewed this and is fine with this breaking change which is likely only an edge case, but the positive impact for most users is beneficial

@PaulHigin New commits have been pushed. Can you please update your review? Thanks

@BrucePay I just noticed that we didn't run feature tests for this PR CI. Can you please push another commit with [feature] in the commit message? That will trigger the feature test run. You can also update the current head commit by running git commit --amend in your local brucepay_MeasureObject branch, and then forcing push to the remote by git push --force-with-lease <your fork repo> brucepay_MeasureObject. Thanks!

@BrucePay I have submitted a dummy commit to trigger the feature test run for this PR.


Edit buttons for xrefs

Every xref should have an edit button that lead to the github page of this xref term.
See demo: https://dwarshuis.com/test/spec-up-t/#terms-definitions

See https://blockchainbird.github.io/spec-up-t-starter-pack-install-for-testing/#term:term-1


🐞 - Dropdown triggers change detection too frequently

Playground Link
https://stackblitz.com/edit/dropdown-triggers-cd-too-frequently?file=src%2Fapp%2Fapp.component.ts,src%2Fapp%2Fapp.template.html
Description

app.component.ts

import { ChangeDetectionStrategy, Component, DoCheck } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { TuiDropdown, TuiLabel } from '@taiga-ui/core';
import { TuiSwitch } from '@taiga-ui/kit';

@Component({
  standalone: true,
  selector: 'app',
  templateUrl: './app.template.html',
  styleUrls: ['./app.style.less'],
  changeDetection: ChangeDetectionStrategy.OnPush,
  imports: [FormsModule, TuiSwitch, TuiLabel, TuiDropdown],
})
export class App implements DoCheck {
  open = false;

  ngDoCheck() {
    console.log('=[tick]=');
  }
}

app.template.html

<label tuiLabel>
  <input tuiSwitch type="checkbox" [(ngModel)]="open" />
  Show dropdown
</label>

<p
  class="host"
  tuiDropdownDirection="bottom"
  [tuiDropdown]="dropdownContent"
  [tuiDropdownManual]="open"
>
  Dropdown host
</p>

<ng-template #dropdownContent>
  Taiga UI is fully-treeshakable Angular UI Kit consisting of multiple base
  libraries and several add-ons. It is based on ng-polymorpheus dynamic content
  approach and uses Web APIs for Angular for required browser APIs.
</ng-template>

https://github.com/user-attachments/assets/ec77d5da-f8f6-4771-ab26-094130af2b0d
Angular version
18
Taiga UI version
4.4.1
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

@nsbarsukov

What if I comment out this line, the error will continue? I recently encountered this problem, and my guesses led to this code

@splincode I've tried to comment this line – no infinite logs more.
So, these line cause cyclic change detection

https://github.com/taiga-family/taiga-ui/issues/8567


Lua Error's ( 355,330,199,191)

Problem: Getting error when using the "Import: Passive Tree and Jewels"
Frequency: Permanent
Priority: Critical
Extra's: Tried the usual basic troubleshooting - restarting pc, updating pob, running as admin, etc etc.
Also I am able to import items, just not import passive tree and jewels. Screen shot of what it looks like provided.

Hrmph. It seems GGG decided to make a change to the data format returned by the get-passive-skills API, which broke the program's import code. I'll be releasing an update soon to fix it.


⚠ Hartman Foundation has degraded performance

In a7da83e, Hartman Foundation (https://gordonhartman.com/) experienced degraded performance:

HTTP code: 200
Response time: 2554 ms

Resolved: Hartman Foundation performance has improved in c8e7e27.


I have java-script error.

I'm getting this same error.  Windows 10, but I did just update my Java.  Don't know if that has anything to do with this.  Didn't seem to start until I did.  Running Java Version 8 update 101 (build 1.8.0_101-b13).

This is the error I get after one of the scanners stops working when I have three or four running and have to restart that one.  If you look at the code, it says Error: Listen EADDRINUSE::8001.  I decipher that as Email address in use.  It makes me wonder if the Google login (that's what I use) timed out or since I log in 3-4 times with different accounts maybe it logs one out.

I seem to get this error every time I log into an account through the live map. Only seems to happen on 1.06. 1.03 I don't seem to get the error. Curious if you get a ECONNECT error sometimes instead of the map loading up.


Update choosing-a-pipeline.rst

Proposed changes:

Document the pipeline for pretrained_embeddings_convert under the Pre-configured Pipelines section.
close #4867

Status (please check what you already did):

[ ] added some tests for the functionality
[x] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

Actually, please rebase to 1.5.x and also add a changelog file :)


README.md: Mention Solus & Serpent OS

Solus PGOs the majority of it's toolchains when possible and the build format has easy support to perform a PGO build where the build system doesn't provide it
The Serpent OS stone.yaml format is derived from Solus' package.yml format by the same creator, similarly providing easy support to perform PGO builds.
Both distros also contain experimental BOLT macros to support BOLT'ing a package.

P.s. if you rg "profile    :" -g '*package.yml' -A 4 on the solus packages monorepo you may find some more interesting examples, benchmarks are normally included if you git blame and find the commit.

Excuse me for the so late response.
Thank you very much for the details about Solus! Actually, I had this OS in my local TODO list for investigation the state of PGO in it (since I found this OS in some PGO-related discussions) but I am happy that you are begin faster than me here!


[Relay/Topi][Op] 1D Pooling

This PR adds 1D MaxPooling and AvgPooling to topi, relay, and the onnx frontend. These new operators pair well with the 1D convolutions added in PR #4639 to enable fully 1D networks for sequence processing.

@srkreddy1238 @yongwww, can you take a look at this PR?

thanks @jwfromm


Allow animation curve definition

I'd like to change the curve to ease out.

Will look at opening a PR

it's added to version 1.0.0
##Thanks.


updates

Docs Build status updates of commit e1a13a0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

dynamics-gp/TOC.md
:white_check_mark:Succeeded
View

dynamics-gp/distribution/manufacturing-setup-checkdata.md
:white_check_mark:Succeeded
View

dynamics-gp/distribution/manufacturing-setup-part-2.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[Bug] solana.core.Message.from(byteArray) deserialization bug

Describe the bug
Trying to build a Transaction object from an array of bytes throws an exception. The exception is thrown by the call to solana.core.Message.from(byteArray) inside of the Transaction.from() method.
To Reproduce

create an NFT mint transaction (in my case I am using CreateNftTransactionBuilder().build() from the metaplex-android lib)
partial sign the transaction with the payer/owner account
serialize the transaction using Transaction.serialize()
try to rebuild the transaction object from the serialized bytes using Transaction.from(serializedBytes)

Expected behavior
Transaction.from(serializedBytes) should work the same as manually building the transaction like so (this is our current workaround):
Transaction().apply {
       setRecentBlockHash(recentBlockhash)
       feePayer = creator
       addInstruction(instructions)
       addSignature(creator, primarySignatureFromMwa)
}

SDK Version & Context
Platform: Android
Version: solana-kt:2.0.0
Additional context
We are using metaplex and solanaKT with Mobile Wallet Adapter. Mobile wallet adapter uses raw byte arrays to pass around and sign transactions. This is why we need to serialize the Transaction object into bytes (for MWA signing), then rebuild the Transaction object from the signed bytes (so it can then be passed to sendTransaction or other solanakt/metaplex methods). When fixing this, I am may add some other methods/abstractions to better support raw byte array transactions.

I will take a look at this


programme page overflows

links overflow table. they should either wrap or be clipped with ...
currently they lead to horizontal scrolling

Hey guys, did you remove links from project pages altogether? I just had one of the Living Atlases partners notice that the links they had provided weren't showing...

Hey guys, did you remove links from project pages altogether?

I have created a separate issue for this. seems like it was never there. https://github.com/gbif/portal16/issues/175

No longer relevant - there are other mobile issues, but this isn't one of them


issue: Confusing useWatch documentation

Version Number
7.43.8
Codesandbox/Expo snack
https://codesandbox.io/s/headless-shadow-i6brkl?file=/src/App.js
Steps to reproduce

Calling useWatch with a string (the field name) as an argument will return all form values.

Expected behaviour
According to useWatch documentation, one could call useWatch passing a string as an argument and it would return the field's value.

This is not the case.
What browsers are you seeing the problem on?
Firefox, Chrome, Safari, Edge
Relevant log output
No response
Code of Conduct

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

thanks that's a mistake, would you like to fix that with a PR?

thanks that's a mistake, would you like to fix that with a PR?

I can fix it if no one else offer themselves by the weekend

Thank you so much in advance 🙏

Hey @bluebill1049, I'll be working on this over the weekend.
I believe there are two ways to solve this issue and would like to get your opinion on which way to follow:

Update the documentation
Change the code a bit to also accept a string as a parameter

Option 1, thanks 🙏


periodicTokenRefresh Missing from AuthReactConfig API Documentation

The API documentation for AuthReactConfig does not include any mention of the periodicTokenRefresh property.
Since SDK version 4.0 had auto token refresh enabled by default, updating to the latest version caused automatic refresh to stop working. After investigating the SPA code, I found that this property was introduced, but it is not documented.

Hi @lakpahana, Thank you for reporting the issue. We would greatly appreciate it if you're able to contribute a pull request for this. 😊


Next and previous button

Good afternoon, I'm having trouble creating next and previous button, would you have any examples ??
I'm trying to use the RN navigation but it's not working, it brings me the error undefined is not object (evaluating this2.props.navigation.navigate)

Hello @rhenanteix. There is no content about changing pages in documentation. You may simply doing like this:

<Button title="Next" onPress={() => this.nextNextPage(this.state.currentPage + 1)} />
<Button title="Previous" onPress={() => this.nextNextPage(this.state.currentPage - 1)} />
nextNextPage(currentPage) {
this.setState({ currentPage })
}