ordered-imports: don't remove text containers linebreaks and text

PR checklist

[X] Addresses an existing issue: #4569

Overview of change:
Existing replacement code deletes lines around import declarations if they contain any line break. This means it deletes actual code in the case where a fragment of text has both line breaks and characters.
An ideal fix would be to keep the (previously deleted) code as close to the import it depends on...assuming it depends on an import at all. Of course, this ramps up the complexity, because any given line of code could use a combination of imports.
This fix results in the code just appearing below the import blocks in the order they were processed.
CHANGELOG.md entry:

Thanks for your interest in palantir/tslint, @lukeautry! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.


Acquiring the publisher's authorization token: possible via SDK?

This document, specifically the section titled "How to get the publisher's authorization token", outlines how to acquire the publisher's authorization token, which is supposed to be attached to every request made by the publisher in Azure Marketplace.
Azure's Java SDK (not the marketplace-specific SDK which we can't utilize since it's Java 11) has some mechanisms to efficiently manage clients (like checking whether the token has expired before requesting a new one). We'd like to take advantage of this in our code, but I'm unsure how to properly utilize the Azure Java SDK in order to properly acquire the token. Specifically the docs say that the resource in the request body should be 20e940b3-4c77-4b0b-9a53-9e16a1b010a7 - where (if it's even possible) should this be placed when using the Azure Java SDK?
A minimal SDK example in the docs on how to acquire said publisher token would be invaluable. Or should we just use REST?

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

ID: 426842c5-260f-9180-e394-12b470163468
Version Independent ID: c781230d-4992-5e45-7e13-10d89f97a086
Content: Register a SaaS application - Azure Marketplace
Content Source: articles/marketplace/partner-center-portal/pc-saas-registration.md
Service: marketplace
Sub-service: partnercenter-marketplace-publisher
GitHub Login: @mingshen-ms
Microsoft Alias: mingshen

@SHxKM Thank you for reaching out with your query, assigned this issue to our document author to further review.

#reassign:@saasguide

@SHxKM - Could you point us to the Azure's Java SDK referred in the above question, please?
It might be a good question on the SDK repo.

#please-close


[Bug] Disk size growth errors

Describe the bug
Without disksize plugin, and configuration in Vagrantfile, both the elastic and centos7 boxes are unable to grow to a large enough size: ts.elastic: NOCHANGE: partition 2 could only be grown by -33 [fudge=2048]
To Reproduce
Steps to reproduce the behavior:

checkout stationctl-update branch
import dev- testing boxes
confirm no plugins installed
deploy from script

Screenshots
Confirm to proceed with deployment [Y/N]: y
Bringing machine 'ts.elastic' up with 'virtualbox' provider...
Bringing machine 'ts.windows10' up with 'virtualbox' provider...
Bringing machine 'ts.centos7' up with 'virtualbox' provider...
Bringing machine 'ts.redops' up with 'virtualbox' provider...
==> ts.elastic: Importing base box 'dev-elastic'...
==> ts.elastic: Matching MAC address for NAT networking...
==> ts.elastic: Setting the name of the VM: ts.elastomic
==> ts.elastic: Clearing any previously set network interfaces...
==> ts.elastic: Preparing network interfaces based on configuration...
    ts.elastic: Adapter 1: nat
    ts.elastic: Adapter 2: hostonly
==> ts.elastic: Forwarding ports...
    ts.elastic: 3389 (guest) => 33389 (host) (adapter 1)
    ts.elastic: 5601 (guest) => 5601 (host) (adapter 1)
    ts.elastic: 9200 (guest) => 9200 (host) (adapter 1)
    ts.elastic: 22 (guest) => 2222 (host) (adapter 1)
==> ts.elastic: Running 'pre-boot' VM customizations...
==> ts.elastic: Booting VM...
==> ts.elastic: Waiting for machine to boot. This may take a few minutes...
    ts.elastic: SSH address: <IP_ADDRESS>:2222
    ts.elastic: SSH username: vagrant
    ts.elastic: SSH auth method: private key
    ts.elastic: Warning: Connection reset. Retrying...
    ts.elastic: Warning: Connection reset. Retrying...
    ts.elastic: Warning: Remote connection disconnect. Retrying...
    ts.elastic: Warning: Connection reset. Retrying...
    ts.elastic:
    ts.elastic: Vagrant insecure key detected. Vagrant will automatically replace
    ts.elastic: this with a newly generated keypair for better security.
    ts.elastic:
    ts.elastic: Inserting generated public key within guest...
    ts.elastic: Removing insecure key from the guest if it's present...
    ts.elastic: Key inserted! Disconnecting and reconnecting using new SSH key...
==> ts.elastic: Machine booted and ready!
==> ts.elastic: Checking for guest additions in VM...
==> ts.elastic: Setting hostname...
==> ts.elastic: Configuring and enabling network interfaces...
==> ts.elastic: Running provisioner: setdisk (shell)...
    ts.elastic: Running: /tmp/vagrant-shell20211101-145142-1i4sf2e.sh
    ts.elastic: Loaded plugins: fastestmirror
    ts.elastic: Determining fastest mirrors
    ts.elastic:  * base: mirror.compevo.com
    ts.elastic:  * epel: mirror.team-cymru.com
    ts.elastic:  * extras: mirror.compevo.com
    ts.elastic:  * updates: centos.mirrors.hoobly.com
    ts.elastic: Resolving Dependencies
    ts.elastic: --> Running transaction check
    ts.elastic: ---> Package cloud-utils-growpart.noarch 0:0.29-5.el7 will be installed
    ts.elastic: --> Finished Dependency Resolution
    ts.elastic:
    ts.elastic: Dependencies Resolved
    ts.elastic:
    ts.elastic: ================================================================================
    ts.elastic:  Package                     Arch          Version            Repository   Size
    ts.elastic: ================================================================================
    ts.elastic: Installing:
    ts.elastic:  cloud-utils-growpart        noarch        0.29-5.el7         base         27 k
    ts.elastic:
    ts.elastic: Transaction Summary
    ts.elastic: ================================================================================
    ts.elastic: Install  1 Package
    ts.elastic:
    ts.elastic: Total download size: 27 k
    ts.elastic: Installed size: 61 k
    ts.elastic: Downloading packages:
    ts.elastic: Running transaction check
    ts.elastic: Running transaction test
    ts.elastic: Transaction test succeeded
    ts.elastic: Running transaction
    ts.elastic:   Installing : cloud-utils-growpart-0.29-5.el7.noarch                       1/1
    ts.elastic:   Verifying  : cloud-utils-growpart-0.29-5.el7.noarch                       1/1
    ts.elastic:
    ts.elastic: Installed:
    ts.elastic:   cloud-utils-growpart.noarch 0:0.29-5.el7
    ts.elastic:
    ts.elastic: Complete!
    ts.elastic: NOCHANGE: partition 2 could only be grown by -33 [fudge=2048]
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Desktop (please complete the following information):

OS: Fedora 33

Resolved with #121


[language][diem-framework] migrate prologue tests

This PR

Adds the ability to specify sequence number and gas unit price as optional command arguments in diem transactional tests.
Migrates the prologue functional tests under the transactional test framework.

Closing due to some incoming work on the test harness. Will revisit once that work is done.


Patreon

@jyapayne
Do you consider creating a Patreon, where you add Electrify?

@DaniellMesquita I would consider it, yes. I'm not sure how popular it would be though. If there is significant interest in it, that would be very cool.


feat: Include service_yaml for C#

We should only merge this after:

Merging https://github.com/googleapis/gapic-generator-csharp/pull/443
Releasing the C# generator
Updating the WORKSPACE to refer to the release


[22.11] gitlab: 15.11.1 -> 15.11.2

https://gitlab.com/gitlab-org/gitlab/-/blob/master/CHANGELOG.md#15112-2023-05-03
manual backport of #230101
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 230102 run on x86_64-linux 1

5 packages built:

gitaly
gitaly.ruby
gitlab
gitlab-ee
gitlab-workhorse


Update plek service static uri

Assets CDN has been added to integration, where before we used origin
directly. It also seem that external access to origin has been blocked
because review links now return Application error from Heroku.
The edited url goes through the CDN and is publicly accessible, so it
should solve the problem.

Yeah, I can do that later @thomasleese 😉


Drop spidermonkey from aliases

It's already aliased in all-packages.
This creates issues at least for the mediatomb build.
Related to #93450#issuecomment-705408544

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

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

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

[1]
nixpkgs-review pr 100026
$ git -c fetch.prune=false fetch --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0 pull/100026/head:refs/nixpkgs-review/1
From https://github.com/NixOS/nixpkgs
 + 2c4cf27d61b...b1062d4dcda refs/pull/100026/head -> refs/nixpkgs-review/1  (forced update)
$ git worktree add /home/tony/.cache/nixpkgs-review/pr-100026/nixpkgs b50ef4e3f226dde6c34817e3f92ca0aa3e18a72e
Preparing worktree (detached HEAD b50ef4e3f22)
Updating files: 100% (22856/22856), done.
HEAD is now at b50ef4e3f22 ocamlPackages.fmt: 0.8.8 -> 0.8.9
$ nix-env -f /home/tony/.cache/nixpkgs-review/pr-100026/nixpkgs -qaP --xml --out-path --show-trace
$ git merge --no-commit b1062d4dcdafdcdb36ad5939f2c3a438eb02e902
Auto-merging pkgs/top-level/all-packages.nix
Automatic merge went well; stopped before committing as requested
$ nix-env -f /home/tony/.cache/nixpkgs-review/pr-100026/nixpkgs -qaP --xml --out-path --show-trace --meta
2 packages added:
mediatomb (init at 0.12.1) spidermonkey (init at 68.10.0)

1 package removed:
spidermonkey (†68.10.0)

$ nix build --no-link --keep-going --option build-use-sandbox relaxed -f /home/tony/.cache/nixpkgs-review/pr-100026/build.nix
building '/nix/store/h5ccfai75h93jjw47wm02spnlba9kqlp-env.drv'...
[1 built, 0.0 MiB DL]
https://github.com/NixOS/nixpkgs/pull/100026
2 packages built:
mediatomb spidermonkey

