Reduced allocated memory by chunks reader in the store gateway at query time

[x] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes
Cortex store-gateway (based on Thanos one) allocates a lot of memory at query time. After some debugging on some high cardinality queries, we've noticed most of the memory being allocated to read chunks.
At a first glance, there may appear there's nothing we can do to reduce the memory to read chunks (all in all we have to read them) but we noticed a good % of memory being wasted due to the partitioner.
The partitioner is a smart and good idea to reduce the number of bucket API calls and we don't want to sacrifice it, but we don't even need to retain in memory all bytes overread by the partitioner which don't belong to actual chunks we have to read. This PR leverages on this and basically trash away all bytes overread by the partitioner without storing them in memory.
I've added a new benchmark to show the improvements and I'm running it with different concurrency because of potential side effects of the memory pool (eg. sequential queries may false the benchmark).
Finally, in this PR I tried to keep the logic as simplest as possible. There are further optimisations we can do (and I plan to do) but I would prefer to work iteratively to simplify the code review process.
Benchmarks

BenchmarkBucketSeries always query all block series, so no optimisation here (but neither perf degrade)
BenchmarkBlockSeries is the new benchmark I've added (look at allocated memory)

benchmark                                                                  old ns/op      new ns/op      delta
BenchmarkBucketSeries/1000000SeriesWith1Samples/1of1000000-12              106619669      107524709      +0.85%
BenchmarkBucketSeries/1000000SeriesWith1Samples/10of1000000-12             106322544      104727465      -1.50%
BenchmarkBucketSeries/1000000SeriesWith1Samples/1000000of1000000-12<PHONE_NUMBER><PHONE_NUMBER>     -0.90%
BenchmarkBucketSeries/100000SeriesWith100Samples/1of10000000-12            6131079        6116107        -0.24%
BenchmarkBucketSeries/100000SeriesWith100Samples/100of10000000-12          6148111        6106837        -0.67%
BenchmarkBucketSeries/100000SeriesWith100Samples/10000000of10000000-12     83858366       85699005       +2.19%
BenchmarkBucketSeries/1SeriesWith10000000Samples/1of10000000-12            202194         200119         -1.03%
BenchmarkBucketSeries/1SeriesWith10000000Samples/100of10000000-12          203532         202342         -0.58%
BenchmarkBucketSeries/1SeriesWith10000000Samples/10000000of10000000-12     24225932       24187450       -0.16%
BenchmarkBucketBlock_readChunkRange-12                                     51056          49381          -3.28%
BenchmarkBlockSeries/concurrency:_1-12                                     12662116       12708911       +0.37%
BenchmarkBlockSeries/concurrency:_2-12                                     7590030        7119299        -6.20%
BenchmarkBlockSeries/concurrency:_4-12                                     5657066        4511935        -20.24%
BenchmarkBlockSeries/concurrency:_8-12                                     4943242        3778894        -23.55%
BenchmarkBlockSeries/concurrency:_16-12                                    7420097        4654564        -37.27%
BenchmarkBlockSeries/concurrency:_32-12                                    8118744        6531318        -19.55%

benchmark                                                                  old allocs     new allocs     delta
BenchmarkBucketSeries/1000000SeriesWith1Samples/1of1000000-12              9671           9717           +0.48%
BenchmarkBucketSeries/1000000SeriesWith1Samples/10of1000000-12             9775           9802           +0.28%
BenchmarkBucketSeries/1000000SeriesWith1Samples/1000000of1000000-12        10078124       10077846       -0.00%
BenchmarkBucketSeries/100000SeriesWith100Samples/1of10000000-12            1107           1105           -0.18%
BenchmarkBucketSeries/100000SeriesWith100Samples/100of10000000-12          1143           1134           -0.79%
BenchmarkBucketSeries/100000SeriesWith100Samples/10000000of10000000-12     1008260        1008272        +0.00%
BenchmarkBucketSeries/1SeriesWith10000000Samples/1of10000000-12            208            207            -0.48%
BenchmarkBucketSeries/1SeriesWith10000000Samples/100of10000000-12          208            207            -0.48%
BenchmarkBucketSeries/1SeriesWith10000000Samples/10000000of10000000-12     169743         169733         -0.01%
BenchmarkBucketBlock_readChunkRange-12                                     12             10             -16.67%
BenchmarkBlockSeries/concurrency:_1-12                                     32541          32540          -0.00%
BenchmarkBlockSeries/concurrency:_2-12                                     33244          32054          -3.58%
BenchmarkBlockSeries/concurrency:_4-12                                     35504          33320          -6.15%
BenchmarkBlockSeries/concurrency:_8-12                                     35636          33674          -5.51%
BenchmarkBlockSeries/concurrency:_16-12                                    53859          42102          -21.83%
BenchmarkBlockSeries/concurrency:_32-12                                    64555          61618          -4.55%

benchmark                                                                  old bytes      new bytes      delta
BenchmarkBucketSeries/1000000SeriesWith1Samples/1of1000000-12              62009958       62013891       +0.01%
BenchmarkBucketSeries/1000000SeriesWith1Samples/10of1000000-12             62013629       62019172       +0.01%
BenchmarkBucketSeries/1000000SeriesWith1Samples/1000000of1000000-12<PHONE_NUMBER><PHONE_NUMBER>     +1.24%
BenchmarkBucketSeries/100000SeriesWith100Samples/1of10000000-12            4820040        4818485        -0.03%
BenchmarkBucketSeries/100000SeriesWith100Samples/100of10000000-12          4821284        4820303        -0.02%
BenchmarkBucketSeries/100000SeriesWith100Samples/10000000of10000000-12     122767861      131594871      +7.19%
BenchmarkBucketSeries/1SeriesWith10000000Samples/1of10000000-12            179134         177827         -0.73%
BenchmarkBucketSeries/1SeriesWith10000000Samples/100of10000000-12          179264         178000         -0.71%
BenchmarkBucketSeries/1SeriesWith10000000Samples/10000000of10000000-12     42016471       42689769       +1.60%
BenchmarkBucketBlock_readChunkRange-12                                     204766         204521         -0.12%
BenchmarkBlockSeries/concurrency:_1-12                                     28213098       18796949       -33.38%
BenchmarkBlockSeries/concurrency:_2-12                                     29902672       17924383       -40.06%
BenchmarkBlockSeries/concurrency:_4-12                                     30633940       15930915       -48.00%
BenchmarkBlockSeries/concurrency:_8-12                                     29590364       15374578       -48.04%
BenchmarkBlockSeries/concurrency:_16-12                                    44226166       15620776       -64.68%
BenchmarkBlockSeries/concurrency:_32-12                                    48646170       24366022       -49.91%

Verification
Unit tests + benchmarks.

I'm updating the benchmarks, running them multiple times and comparing with benchstat.


new_annotation_train.txt vs annotation_train.txt

how many files you train in "new_annotation_train.txt",
(i assume that is edit annotation_train.txt file).

Log more info. Redundant comments deleted.


Add SubTask Support

It  might be nice if the Frosting Task supported multiple sub-tasks through the use of attributes. Akin to the NUnit test runner where multiple tests can exist in a parent fixture. I think this would make it easier to support async tasks requested in #45.
A simple prototype might be to implement another base class that inherits from FrostingTask and does the reflection over itself to identify the appropriate attributes. Overriding the run method would then simply be calling each discovered method.
Thoughts?

Frosting currently supports task dependencies via [Dependency(typeof(DependentTask))] and works in the same fashion as the .DenpedentOn() method in cake scripts
does this satisfy what you are looking to accomplish ?

@clmcgrath @lennoncork since there hasn't been any follow up on this issue, I am going to go ahead and close it out.  If there are any concerns, please reach out.


Architecture: Block ads and trackers during archiving

Type

[ ] General Question or Disussion
[x] Propose a brand new feature
[ ] Request modification of existing behavior or design

What is the problem that your feature request solves
Archive pages without ads or trackers
Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes
A flag that defaults to off for archiving without ads/trackers.
What hacks or alternative solutions have you tried to solve the problem?
None
How badly do you want this new feature?

[ ] It's an urgent deal-breaker, I cant live without it
[x] It's important to add it in the near-mid term future
[ ] It would be nice to have eventually

[x] I'm willing to contribute to development / fixing this issue
[x] I like ArchiveBox so far / would recommend it to a friend

One potential solution outside of ArchieveBox would be to have some type of a network-wide DNS ad blocking, such as a Pi-hole

I haven't tried this, but you might be able to achieve similar by installing certain extensions uBlock Origin, Decentraleyes, etc.

Currently, adblocking during PDF/Screenshot/DOM archiving is already possible by using a CHROME_USER_DATA_DIR with a profile that has an adblocker installed.  In the future it will be doable in a few more ways though:

Using a proxy for all archiving that removes ads e.g. chromium --proxy-server=http://localhost:8080 --ignore-certificate-errors --disable-web-security https://some.site.withads.com
Using a DNS resolver that blocks ads (e.g. Pi-hole)
Using a chrome extension like Ublock Origin and/or Ghostery
Using user scrips loaded during archiving to manually remove ads from specific sites