[0.0 MiB DL]
error: build log of '/nix/store/2k0v219m2ilrq7y1g559mpvffxn15ypl-spidermonkey-68.10.0.drv' is not available
$ nix-shell /home/tony/.cache/nixpkgs-review/pr-100026/shell.nix

The idea was to have it as a "people that need a nix-shell with spidermonkey" thing for example, yet not have it get used for packages that get built, since spidermonkey isn't ABI upwards-compatible thus breaking stuff on every update
Putting it in aliases.nix means packages can't use it, which makes it obvious it's not meant to
Having it in all-packages was a bug from a rebase

That makes sense. I'm not entirely sure its the best way to do it, since it makes it very difficult to deprecate old versions. You know much more about that than I though. I merged this without waiting for input since it fixed a bug for now. Feel free to move it back to aliases.nix of course (although a comment that explains the reasoning would be good I think).


Upgrade to hex v0.2.0

Upgrade to use the newly released hex code.

Patch 1: Does trivial preparatory cleanup
Patch 2: Adds some unit tests to check we roundtrip hashes correctly (added because in the test PR I had the Midstate iml wrong and it was not being caught).
Patch 3: Uses macro in place of forward_hex and backward_hex - needs concept review, I hacked this without understanding why the functions existed in the first place.

Patch 5: Adds a unit test to verify that we can close #2494

Just roughly what I got done today, shows how the erros in https://github.com/rust-bitcoin/hex-conservative/pull/67 behave.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

-19 of 52 (63.46%)  changed or added relevant lines in 11 files are covered.
151 unchanged lines in 20 files lost coverage.
Overall coverage decreased (-0.5%) to 83.545%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/crypto/ecdsa.rs
0
1
0.0%

bitcoin/src/blockdata/witness.rs
5
7
71.43%

bitcoin/src/taproot/serialized_signature.rs
0
2
0.0%

hashes/src/sha256.rs
0
3
0.0%

bitcoin/src/consensus/serde.rs
1
5
20.0%

bitcoin/src/crypto/key.rs
7
14
50.0%

Files with Coverage Reduction
New Missed Lines
%

bitcoin/src/bip32.rs
4
88.78%

bitcoin/src/consensus/serde.rs
4
42.75%

hashes/src/util.rs
4
88.44%

hashes/src/hash160.rs
5
93.83%

hashes/src/ripemd160.rs
5
97.94%

hashes/src/sha1.rs
5
93.96%

hashes/src/sha256d.rs
5
90.91%

hashes/src/sha256.rs
5
84.22%

hashes/src/sha512_256.rs
5
91.58%

hashes/src/sha512.rs
5
97.15%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
19441

Relevant Lines:
23270

💛  - Coveralls

I don't know whats going on with CI on this one, just sane runs locally.

Looks like something about the manifest patching doesn't work in CI because the build is using an old version of hex (that still includes FromHexError) not the 02-12-release-0.2.0 branch). I just double checked and just sane runs on this branch on my machine.

Set priority high because this is required for moving the remaining types to units.

Gentle bump please, we got so close, released it but still not using it ....

@tcharding, keep using the P-high label. I find them highly valuable to prioritize PRs.

Will try to review more tomorrow.

Good to see you back @Kixunil, thanks for the review. Will re-spin.

Awesome, thanks @Kixunil  - will address all suggestions in follow up PRs.

I wrote https://github.com/rust-bitcoin/rust-bitcoin/issues/2554 to loosely cover the 8 unresolved conversations here - not sure how we want to progress with merging, I don't see the benefit in raising 8 separate issues and each convo is functionally marked as "not required bofore merge".

@tcharding it would be fine to have one issue with all the discussions in it, but because you need to click "resolve" to merge (at which point the content of the discussions will be lost forever, for all practical purposes), the issue needs to have a self-contained description of everything.
Which unfortunately will not be a lot easier than opening 8 issues..
I guess you could screencap all the open discussions :P and add that to the issue.

Changes in force push:

Implemented review suggestions as commented on above.
Rebased (to pick up required fixes to get past CI).
Added commit to remove unnecessary feature gate.

2 acks, lets go!


[Storage] File/Directory Rename Metadata

API changes have been detected in Azure.Storage.Files.Shares. You can review API changes here
API changes
+         public IDictionary<string, string> Metadata { get; set; }


Add instead of override?

Hello!
Thank you for this module!
Is it possible to have hierarchical CSS files applied to the final state or the last state will re-define the entire list? I have application with multiple hierarchical layouts and I want to have global CSS files for entire layouts as well as custom CSS files for some states. I want to keep things DRY of course, i.e. not to re-define the entire list for each "leaf" state.
Thank you!

Hmm, I've experimented with it and now experiencing an opposite problem.
I have the topmost state:
.state({
  name: 'root',
  abstract: true,
  data: {
    css: ['/css/application.css']
  }
}

And the leaf state:
.state({
  name: 'foo',
  parent: 'root',
  data: {
    css: ['/css/foo.css']
  }
})

And for some reason when I load the foo state both application.css and foo.css are loaded. How do I override the application.css with foo.css?
Thanks!

And for some reason when I load the foo state both application.css and foo.css are loaded. How do I override the application.css with foo.css?

Yes because the plugin works like you've described in the issue.
If the ancestors of the current state have some css defined they are added to the current state's css.

I can add an option to change the plugin behaviour, can be a solution?

Yes, this could be a solution for my concrete example, but then we will have another issue where we will want to add instead of override.
I've got an idea of named styles, I've described it here: https://github.com/castillo-io/angular-css/issues/55#issuecomment-182816301
This would be the best possible solution in my opinion.

However, I will appreciate the quick fix if it's possible = )

Here a working version that implements your named styles idea.
http://plnkr.co/edit/HIcYEj2QRqBCwbZCU0Il?p=preview
I'll write tests and release the new version until tonight (here GTM+1).

Wow, that was fast = )
Thank you, I will give it a try!

:+1:

I've tested the latest version of the module in our project and it works amazing! Thanks again @manuelmazzuola, great work! Right now, it's the best conditional stylesheet module for Angular.js for sure. We're going to use it in all of our projects.
However, I've stumbled upon some other good ideas of how it could be improved. I'm going to share them with you:
1). There is no direct way to disable some named style in the state down the chain. Consider this example:
// The root state:
.state({
  name: 'root',
  abstract: true,
  data: {
    css: [
      {
        name: 'layout',
        href: 'primary-layout.css'
      },
      {
        name: 'fancybox',
        href: '/vendor/fancybox/jquery.fancybox.css'
      },
      {
        name: 'intl-tel-input',
        href: '/vendor/intl-tel-input/css/intlTelInput.css'
      }
    ]
  }
})

// Some child state
.state({
  name: 'bar',
  parent: 'root.foo'
  data: {
    css: [
      {
        name: 'layout',
        href: 'another-layout.css'
      },
      {
        name: 'fancybox',
        href: 'empty.css'
      },
      {
        name: 'intl-tel-input',
        href: 'empty.css'
      }
    ]
  }
})

Right now I have to use empty.css empty file to disable some named styles. It would be better to just pass null to the href attribute in order to disable it.
2). Named styles construct is too bulky, what if we could support a minimalistic hash notation?
.state({
  name: 'root',
  abstract: true,
  data: {
    css: {
      layout: 'primary-layout.css',
      fancybox: '/vendor/fancybox/jquery.fancybox.css',
      extended: {
        // name: 'extended' implied
        href: 'extended.css',
        'some-other-property': 'value',
        'some-more-property': 100500
      },
      $unnamed: [
        // Some other unnamed styles:
        'foo.css',
        'bar.css',
        'baz.css'
      ]
    }
  }
})

3). What if we could advance the idea of named styles further and create a named groups of styles? Often, the layout consists not only of the single css file, but also requires some other vendor files. Please consider this example:
.state({
  name: 'root',
  abstract: true,
  data: {
    css: {
      layout: [
        // All CSS files of the primary layout are grouped together under the "layout" named group
        'bootstrap.css',
        'primary-layout.css',
        '/vendor/fancybox/jquery.fancybox.css'
      ],
      overall: [
        // The entry of the named group list could be either a string as above
        // or a hash-object with additional options
        {
          href: 'animate.css',
          'some-other-property': 'value',
          'and-another-property': 100500
        }
      ]
    }
  }
})
.state({
  name: 'bar',
  parent: 'root.foo',
  data: {
    css: {
      // Overloading the entire layout by a single CSS file
      layout: 'alternative-layout.css'
    }
  }
})

Actually, I think that named groups approach will be able to replace named styles and unnamed styles entirely. In my opinion, it's very flexible approach that will allow developers to build a very robust layout schemes.
I'm sorry I couldn't help with the implementation of this ideas right now, however I will be very glad to rewrite the README and to write some beautiful and comprehensive documentation for this module if you choose to implement those ideas. Probably I could ask our designer to even draw some logo for this module and to craft a small website if required.
What do you think? Cheers!

I'm glad to see that this module is useful to you and to other people.
I think that your latest example is the right proposal to improve this module.
The array of strings is enough for a basic usage, and the object approach is the best one for an advanced usage: the user will be able to build a custom and flexible layouts schemas.
I'll try to implement those enhancements in these days.
Pull requests to modify the readme and the gh-pages branch are very welcome :+1:
Thank you for the ideas :+1:

Thank you! I will be looking forward for the new features in order to test and verify them. After that I will be glad to update the docs. And yet after that, you will be able to ship a new major release, 2.0.0 I believe?
By the way, why don't we move css property from data and put it on the same level as data? Or is it against the ui-router's recommendations? I think it will make configuration even more clear and minimalistic.
Also, why do this module require the directive to operate? Is it possible to remove the directive? It will make configuration easier and even more straightforward. Actually, I've forgot to add the directive earlier today and spent almost 20 minutes trying to figure out why the module is not working = )

Well, angular recommendations say that the DOM should be modified only by a directive, and I think they are right so a directive is necessary,what do you think about it?
The ui-router's doc says to use a data attribute to avoid conflicts with other modules but we can move up one level the CSS property and make it a sibling of data property.

I totally agree with the recommendation regarding the directives, it makes sense from the abstract perspective: if every module will manipulate entire DOM of the document on it's own accord, it will bring chaos to the application. However, in our case, the manipulation is very limited and highly predictable. I didn't think it will hurt someone in practice, on contrary it will make the life easier. In my opinion it's totally safe to get rid of the directive in our concrete case.
However, if you want to play strict and by the rules, then the directive should be placed where you want your link elements to appear, e.g.:
<html>
  <head>
    <title>Hello World!</title>
    <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png">
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png">
    <ui-router-styles-css-links></ui-router-styles-css-links>
  </head>
  <!-- ... -->
</html>

That will make more sense than putting it on the body element as an attribute.
However, again, according to the specs: A  tag can occur only in the head element; so putting it somewhere else doesn't make sense. In the end, I didn't see any possible value for the end user to use this directive at all. I would suggest to drop it and make the life easier.

Regarding the data attribute, it will not help to prevent conflicts with other modules, cause other modules will probably also use the data attribute. It could prevent the future conflicts with the ui-router itself, however, I think that they will never implement such behavior for CSS in the core module. In other words, I think we can safely add our css property on the same level as data, like other modules did. That way we will leave the data property entirely to the application domain, which is good.

Yes, I agree with you about the css attribute, I'll make it a sibling of the data attribute.
A directive can be placed everywhere so the user can choose to enable this module for a state but not for another, I'm not completely sure to drop it and replace it with a pure service, but maybe you're right.

I think the module should be entirely configured from the router's configuration or through the service provider. I just can't really see any practical benefits of using the directive = )

:+1:


Get count of active connection

Need add method for get active connection of database. I do library for health check and I need to get count active connection from psql. I send sql request - SELECT * FROM pg_stat_activity WHERE datname = 'dbname' and state = 'active'; and I have this struct in response - PostgresRandomAccessRow, but I don't have permission for get lookupTable and get count of active connections

I'm pretty sure the current API is sufficient, but not 100% sure of the function names.
I think you shouldn't even use PostgresRandomAccessRow row when possible. Just use PostgresRow and decode the rows into a tuple:
let (field1, field2) = myPostresRow.decode((String, Int).self, context: .default)

Make sure the tuple covers all rows that are returned, and in order. I'd suggest not using * and specifying the fields.
You could still use PostgresRandomAccessRow and its subscripts, but using PostgresRow like i mentioned is the best / most-performant way.

Feel free to let me know if i'm wrong or you'll need some more functions marked as API (and for what reasons).

@MahdiBM When I use this code I have fatal error

`            let rows = try await (app.db(.psql) as? PostgresDatabase)?.simpleQuery("SELECT * FROM pg_stat_activity WHERE datname = 'test' and state = 'active';").get()
let row = rows?.first?.makeRandomAccess()
rows?.forEach { rowNew in
let res = try? rowNew.decode((String, Int).self, context: .default)
        }`


Fix permissions for authentication

When I try to create a user the user is not given a default permission. From this line of code users have privileged access. This goes against our initial architecture for authentication with the Role Based Access Control in mind(RBAC).
ref:
def can(self, permissions):
      return self.role is not None and \
            (self.role.permissions & permissions) == permission

So we will have to initialise a default permission of all users to zero(0).

Bug has been fixed and user does not obtain privilege escalation now.


Website Doctors and Suppliers page changes

On this page: https://donor-portal-medicinesfor-lk.vercel.app/suppliers

[x] Change the title to Doctors and Suppliers
[ ] Add footer
[ ] Change stock image (if necessary)

@nshamit can I know where to get the stock image used in the UI here?
Would be great if I could get the link to the image itself

Check the bookmark bar on the slack channel. Website v3 folder has stock photos


Add Alluxio native api for maxthroughput in stress bench

This PR is adding an option to have MaxThroughput calling Alluxio Native API.
Stressbench(MaxThroughput) tool supports Alluxio HDFS API, the PR is going to add Alluxio Native API support.
This PR is based on https://github.com/Alluxio/alluxio/pull/14127

Codecov Report

Merging #14152 (5f37a1d) into master (4d83358) will decrease coverage by 25.97%.
The diff coverage is 10.11%.

@@              Coverage Diff              @@
##             master   #14152       +/-   ##
=============================================
- Coverage     43.29%   17.31%   -25.98%
+ Complexity     9171     2699     -6472
=============================================
  Files          1417     1434       +17
  Lines         82084    82963      +879
  Branches       9938    10038      +100
=============================================
- Hits          35538    14365    -21173
- Misses        43584    67336    +23752
+ Partials       2962     1262     -1700

Impacted Files
Coverage Δ

...ient/fs/src/main/java/alluxio/client/ReadType.java
0.00% <0.00%> (-52.95%)
:arrow_down:

...n/java/alluxio/client/block/AlluxioBlockStore.java
5.38% <0.00%> (-72.40%)
:arrow_down:

...ava/alluxio/client/block/stream/BlockInStream.java
0.00% <0.00%> (-62.71%)
:arrow_down:

...alluxio/client/block/stream/BlockWorkerClient.java
0.00% <ø> (ø)

.../client/block/stream/DefaultBlockWorkerClient.java
0.00% <0.00%> (ø)

...uxio/client/block/stream/SharedGrpcDataReader.java
0.00% <ø> (-48.98%)
:arrow_down:

.../java/alluxio/client/file/AlluxioFileInStream.java
0.00% <0.00%> (-74.00%)
:arrow_down:

...uxio/client/file/cache/LocalCacheFileInStream.java
0.00% <0.00%> (-75.49%)
:arrow_down:

...a/alluxio/client/file/cache/LocalCacheManager.java
0.00% <0.00%> (-88.59%)
:arrow_down:

...a/alluxio/client/file/options/InStreamOptions.java
0.00% <ø> (-65.52%)
:arrow_down:

... and 761 more

Continue to review full report at Codecov.

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

@jiacheliu3 @HelloHorizon @yuzhu  these changes are very similar to clientIO part.

alluxio-bot, merge this please


Group fields of same object in different tabs

I have a row object that is rather big. I want to group the fields into tabs on my dialog so that the dialog does not need to be too big and scroll too much. How do I specify which fields to put on which tab? I have created a new template with the tabs I want, but now I am stuck.

There is no such functionality out-of-the-box at the moment. You need to movie fields like i moved Notes editor into tab in CustomerDialog. It will be too much work i guess.
Doesn't categories help? They are not so different than tabs anyway, when you click category link you scroll to that category. You may also try hiding some categories and expanding them on click.

Thanks, I will work with categories. The grouping it gives will help somewhat.


Roll Flutter Engine from 987b621eac4e to 031c29f4f8cb (27 revisions)