As we get closer to integrating pyppeteer (#177) and pywb (#130) I'll check back and update this issue with progress.

Has anyone tried installing extensions into the chrome profile? I'm running on docker compose and during my research journey on how to install extensions into a headless chrome from the shell, I found this chromium thread saying that there is no extension support in headless: https://bugs.chromium.org/p/chromium/issues/detail?id=706008

You're correct that extensions only work in non-headless mode, but at least playwright makes it easy https://playwright.dev/docs/chrome-extensions. One way around that might be to use a fake display and attach chrome to it. Then we could even make an http endpoint where you can watch that display to see a realtime view of what the worker is seeing while archiving.

You're correct that extensions only work in non-headless mode, but at least playwright makes it easy https://playwright.dev/docs/chrome-extensions. One way around that might be to use a fake display and attach chrome to it. Then we could even make an http endpoint where you can watch that display to see a realtime view of what the worker is seeing while archiving.
You can also load extension sources as ordinary JS scripts in context of the page in playwright, instead of using the real extensions system. You just need the original source of the extension, which could be ripped out of the published extensions in minified form, or copied from github if they're open-source.

I think that'd be interesting features for future versions if some configuration method is exposed to the users. For now, I resigned to using dnsforge.de as the DNS server insode the container. They do not log DNS queries and block ad domains. Not quite as good as uBlock origin but it'll do it for now.
For everyone who's searching for a method to do this in docker-compose: it's as easy as adding the line dns: your.dns.servers.ip to the service in the docker-compose.yml file.
Thanks for your time and that nice piece of software!

I'm using pihole as my main DNS ( on rpi ), and works perfectly. No ads or trackers during archiving.
Could also be installed as docker, on the same network bridged and point to it.

Actually pihole is a great idea, we should add a commented out example container in docker-compose.yml that shows how to setup pihole with the archivebox container's DNS pointed to the pihole container. That would be a very practical solution that doesn't involve a lot of dev work to add scripting during archiving.
I've just added it to the docker-compose.yml file: 5cd2b32

I may be being dumb, but shouldn't the port mapping be different for pihole? As in, not 80:80, since port 80 is already being used by the principal web UI?

Port 80 is not used by the principal UI.

Port 80 is not used by the principal UI by default.

Yeah, my mistake- I'm not sure why but I could not get pihole to run as part of docker-compose, so I just set it up outside on my LAN. In case someone else runs into issues, be careful putting network_mode: host in the pihole compose config.  Don't ask me why... 😓

Not sure how can a docker-compose break a WIFI... I'm not gonna ask why.
But what you have to do, is add an entry on the compose ( on the archivebox section ), with DNS pointing at pihole.
In my case I'm running them separately, but I'll test them and leave an example.

I've already added an example pihole docker-compose.yml config here you can use: https://github.com/ArchiveBox/ArchiveBox/blob/dev/docker-compose.yml#L49

@pirate Yes I've seen that, but maybe I'm missunderstanding something.
How does archivebox knows that PiHole Local IP is a DNS server? What I'm trying to say is that, requires extra environments variables to point to Pihole IP as DNS server. Under section of archivebox, something like this should be added;
dns:
      - <IP_ADDRESS>

And Pihole should be configured with a static IP; the same one under the dns section.

Linking chrome profile with extension ublock-origin doesn't work. (I need to remove cookie consent panels and HTML elements, AdGuardHome doesn't block cookie panels and leaves big blank ad spaces)
I copied the profile dir into dockerized archivebox /data
Then set in ArchiveBox.conf:
CHROME_USER_DATA_DIR=/data/chrome
CHROME_HEADLESS=False
Then docker run it, no issues reported
But as said, no adblock applied to saved contents

Just pinging this issue again!

Quick update: The recommended solution is still to use pihole in front of ArchiveBox for now, I cant promise browser-extension-based ArchiveBox adblocking will be implemented anytime soon.

What I tried:

Migrated a working profile
1.1 created a Chrome profile in an LXC container
1.2 installed and set up the extensions required:
1.2.1 uBlock Origin
1.2.2 I Still Don't Care About Cookies
1.2.3 Bypass Paywalls Clean
1.3 zipped the profile directory
1.4 transferred it into my Archivebox container
1.5 unpacked it into /data/chrome-profile
1.6 set up the correct ownership (chown -R ...)
1.7 added env-vars to my docker-compose:
1.7.1 CHROME_USER_DATA_DIR = /data/chrome-profile
1.7.2 CHROME_HEADLESS = False

When I tried adding pages to Archivebox via UI, it started failing, logging an error (console):
*** stack smashing detected ***: terminated