https://github.com/flutter/engine/compare/987b621eac4e...031c29f4f8cb
2023-07-05<EMAIL_ADDRESS>Roll Dart SDK from c89f5ac4fd46 to f7c242ded366 (1 revision) (flutter/engine#43410)
2023-07-04<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from 8-taK-r4HkgVAIGtU... to 8YulTHvG-Jg3Sof-S... (flutter/engine#43409)
2023-07-04<EMAIL_ADDRESS>Roll Dart SDK from 7cd6ed860b63 to c89f5ac4fd46 (1 revision) (flutter/engine#43408)
2023-07-04<EMAIL_ADDRESS>Roll Dart SDK from d128bd4977a7 to 7cd6ed860b63 (1 revision) (flutter/engine#43406)
2023-07-04<EMAIL_ADDRESS>Roll Skia from eaca275ef1c0 to faf906db84ab (1 revision) (flutter/engine#43405)
2023-07-04<EMAIL_ADDRESS>Roll Dart SDK from e58e3bd3b507 to d128bd4977a7 (1 revision) (flutter/engine#43403)
2023-07-04<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from GNWxBcnfjZlyaOw34... to 8-taK-r4HkgVAIGtU... (flutter/engine#43402)
2023-07-04<EMAIL_ADDRESS>Roll Skia from bb18c9b1f730 to eaca275ef1c0 (1 revision) (flutter/engine#43401)
2023-07-04<EMAIL_ADDRESS>Roll Dart SDK from 604ccea2f5b9 to e58e3bd3b507 (1 revision) (flutter/engine#43400)
2023-07-04<EMAIL_ADDRESS>Roll Skia from 85a3fda32850 to bb18c9b1f730 (3 revisions) (flutter/engine#43399)
2023-07-04<EMAIL_ADDRESS>Bump actions/labeler from 4.1.0 to 4.2.0 (flutter/engine#43398)
2023-07-04<EMAIL_ADDRESS>Roll Skia from 4abc43e2ffcc to 85a3fda32850 (1 revision) (flutter/engine#43393)
2023-07-04<EMAIL_ADDRESS>[Impeller] Document impeller::Context. (flutter/engine#43389)
2023-07-03<EMAIL_ADDRESS>Roll Dart SDK from a4c5ed075a2b to 604ccea2f5b9 (1 revision) (flutter/engine#43390)
2023-07-03<EMAIL_ADDRESS>Roll Dart SDK from c092e09b7e64 to a4c5ed075a2b (1 revision) (flutter/engine#43387)
2023-07-03<EMAIL_ADDRESS>Roll Skia from 6a5ea15c942b to 4abc43e2ffcc (1 revision) (flutter/engine#43386)
2023-07-03<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from cytps4RRhs8-wbcVJ... to GNWxBcnfjZlyaOw34... (flutter/engine#43373)
2023-07-03<EMAIL_ADDRESS>Roll Dart SDK from dedff8f0ebd2 to c092e09b7e64 (1 revision) (flutter/engine#43374)
2023-07-03<EMAIL_ADDRESS>Roll Skia from 94ad507b8959 to 6a5ea15c942b (1 revision) (flutter/engine#43385)
2023-07-03<EMAIL_ADDRESS>Roll Skia from e16d5b988a36 to 94ad507b8959 (2 revisions) (flutter/engine#43383)
2023-07-03<EMAIL_ADDRESS>Roll Skia from 384b84445a9f to e16d5b988a36 (1 revision) (flutter/engine#43382)
2023-07-02<EMAIL_ADDRESS>Roll Skia from dbf0829114ee to 384b84445a9f (2 revisions) (flutter/engine#43381)
2023-07-01<EMAIL_ADDRESS>[Impeller] Remove blend mode restrictions on clear color optimization (flutter/engine#43348)
2023-07-01<EMAIL_ADDRESS>Roll Dart SDK from f00f7363f4bf to dedff8f0ebd2 (4 revisions) (flutter/engine#43371)
2023-07-01<EMAIL_ADDRESS>Roll Skia from ceaeef84b8a3 to dbf0829114ee (15 revisions) (flutter/engine#43370)
2023-07-01<EMAIL_ADDRESS>[Impeller] Add explicit color filter types to Aiks. (flutter/engine#43342)
2023-07-01<EMAIL_ADDRESS>Roll Dart SDK from 2d98d9e27dae to f00f7363f4bf (1 revision) (flutter/engine#43354)
Also rolling transitive DEPS:
fuchsia/sdk/core/mac-amd64 from cytps4RRhs8- to 8YulTHvG-Jg3
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC aaclarke@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Support release group types

It would be good if providers could set the primary type and if this would be seeded when submitting to MB.
Not all providers will support this, but it is sometimes possible to at least detect singles and EPs. If in doubt a provider should likely keep this field empty.
Some notes on specific implementations:

iTunes: No specific support, but the suffixes  - Single and  - EP seem to be commonly added to singles / EPs. These should be stripped (see #9) and then can be used for seeding the primary type as well. a-tisket does this.
Spotify: Releases have the field album_type, which is one of album, single or compilation. Maybe it is too broad to use the album type (better leave it empty and have the user decide), but single and compilation should be fine to use.
Bandcamp: At least standalone tracks could be detected as "Single".
Tidal: no types specified
Guessing the release type from title might work in many cases. Most of the MB submission user scripts do this, see https://github.com/murdos/musicbrainz-userscripts/blob/master/lib/mbimport.js#L302-L325
For any provider making use of the MusicAlbum schema there is a MusicAlbumReleaseType. Theoretically this supports the types AlbumRelease, BroadcastRelease, EPRelease and SingleRelease.  But e.g. Bandcamp does not make full use of this and seems to use AlbumRelease generally, except for standalone tracks it uses SingleRelease.

Generally it seems that if specific types, in particular single or EP, are detectable, this could be seeded. In most cases a source type of "album", if given, might be too unspecific and better kept out.
In the release editor the primary type can be seeded using the field type.

Thanks for your detailed thoughts, I agree with almost all of them.
Since we likely also want to use "Compilation" and other secondary types, I would add an array/set property to HarmonyRelease which accepts both primary and secondary types and let the MB seeding code deal with the MB specific handling of these.

"Live" is also something that could be potentially be detected. I haven's seen live tracks explicitly marked as such in APIs, but in many cases you find a suffix like "(live)" on the track or even release titles. If the release has this or if all the tracks have it then it seems safe to set the live type.

I'll look into this one

Some platforms use "Single" (iTunes I think) for what's clearly "EP".
Definitions of those are rather fuzzy but from my experience the most common cases are the following:

1 to 3 tracks with a duration < 10 minutes or single in the release's title, usually a single
1 to 6 tracks with a duration < 25 minutes or EP in the release's title, usually an EP
more than 6 tracks and duration > 25 minutes or album|full length in the release's title, usually an album

Some cases are tricky:

1 long track of 20 minutes can be either a single or an EP, but almost never an album
1 long track of 45 minutes or more is usually an album

Number of tracks, duration of individual tracks, total duration, similar track titles give hints too.
title 4:00
title (remix) 5:32
title (edit) 4:05
would be a single (+remix) but:
titleA 4:00
titleB 5:32
titleC 4:05
more likely an EP.
Of course, since definitions of single/EP/album are not very clear, we cannot be sure in all cases. Sometimes that's what's the annotation says:
On Bandcamp, we can often read annotations like: Our second studio album.... or First EP, and those doesn't always match the guess guidelines we have above. I saw bands calling EP an 10 tracks 1 hour long release, and Album a 2 tracks 10 minutes long release.

@zas I think because EP is so vague the best rule of thumb for EPs is to only use it if the band or label explicitly call it an EP. Otherwise it is more likely a single or album. I'm not sure whether Harmony really should set a type guessed from track count and length.
IMHO it is better to not preset a type at all in those cases and have the user choose themselves. Maybe one way would be to use the track count / length as indicators, but only to unset the type if it does not seem to match.

titleA 4:00
titleB 5:32
titleC 4:05
more likely an EP.

Not sure about this rule, really. I have seen singles that had, two or even three extra tracks. Often one of thee tracks at least is some kind of variation (remix, instrumental version, orchestral version etc.) of the main track, but not always. Hence I think it is then more about presentation. If it is marketed as a single and e.g. is named after the single track on the cover, maybe with a sticker that it contains "bonus tracks" then I would go with single. If it has a name distinct from the individual song titles and more looks like a small album it probably is indeed an EP.

I think because EP is so vague the best rule of thumb for EPs is to only use it if the band or label explicitly call it an EP.

Actually all definitions of "release group type" are rather "fuzzy", not only EP (https://musicbrainz.org/doc/Release_Group/Type).
I agree, but we'll likely end with a lot of empty release group types.
That's always a dilemma, if we prefill a field, it might be incorrect, if not, users will forget to set it even if there's an obvious value.
A typical case for me is when the title do not show "EP" on digital stores but it appears clearly on the cover art. Guessing "EP" based on durations/number of tracks works more often it doesn't.

Not sure about this rule, really. I have seen singles that had, two or even three extra tracks.

That's not a "rule", but rather an observation, and I posted another example with same durations but different titles which is a single, so I agree with you.

@phw Have you already started working on this?
I am implementing a MusicBrainz provider (#49) where it would make sense to prepopulate the RG types, but I can also skip this for now if you have already prepared something.

@kellnerd I do. I can also open a draft PR with what I have and have this for discussion and coordination with your work.
Out of interest: Is the MB provider also considered the solution for finding existing MB releases, so the user can be notified that a release already exists?

A draft PR would be nice to see, although I just realized that I will probably let the MB provider set the RG MBID rather than the RG types 😇
It would still be useful to show the RG types, but that can easily be done as a second step once you are ready (or once I am ready, I haven't yet decided how big the scope of my MB provider branch will be).

Is the MB provider also considered the solution for finding existing MB releases, so the user can be notified that a release already exists?

That's the idea, at least for the GTIN this should work without additional effort.
I haven't yet decided whether I want to also do MB lookups for the external links of the other providers like a-tisket does it.
The more providers are used for the combined lookup, the more potentially useless requests would be sent to the MB API. Especially since most of the time people will probably import a specific release which is missing on MB rather than trying to import a release which may already exist on MB.

It would still be useful to show the RG types, but that can easily be done as a second step once you are ready (or once I am ready, I haven't yet decided how big the scope of my MB provider branch will be).

Not sure there is any value of storing the ID with the HarmonyRelease, as the editor seeding expects the names again.
There is an enum like type and type to ID mapping in your musicbrainz library anyway. So yes, you could use the ID in the MB provider implementation to map to the enum like type, but you can also just use the names directly.

The first iteration of this feature is now live with v2024.7.8, thank you @phw!
I am going to keep this issue open for future improvements, such as detecting more types or discarding implausible types based on titles, durations etc.

Not sure there is any value of storing the ID with the HarmonyRelease, as the editor seeding expects the names again.

I forgot to answer here, but I was talking about the release group MBID, not the MBID (or even the internal ID) of a release group primary/secondary type. The names of the types are also available in the API response, so I can use these if there should be any value in seeding the RG type names in addition to the RG MBID.

Another type to detect might be remix. Release and track titles often follow the form "Song Title (some name remix)" or just "Song Title (remix)". Release titles also commonly have "(remixes)" or "(the someone remixes)" appended. Could be similar to live where this also applies as a type if all tracks are identified as remix.
Remix in title: https://open.spotify.com/intl-de/album/6L9Z6gzQugGXIh8WdODMnI
Remix from track titles: https://musicbrainz.org/release/838d8d46-994b-42ce-b60b-6bc386aec88c
More examples:
https://musicbrainz.org/release/cf2699fc-5fe8-4763-a43f-8b593ed0dec5
https://musicbrainz.org/release/1841485d-acbd-4ebe-88ae-82c97261c2b9


groupCall recent_speakers

With TDLib 1.7.3 when someone joins empty groupCall, I receive updateGroupCall where "recent_speakers" have 2 members: chat itself, where voice chat is initiated and user who actually joined the voice chat.  After user starts speaking, another updateGroupCall event is received, where chat itself is speaking, such as:
[ 3][t 4][1616436788.348529100][Td.cpp:4508][#1][!Td][&td_requests]	Sending update: updateGroupCall {
  group_call = groupCall {
    id = 2
    title = "Привет 4"
    is_active = true
    is_joined = false
    need_rejoin = false
    can_unmute_self = false
    can_be_managed = false
    participant_count = 1
    loaded_all_participants = false
    recent_speakers = vector[2] {
      groupCallRecentSpeaker {
        speaker = messageSenderChat {
          chat_id = -1001452936586
        }
        is_speaking = true
      }
      groupCallRecentSpeaker {
        speaker = messageSenderUser {
          user_id = 781215372
        }
        is_speaking = false
      }
    }
    mute_new_participants = true
    can_change_mute_new_participants = false
    record_duration = 0
    duration = 0
  }
}

When user stops speaking, another event is received:
[ 3][t 4][1616436794.356028318][Td.cpp:4508][#1][!Td][&td_requests]	Sending update: updateGroupCall {
  group_call = groupCall {
    id = 2
    title = "Привет 4"
    is_active = true
    is_joined = false
    need_rejoin = false
    can_unmute_self = false
    can_be_managed = false
    participant_count = 1
    loaded_all_participants = false
    recent_speakers = vector[2] {
      groupCallRecentSpeaker {
        speaker = messageSenderChat {
          chat_id = -1001452936586
        }
        is_speaking = false
      }
      groupCallRecentSpeaker {
        speaker = messageSenderUser {
          user_id = 781215372
        }
        is_speaking = false
      }
    }
    mute_new_participants = true
    can_change_mute_new_participants = false
    record_duration = 0
    duration = 0
  }
}

What does that mean?  I want to outline user, while he is speaking, but looks like there not enough info in the events to do so.
What that messageSenderChat means being in the "recent_speakers" list?
Thanks

Do you have TDLib's log with verbosity level 4?

Thanks. Fixed in 9936cdc320c07b2e24fb9b595870e049b3ea4322.

Works! Thank you


Style/AccessorGrouping + Layout/LineLength make impossible to represent some data structures without violating Rubocop default rules

The default configuration of:

Layout/LineLength set to 120
Style/AccessorGrouping set to grouped

Expected behavior
I expected the Rubocop default configuration to allow representation of any data structure without violating the guidelines.
Actual behavior
The default configuration of:

Layout/LineLength set to 120
Style/AccessorGrouping set to grouped

Requires all the attributes of a data structure to be specified on a single line of maximum 120 characters.
This makes impossible representing some data structures (especially user-provided information, such as "address" data structures) because the list of the attributes can't fit in 120 characters.
Notice that the offense is auto correctable and when corrected, the offense is still present.
Examples
Version 1
# frozen_string_literal: true

# Doc
class Address
  attr_accessor :name, :unit_number, :street_name, :city, :province, :postal_code, :location, :direction, :country, :region
end

Version 2
# frozen_string_literal: true

# Doc
class Address
  attr_accessor :name, :unit_number, :street_name, :city, :province, :postal_code, :location, :direction
  attr_accessor :country, :region
end

Steps to reproduce the problem
Put the above examples inside 2 ruby files and run rubocop on both. The example will provide errors in both cases, the output is provided in this issue.
Output 1
$ rubocop /Users/francesco/Desktop/address1.rb
Inspecting 1 file
C

Offenses:

Desktop/address1.rb:5:121: C: Layout/LineLength: Line is too long. [123/120]
  attr_accessor :name, :unit_number, :street_name, :city, :province, :postal_code, :location, :direction, :country, :region
                                                                                ^^^

1 file inspected, 1 offense detected, 1 offense auto-correctable

Output 2
$ rubocop /Users/francesco/Desktop/address2.rb
Inspecting 1 file
C

Offenses:

Desktop/address2.rb:5:3: C: Style/AccessorGrouping: Group together all attr_accessor attributes.
  attr_accessor :name, :unit_number, :street_name, :city, :province, :postal_code, :location, :direction
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Desktop/address2.rb:6:3: C: Style/AccessorGrouping: Group together all attr_accessor attributes.
  attr_accessor :country, :region
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1 file inspected, 2 offenses detected, 2 offenses auto-correctable

RuboCop version
Include the output of rubocop -V or bundle exec rubocop -V if using Bundler. Here's an example:
$ rubocop -V
1.1.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.0.1, running on ruby 2.6.6 x86_64-darwin19)

For example, the warning can be suppressed by the following newline wrapping. It will be helpful to notice with auto-correction.
class Address
  attr_accessor :name, :unit_number, :street_name, :city, :province, :postal_code, :location, :direction, :country,
                :region
end

Interesting suggestion @koic , if that's the case I guess the bug should be targeted at the autocorrector part, instead


Request header without User-Agent field causes system exception

Mike Rugge, Information Manager at the FCE LTER site, reported an issue with his FCE Website Data Catalog:
On Fri, May 19, 2023 at 11:10 AM Michael G Rugge<EMAIL_ADDRESS>wrote:

Hi,
The data catalog on the FCE LTER website (https://fce-lter.fiu.edu/data/core/) uses the PASTA+ API to display and search for FCE datasets. This week, I noticed that the page is no longer returning datasets.
When I paste the default query URL that's used on the webpage into a web browser, the XML result set is displayed. However, when I use curl in PHP to retrieve the default query URL, the result returned is "Internal Server Error."
I've included the default query URL below.
https://pasta.lternet.edu/package/search/eml?defType=edismax&q=*&fq=scope:knb-lter-fce&fl=*&sort=score,desc&sort=packageid,asc&debug=false&rows=1000
Are you able to see any errors on your end related to this error? Our server logs only have errors related to receiving the text "Internal Server Error" instead of the expected XML result set.
Please let me know if there's anything I can do to troubleshoot this error or if I need to make any changes to the way I'm accessing the PASTA+ API.
Thanks,
Mike

The root cause of this exception is that the PHP service sending the search request does not include a User-Agent header. The robot detection in the Gatekeeper does not handle this case. Testing for a non-existent User-Agent header should be performed before attempting to identify the client and testing for a robot pattern. Note that if the User-Agent header does not exist, it should be considered a "robot."

Note that solution was deployed and tested on pasta.lternet.edu by hand because I could not simply recreate an inbound request without a header.


Default Area "Non-walkable", with modifier volumes walkable?

Hey, great work on the new NavMesh features, they're really exciting to see!
I couldn't get the following to work, not sure whether it's a bug or intended behaviour:
I'm attempting to set up a NavMesh where I have full control over which areas are walkable using a set of volumes. I was hoping to be able to set the default area to "non-walkable", so that by default, nothing gets added to the NavMesh, but then add multiple NavMeshModifierVolume objects so that I could "cut into" the empty space, and create walkable areas.
The use case is that I have quite a large map with a small set of paths that I want to be traversable.
Is there a way to do that? Or perhaps I'm going about this the wrong way?
Many thanks!

Currently that's not possible unfortunately. From: https://docs.unity3d.com/Manual/nav-AreasAndCosts.html
"If several objects of different area types are overlapping, the resulting navmesh area type will generally be the one with the highest index. There is one exception however: Not Walkable always takes precedence. Which can be helpful if you need to block out an area."
Catering for the opposite of your use case ..

Okay, thanks anyway :-(


D&B Definitive edition freeplay text

What feature do you want to get added on the base engine?
Can you add a option for the free play text to be in different shapes like the disc like shape in definitive edition,in the source code for definitive you can find the free play shapes in alphabet.hx
To test your sight, and reliability, please select the option of what should NOT be requested.
Stage Editor and 6K+ support.

What feature do you want to get added on the base engine?
Can you add a option for the free play text to be in different shapes like the disc like shape in definitive edition,in the source code for definitive you can find the free play shapes in alphabet.hx
To test your sight, and reliability, please select the option of what should NOT be requested.
Stage Editor and 6K+ support.

can you send an image, your text is confusing

What feature do you want to get added on the base engine?

Can you add a option for the free play text to be in different shapes like the disc like shape in definitive edition,in the source code for definitive you can find the free play shapes in alphabet.hx

To test your sight, and reliability, please select the option of what should NOT be requested.

Stage Editor and 6K+ support.

can you send an image, your text is confusing

No
this wouldn't really be useful, and isn't something that id use

you forgot to close it


Keyboard code changes tracking

Following are the problems I am running into, and the change I think need to fix them:

[x] mod tap is un-usable. I think the problem is while mod key is in delay mode, the second key was processed out of order. The channel should queue keypress before keymap processing, instead of after.
[x] holding the key will keep sending key reports even though they haven't changed. The scroll of logs prevent look at the timing of wrong key presses. I think this can be solved by queue above too.
[ ] keyboard output should change to keycode instead of hid report. To allow enter BLE password, and allow more flexibility in how to send report.
[x] mod tap, mouse button 2, quick tap would press mouse button 2, not release it. I think above change the keyboard to output keycode would ensure that keycode are generated properly like non mouse keys.
[ ] Scanner currently output high/low, this would short circuit on matrix without diode. Change to open drain low, which is designed for such task.

Here is log for mod taping TAB , released properly
`
19.520418 DEBUG matrix true 4 5
19.631786 DEBUG matrix false 4 5
19.631851 DEBUG Release tap hold, got TAP: Key(Tab), KeyState { pressed: true, changed: true, hold_start: Some(Instant { ticks: 19520480 }) }
19.642110 DEBUG Sending keyboard report: [0x2B, 0x0, 0x0, 0x0, 0x0, 0x0], modifier: 0
19.642214 DEBUG BLE notify 8 [0x0, 0x0, 0x2B, 0x0, 0x0, 0x0, 0x0, 0x0]
I (19642) NimBLE: GATT procedure initiated: notify;
I (19642) NimBLE: att_handle=31
19.643959 DEBUG Sending keyboard report: [0x0, 0x0, 0x0, 0x0, 0x0, 0x0], modifier: 0
19.650495 DEBUG BLE notify 8 [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]
I (19650) NimBLE: GATT procedure initiated: notify;
I (19650) NimBLE: att_handle=31
But mod tap mouse button are not released
210.628076 DEBUG matrix true 6 4
210.740198 DEBUG matrix false 6 4
210.740266 DEBUG Release tap hold, got TAP: Key(MouseBtn2), KeyState { pressed: true, changed: true, hold_start: Some(Instant { ticks: 210628131 }) }
210.750701 DEBUG Sending other report: [0x1, 0x2, 0x0, 0x0, 0x0, 0x0]
210.750760 DEBUG BLE notify 5 [0x2, 0x0, 0x0, 0x0, 0x0]
I (210750) NimBLE: GATT procedure initiated: notify;
I (210750) NimBLE: att_handle=46
`

Thanks for your feedback!
I reviewed current mod-tap implementation, there are some issues that I can tell:

If another key is pressed when within the mod-tap's threshold(200ms), this key will be recognized as a normal key, without modifier activated. There are actually 3 modes, see qmk tap hold doc: https://docs.qmk.fm/tap_hold#tap-or-hold-decision-modes. Now RMK uses default mode.

holding the key will keep sending key reports.

this is not expected. Holding a normal key should send only one report. The cause should be this code:
https://github.com/HaoboGu/rmk/blob/428d8fb3014fa634b542fc3bbfee1e1a1d7eb7f9/rmk/src/keyboard.rs#L509-L512

keyboard output should change to keycode

If we emit keycodes from Keyboard, then the communication task is responsible to convert keycodes to HID report. This operation is same with what we've done in Keyboard, I don't see the advantage of this change actually. We can discuss about it more to find a better solution, since I'm planning to add other input devices such as encoder/trackpad, the modularity of the project is quite related imo.

mod tap, mouse button 2, quick tap would press mouse button 2

yeah, this is a bug! I can repro it. I guess this is because I somehow mixed keyboard mouse keys and mouse report(but I'm not sure...

Good catch! we should set the pin mode in the pin initializer

Regarding mod-tap, I saw some discussion on reddit
trying to make it as natural as possible. I think needs to hold second key until first key resolved, to avoid significant slow down in typing.

another problem with mouse key, quick click mouse move sends multiple messages. the reason I want mouse key is to move single pixel.
61.230299 DEBUG matrix true 7 0
62.383077 DEBUG matrix true 2 3
62.383324 DEBUG Sending other report: [0x1, 0x0, 0x0, 0x8, 0x0, 0x0]
62.383374 DEBUG BLE notify 5 [0x0, 0x0, 0x8, 0x0, 0x0]
I (62383) NimBLE: GATT procedure initiated: notify;
I (62383) NimBLE: att_handle=46

62.404757 DEBUG Sending other report: [0x1, 0x0, 0x0, 0x8, 0x0, 0x0]
62.404813 DEBUG BLE notify 5 [0x0, 0x0, 0x8, 0x0, 0x0]
I (62404) NimBLE: GATT procedure initiated: notify;
I (62404) NimBLE: att_handle=46

62.425614 DEBUG Sending other report: [0x1, 0x0, 0x0, 0x8, 0x0, 0x0]
62.425683 DEBUG BLE notify 5 [0x0, 0x0, 0x8, 0x0, 0x0]
I (62425) NimBLE: GATT procedure initiated: notify;
I (62425) NimBLE: att_handle=46

62.446542 DEBUG Sending other report: [0x1, 0x0, 0x0, 0x8, 0x0, 0x0]
62.446603 DEBUG BLE notify 5 [0x0, 0x0, 0x8, 0x0, 0x0]
I (62446) NimBLE: GATT procedure initiated: notify;
I (62446) NimBLE: att_handle=46

62.467621 DEBUG Sending other report: [0x1, 0x0, 0x0, 0x8, 0x0, 0x0]
62.467682 DEBUG BLE notify 5 [0x0, 0x0, 0x8, 0x0, 0x0]
I (62467) NimBLE: GATT procedure initiated: notify;
I (62467) NimBLE: att_handle=46

62.488630 DEBUG Sending other report: [0x1, 0x0, 0x0, 0x8, 0x0, 0x0]
62.488677 DEBUG BLE notify 5 [0x0, 0x0, 0x8, 0x0, 0x0]
I (62488) NimBLE: GATT procedure initiated: notify;
I (62488) NimBLE: att_handle=46

62.492038 DEBUG matrix false 2 3
63.430705 DEBUG matrix false 7 0
63.430783 DEBUG Release tap hold, got HOLD: LayerOn(3), KeyState { pressed: false, changed: true, hold_start: Some(Instant { ticks: 61230354 }) }

I am thinking just remove need_send_key_report: bool, and combine process and send, would fix these missing message, and extra messages issue. Also make the code a lot cleaner, without moving the report code to another module.
and we can implement the repeat key with initial delay for the repeat case you wanted.

I am thinking just remove need_send_key_report: bool, and combine process and send, would fix these missing message, and extra messages issue. Also make the code a lot cleaner, without moving the report code to another module.
and we can implement the repeat key with initial delay for the repeat case you wanted.

if I understand you correctly, this will cause the sent keyboard report will have only one key in each report. am I right?
It will be a report flood and I don't know whether it will cause problems, since the USB host requests hid report in 1khz frequency. Could you please have it a try? I recently don't have a lot of time doing this... if it's good, I'd be happy to change.

if I understand you correctly, this will cause the sent keyboard report will have only one key in each report. am I right?
It will be a report flood and I don't know whether it will cause problems, since the USB host requests hid report in 1khz frequency. Could you please have it a try? I recently don't have a lot of time doing this... if it's good, I'd be happy to change.

Each key change will send a report. That's what you do currently. You call different functions depends on whether it's the first or last or middle report in order to send.
I just simplified the code, and that strange bug, mouse button tap hold don't release are fixed. This is the strange bug. Because standalone mouse button works, also normal tap hold works. The complicate code breeds bugs.

Each key change will send a report. That's what you do currently. You call different functions depends on whether it's the first or last or middle report in order to send.

Current implementation register a key while processing, send all registered key after a full scan.
Only a few exception here, most of them needs an async delay, such as a tap key or macro delay. So theoretically at most 6 key changes are sent each scan

The reason you want to scan faster is to distinguish which key changes happen earlier. The order of change is important. We don't want multi key changes in one scan. At least very rarely

I don't think so. The scan rate is faster than the communication rate. So if we can compress multiple key changes in one scan loop and send it, it's actually faster than send many reports where each report has only one key.

Yes, I am all for efficiency.
The change I made is to simplify front end key to action map process. when I am worried about what action to generate, I don't want to worry what actions can be combined into one report.
Now, we got the action stream generated correct, we need do all kinds of crazy things to transform actions:

[ ] Cap word, this like a god send, when the Cap make vim commands go crazy.
[ ] Colemak option
[ ] tap dance, double click action.
[ ] MACRO playback after channel, to avoid fill up channel space

how about have a process_keycode folder, like QMK?
And finally, when all done, and time to report,

[ ] combine multiple key changes in one report,
[ ] mouse key repeat and acceleration
[ ] BLE password, I need to get this working.

Move these code except BLE under USB folder?

I agree that generating action and processing key action to report can be decoupled, and making a separate key processing module. BUT I also worry about the extra latency added: last time I added the key report channel, the latency increased about 0.5-1ms(Channels are static and introduce lots of mem copy). I think this needs more testing to ensure that this refactoring won't have much negative impact on performance.
This is a huge refactoring, I want to make all input/output devices compatible with the new structure, so before we start I'd like to write a design doc that makes everything clear. And when we actually do this, splitting them to many small PRs would be good.
As for the keycode issue, I use KeyAction in keymap is similar: I prefer one-time conversion other than converting via keycode in key processing. KeyAction also makes key processing code more readable. This adds 0.8KB RAM usage per layer for a full-size(104 key) keyboard, which is acceptable for me.
 RMK would have a separate web user interface that works natively with BLE. I choose to support vial just because we don't have it right now.
Anyway, there are lots of things to be discussed. If you're interested, you can join the discord channel, I feel chatting on dc can be more casual.


Health check API

Description
New Restful APIs:

/health/status: includes number of active DIMSE assoiations and statuses of all services.
/health/ready & /health/live

Status
In Progress
Types of changes

[x] Non-breaking change (fix or new feature that would not break existing functionality).
[ ] Breaking change (fix or new feature that would cause existing functionality to change).
[x] New tests added to cover the changes.
[x] All tests passed locally by running ./src/run-tests-in-docker.sh.
[x] Documentation comments included/updated.
[x] User guide updated.
[ ] NGC publishing metadata updated.
[ ] I have updated the changelog

Codecov Report

Merging #52 (c83e3e2) into release/0.8.1 (3f013e3) will increase coverage by 33.11986%.
The diff coverage is 90.80669%.

@@                   Coverage Diff                    @@
##           release/0.8.1         #52          +/-   ##
========================================================
+ Coverage       52.01285%   85.13271%   +33.11986%
========================================================
  Files                 83         132          +49
  Lines               4670       12282        +7612
  Branches             509         722         +213
========================================================
+ Hits                2429       10456        +8027
+ Misses              2073        1542         -531
- Partials             168         284         +116

Impacted Files
Coverage Δ

src/API/IJobStore.cs
0.00000% <ø> (ø)

src/API/Rest/HealthStatusResponse.cs
0.00000% <0.00000%> (ø)

src/Common/Test/RequiredIfAttributeTest.cs
100.00000% <ø> (ø)

src/DicomWebClient/API/ResponseDecodeException.cs
33.33333% <ø> (ø)

...comWebClient/API/UnsupportedReturnTypeException.cs
25.00000% <ø> (ø)

...rc/DicomWebClient/Test/HttpMessageExtensionTest.cs
93.68421% <ø> (ø)

src/Server/Program.cs
0.00000% <0.00000%> (ø)

src/Server/Repositories/KubernetesWrapper.cs
0.00000% <0.00000%> (ø)

src/Server/Services/Http/HealthController.cs
0.00000% <0.00000%> (ø)

.../Services/Scp/InstanceStoredNotificationService.cs
83.67347% <ø> (ø)

... and 174 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #52 (c83e3e2) into release/0.8.1 (3f013e3) will increase coverage by 33.11986%.
The diff coverage is 90.80669%.

@@                   Coverage Diff                    @@
##           release/0.8.1         #52          +/-   ##
========================================================
+ Coverage       52.01285%   85.13271%   +33.11986%
========================================================
  Files                 83         132          +49
  Lines               4670       12282        +7612
  Branches             509         722         +213
========================================================
+ Hits                2429       10456        +8027
+ Misses              2073        1542         -531
- Partials             168         284         +116

Impacted Files
Coverage Δ

src/API/IJobStore.cs
0.00000% <ø> (ø)

src/API/Rest/HealthStatusResponse.cs
0.00000% <0.00000%> (ø)

src/Common/Test/RequiredIfAttributeTest.cs
100.00000% <ø> (ø)

src/DicomWebClient/API/ResponseDecodeException.cs
33.33333% <ø> (ø)

...comWebClient/API/UnsupportedReturnTypeException.cs
25.00000% <ø> (ø)

...rc/DicomWebClient/Test/HttpMessageExtensionTest.cs
93.68421% <ø> (ø)

src/Server/Program.cs
0.00000% <0.00000%> (ø)

src/Server/Repositories/KubernetesWrapper.cs
0.00000% <0.00000%> (ø)

src/Server/Services/Http/HealthController.cs
0.00000% <0.00000%> (ø)

.../Services/Scp/InstanceStoredNotificationService.cs
83.67347% <ø> (ø)

... and 174 more

Continue to review full report at Codecov.

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


COMP: Fixed VS errors CropperComponent::BeforeUpdate()

Fixed Visual Studio compile errors in CropperComponent::BeforeUpdate(), like:
error C2672: 'std::max': no matching overloaded function found

Added two const keywords, and removed an unnecessary typename keyword.
Restyled estimation of start and size by using a for loop.

@kaspermarstal

Nice!

Thanks, Kasper, I hope you still recognize your own code  :-) I'll merge the commit to develop once it gets green from CI

continuous-integration/jenkins/pr-merge Expected — Waiting for status to be report

I think I waited long enough, as travis CI is already green.


Webpack angular 2

With webpack and angular 2 I'm getting these errors.
https://github.com/thereactivestack/meteor-webpack/issues/216
Can you guys shed some light on this perhaps?

Try latest verson of angular2-meteor

Still tons of errors, here are a few related to angular2-meteor
ERROR in /home/paralin/Documents/project/node_modules/angular2-meteor/dist/patch.d.ts
(4,19): error TS2304: Cannot find name 'Zone'.

ERROR in /home/paralin/Documents/project/node_modules/angular2-meteor/dist/patch.d.ts
(6,27): error TS2304: Cannot find name 'Zone'.

ERROR in /home/paralin/Documents/project/node_modules/angular2-meteor/dist/patch.d.ts
(7,23): error TS2304: Cannot find name 'Zone'.

ERROR in /home/paralin/Documents/project/node_modules/angular2-meteor/dist/patch.d.ts
(8,22): error TS2304: Cannot find name 'Zone'.

You'll need to install zone.js typings and other required typings. Please read docs before opening an issue.

... there's still a lot more than that wrong...
ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve module 'rxjs/Observable' in /home/paralin/Documents/project/node_modules/@angular2-material/input
<EMAIL_ADDRESS>21:19-45

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve module '@angular2-material/core/annotations/field-value' in /home/paralin/Documents/project/node_modules/@angular2-material/input
<EMAIL_ADDRESS>19:20-78

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve module '@angular2-material/core/errors/error' in /home/paralin/Documents/project/node_modules/@angular2-material/input
<EMAIL_ADDRESS>20:14-61

ERROR in ./imports/panel/panel-layout.ts
Module not found: Error: Cannot resolve module '@angular/router/src/url_tree' in /home/paralin/Documents/project/imports/panel
 @ ./imports/panel/panel-layout.ts 20:17-56

ERROR in ./imports/platform-gallery/platform-gallery.ts
Module not found: Error: Cannot resolve module '@angular/router/src/url_tree' in /home/paralin/Documents/project/imports/platform-gallery
 @ ./imports/platform-gallery/platform-gallery.ts 21:17-56

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve 'file' or 'directory' ./src/common_directives in /home/paralin/Documents/project/node_modules/@angular/common
<EMAIL_ADDRESS>15:9-43

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve 'file' or 'directory' ./src/localization in /home/paralin/Documents/project/node_modules/@angular/common
<EMAIL_ADDRESS>17:21-50

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve 'file' or 'directory' ./src/pipes in /home/paralin/Documents/project/node_modules/@angular/common
<EMAIL_ADDRESS>12:9-31

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve 'file' or 'directory' ./src/directives in /home/paralin/Documents/project/node_modules/@angular/common
<EMAIL_ADDRESS>13:9-36

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve 'file' or 'directory' ./src/forms-deprecated in /home/paralin/Documents/project/node_modules/@angular/common
<EMAIL_ADDRESS>14:9-42

ERROR in<EMAIL_ADDRESS>Module not found: Error: Cannot resolve 'file' or 'directory' ./src/location in /home/paralin/Documents/project/node_modules/@angular/common
<EMAIL_ADDRESS>16:9-34

If you're so confident I'm just not reading some kind of documentation about this, then could you please point me to the relevant docs??
   looking for modules in /home/paralin/Documents/project/node_modules
   resolve 'file' loglevel in /home/paralin/Documents/project/node_modules
   resolve file
   /home/paralin/Documents/project/node_modules/loglevel is not a file
   /home/paralin/Documents/project/node_modules/loglevel.css doesn't exist
   /home/paralin/Documents/project/node_modules/loglevel.ts doesn't exist
   /home/paralin/Documents/project/node_modules/loglevel.scss doesn't exist
   /home/paralin/Documents/project/node_modules/loglevel.sass doesn't exist
   /home/paralin/Documents/project/node_modules/loglevel.json doesn't exist

Getting this now.

Look, this stuff doesn't work, I've tried literally every variation of what you've got in your docs, you can't just say "Please read docs before opening an issue" when there's no documentation at all on this particular problem

Look, here is not a day care. I told you if you have an issue specifically related to your app, here is a list of resources for questions https://github.com/Urigo/angular2-meteor#questions-and-issues

???
It's a bug not a question. You reply "use the latest version of angular2-meteor" which implies you've actually tested this and gotten it to work.
Reporting a bug is not a "day care" type thing. I could understand that if I was asking something simple about how angular2-meteor works.
Pure laziness.

Look, I told to install latest version of angular2-meteor. That helped you move to the next step. Then I told you to install typings that fixed you again. And now you are saying those were bugs of the package. I'd be glad to help but you were too cocky.

I'd be glad to help but you were too cocky
Only because you said
Please read docs before opening an issue.
This is not documented or a standard thing (using webpack with angular2). You implied I had just not read the docs and was being lazy. Not so.

I'm sorry but I'm stopping the conversation here.
There is no reason for that language in the angular-meteor community.
If you have comments like those here or need help with talking to someone on an issue, please email them directly to me, my personal email is public on my Github profile.

What comments? There's no documentation on this so it makes no sense to say "read the docs"

even if you don't agree with someone, please don't let the conversation get there.
If you have a problem, please feel free to email me


feat: added styling as second param to addCanvas function

this allows to add custom styling when adding the points back
const drawStyleOptions: StyleOptions = {
  strokeColor: "#FF3838",
  strokeStyle: "fill",
  strokeWidth: 4,
};

canvasRef.current?.addPoints(drawpoints, drawStyleOptions)

Hi, reviewing this now. Thanks!

lgtm. ty!

Lets gooo, Thank you for accepting the pr and the great library you have created  🙌

Yes, thanks too! I'll add more features soon, a bit busy right now.


autofocus not working if user open new task page using url

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

Action Performed:

open browser
paste new task url (https://staging.new.expensify.com/new/task/details)

Expected Result:
should auto focus title same as when user select Assign task option from FAB
Actual Result:
auto focus does not work
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.22-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/c5229419-a728-4131-970a-4f4a0d110c74
https://github.com/Expensify/App/assets/43996225/52f1ddb7-27f7-4224-9c1c-6fdfee8831fc
Expensify/Expensify Issue URL:
Issue reported by: @gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1685451580697849
View all open jobs on GitHub

@kavimuru @gadhiyamanan Not reproducible on MacOS Chrome/Brave.

@sethraj14 can you share a video

https://github.com/Expensify/App/assets/77237602/c5f4bd02-daea-4106-9d0c-0bafde3d56e9
Not able to reproduce locally

@esh-g strange I am able to reproduce it locally with latest version(v1.3.22-1)
https://github.com/Expensify/App/assets/54790231/2f7cdae5-9fb2-48c3-b562-eb7da3fee0d6

Proposal
Please re-state the problem that we are trying to solve in this issue.
autofocus not working if user open new task page using url
What is the root cause of that problem?
We are not autoFocusing in initial render
What changes do you think we should make in order to solve the problem?
We should set autoFocus prop in TextInput, here
https://github.com/Expensify/App/blob/d8b1d84c2f4a583ac2a863899c11bb5baff04ade/src/pages/tasks/NewTaskDetailsPage.js#L79-L83
What alternative solutions did you explore? (Optional)

@gadhiyamanan @esh-g already posted the video. This issue is not reproducible on our end.

@sethraj14 @esh-g in which version have you tested because me and testing team  able to reproduce https://github.com/Expensify/App/issues/20000#issuecomment-1573217964 https://github.com/Expensify/App/issues/20000#issue-1737031468

v1.3.22-1 same as you

Unable to reproduce on v1.3.24-4, staging, Chrome.  Going to leave open since we're having mixed results for reproducing
https://github.com/Expensify/App/assets/22508304/7e14552b-1f02-4ec0-91e3-07dacd56ca0a

Closing since I wasn't able to reproduce a few days ago nor now.  Comment if you disagree


Don't show warnings when Serializer isn't from YAML

There was an issue that when DefaultSerializer was accessing the entity, it
wasn't setting countTag so the component would report a pointless warning.
Closes #3287

Would this work if you checked if the serializer was reading instead?

Would this work if you checked if the serializer was reading instead?

Apparently not

all defaultserializer does is just use the defaultvalues, this isnt a problem with the defaultserializer but with the storagecountercomponent. the warning does make sense tho imo


CSSComb sort order

Hi!
I want to suggest the inclusion of CSSComb sort order as an option, specially because recess is dead now.
Thank you.

I just dicovered CSSComb is dead too.
I gonna update the sort files here.


include license file in source code

Could you please include a copy of the MIT license along with the source code for this project? It would make the lives of people packaging and distributing it much easier.

I would request to consider Apache 2 license https://www.cncf.io/blog/2017/02/01/cncf-recommends-aslv2/

Interesting. Thank you for the link, @tamalsaha. I'm OK with whichever license is safest for the contributors. If it happens to be Apache-2.0 - so be it.

<EMAIL_ADDRESS>(https://github.com/shyiko/kubesec/commit/e6d96c4b31ab401e796c9e113475bf41d6568f92) released.


Micro conformer: support int32 in Add op.

BUG=b/238904420

Closing since this appears to not be necessary


Need more F's

When the respuestaRepository of respuestaRepository.js gets all the responses, it doesn't include as many F's as it should be. For example, today I searched for F's and it just returns 42 F's, as it should return more than 80.
This is a really annoying behaviour and I hope you could fix it, nowadays the app its not usable anymore.

Aquí las tienes:
fffffffffffffffffffffffffffffffffffffffffff


[docs] add minikube tunnel to minikube installation docs

Signed-off-by: navendu-pottekkat<EMAIL_ADDRESS>Description
To run Meshery locally on minikube, we also need to run minikube tunnel to expose the services to the host machine-

[x] Yes, I signed my commits.

This one has me scratching my head a little. I might be missing the need for this. @kumarabd?

@leecalcote  it's not a necessity. Running it will expose the loadbalancer type service endpoints. Not doing so will expose nodeport endpoints, it's the same for a user.

Thanks. This optional step needs clarified as such.

@leecalcote I have mentioned the optional use case. I think this would be helpful 🤔


Add configuration to run on mybinder.org

https://mybinder.org/ is a free resource for running temporary custom compute environments with Jupyter.
This PR adds the configuration files to allow this repository to be run
Example (links to this PR branch):
https://mybinder.org/v2/gh/manics/gonb/binder?labpath=examples%2Ftutorial.ipynb

Thanks @manics , that's cool. I didn't know about mybinder.org!

Btw, I'm adding a small README.md file within the binder/ directory, I hope it doesn't break the scripts with binder.


feat: Add workflows

📑 Description

Add workflows
✅ Checks

[x] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[x] All the tests have passed

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@86215de). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master       #2   +/-   ##
=========================================
  Coverage          ?   70.63%
=========================================
  Files             ?        3
  Lines             ?      235
  Branches          ?        0
=========================================
  Hits              ?      166
  Misses            ?       53
  Partials          ?       16

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Test scripts

See if this works at all.  The Scala tests need to be restored.

I'm going to clean this up for a different PR.


DOC: Update release procedure doc

DOC: Remove François Budin from GPG key holder ITK maintainer's list
DOC: Remove updating ResearchGate ITK project from release tasks
DOC: Explain better the release announcement in NumFOCUS newsletter

PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

A few notes:

I assume François does no longer have a valid GPG key 85072a4
I have not gone through the entire document (e.g. have not removed the memento section although they were not sent in the last few releases).


Add support for Shell Bell

This mostly seems to work, but it causes the UI to deform in edge cases. Not sure about whether we care or whether there's a good solution:

This also fixes recovery behavior to cap properly - recovery should be capped by the defender's HP stat (test values changed to reflect this).

Yeah we should try fixing the UI

Sick of playing around with overflow CSS.  I'm pushing this because it fixes the recovery cap issues and will look fine in the UI as long as its not also paired with a recoil move. Can fix this in a followup

I would say "healed" instead of "recovered" . Probably not enough to fix the overflow issue but I think it's more readable.

If I go from 'recovered' -> 'healed' and 'recoil damage' -> 'recoil' then it fixes the issue for more cases, though still is subject to wrap at extremes

I would do that.

I went to go do that, but I forgot the recoil message is actually more complicated:
https://github.com/Zarel/honko-damagecalc/blob/master/calc/src/desc.ts#L199-L220


(bugfix) Fix setting of info properties on pdfs

Pull Request Test Coverage Report for Build 18

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.7%) to 97.5%

Totals

Change from base Build 17:
1.7%

Covered Lines:
64

Relevant Lines:
65

💛  - Coveralls


Can't use the library in projects that build with skipLibCheck: true

Environment details

OS: Linux
Node.js version: 10.15.1
npm version: rush 5.5.3, using pnpm 2.16.0
@google-cloud/pubsub version: 0.27.0 / 0.27.1

Steps to reproduce

Import @google-cloud/pubsub into a TypeScript project
Don't enable "skipLibCheck": true (or explicitly set it to false in your tsconfig.json
Try to build

Resulting errors (I've trimmed some very long paths that rush+pnpm generates):
<long-rush-path-1>/@google-cloud/pubsub/build/proto/iam.d.ts(2,23): error TS2307: Cannot find module 'long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/iam.d.ts(3452,40): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/iam.d.ts(3455,40): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/iam.d.ts(3483,46): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/iam.d.ts(3486,46): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(2,23): error TS2307: Cannot find module 'long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7060,40): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7063,40): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7091,46): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7094,46): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7687,31): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7703,37): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7957,31): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/proto/pubsub.d.ts(7973,37): error TS2304: Cannot find name 'Long'.
<long-rush-path-1>/@google-cloud/pubsub/build/src/message-queues.d.ts(19,24): error TS7016: Could not find a declaration file for module 'p-defer'. '<long-rush-path-4>/p-defer/index.js' implicitly has an 'any' type.
  Try `npm install @types/p-defer` if it exists or add a new declaration (.d.ts) file containing `declare module 'p-defer';`
<long-rush-path-2>/google-gax/build/src/streaming.d.ts(32,28): error TS7016: Could not find a declaration file for module 'duplexify'. '<long-rush-path-5>/duplexify/index.js' implicitly has an 'any' type.
  Try `npm install @types/duplexify` if it exists or add a new declaration (.d.ts) file containing `declare module 'duplexify';`
<long-rush-path-3>/grpc/index.d.ts(2,55): error TS7016: Could not find a declaration file for module 'protobufjs'. '<long-rush-path-6>/protobufjs/dist/protobuf.js' implicitly has an 'any' type.
  Try `npm install @types/protobufjs` if it exists or add a new declaration (.d.ts) file containing `declare module 'protobufjs';`
TypeScript: 17 semantic errors

@callmehiphop was this covered in #536?

@JustinBeckwith I think so, but it would probably be best if @mgabeler-lee-6rs could let us know after we cut our next release.

@mgabeler-lee-6rs I just published a new release (0.28), would you mind upgrading and testing to see if your issue still persists?

#536 looks promising, and I think it definitely helped, but it doesn't quite solve the issue.  I still have the errors below in a consumer project when skipLibCheck is set false in tsconfig.json.
I think what's left that needs fixing is:

This package needs @types/long
google-gax needs @types/duplexify, and this package needs to pull that update
grcp needs an updated protobufjs, and this package needs to pull that update

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/iam.d.ts:2:23 - error TS2307: Cannot find module 'long'.

2 import * as long from "long";
                        ~~~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/iam.d.ts:3452:40 - error TS2304: Cannot find name 'Long'.

3452             positiveIntValue?: (number|Long|null);
                                            ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/iam.d.ts:3455:40 - error TS2304: Cannot find name 'Long'.

3455             negativeIntValue?: (number|Long|null);
                                            ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/iam.d.ts:3483:46 - error TS2304: Cannot find name 'Long'.

3483             public positiveIntValue: (number|Long);
                                                  ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/iam.d.ts:3486:46 - error TS2304: Cannot find name 'Long'.

3486             public negativeIntValue: (number|Long);
                                                  ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:2:23 - error TS2307: Cannot find module 'long'.

2 import * as long from "long";
                        ~~~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7060:40 - error TS2304: Cannot find name 'Long'.

7060             positiveIntValue?: (number|Long|null);
                                            ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7063:40 - error TS2304: Cannot find name 'Long'.

7063             negativeIntValue?: (number|Long|null);
                                            ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7091:46 - error TS2304: Cannot find name 'Long'.

7091             public positiveIntValue: (number|Long);
                                                  ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7094:46 - error TS2304: Cannot find name 'Long'.

7094             public negativeIntValue: (number|Long);
                                                  ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7687:31 - error TS2304: Cannot find name 'Long'.

7687             seconds?: (number|Long|null);
                                   ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7703:37 - error TS2304: Cannot find name 'Long'.

7703             public seconds: (number|Long);
                                         ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7957:31 - error TS2304: Cannot find name 'Long'.

7957             seconds?: (number|Long|null);
                                   ~~~~

../../common/temp/node_modules/.registry.npmjs.org/@google-cloud/pubsub/0.28.0/node_modules/@google-cloud/pubsub/build/proto/pubsub.d.ts:7973:37 - error TS2304: Cannot find name 'Long'.

7973             public seconds: (number|Long);
                                         ~~~~

../../common/temp/node_modules/.registry.npmjs.org/google-gax/0.25.4/node_modules/google-gax/build/src/streaming.d.ts:32:28 - error TS7016: Could not find a declaration file for module 'duplexify'. '/home/mgl/src/event-ingestion/common/temp/node_modules/.registry.npmjs.org/duplexify/3.7.1/node_modules/duplexify/index.js' implicitly has an 'any' type.
  Try `npm install @types/duplexify` if it exists or add a new declaration (.d.ts) file containing `declare module 'duplexify';`

32 import * as Duplexify from 'duplexify';
                              ~~~~~~~~~~~

../../common/temp/node_modules/.registry.npmjs.org/grpc/1.19.0/node_modules/grpc/index.d.ts:2:55 - error TS7016: Could not find a declaration file for module 'protobufjs'. '/home/mgl/src/event-ingestion/common/temp/node_modules/.registry.npmjs.org/protobufjs/5.0.3/node_modules/protobufjs/dist/protobuf.js' implicitly has an 'any' type.
  Try `npm install @types/protobufjs` if it exists or add a new declaration (.d.ts) file containing `declare module 'protobufjs';`

2   import { Message, Service as ProtobufService } from "protobufjs";
                                                        ~~~~~~~~~~~~

Found 16 errors.

@mgabeler-lee-6rs thanks for the speedy reply!
@JustinBeckwith what is the latest news for https://github.com/googleapis/nodejs-datastore/pull/358? I assume whatever the resolution is there, we'll want the same thing here.

I'm not going to have time to engage there for the next few days.  @callmehiphop can you try adding skipLibCheck and types: ['node'] to the existing system test, and seeing where it goes?  Worst case, we add code to the generated d.ts for now while we wait for the fix to land in pbts.

@JustinBeckwith those options already exist in the system test, but neither my local machine or CI can replicate the error. I'm just going to bite the bullet and manually edit the generated files until we get a proper fix in pbts.

NB: I realized I got the title of this PR confused / backwards, though the description was correct

@mgabeler-lee-6rs oh whoops, looks like we had it configured wrong in that case! Thanks for the update!

@mgabeler-lee-6rs just published a patch release. I think this might be the one 🤞

Been kind of quiet here, so I'm going to close this one out. If the issue re-surfaces, please let us know!

Been a bit kooky on my end, but I just tried updating one of our projects to 0.28.1 and setting skipLibCheck: false again, and the errors related to PubSub are indeed gone, thank you :grinning:

@mgabeler-lee-6rs awesome, thanks for letting us know!

/me looks to see what we did to fix it

I believe it was #541