Then I tried running chromium to see what's what.
2.1 did a docker exec -ti archivebox cat /etc/passwd|grep archivebox to discover the userid
2.2 did a docker exec -ti --user=<userid> archivebox bash
2.3 inside I set up an X-server address (DISPLAY=<IP>:<id>
2.4 ran chromium: chromium-browser --no-sandbox --user-data-dir=/data/chrome-profile/

All my extensions from the imported profile show fine, but the error (stack smashing) persists.
I also tried completely removing the imported profile so that chromium would create a new one. This way, chromium starts, but fails on the chrome-web-store page that installs uBlock origin (and many other pages).
Is there a better way to import a profile? Or am I doing something wrong?

Using external dns is very easy @zero77, no need for pihole, you just set the lines in the docker-compose.yml to point to any server you want:
services:
  archivebox:
    ...
    dns:
      - <IP_ADDRESS>
      - ... etc any ip can go here ...

Just curious the progress on this. What is the current best practice and will something more easy to set up / native be added to archivebox

Current best practice that I run myself is:

install uBlock origin in a chrome profile + set up archivebox to use that profile (this prevents 99% of ads)
set up pihole as indicated in docker-compose.yml (this gets the last 1%)
configure URL_DENYLIST to prevent archiving of certain URLs/patterns (this covers other common minor nits/annoyance cases where you might want to avoid archiving some unecessary content)

This is as "native" as it gets right now. I have plans to make the chrome profile setup process easier (e.g. ability to specify extensions to install automatically), and I think adblocking is just one of the things that will become easier as a result.


FrankerZ: Watch spaste.com

FrankerZ requests the watch of the watch_keyword spaste\.com. See the Metasmoke search here and the Stack Exchange search here.

spaste.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Coverage remained the same at 65.779% when pulling f80c567b6ff44d1f6cdaf2c3cc8997f7d1d3d2ce on auto-blacklist-1517610802.3911877 into 5581975eb9f7e279398d221513a9be5a20b7de33 on master.

!!/approve


For SAAS BC trying to open BC from mail using GETURL

Dose anyone try with GETURL in al for opening BC saas from mail?
Or any other way ?
I am sending mail to users from SAAS bussines central and from same mail i want open purchase order list.
I used GETURL function for opening SAAS BC with page filters of po list.
Below one is code i am trying
PH.reset;
PH.SetRange(CreatedUserId, usersetup."User ID");
SmtpMail.AppendBody('<a href=' + GETURL(ClientType::Default, COMPANYNAME, ObjectType::Page, 9307, PH) + '');
AL Code to reproduce the issue
With above code mail is gating Triger with expected body and with clicking link to open BC saas.
But when i am trying to opne BC saas from mail from link it showing me error of datetime.

Error+++
Something went wrong.
An error has occurred
Date and time: Tue, 22 Dec 2020 08:53:03 GMT
Operation: 17d023e0-520e-4509-af86-5ea71194be1d
i think by link it's trying to open in default time zone GMT, if this will get open with currect time zone then i think my error will get solved.
Please suggest me way to handle above case.
thanks in advance .

Business Central:

The error is not anything to do with date or time; that is just the timestamp of the error.
Have you checked the link that gets loaded when you click in the email? Is it valid? Does it work when copied/pasted into the address bar but just not when clicked? etc.
Anyway, this seems like support, so probably off-topic for here as not about AL dev tooling.

Ya i checked that url is not open in other address bar also.

So show an example of actual HTML that you generate, and the link that results from it.

Hi! Please take a minute to read the guidelines for this repository https://github.com/microsoft/AL and our collection of frequently asked questions https://github.com/Microsoft/AL/wiki/frequently-Asked-Questions .
As this repository is only for issues related to the AL compiler in latest developer preview environment for Dynamics 365 Business Central. We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
To open a support case, you can:

Open a support request to CSS through the PartnerSource portal
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

If you file the bug in Collaborate, remember to include steps to reproduce the issue, and the Business Central build number and country version you're using.


feat(auth): Support generate oob code request type VERIFY_AND_CHANGE_EMAIL

Support generate email link for VERIFY_AND_CHANGE_EMAIL action.
Discussion

Read the contribution guidelines (CONTRIBUTING.md).
If this has been discussed in an issue, make sure to link to the issue here.
If not, go file an issue about this before creating a pull request to discuss.

Testing

Make sure all existing tests in the repository pass after your change.
If you fixed a bug or added a feature, add a new test to cover your code.

API Changes

At this time we cannot accept changes that affect the public API.  If you'd like to help
us make Firebase APIs better, please propose your change in an issue so that we
can discuss it together.

Please get TW's approval on the reference docs before you merge this. Thank you!


Integrate manage mentees admin table with the backend

Purpose

The purpose of this PR is to fix #277
Goals

To make the above table function

Approach

Used the ant design drawer and table to render the mentee application list and a single mentee
Used onSelect events to trigger the change of assigned mentor and the state

Screenshots

https://user-images.githubusercontent.com/45477334/147578012-87840347-90ce-464f-b00e-45c1b6aa5070.mov
Checklist

[x] This PR doesn't commit any keys, passwords, tokens, usernames, or other secrets.
[x] I have read and understood the development best practices guidelines ( http://bit.ly/sef-best-practices )
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation

Related PRs

Test environment

Learning

@Piumal1999 I made a separate component in the root components dir, so that we can use the same design everywhere for mentor profiles

Shall we get this one merged and use this on mentee application particular mentor view as well(Your open PR)?

Shall we get this one merged and use this on mentee application particular mentor view as well(Your open PR)?

Yeah, that's good. I'll update that PR

@Gravewalker666 According to our implementation, does the admin have to change mentee state to POOL, before assigning a mentor?

@Gravewalker666 According to our implementation, does the admin have to change mentee state to POOL, before assigning a mentor?

Im not quite sure about how practical this implementation is, even I have my doubts :/


Fixed redis_clint spelling error

Signed-off-by: Chang Yong Lik<EMAIL_ADDRESS>Description

Fixing redis_clint to redis_client
Resolves https://github.com/linkedin/feathr/issues/417

In /Users/changyonglik/Desktop/opensource/feathr
grep -nrw ./ -e 'redis_clint'
.//feathr_project/feathr/client.py:285:        res = self.redis_clint.hmget(redis_key, *feature_names)
.//feathr_project/feathr/client.py:305:        with self.redis_clint.pipeline() as redis_pipeline:
.//feathr_project/feathr/client.py:383:            cursor, keys = self.redis_clint.scan(
.//feathr_project/feathr/client.py:386:                self.redis_clint.delete(*keys)
.//feathr_project/feathr/client.py:400:        redis_clint = redis.Redis(
.//feathr_project/feathr/client.py:406:        self.redis_clint = redis_clint

How was this patch tested?
In GitHub Actions
Does this PR introduce any user-facing changes?
None

@blrchen
Could you review this PR?

@blrchen
Thanks!


Pin code and session id handling in evothings2

Task is to complete the handling of session ids in the Workbench and in the server. When requesting a new pin code, the session id should remain the same, in order to not break connections for already connected clients.

Fixed.


Improve form error indications for rights basis

Is your feature request related to a problem? Please describe.
If there is an error in the form (like the start date is in the wrong format), and the user tries to save, they have to restart the form to see where the error occurred.
Describe the solution you'd like
Given the approach we're using, I'm not sure what the best solution here is. At minimum, a message indicating that their were errors preventing submission that the user can see when they try and  fail to save would reduce confusion.

I think that this and #67 should probably be looked at together.


Initializing AttentionPool weights with 2 * Identity matrix.

Hi, thanks for this great implementation. I'm learning a lot from it :)
I noticed that the commit https://github.com/lucidrains/enformer-pytorch/commit/0dc46e41de96bd739edba2cfaaa5e123990e9bc7 makes the internal AttentionPool weight initialized with randomly-sampled values rather than 2 * Identity-matrix, which is specified in the Enformer paper. (If there's something I am missing, please let me know!)
Indeed, this will not affect the performance of Enformer loaded with pretrained parameters, but I think it may lead to slightly worse (according to the paper) performance when trained from scratch.
Perhaps some simple manual weight initialization like
self.to_attn_logits = nn.Conv2d(dim, dim, 1, bias = False)
self.to_attn_logits.data.zero_()
self.to_attn_logits.data.squeeze().fill_diagonal_(2)

will do.
If you think it'll be okay, please let me know then I'll open a PR right away.
Thanks again for this great repo!
Best,
Dohoon

@dohlee Hi Dohoon! Thank you for catching this and glad to see another researcher applying attention to genomics! I've made the change here


Allow spectators to toggle score screen at the end

Wont fix. No way for observers to perform such actions.


Auto rotate to align for ground score vs high arm scoring

Based on the current bot pose provide control to auto rotate to either have a ground intake or dual intake face our alliance driver station

#44


Gas test to work with maximum amount

Closes: #748
Description

For contributor use:

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer

Codecov Report

Merging #839 (93eb720) into main (c1015b6) will increase coverage by 0.54%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #839      +/-   ##
==========================================
+ Coverage   19.77%   20.32%   +0.54%
==========================================
  Files         189      189
  Lines       24881    25112     +231
==========================================
+ Hits         4921     5103     +182
- Misses      19094    19124      +30
- Partials      866      885      +19

Impacted Files
Coverage Δ

x/lockup/keeper/lock.go
63.91% <0.00%> (+4.20%)
:arrow_up:

x/superfluid/keeper/stake.go
62.94% <0.00%> (+4.30%)
:arrow_up:

x/lockup/keeper/synthetic_lock.go
80.14% <0.00%> (+5.67%)
:arrow_up:

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 c1015b6...93eb720. Read the comment docs.


autoAliases paths are not generated

Hi there.
I'm meeting a problem about path generating with autoAliases, it's just auto generate the paths of one service until the services were restart by hot reloading.
Here is my example routes

This is the first time i run services

Is there something i miss  ? thank you in advance

I've found the solution in this issue #64


check-binary fails on MacOS

Description
When testing check-binary on MacOS, the following error occurs:
 # status : 1
# output (3 lines):
#   src/check-binary.bash: line 48: readarray: command not found
#   src/check-binary.bash: line 49: [-1]: bad array subscript
#   Error: 'sh' is missing. Please install package 'package-name'.

Error is due to the use of Bash 4 only readarray command. Fixed by using read -r -a instead.


[Reimplementation] Improving the inject-ability with config providers

The idea
I've been debating for a while if the method of storing application configurations in an injectable class is the best approach. Since the AsyncProvider was added to nestjs it would be possible to await the loading of the config module to create providers for each file found from the glob.
The reason
This method would make the config providers easier to import into the constructors of injectables and would clear up implementation issues and the need for injecting the entire configuration class #30, #12.
Possible drawback
However it does mean that some functionality could be lost. Specifically the ConfigService would be rendered redundant unless we're able to inject all config providers as one provider into the ConfigService class.
If you like the idea give this comment a ❤. If you don't, add a 👎.
TLDR;
Remove ConfigService injection and instead create a provider for each config file
ConfigModule async provider build
class ConfigModule {
  public static async asyncLoad(glob: string, options: ConfigOptions): Promise<DynamicModule> {
    const configs = await ConfigService.findByGlob(glob);
    configs.map(config => ({
      provide: configToken(config.fileName),
      useValue: config.value,
    }));

    return {
      module: ConfigModule,
      providers: configs,
      exports: configs,
    };
  }
}

@Controller()
export class ExampleController {
  constructor(@InjectConfig('filename') config) {}
}

@Injectable()
export class ExampleProvider {
  constructor(@InjectConfig('database') database, @InjectConfig('another') Another) {}
}

@Module({
  imports: [
    TypeOrmModule.forRootAsync((
      useFactory: (config) => config,
      inject: [configToken('database')],
    }),
  ],
})

Further possibilities
Types
Using types in the config could be very beneficial for validation and obviously typing in the project.
configs/app.config.ts
export default class AppConfig {
  port: number = process.env.PORT;
  development: boolean = process.env.NODE_ENV === 'development';
}

@Module({
  imports: [
    SomeModule.forRootAsync({
        useFactory: (config: AppConfig) => config,
        injects: [AppConfig],
    }),
  ],
})

or
@Injectable()
export class SomeClass {
  constructor(private readonly myConfig: AppConfig) {}
}

Without types
export default {
  '__provide': 'SOME_TOKEN',
  '__name': 'name_of_config',
  port: process.env.PORT,
}

This could then be injected with
@Module({
  providers: [
    {
        provide: SomeProvider,
        useFactory: (config) => config,
        inject: ['SOME_TOKEN'],
    },
  ],
})

@Injectable()
export class SomeClass {
  constructor(@Inject('SOME_TOKEN') private readonly config) {}
}

Or selected with ConfigService.get('name_of_config.port').

If anyone is interested, I started an experimental repo for these v2 features/implementation changes https://github.com/bashleigh/nestjs-config-v2-prototype


Traditional convention mappings do not work anymore for JavaExec.main

This broke when we introduced the new JavaExec.mainClass property as a replacement for main.
This effects, for example, the Spring boot plugin that adds its own convention for main.

Fixed by https://github.com/gradle/gradle/pull/12836


Variable documentation enhancement

🎯 Goal

Introduce a better grouping convention for CSS variables
Unify naming convention for component layout variables (those defined in <component-name>-layout.scss)
Include component layout variables in the docs
"Fonts" group renamed to "Typography"

🛠 Implementation details
The new grouping:
Global variables (we currently call them Theme variables):

Theme variables: Colors, Typograpghy/Fonts, Border radius
Layout variables: Spacing and sizing

Component variables:
Within the variables of each component we have these categories:

Theme variables: basically all our existing component variables
Layout variables: we only have a handful of those (for example max width of message), but might decide to add more in the future

🎨 UI Changes
Add relevant screenshots

:tada: This PR is included in version 3.0.0-theming2.3 :tada:
The release is available on:

npm package (@theming2 dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Optimize for nuxt ^v3.14.0

Following the installation instructions I get an error at startup:
[21:40:34]  ERROR  Cannot start nuxt:  Cannot find module ./plugins/sounds imported from site_path/node_modules/@vueuse/sound/dist/runtime, site_path/node_modules/@vueuse/sound/dist/, <EMAIL_ADDRESS> site_path/node_modules/@vueuse/sound/dist/node_modules
When trying to use via @vueuse/nuxt there is an error in the browser console:
index.mjs?v=ef472835:18 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'Howl')     at index.mjs?v=ef472835:18:44

Hey, could you try the 2.1.0, I think it should fix this one?


word_timestamps change language

Hi! When I use word_timestamps as True the transcription the detection of the language change and can be mistaken
Someone here with same problem? Thanks

i have the same problem...english input malay output


Product titles lost with caching and i18n in 2.4

I discovered the issue in production, but enabling caching in development also triggers the bug: after switching locale back and forth, the product title on a product page disappears. In Spree without fancy it works fine. Looks like it's related to moving the title to subheader.
Tested also with clean 2.4 stable.

I'm having the same issue in production mode.

+1 Same issue here

It's a Rails issue with content_for, try using this gist: https://gist.github.com/dignoe/2485272
(It works for me, but I haven't tested it thoroughly)

The hack is working me and I haven't noticed any issues so far. Thank you for posting this, @burlap!


Merge artifacts without loading them into memory

I was surprised to see that FlowSpec.merge_artifacts loads all of the merged artifacts into memory after doing all of the consistency checks with hashes. This PR proposes a way of avoiding to avoid the memory and compute costs of decompressing, depickling, repickling, and recompressing each merged artifact.
I brought up the possibility in this issue, and @romain-intel suggested that some checks for existence that I initially added were probably unnecessary—that a blob that's accessible from an input branch's datastore would be accessible from the join step's datastore as well. So this PR has four commits: two implementing what I first proposed, and another two removing the checks for existence.
@romain-intel also suggested that the same effect might be achieved using MetaflowDataStore.passdown_partial. For example, maybe one could do something like
from collections import defaultdict
...
        # (end of merge_artifacts)
        input_merge_vars = defaultdict(list)
        for var, (inp, _) in to_merge.items():
            input_merge_vars[inp].append(var)
        for inp, vars in input_merge_vars.items():
            self._datastore.passdown_partial(inp._datastore, vars)

        # or maybe, instead
        for var, (inp, _) in to_merge.items():
            self._datastore.passdown_partial(inp._datastore, [var])

I'm having some difficulty getting all of the dev-local tests to pass on master (three tests are failing, and it seems it has to do with my local Python environments), but those tests that do pass on master also pass with the changes in this PR.

Update: I did get all of the dev-local tests to pass. Not sure if there is a CI system in place to run these tests automatically.

I launched the tests as well (updates should launch more tests).

Thanks for the speedy review and merging!


Fix form page identification

Fix Issue #76
@anthonysalvato3
Change how code identifies form page types.
PR also adds a fix for the new pr that finds single page pdf forms

Thanks for the quick action on this one, Bill.


UI of nested field get weird after pushed "Add a new ..." button

Describe the bug
The UI of nested field for has_many association won't work properly on Rails Admin 3.0.0.
After pushed "Add a new ..." button, you would find two strange points:

The width of instance tabs broadly extends, as wide as other input field.
The nested field won't be closed; it would show up just after toggled up.

These behaviors occur in these cases:

Create (new) view

Update (edit) view, if you push add button without opening the field beforehand

Not occur (works properly) in this case:

Update (edit) view, if you push add button after opening the field at first

Reproduction steps
It's easy to reproduce this behavior; Simply create two models connected with has_many/belongs_to association.
Here is my examples.
app/models/author.rb
class Author < ApplicationRecord
  has_many :books, dependent: :destroy
  accepts_nested_attributes_for :books
end

app/models/book.rb
class Book < ApplicationRecord
  belongs_to :author
end

config/initializers/rails_admin.rb
RailsAdmin.config do |config|
  config.asset_source = :webpacker

  config.actions do
    ((snip))
  end

  config.included_models = ['Author', 'Book']

  config.model 'Book' do
    include_fields :title
  end
end

Expected behavior
In the UI of nested field,

The width of instance tabs is fit to the length of strings inside, not fully expanded.
The nested field would be opened and then closed when toggle button is switched.

Additional context

rails version: 6.1.6
rails_admin version: 3.0.0, and also current master (652418c)
rails_admin npm package version: 3.0.0, and also current master (652418c)

Thanks for reporting, fixed by d1f115425c4a8d119fdeb37802fe472ae278918d.

I appreciate it! Now I confirmed the current master branch nicely resolved this issue. Thank you so much.


Reflect::clone_dynamic on Handle<T> doesn't increase refcount

Bevy version
Current main (6f2cc0b30e335f3084f7028498c0866279c78099).
What you did
fn check(mut assets: ResMut<Assets<StandardMaterial>>) {
    let handle = assets.add(StandardMaterial::default());
    assert!(handle.is_strong());
    let handle: &dyn Reflect = &handle;

    let cloned_handle = handle.clone_value();
    let cloned_handle: Handle<StandardMaterial> =
        FromReflect::from_reflect(&*cloned_handle).unwrap();
    assert!(cloned_handle.is_strong());
}

What you expected
I expected the clone into a DynamicStruct to clone the sender as well, so that the asset refcount is accurate.
Why this went wrong
The HandleType (which is either Weak or Strong(Sender)) is #[reflect(ignore)], so it doesn't get included in the DynamicStruct returned by clone_value and the default value of Weak is used.
https://github.com/bevyengine/bevy/blob/f531a94370755155accd625c58a06f07d33edcce/crates/bevy_asset/src/handle.rs#L110-L111
How to solve this
First I thought, we can just implement Clone on the HandleType (increasing the refcount in the process) but that doesn't work as the HandleType doesn't contain the handle id which is necessary for the refcount increase.
We can maybe implement Reflect manually and insert a refcount increase in the right places, but that is a bit annoying as well.
Or we can add ReflectClone type data that just uses the Clone impl and keeps the underlying type, instead of returning a DynamicX version of the type.

It seems like ReflectClone might be a good way to go about this.
That makes me think about decreasing the ref-count too, though. It seems like we might need a way to drop the value, also, but I'm not sure if ReflectDrop type data is a good way to go about that, because you could never guarantee that it will get called by users of the Box<dyn Reflect>. In fact, most users would probably never think about it.

Why do we need to add ReflectDrop? Wouldn't dropping the Box itself drop the contained Handle?

:thinking: Oh, good point. That should be totally fine. 😁


Gracefully handle requested TTL > max session duration of a role

Currently when the requested credential TTL exceeds the max session duration allowed for the AssumeRole* call, aws-okta errors out.
I think it would be great if we could add a flag (or other mechanism) such that when this happens a warning is expressed and a second request is made with some lower TTL (1 hour?) rather than simply failing.  This would also help with "chained" AssumeRole calls which currently have a hard 1-hour max duration regardless of the max session duration of the role being assumed.

Can you give us some examples of the before and after flows?

I'm imagining something like this:
Current:
$ aws-okta exec role-chain-demo -a 12h -- true
ValidationError: The requested DurationSeconds exceeds the 1 hour session limit for roles assumed by role chaining.
        status code: 400, request id: 7642aa0a-e78f-11e8-8975-ab0fed969c85

$

Proposed (with -f/--force flag):
$ aws-okta exec role-chain-demo -a 12h -f -- true
Warning: The requested DurationSeconds exceeds the limit for this operation, trying again with 1 hour duration.

$

There could be another error here if there's an even tighter restriction on the duration.

One step farther though:

aws-okta exec -a 12h: tells user 1h session limit, aborts
user corrects to aws-okta exec -a 1h

vs

aws-okta exec -a 12h: tells user 1h session limit, aborts
user corrects to aws-okta exec -f

I'm not seeing the benefit unless you just ran with -f all the time?

I'm only proposing the -f if we're tied to keeping the existing functionality where we error out with duration > max for that operation.  Tbh I'd prefer to just update the default behavior to be the warning/retry flow but some projects don't like changing existing behaviors like that.

Maybe we could introduce a per-profile option that enables that behavior?
I suspect changing the default behavior would be surprising to some users, but I don't have a good feel for that.

That could work, maybe along with an environment variable.  I generate my AWS config so it's easy to add something like that to every profile but an env var would make it easy for others to make it their default also.

+1


Stash Support

Hi czechboy0,
Great job creating this tool. I ran into a small issue when trying to configure my project with Buildasaur.  Our repos have moved from Github to Stash and I was wondering if Buildasaur will support stash projects in the future.  This alert pops up when trying to add my Xcode project:
Couldn't add Xcode project at path file:///nameOfProject.xcworkspace, error: Disallowed checkout type, the project must be checked out over one of the supported schemes: SSH.
Any information will be greatly appreciated.

Hi @nguyen-tim, thanks!
At the moment, Buildasaur only supports GitHub. It's because each service has a very specific API when it comes to managing Pull Requests. We only have a request for Bitbucket (#65), so I'll consider this a request for another service.
However, I imagine the only way this will be done is if someone using Stash and understanding lots of the expected behaviors steps in and helps out by writing a lot of the code. Technically, a lot of code should be shareable with the GitHub code, but I haven't done this yet.

AFAIU, Stash is now called Bitbucket Server, so hopefully they'll have the same API as cloud Bitbucket. This this is a duplicate of #65.


Added an option to prevent some subscriptions

closes #286
Added props: preventHideOnContextMenu, preventHideOnScroll and preventHideOnResize to give more flexibility to users.

Thanks for the contribution. There is conflict in package-lock.json. Please fix it. I'll merge this after that


Quick open of BrainSim II XML files via "Open With"

Is your feature request related to a problem? Please describe.
Because of the experimental nature of the BrainSim II program, and its use of XML files to store networks, a more speedy way to open them could be via the "Open With" in the right-click menu of Windows Explorer.
Describe the solution you'd like
Obviously you wouldn't want to open all XML file with the BrainSim II program of course, so one might consider the following:

Give BrainSim II XML files their own distinct extension (like B2XML), but keep the XML format of the files.
This allows for "Open With" to be set for the Brain Simulator II program so double-clicking a B2XML file opens it.
When the installer issue is fixed, this file association can be set as default.
The right-click menu can then still be used to op the B2XML files in say Notepad++.

Describe alternatives you've considered
Currently I can try to open the XML file with BrainSim II, but the file is never loaded...
Additional context
Add any other context or screenshots about the feature request here.

I think this requires a registry entry which would be part of the installer. https://docs.microsoft.com/en-us/windows/win32/shell/how-to-include-an-application-on-the-open-with-dialog-box

That indeed is one way of doing it, although the user can add any program by browsing for it. But I will have a look at it tomorrowOn Apr 21, 2021 20:11, Charles Simon @.***> wrote:
I think this requires a registry entry which would be part of the installer. https://docs.microsoft.com/en-us/windows/win32/shell/how-to-include-an-application-on-the-open-with-dialog-box
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

The registry entry is no problem, I can do that right now. What fails however is this:
If I call Brain Simulator II.exe with an XML filename, it does not (as expected) load the requested file,
but stubbornly sticks to loading the previously loaded file.
Normal convention for dragging and dropping files on a program make it so you get the file specification as argument 1 in your main function.

The program needs to be modified to accept a startup argument.  No Problem.
Charlie
From: Andre Slabber @.>
Sent: Friday, April 23, 2021 1:33 PM
To: FutureAIGuru/BrainSimII @.>
Cc: FutureAI @.>; Comment @.>
Subject: Re: [FutureAIGuru/BrainSimII] Quick open of BrainSim II XML files via "Open With" (#40)
The registry entry is no problem, I can do that right now. What fails however is this:
If I call Brain Simulator II.exe with an XML filename, it does not (as expected) load the requested file,
but stubbornly sticks to loading the previously loaded file.
Normal convention for dragging and dropping files on a program make it so you get the file specification as argument 1 in your main function.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/FutureAIGuru/BrainSimII/issues/40#issuecomment-825910150, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALP7S7SL6S2G2U3EFJL2NPDTKHKOVANCNFSM423KUOMA.

I uploaded a fix which reads a filepath as the first startup arg. If it is omitted, the program will reload whatever was being edited last. If that doesn’t exist, a new network will be created by default.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/FutureAIGuru/BrainSimII/issues/40#issuecomment-825910150, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALP7S7SL6S2G2U3EFJL2NPDTKHKOVANCNFSM423KUOMA.

It now works almost great! I added the file association and can now just double-click an XML file.
However, the open crashes if the XML file is not a valid BrainSimII file.
Any chance you can make that a bit more graceful by checking for the

tag, and avoiding the loading of the file instead just opening a message box and then loading the last active one?
Better than this:

last minor issue fixed.


Use with Wemos D1/R2 Mini (ESP8266)

Hi Ricardo,
I've used your RDA5807 library before, and it worked like a charm!
Now I made the (stupid) mistake to use it again with en Wemos D1/R2 mini (on the Arduino IDE), and got a whole lot of errors compiling it. (happy to share all the errors if you're interested).
Any chance to get this to work with an ESP8266?
Greetz,
Martin

Fixed.

Fixed


UiPath - Status (database)

ENVIROMENT: production
URL: https://scrapers.peviitor.ro/src/uipath/index.html
Browser: Chrome
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open URL in browser
Check the status of company

EXPECTED RESULTS:
Status activ
ACTUAL RESULTS:
Status Database (error message from database)

Retesting. The issue has been fixed and is working as expected.


Implement timestamp for withdrawal time in parachain staking

Update formula by target timestamp.
Automatically display the withdraw button when the timeout expires

Recheck Bifros block time, round time

Automatically display the withdraw button when the timeout expires

Also update for Amplitude group

Parachain

whenExecutation = parachainStaking.delegationScheduledRequests(addr).whenExecutation
targetBlock = (whenExecutation - round.current) * round.length * round.first
remainingBlock = targetBlock - system.number
targetTimestamp = remainingBlock * BLOCK_TIME + timestamp.now

Amplitude group

targetBlock from unstaking(address)
remainingBlock = targetBlock - system.number
targetTimestamp = remainingBlock * BLOCK_TIME + timestamp.now

Version test : http://<IP_ADDRESS>:8900/s/Qz3xTZ8mZABx7oN
Don't show account on Select account type and It's the withdrawal time of the first milestone but I can't press Continue
=> Relate to issue #2721


[CLI] Ubuntu 18.04 Bionic Support

What needs to happen for 18.04 support?

Thanks for asking!
I haven’t yet investigated that fully but in verbal this is what has to happen.
All the packages we depend on from the SIFT and GIFT repos will have to be rebuilt for 18.04.
Ubuntu switched back to gnome from unity so we’ll have to potentially redo any of the UI alterations we did for unity for gnome.
We will have to check and see if any of the packages we install from the normal public repos have been renamed or replaced and adjust accordingly.
Then it’s test test and test some more.
Erik
Sent from my iPhone

On Apr 26, 2018, at 00:56, Kade<EMAIL_ADDRESS>wrote:
What needs to happen for 18.04 support?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sounds good!
Any idea what's going on here? I think something is wrong with the package descriptions.
https://launchpad.net/ubuntu/bionic/+source/sift
https://launchpad.net/ubuntu/+source/sift/4.0.3b-6


How to configure on which level AddEnvironmentVariables works

Hi,
If I use
var vars = System.Environment.GetEnvironmentVariables(System.EnvironmentVariableTarget.Machine);
it's possible to set the scope to User / Machine / Process.
With AddEnvironmentVariables() now, I wonder where this configuration comes from.
If I start my webservice I get the machine values, but if I test with xunit, I only get the process values. :(

I think what you are asking for is an overload of AddEnvironmentVariables that takes this param. If so, a flag could be added for this, but we don't intend to do this. The default behavior seems the most useful and covers most cases. We would consider a well done PR for this.


Tutorial steps/chapters not corresponding to tutorial description/Live Demo/branches

See for example: https://code.angularjs.org/1.3.15/docs/tutorial
Tutorial: 3 - Filtering Repeaters ( https://code.angularjs.org/1.3.15/docs/tutorial/step_03 ) says: "The app now has a search box" . But in Live Demo ( http://angular.github.io/angular-phonecat/step-3/app/ ) there is no search box . Branch step-3 (git checkout -f step-3) is wrong for this chapter 3.
Tutorial: 4 - Two-way Data Binding ( https://code.angularjs.org/1.3.15/docs/tutorial/step_04 ) says: "In addition to the search box, the app displays a drop down menu..." . But in Live Demo ( http://angular.github.io/angular-phonecat/step-4/app/ ) there is no dropdown menu and no search box . Branch step-4 (git checkout -f step-4) is wrong for this chapter 4.
Tutorial: 5 - XHRs & Dependency Injection ( https://code.angularjs.org/1.3.15/docs/tutorial/step_05 ) says: "There is now a list of 20 phones..." . But in Live Demo ( http://angular.github.io/angular-phonecat/step-5/app/ ) there is a list of 3 phones, not 20 phones . Branch step-5 (git checkout -f step-5) is wrong for this chapter 5.
Tutorial: 6 - Templating Links & Images( https://code.angularjs.org/1.3.15/docs/tutorial/step_06 ) says: "There are now links and images of the phones in the list." . But in Live Demo ( http://angular.github.io/angular-phonecat/step-6/app/ ) there is no links and images of phones . Branch step-6 (git checkout -f step-6) is wrong for this chapter 6.
etc...
Can You fix it?

Version 1.3.x is very old and not maintained any more. You should follow the latest version if you are learning AngularJS. The latest code in angular-phonecat corresponds to the latest version of the tutorial (which happens to be the same for 1.5.x and 1.6.x), but there is also an older version maintained for 1.4.x (so you could follow the 1.4.x tutorial too, but strongly recommend to use the latest).


Unexpected onEnter w/ callback parameter behaviour

Version
2.0.0
Test Case
http://jsbin.com/guvicohipo/edit?html,js,output
Steps to reproduce
Using onEnter with the async callback argument, but using it synchronously. Use case: if you don't know whether you are going to return sync or async
Expected Behavior
Router replace to "Login Page"
Actual Behavior
Doesn't replace route, no errors

If you accept the callback argument, you have to call it for the hook to finish running. We check the hook function argument length. If you're not doing anything async, just leave off the callback argument.

Thanks for the rapid response @timdorr .
What if I might be doing something async or might not in the same hook?
It seems strange to me that I can't call callback() synchronously

You can. Just call callback right after you call replace.


Problems with cyrillic

I like your work very much. Please teach her how to work with Russian characters. Thank!

Hi, can you make sure it opens correctly in original notepad.exe? And then you can send this file over to me, just mail it to<EMAIL_ADDRESS>

Hi, unfortunately, I have already deleted this file. While I do not observe problems with others. If there are still new examples, I'll send it to the post office. Thank!


Write a Java program to split string into array of characters

Description
Write a Java program to split string into array of characters
Input  : "hello world"
Output : ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]

How to contribute

Save the solution in program/SplitStringIntoArrayOfCharacters.java file
Add SplitStringIntoArrayOfCharacters.java file in split-string-into-array-of-characters folder

!assign


'Save' button causes Warning: Received true for a non-boolean attribute pristine

When using the Save button, we get a warning:
Warning: Received true for a non-boolean attribute pristine.
What you were expecting:
No warning
What happened instead:

Steps to reproduce:

Related code:

<SaveButton label="post.action.save_and_add" redirect={false}
                 submitOnEnter={false} variant="flat"
  />

Environment

Admin-on-rest version:  'next' latest BETA

I can't reproduce the bug on next.
Feel free to reopen if you manage to find a way to reproduce it in the simple demo.


patch yaml loader to coerce integer keys to strings (fixes #19)

allows yaml specs to have integer responses codes.
while yaml supports loading dict keys as integers, json does not, so yaml files that looked like this:
       responses:
         201:
           ...

were breaking the swagger and openapi jsonschema validation.
This is more efficient than #18 , which dumps the whole file to json, and then parses it again.

@dtkav hi, thanks for contribution. I like the idea to change safe_load but we should avoid monkey patching.

Ok, sounds good! Thanks for cleaning it up!


Add skeleton pages.

Simple, nearly-empty initial pages. Some hacky navigation for getting around for now, too.

I'm not knowledgeable about Express, but LGTM.
One thing: we should remember to use semantic HTML elements. Some of these may be relevant:


Build indicator is gone

Version
v2.13.1
Reproduction link
https://has-no-reproduction.com
Steps to reproduce
Make a change in template and save.
What is expected ?
To show build indicator.
What is actually happening?
No build indicator is shown.

This bug report is available on Nuxt community (#c10853)

Hi. This was a temporary issue. Please use yarn nuxt upgrade to get the latest version of @nuxt/loading-screen

Good to know, thanks! It really helps when loading gets longer to see if anything is actually going on. I use npm and I see that on repository it's still 2.13.1 - when it should be available there?

@janswist You can maybe try remove package.lock.json? (npm upgrade should also work but never tested so..)

@pi0 doesn't seem to be working, although I updated all the other packages. I think I can wait for official release (probably over the weekend or couple of days). Anyway, now I know at least where it's at. Thanks!

Just for you :) https://github.com/nuxt/nuxt.js/releases/tag/v2.13.2


How can use this package with server-render?

I'm testing server render package, it looks like this fourseven::scss doesn't work.

My meteor version is 1.6

It looks like the server-render package problem. I created a github repository to demo this issue at https://github.com/minhna/meteor-server-render-fourseven.

I'm wondering about this too. Discouraged there is no response so far.

it's because the archMatching is setup to web, so it will only compile the scss for the client.
If you need to use this server side you could fork the project and replace archMatching: ['web', 'server] in Plugin.registerCompiler (even though I think there will be some throwbacks). i'm currently trying to implement it this way.

Okay I just made it work.
The only thing is that you must include the main.css file in the head on your client (in dev mode it's called main.css, i didn't checked in production): meaning downloading all your css on the client on the first request.
At least we can do ssr now :)


[1.18.2] Suggetion: More Localisation Support

Currently, I am playing on FTB Stoneblock 3, and I want to translate all mods for my bad in English friends.
But it seems JEI information and category can't be translated.

And I can't find these texts ingame, had they beem removed ?

This should be fixed in later builds of the mod


how to update the format of new added field

[Enter feedback here]
For example, in the item "bug" I added one new field with name "Root Cause Analysis", format is sigle line, but I want to update the format to multi lines, how can I do this?  Or I just have to delete this field and add it back again with new format?   If yes, then how about the old bug?  I means if I deleted the   "Root Cause Analysis" field, and add it back with new format, how does the old bug display the field ""Root Cause Analysis"?  thanks

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

ID: 14e91f24-96da-f420-cba0-f9c140c98dc3
Version Independent ID: d62be590-4ccb-1ffb-78c8-3ae07e998720
Content: Add a custom control to a WIT - Azure DevOps Services
Content Source: docs/organizations/settings/work/custom-controls-process.md
Product: devops
Technology: devops-agile
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

@JunlingShang - You can't edit the Field type once you've added the field. You need to delete it and then add a new field of the type you want. Once you add the new field, it will display on the bug form as expected. Please read:

https://docs.microsoft.com/en-us/azure/devops/organizations/settings/work/customize-process-field?view=azure-devops#delete-a-field
https://docs.microsoft.com/en-us/azure/devops/organizations/settings/work/customize-process-field?view=azure-devops#add-a-custom-field


Integration with Appium

Hey guys,
With Appium 1.6.0 supporting the running of XCUITests, does that mean this tool could be leveraged in order to run an Appium test suite across multiple simulators?
Thanks in advance

@garyodonoghue appium does not use fbsimctl  in the latest. So you can't run multiple simulators using appium

Thanks for your comment, my query would maybe be more appropriate on an Appium forum so, as I'd be interested to know what would be required to have use fbsimctl for executing its test suite, thanks

@garyodonoghue yah this should be raised on appium forum. There is a PR for that same.
FYI https://github.com/appium/node-simctl/pull/28

Great stuff, thanks @saikrishna321 ! Looks like there's still plenty left to do in order to have this running as part of the overall Appium framework, with this PR being the first step in that process if I understand it correctly, but it'll be interesting to see it progress and develop. Closing this out, thanks for your help again


Enable codecov

We should have a way to measure test coverage, for example using Codecov.

Fixed by #185


iOS problem

Expected Behavior
opening file picker dialog
Actual Behavior
Nothing happens on UI and I'm getting Warning in output.
Warning: Attempt to present <UIDocumentMenuViewController: 0x111e0df60> on <Xamarin_Forms_Platform_iOS_PlatformRenderer: 0x10bc79e30> whose view is not in the window hierarchy!
filepicker version 2.0.64

I can confirm this bug.
The reason is that in the methods TakeMediaAsync and DidPickDocumentPicker the picker view is presented via the root view. If the root view has children the visible child has to present the view.
The solution is shown in issue #21. You have to iterate though the children from the root view until you reach the last child, and then present the view via that child.
That worked for me.


fix todo in session_test with list device

Nagging Assignee @yifeif: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Looks like https://github.com/tensorflow/tensorflow/commit/109ae67a7e99e3dcb4d93cc22df5b3912f4558c9 already did a similar fix. I will close this PR. Thanks for the change @u2takey!


Remove orederedparallel

Fixes #3049
Note that this patch depends on https://github.com/attic-labs/noms/pull/3046 which removes on usage.

jenkins: test this

LGTM


Changelog - Fix typo: Method was filed under the wrong service

Coverage increased (+0.004%) to 93.661% when pulling 319e5b6836ce017c624dc9101b50391ea57acc2b on bblommers:changelog-fix-typo into bf1715c3f1f4f0c3820c61b256a33ead4ac0ecd4 on spulec:master.

Coverage increased (+0.004%) to 93.661% when pulling 319e5b6836ce017c624dc9101b50391ea57acc2b on bblommers:changelog-fix-typo into bf1715c3f1f4f0c3820c61b256a33ead4ac0ecd4 on spulec:master.

Thanks!


Update network-considerations.md

Added clarification on port 3389

@Justinha
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Fix/380

fixes some issues with the graph hashing that occur when using templates. There was a conflict between using graph hashes or residue names as keys for the volumes and templates. With this PR we use graph_hashes in all cases. The only dodgy thing is that internally in GenerateTemplates templates are first graphs then the coordinate dicts. This will be fixed with the new template backmapping scheme anyway.

With the caveat that I don't know this part of the code as well, LGTM. Happy to approve once codecov is too


fix directory

fixed directory name to be the same as start year. Review @dtomc?

looks good to me @dhanus, good to merge!


Some of the Movio operations don't work

http://localhost:8080/org/movio.cinema/app/cinema-core/r/Cinema/m/post/p/v2tenantcinema

This is due to models from imports missing.

https://github.com/movio/apidoc-ui/issues/20


Update faye-websocket to at least 0.10.0

Tested locally.
I hope they will also include SNI support with this PR soon:
https://github.com/faye/faye-websocket-node/pull/50

+1

Done in 2.0.0

But migrating to 2.0.0 is not a trivial work, this would benefit people before they can afford the time to migrate.

That is unfortunately true. Would you suggest pushing out a 0.7.0 with the upgraded faye-websocket and PR #87 ?

that would be awesome if you can do it. I started the migration to 2.0.0 already when I saw your branch... but it took me over 8 hours and it is not finished, so I can only imaged more people will have to deal with the same.

Emmh, sorry :sweat_smile: . I'll try the 0.7.0 thing.
Unfortunately I've made a bit of a mess with it, leaving the library stale for too long, and then never getting around publishing 1.0.0. The API cahnged, but hopefully for the best.
I'm writing a CHANGELOG to summarize changes. If you can help with some tips about upgrading that would be awesome.

Merged changes in v0.7.0.


How to connect to espresense node?

I finally got this mostly setup. Ive made my floorplan and labeled my nodes and their location but they all show inactive and no devices, is there another step i'm missing to link to my espresense nodes?

What was your solution here?

I believe I re-setup the MQTT server and I got it working, though currently it isn't working again for me. I figured it was my fault somewhere but perhaps there is an issue. I love this idea but never got it actually working.


Fix PCM-1112 changes

@pbathia @ardasgup Please review. This was merged before but while making the common project, this was missed.

Reviewed.

Reviewed!


Error while updating property 'strokeWidth' in shadow node of type: RNSVGPath

I get this error only on Android, and the weird part is that I am not using any strokes at all.
Can anyone help with this?
It also says TypeError: expected dynamic type 'double', but had type 'string'
Everything is working fine on the iOS simulator, so I don't know what to try to do from here.
I am using the following version:
"react": "16.2.0",
"react-dom": "^16.3.1",
"react-native": "0.52.0",

Try rebuilding your native bundle

@msand How do you mean?
I did try yarn start --clear-cache

@msand I haven't build the application yet, so I don't have such folder. I am scanning the QR code of expo with my android phone and running an iOS simulator.

Ahaa, then, upgrade expo, and remove the dependency on react-native-svg or sync the version with the expo bundled one, it comes pre-built inside expo and the javascript of it needs to have the same api for the data it sends over the bridge as the native part on the other side of it. Going from v5 to v6 has a breaking change, thus the major semver change.

.

Upgrade to the latest Expo version, and remove react-native-svg from your dependencies (its comes with batteries included in Expo), instead import it from expo like this:
import { Svg } from 'expo';
const {
  Circle,
  Ellipse,
  G,
  Text,
  TSpan,
  TextPath,
  Path,
  Polygon,
  Polyline,
  Line,
  Rect,
  Use,
  Image,
  Symbol,
  Defs,
  LinearGradient,
  RadialGradient,
  Stop,
  ClipPath,
  Pattern,
  Mask,
} = Svg;

Seems like an issue with an old version in an old expo. Closing...


Does this work with multiple instances?

I'm just wondering if we can use this package if we run multiple Meteor instances? Is it possible or does it cause problems?

it depends on your code - it's using regular meteor stuff - so it should be pr. client connection - but the code calling emit have to be aware


Cant find the GmlDictionary.xml file to download

I was reading the readme and wanted to try myself to play with the python scripts but I failed at getting access to GmlDictionary.xml.
I end up on this page : http://www.epsg.org/DownloadDataset
and can only download different types of sql files.

After login at http://epsg-registry.org you will able to export registry as Export GML 3.2.1 with EPSG metadata.
fixed by d7d806167ce88f74fc6e2e304da510743abecc53

Ahh thanks. The welcome text told one to download stuff from the other site. Found it.


Add missing "throw" before InputExc in IDManifest::init()

Signed-off-by: Cary Phillips<EMAIL_ADDRESS>

Yes, and I didn't see any. Note that a lot of throws happen from the THROW macro, which embeds a std::stringstream to format the message.

Thanks for the spotting and for the fix - it was all my fault. There is test coverage of many of the exception throws already so most of them shouldl be OK.


How to manually add a server for Nord VPN

I am trying to connect to uk2504.nordvpn.com.  I can connect to it via the mac desktop client and everything works fine.  When I create the SERVER_HOSTNAMES variable in portainer and add  uk2504.nordvpn.com to it, I get an error and a list off all of the servers that Gluetun says I can connect to. However 2504 is not on that list.
I went down the road of editing the servers.json list to include that server.  When I execute the container I get the same error msg but I also see where it says it is merging the lists together so it should have picked it up right?  I also tried running the docker command to update servers.json but that still doesnt include the server I want to connect to.
TLDR: I want to specify a wireguard server for Nord that does not exist in the servers.json.  Is this possible?

Same issue but with server us10179.nordvpn.com

I am not sure. But to shed some light. Go to this section. It will tell you how to add a Wireguard conf file and bind it to the Gluetun container volume and what environment variable to use under "environment:" section of your compose file. I think it will help you if the hostname is not in the raw list and you just want to add a custom one.
Also, try to add an updater to your setup, can be found here.
Regards.

Likewise, but with the OpenVPN protocol and ch416.nordvpn.com

I want to specify a wireguard server for Nord that does not exist in the servers.json. Is this possible?

You can by bumping the servers.json nordvpn version (for example from 1 to 2). The merging will detect this and use the bigger version, whatever the update time is.
It's not really documented on purpose, because:

the update code should be updated to get these servers, instead of manually adding servers
this could (unlikely due to timestamps but still) break with a future Gluetun program, where the version is bumped because the server model is changed

The servers data is fetched from https://api.nordvpn.com/v1/servers/recommendations?limit=0 I'm not sure why us10179.nordvpn.com isn't there, maybe worth reaching out to NordVPN's support about this?


Make the high-level ACP API unallow, not deny

This changes the high-level ACP API to, when the value false is
passed for an access mode, remove allow statements for that access
mode, rather than adding a deny statement.
There are two reasons for this:

This aligns it with the WAC behaviour.
This allows the developer to actually undo previously set
access without unintended consequences. For example, removing
access for an agent shouldn't prevent their access if a group
they're in still has access.

I'm a bit worried that it was a little bit too straightforward to get all the tests succeeding, and the change itself was smaller than I expected as well, but since we can't test it against an actual server implementation yet, I can only cross my fingers and hope that it works as intended :)

[x] I've added a unit test to test for potential regressions of this bug.
[x] The changelog has been updated, if applicable.
[x] Commits in this PR are minimal and have descriptive commit messages.

Ah, forgot that the WAC API also needed changes to ensure that the getAccess functions did not return undefined for access modes: dcd41d26 (I'll squash that into the other commit before merging.)

Ah nice catch. I updated the descriptions to state what it returns (i.e. access for the given actor), but not how that's structured. That also avoids duplicate information :) And I added @returns annotations to the ACP API while I was at it: 26825f8e


[FEATURE] Make dynacli testing framework available for users

Is your feature request related to a problem? Please describe.
How am I supposed to test my cli except for manualy?
Describe the solution you'd like
dynacli test add/update/remove/run
Describe alternatives you've considered
Manual testing
Additional context
See also requests for command/feature management and package/install/deliver

@asterkin could you please describe what should those commands do?
Thanks.

mb dynacli test new|update|remove|run ?


does it support Godot v4?

Does it support Godot v4?

We haven't worked on this project since 2018.


Please support sqlite

It would be great to support sqlite as database backend:

It's already a dependency, for search
My small instance doesn't need (nor want) a complete MySQL server
It'll ease the backups
It shouldn't have an impact on performances
It'll ease the installation process

Hi @jvoisin, Sqllite is not currently a dependency, even for search. I can see how sqlite may be better for smaller instances though. The new changes to the search system makes support for sqlite much more possible now.
I just had a go (b30ee10699c3c96c17c78fba5642e201087fa5a3) but it is going to take some additional care to implement, Don't really want to do this right before a release. Need to also consider the additional amount of work and support this will need going forward. It's close similarities to MySQL helps though.

Damn, I misread the ticket about the possibility of using sqlite for plain-text search, sorry.
Thank you for considering this ♥

Just in-case someone is interested in this feature, More in-depth conversions about non-MySQL support can be found in #76.

What would be the first steps to developing SQLite support?

@partoneoftwo In regards to the technical aspect, It'd be a case of adding in the sqllite part of the default laravel config into the similar BookStack file, updating the config to point at a sqllite db, then migrate and fix any issues from there.
In regards to getting support into the project, It would require my faith in a longer term contributor. I've detailed my feelings for additional DB support here:
https://github.com/BookStackApp/BookStack/issues/76#issuecomment-494956958
My feeling remain much the same.

Thanks for the thoughts.
This does not seem like an unfeasible list. When I saw the error messages listed in #617, they don't seem severe.

+1

May I ask if we are still considering supporting sqlite

Diversity in database back-ends is good.


Audio

Short description

Added the Audio model for integrating Audio with the API. The model is added according to the specifications in the comment by mathemancer (Brent Moran) at this PR. The PR is also towards application in GSOC 2020 for the project Add Audio to the CC Catalog & CC Search
TO DO:

Add the searializers for API
Update views and URLs to include endpoints for Audio

License
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

Hi @amartya-dev, this looks like a plausible schema to use for audio, but we need to have a pipeline for acquiring the data (see creativecommons/cccatalog) before we start thinking about serving it up. It's likely that we'll have to fine-tune the schema as we start getting real-world data.


on button press and change the UI in detail section / redirect to new page in detail section

i was trying create to IOS setting like page were user can redirect to multiple change on detail section

Sounds interesting. Could you please give me some more details (never owned/used an iOS device)


Padding and alignment on compose field for iOS looks misaligned

Platform - version:
iOS 14
iPhone X
Action Performed (reproducible steps):
Open expensify.cash and login. Observe the Compose box. The text inside of the compose box is misaligned. It is not vertically centered.
Expected Result:
I would expect the text to be vertically aligned within the compose area. See below, it is sitting too low in the box.
Actual Result:

Notes/Photos/Videos:
Logs - JS/Android/iOS (if applicable):

Upwork listing: https://www.upwork.com/jobs/~01c80596a92bad7845

Just remove alignSelf: 'center',  from this style object textInputCompose that located in styles/styles.js

@aliabbasmalik8 can you confirm that your proposed change will not break other platforms as well?

yes, because this style object textInputCompose used only one place in the App

Here is an updated solution that tested on web app as well as mobile devices
We need to import
import { Platform } from 'react-native'; at the top of src/styles/styles
and add this code in textInputCompose style Object
...Platform.select({             web: {                 alignSelf: 'center',             }         }),

@marcaaron curious for your thoughts on the above... I know we try to avoid platform-specific instances like the above proposal, but I'm not sure how else to solve for this one.

Yes, well there is nothing wrong with having a platform specific implementation. It just needs to follow the guidance here as we have decided to avoid using Platform in the code. Instead we'd add something like this:
.
└── textInputAlignSelf/
    ├── index.js
    └── index.native.js

Got it. so updated solution according to guidance is here
Added textInputAlignSelf utilities like this

and import at top
import textInputAlignSelf from './utilities/textInputAlignSelf';
and updated textInputCompose style object like this

yep, you got it

@kadiealexander can I do this Ticket?

@aliabbasmalik8 Hey! Thanks for sharing this fix. My colleague wanted to confirm if this will also fix the issue for Android, as we discovered the issue exists here too. Thanks in advance!

@kadiealexander  I tested it on all platforms and it's working well and also attached a screenshot for the android platform.
Please let me know the device name if you still face this issue
Thanks


Identity scaffolding as a Model View Controller

Is your feature request related to a problem? Please describe.
I suggest to make both options available. i.e. to scaffold identity as Razor Pages or Model View Controller.
Describe the solution you'd like
To add a radio button to let the developer choose between RP and MVC for Identity scaffold result.
Additional context
.Net core is based on freedom (freedom of platform choice) and it should apply freedom as well in choose between RP and MVC structures for scaffolding. Thank you.

This gets brought up a lot. Unfortunately we simply don't have the resources to keep what would become 4 different scaffolding templates in sync and up to date. When I ran a survey the vast majority of respondents, while they wanted MVC scaffolding didn't want it enough to drop other features, and the wider community hasn't produced templates either, so the demand simply isn't there.


Allow user to search for lineage

If I enter B.1.87 in the search bar, the web page should select the corresponding cluster in the time-scaled tree.

I can confirm that the variants are supposed to be drawn on different vertical positions:
> cluster = clusters.findIndex(x => x.lineage==="B.1.87")
126
> beaddata[126].variants.map(x => x.y1)
(4) [1, 2, 3, 4]

SVG for beadplot has a y-dimension of 140.
Variant lines (I think) have the same y1 and y2 values (40):
<line class="lines" x1="176.66666666666666" x2="530" y1="40" y2="40" stroke-width="3" stroke="#777" stroke-opacity="1"></line>
<line class="lines" x1="530" x2="530" y1="40" y2="40" stroke-width="3" stroke="#777" stroke-opacity="1"></line>
<line class="lines" x1="176.66666666666666" x2="176.66666666666666" y1="40" y2="40" stroke-width="3" stroke="#777" stroke-opacity="1"></line>
<line class="lines" x1="466.5811965811966" x2="466.5811965811966" y1="40" y2="40" stroke-width="3" stroke="#777" stroke-opacity="1"></line>

B.1.67 has 7 variants and exactly 5 pixels between lines
B.1.79 has 24 variants and 8.7 pixels vertical distance between lines
B.1.5.9 has 112 variants and 9.73 pixels between lines
B.1.5 has 1488 variants and 9.9798 pixels between lines

Taking this off the backburner!  I think all we have to do is add the lineage name to the searchtext attribute..

Eh, this works but all the beads drop out - I don't want bead selection to be involved.
Also exact string match would be better, e.g., searching for B.1.1.7 should jump to only that cluster, and not to B.1.1.77 in addition to others with the same prefix.

@RouxCil @gopigugan - Would it be difficult to divert a search to a separate function (that only calls click event and focus on a cluster) if the query string conforms to a Pango lineage name?  The regex would be something like [A-Z](\.[0-9]+)*.

I do not think this should be difficult. I can work on implementing this.


Improve performance

Create the textStorage, layoutManager, textContainer, textView, and regularExpression objects only once when the STTweetLabel is created.
Change updateText to make all attributed string changes as a batch directly on the text storage object by wrapping in beginEditing/endEditing.
Remove STTweetTextStorage, making beginEditing/endEditing calls explicitly as necessary.
make charIndexAtLocation: return NSNotFound rather than -1, and check for this case when the method is called (this fixed some frequent exceptions in touchesBegan/Moved/Ended).

It looks good.


a problem to implement the callback on_ctrl_not_send_callback

Hi, I used spdylay to build some programs well before.But today I found a problem when I implementing the callback on_ctrl_not_send_callback.
Background:
In my client program, every stream is associated with a structure -- "request" -- which I implement by myself. The program will new a request structure when it want to send a request, and call the function spdylay_submit_request with the request structure as the argument stream_user_data. So I can free the request structure in callback on_stream_close_callback when the stream is closing.
Problem:
Today, I found a problem when I implementing the callback on_ctrl_not_send_callback.
When on_ctrl_not_send_callback is called, and the argument type is SPDYLAY_SYN_STREAM, it means a STREAM is being canceled. Then I try to free the request structure of this stream, and I found I can't do it, because the frame->syn_stream->stream_id is zero and I can't find the structure from the stream by calling spdylay_session_get_stream_user_data().
This is the problem what I found. And thanks for reply.

This is indeed an issue.  The thing is we only create stream after we decided to send SYN_STREAM, so in this case, stream is not created, and no stream ID is assigned.
We fixed this in nghttp2 API, but not ported to spdylay, since it would break API compatibility.
I think I can fix this problem, by allocating stream ID when spdylay_submit_request or spdylay_submit_syn_stream are called.  And create stream as needed when calling on_ctrl_not_send_callback.

I just pushed commit to fix this issue.

Thank you very much, and it works well now.


Allow withParsedBody to accept scalar values

ServerRequestInterface::withParsedBody says

The data IS NOT REQUIRED to come from $_POST, but MUST be the results of
deserializing the request body content. Deserialization/parsing returns
structured data, and, as such, this method ONLY accepts arrays or objects,
or a null value if nothing was available to parse.
As an example, if content negotiation determines that the request data
is a JSON payload, this method could be used to create a request
instance with the deserialized parameters.

A JSON body payload can also be a json string, a json int etc. So withParsedBody would also need to accept that as well. Anybody remember why this is limited to array or object? Those two sentences contradict each other.
According to a slack discussion, this was based on rfc4627

A JSON text is a serialized object or array.

But that is outdated since since rfc7158 in 2013 which does not limit it to array or object anymore. See current https://tools.ietf.org/html/rfc8259

A JSON text is a serialized value.  Note that certain previous
specifications of JSON constrained a JSON text to be an object or an
array.

this method ONLY accepts arrays or objects, or a null value

This library is taking care of the PSR spec and as such is testing that possible implementations adhere to the spec. Because of that we should ignore what is pssibilities and stick to the definition by the FIG.

The setence does not say MUST or use other requirements from https://tools.ietf.org/html/rfc2119.
So it could also mean MAY or SHOULD only accept. So this PR is sticking to the definition of the PSR. It allows both ways.

By taking the RFC you are right, but the description here does not leave any room for interpretation in my opinion. Because it is written that ONLY those values are accepted. Then we have the param annotation here which just don't allow anything else - @param null|array|object.
Also we have the counterpart of the withParsedBody, the getParsedBody, which is also limited to thise values:

Otherwise, this method may return any results of deserializing the request body content; as parsing returns structured content, the potential types MUST be arrays or objects only. A null value indicates the absence of body content.

To take care of scalar types the FIG would have to create a new major (2.0) release to not break any of the current implementations.

To me that is just parameter widening which implementations can do without violating the spec. A similar concept is not implemented in PHP 7.4. Implementation that don't accept those values are fine, the one that do don't hurt anyone. guzzle implementation didn't validate the value so far and thus also work with other values which as I pointed out actually makes sense. So I'm not going to break BC by forbidden that now. So I'm kindly asking to merge this or some other solution to make guzzle implementation pass the tests.
Otherwise I'm asking to remove guzzle from the tests as it won't ever pass the test, making it useless.

this seems unfortunate to me. while this change does not break anything currently existing, having non-strict definition of what argument types are supported reduces portability of consumer code. if i use scalar withParsedBody, things won't necessarily work with all PSR-7 implementations, which is against the idea of having a standard.
however, given that guzzle is already like it is and changing it would be a BC break (and i agree with @Tobion 's reasoning that accepting scalars would be correct) i don't see guzzle changing that behaviour. i think there are 2 good ways from here: a) amend the PSR (we would have to say that the additional argument types MAY be supported) or b) have a way for implementations to skip tests so it is documented that guzzle diverges from the specification in this point.
for b) let me show you an example of PHPCR where we did a way to let implementations specify what parts of the spec they already implement (because its a large spec with many optional chapters): https://github.com/jackalope/jackalope-jackrabbit/blob/fb62de6ae5bd2dd1cedb80cade78b41cbf649b93/tests/ImplementationLoader.php#L59  | https://github.com/phpcr/phpcr-api-tests/blob/master/inc/AbstractLoader.php#L256 | https://github.com/phpcr/phpcr-api-tests/blob/7d260c17e9654edd2fce1be49b26689ccc568f62/inc/BaseCase.php#L106

@danopz @Nyholm will you consider merging this?

ping

Thank you for the ping.
Hm. Tricky. I’ll review the specs more carefully and maybe talk with the author about the intent.

Any news?

I kinda agree with @dbu : there should be a way to opt out of these tests.

There are a way to opt out..
if (isset($this->skippedTests[__FUNCTION__])) {

Replaced by #43


Flow fails on requiring react-router

This is an underlying issue with flow itself, but it would be great if it could be fixed here for now.
If I do
/* @flow */
var ReactRouter = require('react-router');

flow will fail with:
path/to/file:2 lib
Required module not found

Changing the main property from lib in the package.json of react-router to be lib/index makes it work.

<EMAIL_ADDRESS><EMAIL_ADDRESS>
Ref: https://github.com/facebook/flow/issues/278

<EMAIL_ADDRESS>?


Ability to collect defined metadata property names

Is there a way to collect the decorated property names from a prototype without knowing the property names in advance?
It is a useful feature for an orm, ioc  and other stuff.
Right know Reflect.getMetadataKeys(fn.prototype) returns an empty array.  It would be useful to return the annotated property names if the second argument is undefined.
Maybe Reflect.getMetadataPropertyNames(fn.prototype)
Example:
 const fn:Function = ...;

 const propertyNames = Reflect.getMetadataKeys(fn.prototype);
 for (const name of propertyNames){
     const cachable = Reflect.hasMetadata("CachableMetaKey", fn.prototype, name);
     if (cachable) {
       //do stuff
     }
 }

Ping @hlege, have you found a solution?
@rbuckton can you help us? 😉

See https://github.com/rbuckton/reflect-metadata/issues/35


[SMALLFIX] Make DoraCacheFileSystem.convertUfsPathToAlluxioPath public

What changes are proposed in this pull request?
The reverse resolution should follow the same pattern as defined in DoraCacheFileSystem.convertAlluxioPathToUfsPath() and be made public. This further allows inheritance and overriding.

alluxio-bot, merge this please


Moodle uses sentence case

Moodle uses sentence case - please check your lang strings as some use camel case.
for example strings like:
$string['mystring'] = "My String";
should be:
$string['mystring'] = "My string";
Note: this is not a blocker for approval in the plugins db.

@danmarsden Thanks Dan! I adjusted to only have uppercase in sentence where it makes sense.


Missing "Contribute" section

Hi all, I need to use this package for now, but its not really updated as I've noticed.
So I want to contribute, to keep it updated and maybe add some features (like the segment identify for example, as my company need it). But I've noticed that no "how to contribute" section is present on the readme: for example I've discovered that if you npm run build It warns out that you need doctoc to generate docs for example.
It would be great to add a section on the readme to leave some instructions for the future contributors.
I can try to open a PR about this, let me know if you think its a good idea and if you want to write something in particular in it (as I'm not really sure how the package really works!)
Thanks in advance!

Hey @cloud-walker anything you can do to help bring this library up to speed would be great! I'm trying to do the same :)


All steps for Chuan

write a function of F-test (ANOVA) in order to we can check whether block design or event-related is more significant

write python nose test for F-test function

organized pictures and slices

All done


Fix canceling an operation not causing isFinished to return true

Search throttling was behaving strange in an app I'm working on. I later found out that this was because in my network data fetching method I was checking if there was an ongoing request by doing fetchRequest?.finished == false. However I later found out that when I called my method after calling fetchRequest?.cancel() it was still thinking there was an ongoing request because fetchRequest?.finished was equal to false. So I changed my check to fetchRequest?.finished == false && fetchRequest?.cancelled == false and it works now.
However, Apple's documentation of NSOperation clearly states:
"In addition to simply exiting when an operation is cancelled, it is also important that you move a cancelled operation to the appropriate final state. Specifically, if you manage the values for the finished and executing properties yourself (perhaps because you are implementing a concurrent operation), you must update those properties accordingly. Specifically, you must change the value returned by finished to YES and the value returned by executing to NO. You must make these changes even if the operation was cancelled before it started executing."

The operation is moved to an isFinished state in cancelConnection, which must be dispatched on the same thread of the networking thread. The proposed changes would not leave the operation in an appropriate final state, because it would be signaling being finished before it's cleaned up its connection and delegate.


Link to bug reporting/code contribution page broken [JIRA: RIAK-3414]

Opening this link gives a 404 error. Can someone please fix it ?

Please open an issue or submit a PR in this repository. Thanks.


Use GitHub environments/deployments

The talk titled Continuous delivery with GitHub Actions introduces some new features like "environments" in GitHub and tighter integration between GitHub Actions and deployments.
What (if anything) should we incorporate into the template?

New blog post: GitHub Actions: Environments, environment protection rules and environment secrets (beta)

Closing, as we're now using environments/deployments.


[Snyk] Security upgrade socket.io from 3.1.2 to 4.6.2

This PR was automatically created by Snyk using the credentials of a real user.![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to fix 1 vulnerabilities in the npm dependencies of this project.
Snyk changed the following file(s):

package.json

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Uncaught Exception SNYK-JS-SOCKETIO-7278048
  167

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Uncaught Exception

Checkmarx One – Scan Summary & Details – 32b0492b-5de6-477a-b493-2e685c52b37d
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

CVE-2024-37890
Npm-ws-7.4.6
Vulnerable Package

Fixed Issues

Severity
Issue
Source File / Package

CVE-2022-41940
Npm-engine.io-4.1.2


should the database call methods of Query clone it before calling it?

if methods like get, count, and delete cloned the Query instance before sending it off it would make sure you can do things like:
q = Orm.query.get_pk(1234)
q.get()
q.delete()

This probably already works so the problem might actually be I don't have tests in place that verify this will always work so I can't break it

I don't think this needs to be worried about