Discussion: speed up refresh for EDDTableFromMultidimNcFiles

Hi @BobSimons - I'm opening a PR here mostly because it's the easiest way to discuss code changes -- but if you'd rather discuss this on the mailing list or as a github issue, I'm happy to move the conversation there instead.
Background
I'm trying to set up an ERDDAP server with datasets based on very large netcdf files. On the upper end, we're talking 50GB datasets that are composed of individual nc files that are 500MB each.
I know that ERDDAP will take a while for the initial dataset load, since it's loading in the netcdf data and building its own table representation, and that's fine. However, after that initial load, I need to reload to be relatively fast, so that I don't have to wait hours or days for a reload if the server goes down and I need to restart. But this isn't what I was seeing. Here's an example:

Initial load:
*** EDDTableFromFiles test-dataset_NC constructor finished. TIME=8701ms
Subsequent load (no modifications to the file at all in between; just restart ERDDAP):
*** EDDTableFromFiles test-dataset_NC constructor finished. TIME=4427ms

This is only a 2x speed improvement -- and that's about what I was seeing for other test netcdf datasets, ranging in file size.
Changes/Questions
So I started debugging to see what was going on. There were three things I found that I wanted to ask you about.

makeExpected: update lastMod check
When reloading, EDDTableFromFiles::makeExpected checks to see if the file has changed since the last time it loaded. I found that there were cases where the file mod time was less than the last mod time that erddap had stored

example:<PHONE_NUMBER>060 -- ftLastMod.get(f) and<PHONE_NUMBER>000 -- lastMod -- only off by 60ms

So i switched this check from ftLastMod.get(f) == lastMod to ftLastMod.get(f) < lastMod. For one of my test cases, this made it so that I went from around 5.5s for a reload of a 20MB nc file, to a .7s reload time, which makes sense -- if it thought the file had been modified, then it would do a full reload which is expensive.
While I'm not sure why the file table and file last mod times are different at all, this seems like a reasonable fix? Thoughts?

EDDTableFromMultidimNcFiles: mustGetData flag?
There is a flag, mustGetData that is passed to lowGetSourceDataFromFile. This flag is set to false during reload, because ERDDAP should not have to load up all the data at this point (after all, it's already checked that the file hasn't been modified since it last looked at it). However, that flag wasn't getting honored by EDDTableFromMultidimNcFiles (it isn't passed into readMultidimNc), so it was loading up the data every single time.
I started digging into this, but readMultidimNc is very complex so I didn't get very far. Plus my update (3) below made it so that getSourceDataFromFile is never called anyway. But I'm mostly curious why EDDTableFromMultidimNcFiles doesn't honor the mustGetData param -- it seems like updating it to do so would drastically improve reload speeds for netcdf file datasets.

makeExpected: skip getSourceDataFromFile
After looking at the mustGetData issue, I was wondering why ERDDAP has to touch the nc file at all, if it hasn't been modified? In other words: in EDDTableFromFiles.makeExpected, if the file hasn't changed and it isn't the same size, then just completely skip loading up the Table for that file.
If I remove that code block (see changes) then it goes from 0.7s --> 0.2s for a reload. So overall, that's 5.5s-->0.2s, an over 90% decrease in time spent reloading. And I've run this branch with dozens of large datasets and saw a similar speedup, with no functionality problems that I could find.
That said, I'm sure there is some reason that code block is in there? Are there other modifications that ERDDAP is looking for?

Thanks for reading, I look forward to hearing your responses.

I understand the desire for a faster reload in quickRestart mode. That's the point of quickRestart mode.
To answer your questions:

The problem with switching to ftLastMod.get(f) < lastMod is: You're thinking "The file is 60ms older than expected. That's a quirk of the operating system, so let's ignore changes where the file is older than expected." But I'm thinking that an older file might be much older (e.g., 60 days older) because it is an older version of the file and therefore needs to be read and processed. So I am reluctant to make that change to the code.

You could then say "well, then let's make ERRDAP ignore changes of <1 s. Perhaps. But It is possible that some real time dataset is changed very frequently, so it could be a different version of the file. So I am even reluctant to make that change.
I have no explanation of why the OS says the lastModified time is slightly different. That's disappointing.

The parent class EDDTableFromFiles deals with a wide range of subclasses, so the methods that the subclasses have to handle (notably lowGetSourceDataFromFile) sometimes include parameters that are requests, not obligations.  (It's actually more complicated than that, e.g., the whole CONSTRAIN_NO/PARTIAL/YES system.)  mustGetData (note that it isn't just called "getData") is thus stating a requirement that the implementation must get the data (otherwise it is optional).

So why doesn't EDDTableFromMultidimNcFiles pay attention and use that parameter? You basically answered that: "readMultidimNc is very complex". I didn't take the time to add that option to the reader by adding to the complexity of an already complex method.

The whole point of makeExpected is to get the expected values of certain vital metadata attributes from one of the source files that is known to be valid.  This information is used elsewhere to validate new or changed files to ensure that the variables have the same (expected) values of scale_factor, add_offset, missing_value, etc. so we know that aggregating all these files is a valid thing to do.  Most of the time, opening one file from a collection doesn't take long. But here it does. So we can't just remove that code.

There is a possible way around this: the dataset could store this information in a file in the dataset's info directory. But that adds considerable complexity to the process. So I am reluctant to do that.
Another option is: we could make makeExpected lazy. Even that might be somewhat complicated since I think the information is used in other places (e.g., updateEveryNMillis). I will investigate.

I feel bad. You did a lot of work to do the analysis and make the changes and I rejected your 3 suggested changes and left you without a solution. I'll say: the situation I envisioned for these datasets was: the aggregation consists of 1 to a million files, each of which can be read fairly quickly. When that is true, the time needed for makeExpected is minimal because it only ever opens 1 file, and thus quickRestart finishes quickly if no files have changed.  And I envisioned that restarting ERDDAP was a rare event. Your situation is different because reading one file takes significant time and you might have lots of datasets like this.
I'll mention an obvious solution: make the data files somewhat smaller. That has a few advantages.

It solves this problem.
It makes it more likely that ERDDAP can read less data when responding to requests simply by quickly rejecting more of these smaller files. (But at the expense of sometimes having to open up lots more files. It's a trade-off.)
But I'm guessing you don't want to make that change. Fair enough.

I will try to think of other solutions. The ones I have thought of so far just add more complexity to an already fairly complex system. If you have other possible solutions, please let me know.
Another option is

@BobSimons Thanks for the quick reply and thorough response!

I feel bad. You did a lot of work to do the analysis and make the changes and I rejected your 3 suggested changes and left you without a solution.

You shouldn't feel bad; part of this was me validating I had set up my config properly. There are countless ways to configure an ERDDAP dataset and I wanted to understand what it was doing under the hood so I could make the right decisions about how to structure my datasets. With datasets this large, a small tweak can make all the difference. (Plus I was able to set up a unit test to try out different changes quickly, so the debugging was not as bad as you might think)
I will say the only thing I found "surprising" was that even if my files did not change whatsoever, ERDDAP was still loading up all the data for the first file -- in other words that EDDTableFromMultidimNcFiles reads the data not just the metadata.

I'll say: the situation I envisioned for these datasets was: the aggregation consists of 1 to a million files, each of which can be read fairly quickly. When that is true, the time needed for makeExpected is minimal because it only ever opens 1 file, and thus quickRestart finishes quickly if no files have changed.

Yes, this makes sense and is what I expected after looking at the code. So even if my dataset is 50GB, if it's broken up into very small files then the reload should be quick because it only has to look at one file to check the metadata against what's stored in the file table. I will think about this; there may be something I can do here, at least to make the first file smaller.

And I envisioned that restarting ERDDAP was a rare event. Your situation is different because reading one file takes significant time and you might have lots of datasets like this.

It should still be a rare event, but even if it's rare I need the reload to happen in a reasonable amount of time. For example, the IOOS ESM ERDDAP takes about an hour to fully reload after restart, which means we do major config changes or upgrades on off hours, but they are still do-able.

Another option is: we could make makeExpected lazy. Even that might be somewhat complicated since I think the information is used in other places (e.g., updateEveryNMillis). I will investigate.

I'm interested to hear where this goes. Would you consider adding a configuration flag that would make makeExpected more or less aggressive about how it does its updates? This could affect the lastMod check as well. So for example I would set that flag to "lazy" (if file not changed since last update, do nothing) for datasets with large files that I know change very infrequently, and "aggressive" (current behavior) for datasets that are updated very frequently and I want to make sure ERDDAP stays on top of those changes.

Another option is

Did you mean to have more here?

Yes, the last "Another option is" was a typo.
I now suspect the best option is to make the code not get the data when mustGetData is false.  I'm super busy right now and the current release is super late, so I will probably put off working on this until the next release.

Okay, that makes sense. I think as the size of datasets scale, this change will help more and more users, not just our particular use case here.
In the meantime, if I can't split into smaller files then I'll just run a fork with the lastMod change, and I can revert that once the netcdf mustGetData updates are in the main trunk a few releases from now.
Thanks!

the best option is to make the [EDDTableFromMultidimNcFiles lowGetSourceDataFromFile] code not get the data when mustGetData is false

For reference, Bob implemented this change here, first released in v2.10:
https://github.com/BobSimons/erddap/commit/e55556f18d39d5ae3f4ff96748fec2ebd42ace63#diff-174e5ec59fb0f843a0e59a3ad65f2640ad372f2f226e2db95fb048d35dd49d35


Feature Request: Rate Limits Extension

In the Extend with JavaScript or Extend with Go functions, it would be requested to set the rate limits dynamically

What may be the workaround if by Extending with Go, i add the rate limit using x/time/rate package to the specific routes (which are also extended by Go)


Social distancing eval coral dev

#102 To solve this issue I implemented another module to evaluate edgetpu models.
Readme will be updated.

@mrn-mln what is the status of this? Shall we close it for now?

@mhejrati I closed it because a new feature for evaluating detector results are implemented.


Assertion fail on launching game from EmulationStation menu

After having a lot of fun with my RetroPie, I decided to try installing EmulationStation by hand on my Ubuntu desktop.  I got pretty excited to launch a MAME rom, but got an assert failure as soon as I did:
emulationstation: /home/rhett/EmulationStation/es-core/src/resources/Font.cpp:536: void Font::renderTextCache(TextCache*): Assertion `*it->textureIdPtr != 0' failed.

Hello,
This repo is dead, new one is here: https://github.com/RetroPie/EmulationStation

@roadriverrail Did you get anywhere with this? Having some issues as well:
https://github.com/RetroPie/EmulationStation/issues/490

Sorry, I did not, and I don't actually do much retro-gaming on my
workstation since I started using a dedicated RPi for it.
On Wed, Oct 3, 2018 at 3:01 PM dsx724<EMAIL_ADDRESS>wrote:

@roadriverrail https://github.com/roadriverrail Did you get anywhere
with this? Having some issues as well:
RetroPie#490 https://github.com/RetroPie/EmulationStation/issues/490
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Aloshi/EmulationStation/issues/739#issuecomment-426758254,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAlhYNIsIhA7GY8KkmytJtsoMQ0pg3Hcks5uhQl0gaJpZM4SUWzs
.


[1.3.0] Drops series doesn't works as intended ?

Bug report
__System info: InfluxDB 1.3.0 & docker
_Steps to reproduce:

Insert telegraf datas
Try to drop series of a specific host (that doesn't exist anymore so no new datas) using http api

__Expected behavior: Series should be dropped
__Actual behavior: Series aren't dropped
__Additional info: HTTP respoonse is  - {"results":[{"statement_id":0}]}
When i launch this command :
 curl -X POST 'localhost:8086/query?db=[db-name]' --data-urlencode 'q=DROP SERIES WHERE host = "2008R2SP1"'

i got the following result :
{"results":[{"statement_id":0}]}

But when i show the series in influx shell i still have the data i tried to delete :
> show series
key
---
win_cpu,host=2008R2SP1,instance=0,objectname=Processor,server_env=infra,server_os_type=windows,server_os_version=2008R2SP1,server_owner=###,server_project=iaas,server_role=templatewin
win_cpu,host=2008R2SP1,instance=1,objectname=Processor,server_env=infra,server_os_type=windows,server_os_version=2008R2SP1,server_owner=###,server_project=iaas,server_role=templatewin

Is this a known issue or did i do something wrong ?

First - the quoting here can be a little confusing.  You should quote tag key and tag value as "host" = '2008R2SP1'.
However, there were two issues related to drop and delete resolved in 1.3.1 and 1.3.4:
https://github.com/influxdata/influxdb/issues/8531
https://github.com/influxdata/influxdb/issues/8677

Thank you for your answer.
When i use this command as you suggested :
curl -X POST 'localhost:8086/query?db=[db_name]' --data-urlencode 'q=DROP SERIES WHERE "host" = '2008R2SP1''
I got this response :
{"error":"error parsing query: invalid duration"}
I tried to update to 1.3.5, the result is the same.

The invalid duration is annoying - and confused me too.  Here's a working example: https://asciinema.org/a/rC9qZjJiL4hloSNtlScTChSAo

Just to note, bash treats quotes differently than standard programming languages. As an example:
$ echo a''b
ab

So since you surround your command with a single quote, you are getting two quoted bodies concatenated together. You have 'q=DROP SERIES WHERE "host" = ', followed by 2008R2SP1, then followed by ''. So the final query gets sent to the server without any quotes. Use double quotes and you will be fine.
I'm going to close this issue as it appears to not be an issue in the software and we cannot change how the quotes work at the moment.


New-command: onedrive-report-usagestorage

implements #1254

Coverage remained the same at 100.0% when pulling 1bb0c232fcb831e20285501f392d7ac047ade989 on plamber:spo-report-OneDriveUsageStorage into 0e5efd9d93e854d43547e9e1396e619ace74e34d on pnp:dev.

@VelinGeorgiev: you can review this one

Thank you very much Patrick @plamber ! We'll review it asap.

Merged manually. Thank you!


Update naming and description

Please note, the classes names will be also updated
P.S. You can check the README page by going to https://github.com/uptechteam/UptechSlider/tree/feat/update_naming

Probably we can name it SlidingRangeSelector. Suggestions are only welcome ❤

SlidingRangeSelector sounds better to me than FloatingRangeSelector


MSC3720: Account status

Rendered
Implementation: https://github.com/matrix-org/synapse/pull/12001

Preview: https://pr3720--matrix-org-previews.netlify.app

Synapse implementation: https://github.com/matrix-org/synapse/pull/12001 (added to the PR's description)

@babolivier Thanks for linking the implementation. Could I ask whether it has been used in any deployments used?

@anoadragon453

Could I ask whether it has been used in any deployments used?

Not as is. A similar feature exists in the fork of Synapse used by the French government deployment (https://github.com/matrix-org/synapse-dinsic/pull/46), which this MSC is based on with a few adjustments. The main differences between this MSC and the implementation in synapse-dinsic are:

the client endpoint uses a POST request (the federation one is a GET). This MSC makes it a GET for consistency with the federation endpoint (and to make the implementation easier); however if people think the client-side endpoint should be a POST (because eg query parameters show as logs) then I'm happy to change it.
the implementation in synapse-dinsic doesn't account for non-existing users.
the implementation in synapse-dinsic doesn't account for federation failures.


[improvement](task exec context) add parent class HasTaskExecutionCtx to own the task ctx

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Thanks for opening this issue. A GitHub docs team member should be by to give feedback soon. In the meantime, please check out the contributing guidelines.

Thanks for opening this issue. A GitHub docs team member should be by to give feedback soon. In the meantime, please check out the contributing guidelines.
Originally posted by @welcome[bot] in https://github.com/github/docs/issues/3001#issuecomment-762960979

Done

Done


Add variables to AKS platfrom

currently, the labels added by users are not added to the Azure platform. They are not getting applied in assets/terraform-modules/azure/flatcar-linux/kubernetes/workers/cl/worker.yaml.tmpl

assets/terraform-modules/azure/flatcar-linux/kubernetes/workers/cl/worker.yaml.tmpl is not related to AKS platform. We currently have Terraform code for Azure, but it has no Go implementation.

I'll close it as invalid, as AKS do support node labels.


feat: add fox baby sprite

Add Dark Magic BabyBeast Sprite
Added a new Dark Magic-themed BabyBeast sprite based on the Baby Rabbit model maintaining the consistent BabyBeast style.

@ShantelPeters please change the name of the pr as more logic by the issue please

@ShantelPeters love the new details, continue with the other animations

LGTM!


Unit test failure with SQLite Storage Library

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=164517&view=logs&j=672276a2-8d3a-5fab-615d-090c51352f92&t=821d316a-2fa3-581f-c34c-57a961b8e328
  1) SQLite Storage Library
       "after each" hook for "basics (open multiple times)":

      Error: EBUSY: resource busy or locked, unlink 'C:\Users\CLOUDT~1\AppData\Local\Temp\vsctests\storagelibrary\epCHJ2Uf\storage.db'
      + expected - actual

FYI, there was only this run that the failure.

Funky, I thought I had reverted my change to test VACUUM support sufficiently enough to not see issues like this one, but maybe we are onto something and VACUUM was totally unrelated...

I checked and nothing changed in the storage lib, it also does not fail lately anymore, will close and watch for future issues in case this happens again. I hope it is not an issue stemming from the node.js update in Electron 17 🤞


docs upgrades - new page on external links

Use target = "_ blank" in HTML links to outside the site

This seems not possible in GitHub. There's an open issue since 2012 about this...
https://github.com/mojombo/github-flavored-markdown/issues/28
This feature doesn't seem to be a GitHub priority... closing.


pause: remove pause binary from repo

This code was added back when cri-o didn't have the ability to pull
images, and the purpose of 1313f0dd720f ("*: add pause binary as a build
target") was to make it easier to play with cri-o without Docker.
However, cri-o has long-since grown support for image pulling and the
code that used to use the pre-compiled 'pause' binary now uses the
'pause' image. Keeping this binary around doesn't make sense anymore,
especially since it was originally just a copy of the upstream
Kubernetes one.
Signed-off-by: Aleksa Sarai<EMAIL_ADDRESS>- Description for the changelog
Removed the included pause binary as cri-o uses pause images, and has for a long time.

Will this work in an environment where there is no access to a public container registry?

Will this work in an environment where there is no access to a public container registry?

The binary is currently unused by cri-o (c0333b102bcbdb367f31924ffa3f4437709dcd38 completely removed all of the code referencing the pause binary), so having it makes no change to the container registry problem. The pause_image option should be what most people use to allow them to access private registries (or even just local storage in the case of CaaSP) and use a different pause image.

/rebuild-all

No objections from me if we fix up the tests to pass. Thanks!

:+1:

@cyphar Are you still working on this?

Do we even use the pause executable any longer?

Do we even use the pause executable any longer?

We still have the consumer I'd pointed out above.

@cyphar needs rebase please.

Closing this for now.


Do not assume they have blink blendshapes

We assume they have at least one blink blendshape but if they do not the script crashes with:
Visemes: V.SIL, V.PP, V.FF, V.TH, V.DD, V.KK, V.CH, V.SS, V.NN, V.RR, V.AA, V.EE, V.IH, V.OH, V.OU
UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)

IndexOutOfRangeException: Index was outside the bounds of the array.
  at VRC_Chillout_Converter.GetValuesFromVrcAvatar () [0x00119] in C:\Users\x\Assets\PeanutTools\VRC_Chillout_Converter\main.cs:804

Fixed in 0.0.11


Debug message left on

On version 0.1.7
The debug message is showing by default on the terminal

If you are talking about debug messages, that you call thru Shipbook like log.d('debug'); then it is by design. To change the configuration you need to go to the shipbook console and there you can change the severity


Broken Apollo SSR

https://github.com/apollographql/react-apollo/issues/3678#issuecomment-572212629
https://github.com/vercel/next.js/issues/9542
https://github.com/apollographql/react-apollo/issues/3251
Next with Apollo allows to activate/deactivate SSR with Apollo queries
Important note
Testing SSR based on "error" state can be problematic, as getDataFromTree might just fail in error case (eg gql server non available). See a loading state in this case can be normal.

https://github.com/apollographql/apollo-client/issues/3897

https://github.com/apollographql/react-apollo/issues/3918


Release v0.3.9

This PR prepares the release of defmt v0.3.9 and related crates.
There are two breaking changes, one in defmt-decoder, one in defmt-parser. This does not affect users of the firmware defmt crate, but only of the host-side defmt-decoder crate. The breakage is minimal though. We are adding one new variant to two enums which were not non_exhaustive before and those enums are not returned from a function but are used for configuration.
This release also no longer requires the "unstable" feature from the decoder and parser (the flag remains, but is a no-op). They have been stable for years now (except one accidental breakage).

Crate
Old Version
New Version
Breaking Change
Target

defmt
0.3.8
0.3.9
-
🎙

defmt-macros
0.3.9
0.3.10
-
🎙

defmt-decoder
0.3.11
0.4.0
💥
🖥

defmt-parser
0.3.4
0.4.0
💥
🎙/🖥

defmt-print
0.3.12
0.3.13
-
🖥

defmt-semihosting
0.1.0
0.0.0
N/A
🎙

firmware
0.1.0
0.0.0
N/A
🎙

qemu-run
0.1.0
0.0.0
N/A
💻

xtask
0.1.0
0.0.0
N/A
💻

Opened https://github.com/probe-rs/probe-rs/pull/2809. Once that is reviewed and considered good I will make the release.

 I'd like to see the substantial changes brought out into a separate PR so they can be tested and reviewed individually.
For example https://github.com/knurling-rs/defmt/pull/864/commits/3ba66f7338d7d641af099065faadecc50a860d0b requires a change in CI to both build with --locked and without.
https://github.com/knurling-rs/defmt/pull/864/commits/b5ed24c5b99baf88333eccc26788d56b2ee71c3b also requires a change in CI to actually do the build on the MSRV (be that Rust 1.76 or Ferrocene).

I tested the radio-app exercises using this new defmt:
diff --git a/nrf52-code/radio-app/Cargo.toml b/nrf52-code/radio-app/Cargo.toml
index 44d2206..52d3e65 100644
--- a/nrf52-code/radio-app/Cargo.toml
+++ b/nrf52-code/radio-app/Cargo.toml
@@ -33,3 +33,7 @@ incremental = false
 lto = "fat"
 opt-level = 3
 overflow-checks = false
+
+[patch.crates-io]
+defmt.git = "https://github.com/knurling-rs/defmt"
+defmt.branch = "release"

followed by
cargo update -p defmt
Everything still seemed to build OK.

Blocked on #883 and #884.

This is ready for review and release. As soon as you approve, @jonathanpallant, I will release the crates. Then we can update the probe-rs PR to use the crates-io version.

I think this is OK, but I want to go and manually run cargo semver-checks on each thing we're releasing so I fully understand what we're changing here.

cargo semver-checks report
main branch
$ cargo semver-checks -p defmt-parser -p defmt-decoder --features unstable
     Parsing defmt-decoder v0.3.11 (current)
      Parsed [   9.142s] (current)
     Parsing defmt-decoder v0.3.11 (baseline)
      Parsed [   8.841s] (baseline)
    Checking defmt-decoder v0.3.11 -> v0.3.11 (no change)
     Checked [   0.015s] 94 checks: 93 pass, 1 fail, 0 warn, 0 skip

--- failure enum_marked_non_exhaustive: enum marked #[non_exhaustive] ---

Description:
A public enum has been marked #[non_exhaustive]. Pattern-matching on it outside of its crate must now include a wildcard pattern like `_`, or it will fail to compile.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#attr-adding-non-exhaustive
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/enum_marked_non_exhaustive.ron

Failed in:
  enum FormatterFormat in /home/urhengulas/Documents/github.com/knurling-rs/defmt/decoder/src/log/format/mod.rs:276

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [  18.016s] defmt-decoder
     Parsing defmt-parser v0.3.4 (current)
      Parsed [   0.816s] (current)
     Parsing defmt-parser v0.3.4 (baseline, cached)
      Parsed [   0.184s] (baseline)
    Checking defmt-parser v0.3.4 -> v0.3.4 (no change)
     Checked [   0.010s] 94 checks: 93 pass, 1 fail, 0 warn, 0 skip

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/enum_variant_added.ron

Failed in:
  variant DisplayHint:Octal in /home/urhengulas/Documents/github.com/knurling-rs/defmt/parser/src/display_hint.rs:16

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [   1.022s] defmt-parser
$ cargo semver-checks -p defmt-print -p defmt-macros
error: no crates with library targets selected, nothing to semver-check
note: only library targets contain an API surface that can be checked for semver
note: skipped the following crates since they have no library target: defmt-macros, defmt-print
$ cargo semver-checks -p defmt --default-features
     Parsing defmt v0.3.8 (current)
      Parsed [   1.143s] (current)
     Parsing defmt v0.3.8 (baseline, cached)
      Parsed [   0.106s] (baseline)
    Checking defmt v0.3.8 -> v0.3.8 (no change)
     Checked [   0.009s] 94 checks: 94 pass, 0 skip
     Summary no semver update required
    Finished [   1.268s] defmt

release branch
$ cargo semver-checks -p defmt-parser -p defmt-decoder --features unstable
     Parsing defmt-decoder v0.4.0 (current)
      Parsed [   9.571s] (current)
     Parsing defmt-decoder v0.3.11 (baseline, cached)
      Parsed [   0.185s] (baseline)
    Checking defmt-decoder v0.3.11 -> v0.4.0 (major change)
     Checked [   0.000s] 0 checks: 0 pass, 94 skip
     Summary no semver update required
    Finished [   9.774s] defmt-decoder
     Parsing defmt-parser v0.4.0 (current)
      Parsed [   0.900s] (current)
     Parsing defmt-parser v0.3.4 (baseline, cached)
      Parsed [   0.250s] (baseline)
    Checking defmt-parser v0.3.4 -> v0.4.0 (major change)
     Checked [   0.000s] 0 checks: 0 pass, 94 skip
     Summary no semver update required
    Finished [   1.163s] defmt-parser

That looks good for "defmt-parser" and "defmt-decoder" on the host side. What about "defmt-print" on the host side and "defmt" on the target side? I think that's all four things you're proposing to publish here?

What about "defmt-print" on the host side and "defmt" on the target side? I think that's all four things you're proposing to publish here?

There are no conflicts on the main branch already. So there are no conflicts in the release branch as well. I didn't include the output for brevity, as it is the same, but just added it for completeness.

@jonathanpallant ping

OK looks good

@Urhengulas - does the change in ef2cef8659a9101cc2be2572b949033dce932724 mean we have to bump the Defmt Version from v4 to v5? It's a backwards compatible change but ... how should a decoder know whether this it has "V4 organised into log levels" or "V4 with logs in random order". I guess it could look for the __DEFMT_MARKER_TRACE_START symbol?

@Urhengulas - does the change in ef2cef8 mean we have to bump the Defmt Version from v4 to v5? It's a backwards compatible change but ... how should a decoder know whether this it has "V4 organised into log levels" or "V4 with logs in random order". I guess it could look for the __DEFMT_MARKER_TRACE_START symbol?

Because the binary format sent over the transport hasn't changed, and it's backwards compatible, I'm happy to keep calling this V4. It's just V4 with extra stuff, and it's trivial to see if the extra stuff is supported.


please add support for hledger-lib 1.4

We would like to update to the latest hledger version in both openSUSE and NixOS, but right now hledger-iadd is blocking that update because it won't build against hledger-lib 1.4. I suppose Stackage will have the same issue. If at all possible, I'd greatly appreciate getting an updated version that remedies this issue.

I'm on it :-)
Will publish a new revision shortly...

done

Thank you!


The resource you are looking for has been removed

The README contains two broken links in the "Read the language specification" section.

Fixed by https://github.com/microsoft/tslib/commit/b6c00205f8ffca59d44607984ea49f2c788d2aa5


Upgrade packages

what

Update packages versions

why

Versions should be up-to-date

https://github.com/cloudposse/packages/issues/20


Add Business Rules

swashbuckle documentation very help to how all the information but here I want to show some business rules. can you please help how can able to show business rules. business rules like paragraph or link file.
If there is any option available kindly guide me to develop it

Look at IOperationFilter and IDocumentFilter, IOperationFilter, and ISchemaFilter.  You should be able to customize the documentation to add anything you need.

Thank you for you valuable feedback. I now this technique will be available in swashbuckle. but I want to know how to implement this can you pls guide me regarding that.
I was developed web api in dot net so I want to implement in dot net application can pls guide me


Possible Swift-2 build directory issue

This is similar to an issue reported and corrected earlier but slightly different, I think.

Using Xcode 7 beta2 on OS X 10.10.3

Built Realm/RealmSwift from the Swift-2.0 branch using the command
CONFIGURATION=Debug build.sh osx-swift

Copied the resulting Realm and RealmSwift frameworks from the build/osx directory to a project I'm playing with.

The project compiles, links, and runs without error.  HOWEVER, when I try to edit a source file that contains an “import RealmSwift” statement I get an error “Missing required modules: ‘Realm.private’, ‘Realm’”.   I believe this is related to lldb/REPL as on breakpoints the contents of objects are no longer available and doing something like po self results in
warning: Swift error in module memo:
    Swift had fatal errors constructing the ast context for this module: <built-in>:2:16: error: module 'Realm' was built in directory '/Realm.framework' but now resides in directory './Realm.framework'
#define __clang__ 1
               ^
missing required modules: 'Realm.Private', 'Realm'
Debug info from this module will be unavailable in the debugger.

Swift/Xcode issue or Realm configuration issue?

This is an lldb issue, I'm like 90% sure, since I've seen it happen with other frameworks as well.

Just chiming in, I'm seeing this issue as well, and it makes Realm unusable for me. Including the Realm framework kills the rest of my project w/ regards to debugging and editing. Since Xcode/LLDB is dying when processing the Realm frameworks, I guess its isn't strictly a Realm issue.

This issue exists for every other framework... Still looking for a solution

I'm closing this issue since it really seems like a problem with LLDB and Swift modules rather than Realm itself.
I'd encourage you to file a radar at https://bugreport.apple.com, especially since Apple will be making a slew of fixes leading up to Xcode 7's release.

Submitted Radar: 21859260

This appears to be working in Xcode 7 beta 5. You will need to build realm via build.sh ios-swift

For reference, the solution can be found here
http://stackoverflow.com/questions/31219422/swift-debugger-does-not-show-variable-values-when-importing-objc-framework/31455774#31455774


Doc improve: docker-compose example

The docker-compose example  can't exec  server command after server startup.
According to the docker-doc, we need add stdin_open: true,
version: '3'
services:
  terraria:
    image: beardedio/terraria:vanilla-<IP_ADDRESS>
    ports:
      - '7777:7777'
    environment:
      - world=The_Common_Tropic.wld
    volumes:
      - ./config:/config
    tty: true
    stdin_open: true

Then, we can use docker attach to exec server-command.

Yup, this should be updated in the README.md for sure. I ended up having to do the same thing, but only after I read this issue https://github.com/beardedio/terraria/issues/4 and noticed they added the stdin_open: true option to their service configuration.

I have added this to the readme, Thanks!


Rust / Check Cargo.toml formatting (amd64, stable) (pull_request) Failing

Describe the bug
Rust / Check Cargo.toml formatting (amd64, stable) (pull_request) Failing
To Reproduce
submit a pr.

FYI Fixed this in https://github.com/apache/arrow-ballista/pull/658. If that PR cannot be merged shortly (it's rather large) then we can pull into a separate one

FYI Fixed this in #658. If that PR cannot be merged shortly (it's rather large) then we can pull into a separate one

it's my pr https://github.com/apache/arrow-ballista/pull/661 .
still got error on github action https://github.com/apache/arrow-ballista/actions/runs/4140311128/jobs/7159094110#step:8:1

FYI Fixed this in #658. If that PR cannot be merged shortly (it's rather large) then we can pull into a separate one

it's my pr #661 .
still got error on github action https://github.com/apache/arrow-ballista/actions/runs/4140311128/jobs/7159094110#step:8:1

Right, #658 would have to be merged or you can just cherry-pick the commit with the fix.

Just fyi, DataFusion had the same issue and resolved it: https://github.com/apache/arrow-datafusion/issues/5180

thanks everyone,it's fixed!


[Feature Request]: add signup option when user isnt logged in

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Ill be adding sign up option here instead of go back as it makes more sense to be placed here for first time users,

Use Case
.
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Riyachauhan11 already other contributor is working with this issue


Cannot run containers, operation not permitted

Output of docker version:
Client:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:22:26 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.0
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   4dc5990
 Built:        Wed Apr 13 18:22:26 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 5
 Running: 0
 Paused: 0
 Stopped: 5
Images: 27
Server Version: 1.11.0
Storage Driver: overlay
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.5.0-1-amd64
Operating System: Debian GNU/Linux stretch/sid
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.59 GiB
Name: computer
ID: F64Q:TS3X:QKTD:H32K:FH7Z:GMHY:43VK:AQK5:EW6T:2TYX:L3XN:KGHG
Docker Root Dir: /home/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory limit support
WARNING: No oom kill disable support

Additional environment details (AWS, VirtualBox, physical, etc.):
Laptop
Steps to reproduce the issue:

docker run -ti debian bash

Describe the results you received:
docker: Error response from daemon: open /home/docker/overlay/7662016b764f8c1198a77b3b0fa719017fd359a423cd8c02383ede22090ca4aa-init/merged/etc/hosts: operation not permitted.
See 'docker run --help'.

Describe the results you expected:
Shell running in a container
Additional information you deem important (e.g. issue happens only occasionally):
Issue happens most of the time, but sometimes the container can be created successfully. The file that access fails on isn't always /etc/hosts, I've also seen it happening on /etc/resolv.conf. Does not affect containers created before I started having the issue at all.

Actually, it seems that when the container does start successfully things don't work right either. Apt can't open /var/lib/apt/lists/lock for apt update (also Operation not permitted), su doesn't work with the cryptic message su: pam_start: error 26... I'm guessing there's more. Adding --security-opt seccomp:unconfined doesn't help, nor even --privileged.

Everything works fine on kernel 4.4.0-1-amd64 #1 SMP Debian 4.4.6-1 (2016-03-17).

This is a known issue for kernel 4.5.0 - 4.5.1 . The latest stable kernel 4.5.2 fixes these issues

Yes, this is a duplicate of https://github.com/docker/docker/issues/20950

Sorry for the dupe, just realised I only searched in open issues. Thanks for the info!

no problem! there's a lot of issues (including closed ones), I just happened to know there was one already 👍


BUG: little or no padding added && large text on mobile view

Description
There is no padding before those tweets
And in between the tweets the padding top is much
Screenshots

I could fix this though 🤷

Yes! Thank you for catching that. Assigning you 💙💙

Thanks
Get ready to merge my PR anytime soon 😊


Listening for records does not trigger on each subscription

So in a use case where I needed a records listener to execute some logic upon each new client subscription to a record, it seems that deepstream does not trigger the listener's callback on a every new subscription, but rather only to the first subscription ever made.
In the documentation page, active data providers section

From thereon, it will be notified whenever a subscription is made or removed that matches said pattern.

Here is the test script for more context:
const deepstream = require('deepstream.io-client-js')
const server = require('./server')

const BBPromise = require('bluebird').Promise
const assert = require('./assert').assert
const spy = require('sinon').spy
const expect = require('chai').expect

const run = async () => {
    const clientcfg = {
        reconnectIntervalIncrement: 100,
        maxReconnectInterval: 1000,
        maxReconnectAttempts: 999,
    }

    const listeningSpy = spy()

    await server.start()

    await BBPromise.delay(1000)

    const provider = deepstream('localhost:6020', clientcfg)

    await provider.login({})

    provider.record.listen('records/abc', (match, response) => {
        response.accept()
        listeningSpy()
    })

    const clientA = deepstream('localhost:6020', clientcfg)
    await clientA.login({})

    const caRecord = clientA.record.getRecord('records/abc')
    await caRecord.whenReady()

    caRecord.subscribe(update => {
        console.log('client a subscription to record: records/abc')
    }, true)

    const clientB = deepstream('localhost:6020', clientcfg)
    await clientB.login({})

    const cbRecord = clientB.record.getRecord('records/abc')
    await cbRecord.whenReady()

    cbRecord.subscribe(update => {
        console.log('client b subscription to record: records/abc')
    }, true)

    await BBPromise.delay(2000)

    const status = assert(() => {
        expect(listeningSpy.callCount).to.equal(2)
    }, {
        success: 'listening triggers for each new subscription of a record',
        failure: 'listening only triggers for first record subscription'
    })

    await server.stop()

    process.exit(status)
}

run()

You can find the test script in: https://github.com/deepstreamIO/test-scripts/commit/dc337a3b5b8c594eeea93dc168ecf4308df69b58

This is correct behaviour, should make documentation more specific


KDUMP-CRASH-SSH: New Testcase to verify KDUMP over SSH

Added ssh port parameter in wait-ForVMToStartSSH function: To use it for ssh port other than 22
Enabled .tar installation for "-CustomKernel" parameter
Added new testcase: KDUMP-CRASH-SSH

`[LISAv2 Test Results Summary]
Test Run On           : 06/26/2020 05:08:56
ARM Image Under Test  : OpenLogic : CentOS : 7.7 : latest
Initial Kernel Version: 5.7.0
Final Kernel Version  : 5.7.0
Total Test Cases      : 1 (1 Passed, 0 Failed, 0 Aborted, 0 Skipped)
Total Time (dd:hh:mm) : 0:0:7
ID TestArea             TestCaseName                                                                TestResult TestDuration(in minutes)
1 KDUMP                KDUMP-CRASH-SSH                                                                   PASS                 6.48

Logs can be found at C:\LISAv2\VW67\TestResults\2020-06-25-22-08-51-9660`

@abhimarathe Does it need special kernel?

No update in last 8 days. Are you still working on this PR? Or, plan to close it? @abhimarathe

@abhimarathe Hello, please kindly note, the LISA has been refactored in its xml definition.  Generally, you need to replace   with , if you have  defined,  otherwise, you need create a new XML Tag ,  and move any of these xml Tags (, , , , , , , , )  as child element of .   Some of those Tags are optional, please reference to the existing xml definition from master branch.   Hope that doesn't bring much inconvenient to you. Thanks!

@abhimarathe Are you working on this PR? It's been open without an update in the last 9 days.

@abhimarathe Are you working on this PR? It's been open without an update in the last 9 days.

@juhlee-microsoft  Yes, I'm facing some difficulties with ubuntu distro for generating dump. I'm talking to Wei how has developed these patches. I will fix the testcase as soon as I get to know what steps need to be added. That's why I have kept this PR in draft mode.


Improve command and instructions for installing Istio

Signed-off-by: Spike Curtis<EMAIL_ADDRESS>Description
Improved install command deals with different "latest" Istio versions.  Also gives advice about how to deal with "unable to apply" errors due to CRD race condition.
Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 8907f9203baa8f93d67f654c37d52e915cd675c2
https://deploy-preview-2187--calico.netlify.com


Sublime Text plugin

Awesome work.
I believe turning this into an ST plugin would be rather trivial, so this is me setting a task for this so someone might get the time and will to do it.

It wouldn't be trivial for me, so I can't help... but I'd really like that. : )


Typo: check if nsamples is None

The PR fixes the rare error  that occurs if nsamples is not specified, e.g. when the main.py is ran for the purpose of evaluaiton

To reviewer: if you believe that the PR can be merged, please merge this by yourself (i.e. without checking with me).

lgtm! thanks))


Add RFC2307 LDAP server compatibility

FreeIPA (possibly others?) returns multiple records for individual users for RFC2307 compatibility. This prevents BookStack from enumerating groups, and completely breaks LDAP group synchronization.
As a workaround, adding LDAP_RFC2307_COMPATIBILITY environment variable (defaults to false). If set to true, and more than one record is returned during a group membership search, BookStack will use the second record set.
Will also require updating the Docs page at https://www.bookstackapp.com/docs/admin/ldap-auth/

Resolves https://github.com/BookStackApp/BookStack/issues/2750

Thanks for offering this @4o66. Before merging I'd need to spend some time replicating a similar LDAP environment so I can set-up tests for the expected response format.
When looking into this did you find any specific references into how RFC2307 compliance changes the response format for LDAP searches? I want to be sure the change you're implementing is definitely as a result of that standard if the options are named by the RFC. From looking into the RFC, and the code changes, I'm having trouble understanding how the changes match the standard or even what would be in the usual $users[0] index that we'd normally use.

I am running a FreeIPA server installed on Fedora.
Here is what I found that led me down the path:
I used \Log:: to dump variables.
In getUserWithAttributes, I see the following on logging in
[2021-05-17 22:31:41] production.INFO: getUserWithAttributes - $users
[2021-05-17 22:31:41] production.INFO: array (
  'count' => 2,
  0 =>
  array (
    'cn' =>
    array (
      'count' => 1,
      0 => 'Sean Cox',
    ),
    0 => 'cn',
    'uid' =>
    array (
      'count' => 1,
      0 => 'seanc',
    ),
    1 => 'uid',
    'count' => 2,
    'dn' => 'uid=seanc,cn=users,cn=compat,dc=redacted,dc=net',
  ),
  1 =>
  array (
    'cn' =>
    array (
      'count' => 1,
      0 => 'Sean Cox',
    ),
    0 => 'cn',
    'uid' =>
    array (
      'count' => 1,
      0 => 'seanc',
    ),
    1 => 'uid',
    'mail' =>
    array (
      'count' => 1,
      0 =><EMAIL_ADDRESS>    ),
    2 => 'mail',
    'count' => 3,
    'dn' => 'uid=seanc,cn=users,cn=accounts,dc=redacted,dc=net',
  ),
)
[2021-05-17 22:31:41] production.INFO: getUserWithAttributes - $users
[2021-05-17 22:31:41] production.INFO: array (
  'count' => 2,
  0 =>
  array (
    'count' => 0,
    'dn' => 'uid=seanc,cn=users,cn=compat,dc=redacted,dc=net',
  ),
  1 =>
  array (
    'memberof' =>
    array (
      'count' => 27,
      0 => 'cn=admins,cn=groups,cn=accounts,dc=redacted,dc=net',
      1 => 'cn=Replication Administrators,cn=privileges,cn=pbac,dc=redacted,dc=net',
      2 => 'cn=Add Replication Agreements,cn=permissions,cn=pbac,dc=redacted,dc=net',
      3 => 'cn=Modify Replication Agreements,cn=permissions,cn=pbac,dc=redacted,dc=net',
      4 => 'cn=Read Replication Agreements,cn=permissions,cn=pbac,dc=redacted,dc=net',
      5 => 'cn=Remove Replication Agreements,cn=permissions,cn=pbac,dc=redacted,dc=net',
      6 => 'cn=Modify DNA Range,cn=permissions,cn=pbac,dc=redacted,dc=net',
      7 => 'cn=Read PassSync Managers Configuration,cn=permissions,cn=pbac,dc=redacted,dc=net',
      8 => 'cn=Read Replication Changelog Configuration,cn=permissions,cn=pbac,dc=redacted,dc=net',
      9 => 'cn=Write Replication Changelog Configuration,cn=permissions,cn=pbac,dc=redacted,dc=net',
      10 => 'cn=Modify PassSync Managers Configuration,cn=permissions,cn=pbac,dc=redacted,dc=net',
      11 => 'cn=Read LDBM Database Configuration,cn=permissions,cn=pbac,dc=redacted,dc=net',
      12 => 'cn=Add Configuration Sub-Entries,cn=permissions,cn=pbac,dc=redacted,dc=net',
      13 => 'cn=Read DNA Range,cn=permissions,cn=pbac,dc=redacted,dc=net',
      14 => 'cn=Host Enrollment,cn=privileges,cn=pbac,dc=redacted,dc=net',
      15 => 'cn=System: Add krbPrincipalName to a Host,cn=permissions,cn=pbac,dc=redacted,dc=net',
      16 => 'cn=System: Enroll a Host,cn=permissions,cn=pbac,dc=redacted,dc=net',
      17 => 'cn=System: Manage Host Certificates,cn=permissions,cn=pbac,dc=redacted,dc=net',
      18 => 'cn=System: Manage Host Enrollment Password,cn=permissions,cn=pbac,dc=redacted,dc=net',
      19 => 'cn=System: Manage Host Keytab,cn=permissions,cn=pbac,dc=redacted,dc=net',
      20 => 'cn=System: Manage Host Principals,cn=permissions,cn=pbac,dc=redacted,dc=net',
      21 => 'cn=ipausers,cn=groups,cn=accounts,dc=redacted,dc=net',
      22 => 'cn=editors,cn=groups,cn=accounts,dc=redacted,dc=net',
      23 => 'cn=trust admins,cn=groups,cn=accounts,dc=redacted,dc=net',
      24 => 'cn=unraid,cn=groups,cn=accounts,dc=redacted,dc=net',
      25 => 'cn=wiki-editor,cn=groups,cn=accounts,dc=redacted,dc=net',
      26 => 'cn=wiki-admin,cn=groups,cn=accounts,dc=redacted,dc=net',
    ),
    0 => 'memberof',
    'count' => 1,
    'dn' => 'uid=seanc,cn=users,cn=accounts,dc=redacted,dc=net',
  ),
)

As you can see, the first element in the array is tied to cn=users,cn=compat,dc=redacted,dc=netcn=users,cn=compat,dc=redacted,dc=net, while the second is cn=users,cn=accounts,dc=redacted,dc=net. The compat cn is (as best I can tell) tied to RFC2307. See https://www.freeipa.org/page/V4/chained_compat_tree
The logic I used to change the index only triggers if there are multiple records returned, and the correct environment variable is set, so there should be no possibility of breaking existing installs. One way to possibly enhance the logic would be to check if there are multiple results, and use only a result that doesn't contain a compat CN.

Thanks for the explanation @4o66,
I'm still not sure the return of multiple results is for rfc2307 itself but is freeipa's approach for rfc2307 support.
Is there a reason you can't set cn=accounts,dc=redacted,dc=net as your base DN or incorporate that in your user filter so the search only fetches the desired results?

Is there a reason you can't set cn=accounts,dc=redacted,dc=net as your base DN or incorporate that in your user filter so the search only fetches the desired results?

Um, not at all. Tried that and it works just fine, without my workaround. Feel a bit silly I didn't notice that before. Feel free to reject this pull request if you want.

Thanks for confirming @4o66, I will therefore close this off since the added option is not a requirement.


[Distributed] Don't diagnose declared dist member properties when importing module

We previously fixed that this method should not diagnose when checking in SourceFileKind::Interface mode, but we also should skip when there is no source file at all.
This fixes compilation of the distributed cluster in 5.9, since the behavior of typechecking seems to have changed slightly and we didn't enter this function in such situations previously.
Resolves: rdar://111080052

@swift-ci please smoke test and merge

Ah there, yes I will try to add one

Thank you!


Fix copied mask during training loop

Codecov Report

Merging #28 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #28   +/-   ##
=======================================
  Coverage   98.07%   98.07%
=======================================
  Files          13       13
  Lines         519      519
=======================================
  Hits          509      509
  Misses         10       10

Impacted Files
Coverage Δ

nlpete/models/copynet.py
100% <100%> (ø)
: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 c213b0c...6b02c1f. Read the comment docs.


服务启动会一直消耗服务器内存 所占用内存会越来越高

1. Versions

What is your wechaty version?

Answer:0.67.10

Which puppet are you using for wechaty? (puppeteer/padlocal/service...)

Answer:wechaty-puppet-wechat

What is your wechaty-puppet-XXX（padchat/puppeteer/） version?

Answer:0.28.4

What is your node version? (run node --version)

Answer:14.16.0

What os are you using

Answer:linux

+1
I had to add some auto-restart starategy for this, but I hope it can be solved.


Change default chunksize to 1MiB

This change makes the original 16MiB option not the common option.
It also changes the names of the defines to
SNMALLOC_USE_LARGE_CHUNKS
SNMALLOC_USE_SMALL_CHUNKS
The second should be set for Open Enclave configuration, and results in
256KiB chunk sizes.  The first being set builds the original 16MiB chunk
sizes.  If neither is set, then we default to 1MiB chunk sizes.

@schrodingerzhu this is going to need changes downstream in snmalloc-rs

Once, I land this changes and a few other PRs I plan to release, 0.5.

@achamayou @anakrish this change will change the defines needed in allocator.cpp, but makes things a bit clearer.
https://github.com/openenclave/openenclave/blob/469f75adffa8aa302315db469af7e233f2efd41e/3rdparty/snmalloc/allocator.cpp#L24-L25
will become
#define SNMALLOC_USE_SMALL_CHUNKS

@mjp41 thank you for the heads up, I'll PR the update on the OE side once 0.5 is out.

this is going to need changes downstream in snmalloc-rs

will make it happen when this is merged.


Update adding items to portfolio

Changes

Created PF4 checkbox (not actual PF component because it does not exist yet)

Automatically selects first source when adding portfolio items

Added the option to add custom empty state component to content gallery

@Hyperkid123 Why they change to "Automatically selects first source when adding portfolio items"?
I could see this if only one source existed.  But if there are more and that's not the source the user wanted they now have to wait for the UI to load the resources before switching.

I did that because we don't have any empty state design yet. Right now you will get into situation where when the screen will tell you that no items were found if you did not select any source.
And users actually don't have to wait for the services to be loaded. They have to wait for sources to be loaded (same as before). They can switch even while services are loading. Services have separate storage based on the platform so you don't have to worry about any asynchronous shenanigans.
But if this does not make any sense to you i can remove it.

Ok so first the platform selection should be first in the row, then followed by search field.
If there is only one platform then it should default to that.
If there are no platforms then we should get emptystate with button link to topology add source wiz.
If there are 2 or more platforms in the list and none are default then it should provide emptystate pointing to select a platform.
The platform should have a check box where by you can set it as default so that whenever that user goes to platforms it selects that first.
decide what for pre/post mvp.

If there are no platforms then we should get emptystate with button link to topology add source wiz.

This is probably not a MVP yet because o know that the topology team wants to share their implementation of adding source dialog but probably not before summit. Cost management and one other service has this requirement too, but that means that the topology must be a globally accessible from chrome. Right now it lives under the HCM section.
The rest we can do easily i think. @gmcculloug Any thoughts on this?

Codecov Report

Merging #134 into master will increase coverage by 0.3%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #134     +/-   ##
=========================================
+ Coverage   86.75%   87.05%   +0.3%
=========================================
  Files          70       71      +1
  Lines         634      641      +7
  Branches       50       52      +2
=========================================
+ Hits          550      558      +8
+ Misses         78       77      -1
  Partials        6        6

Impacted Files
Coverage Δ

...al-components/portfolio/portfolio-order-toolbar.js
100% <ø> (ø)
:arrow_up:

...ntational-components/shared/loader-placeholders.js
94.11% <100%> (ø)
:arrow_up:

...mart-components/content-gallery/content-gallery.js
100% <100%> (ø)
:arrow_up:

...tfolio/add-products-to-portfolio/no-items-found.js
100% <100%> (ø)

.../presentational-components/shared/card-checkbox.js
100% <100%> (+25%)
:arrow_up:

.../add-products-to-portfolio/add-products-gallery.js
100% <100%> (ø)
:arrow_up:

...resentational-components/platform/platform-item.js
100% <100%> (ø)
:arrow_up:

...nents/portfolio/add-products-to-portfolio/index.js
100% <100%> (ø)
: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 9045217...d9c03f2. Read the comment docs.

@Hyperkid123 for the PF checkbox component, have you seen https://v2.patternfly.org/documentation/react/components/checkbox

@sbuenafe-rh yep but you have something different in the mocks.

@Hyperkid123 you should pull from that PF4 component, I'll have to eventually update my mocks with PF's checkbox.


MAINT: sparse: optimize DIA sum/diagonal, csgraph.laplacian

This PR adds specialized sum and diagonal methods for DIA sparse matrices. It also defers the conversion to COO format in csgraph.laplacian where possible, which yields a pretty nice speedup for DIA inputs without harming other cases.
I've also added benchmarks to document the performance increase. Here are the significant changes:
BENCHMARK                                    BEFORE      AFTER     FACTOR
...cian.time_laplacian(30, 'dia', False)   372.06μs   171.08μs   0.45982349x
...ian.time_laplacian(300, 'dia', False)   593.68μs   227.67μs   0.38348440x
...ian.time_laplacian(900, 'dia', False)     1.04ms   330.61μs   0.31713714x
sparse.Sum.time_sum_axis0(0.5, 'dia')      124.03ms    15.37ms   0.12388698x
sparse.Sum.time_sum_axis0(0.1, 'dia')      130.85ms    15.54ms   0.11876036x
sparse.Sum.time_sum_axis0(0.01, 'dia')     124.67ms    13.94ms   0.11180419x
...e.Diagonal.time_diagonal(0.01, 'dia')    21.53ms    17.11μs   0.00079465x
...se.Diagonal.time_diagonal(0.1, 'dia')    30.09ms    17.94μs   0.00059623x
...se.Diagonal.time_diagonal(0.5, 'dia')    50.90ms    18.32μs   0.00035993x

@@            master   #5928   diff @@
======================================
  Files          238     238
  Stmts        43655   43693    +38
  Branches      8196    8206    +10
  Methods          0       0
======================================
+ Hit          34085   34119    +34
- Partial       2601    2603     +2
- Missed        6969    6971     +2

Review entire Coverage Diff as of 03caa3e

Powered by Codecov. Updated on successful CI builds.

Looks reasonable to me, but needs rebase

Rebased and slightly tweaked. I simplified the copy logic a bit, and fixed a latent bug related to result dtypes that was exposed by #5907. Should be good to go now.

Needs rebase

Rebased.

Merging, thanks @perimosocordiae!


issue82,support extended data type in the packege

#82

Hi @lk18347265415 , I think you should append a full test case as well.


Added Permissionhandling for iOS MPMediaLibrary

Please take a moment to fill out the following:
Changes Proposed in this pull request:
Add Handling to check and request Permissions to MediaLibrary on IOS

ITNOA
Hi,
@escamoteur Did you check all project that compile correctly? CI failed your PR!

will have to recheck

@escamoteur you correct, I'm sorry.

Fixing up build issues and such.

Hi,
why is this PR not merged?
Cheers
Thomas

It needs to be merged and I still need to assess it. I don't accept every PR that comes in right away. I have a large backlog.

Sorry, I did not want to be pushy James


Regenerates with the latest schematic code

Most importantly, this is generated with interagent/schematic#42 in the mix
/cc: @bernerdschaefer

−3,342

🎉


allow implicit cast from S to ?&const S

Allow implicit casts from container types to nullable const pointers to
said container type.  That is:
fn f() void {
    const s = S {};
    g(s);   // Works.
    g(&s);  // So does this.
}

fn g(_: ?&const S) void {  // Nullable const pointer.
}

Fixes #731.

I should mention that it doesn't work for pointers-to-pointers.  This is still an error:
const s = S() {};
const p = &s;
f(&p);  // fn f(_: ?&const ?&const S) {}

Is that a safe transformation to make?

 No effect on the size of the object?

Correct. Nullable pointers are guaranteed to be pointer sized.
I think that the example with an error set should work too.
Related is #733. After this is done we might remove the ability to cast T to &const T.

@bnoordhuis,
Once again, thank you for a high quality, high impact pull request. Would you like to become one of the owners of the zig-lang organization and have commit access?

Correct. Nullable pointers are guaranteed to be pointer sized.  I think that the example with an error set should work too.

Okay, I'll chip at it some more.

Would you like to become one of the owners of the zig-lang organization and have commit access?

I'd be honored!


Satchel, Sheath and Belt Pouch

Cant tell if they were removed in the latest version- but now the compendium no longer contains these items and most likely more that I am unaware of. Was this all  errata'd out? And would there be a way to add it back in?

It was removed in the very first errata of the CRB. We left it in for legacy reasons but finally made the decision to remove them as they no longer serve any function. You can manually recreate them if you like as custom items.

Okay! Completely fine! Im just happy to know it wasnt me breaking everything I touch lmao

Oh question - did you remove the picture emblems for them- or are they still in the files somewhere. So i can reuse them if they are there. New to messing with foundry sorry


Deploy Questions

What version of the DMPRoadmap code are you running? (e.g. v2.2.0)
v4.0.5
Curious about the "deploy.rb" configuration. I can see that you are bundle installing without a few groups
set :bundle_without, %w[pgsql thin rollbar test].join(' ')
however it appears the development group is still installed? Are you running rails spring in production? Or are you simply installing the gem and disabling spring by setting the DISABLE_SPRING environment variable?
I was attempting to get a slimmed production build but excluding the development group from the bundle caused errors. Any suggestions, advice?

Hi @miggall i haven’t looked at the deploy script in quite some time. My guess is that some of the gems in the development group should probably not be because they’re needed in all environments.
We manage the app via systemd using the puma commands. We don’t have the DISABLE_SPRING var set so there may be some unnecessary stuff getting loaded.
I’d be very interested to see what you end up with. We’ve been dealing with some memory issues lately #419 and any improvements in this area would likely help.

@briri alright, thank you! I was curious how you all were going about it. I ended up containerizing the entire application for deployment and I as I started to slim down and optimize I started getting running into issues mainly with spring. This does alleviate some of my concerns, however. I'll keep the issue open only to get some feedback from you when you return but otherwise I feel you have answered my question.

I need to look into this as it does appear that we do not have our dependencies properly organized and we would benefit from a slimmed down set for production and stage

I think this is being addressed in the upcoming version of the DMPRoadmap codebase (this repo is a fork of DMPRoadmap).


QUESTION: How to Retrieve MediaStream Using its ID?

Description:
I'm working on a Flutter project where I need to pass a MediaStream between different isolates. Since MediaStream and MediaStreamTrack are not primitive types and cannot be passed directly between isolates, I'm trying to find a way to pass an identifier (like a stream ID) and then retrieve the MediaStream using this ID in the main isolate.
Questions:
How can I properly fetch a MediaStream using its ID?
Are there any best practices or alternative methods for passing MediaStream between isolates or through method channels?

Since there is no dart method of retrieving the MediaStream by ID, you may need to save the media stream id in your app and pass that saved variable into the different isolates.
final MediaStream userMediaStream = await navigator.mediaDevices.getUserMedia(constraints);
final MediaStream displayMediaStream = await navigator.mediaDevices.getDisplayMedia(constraints);

It looks like it may also be possible to write a PR in the WebRTC plugin to get the userMedia by id as the plugin seems to cache the streams c++ objective-c java

@victortive  Can you please check this out -> https://github.com/flutter-webrtc/flutter-webrtc/issues/1644? I have tried a method mentioned in that issue.

Actually, I too faced this issue, but there is no solution for this problem in dart method, if anybody knows any option, please let me know!!!


Collect Input Links specifically for each published subsets

Is your feature request related to a problem? Please describe.
We want to know exactly which loaded versions were used in the generation of a specific published version of a subset.
OpenPype currently does have some basic logic that [stores all loaded container versions] but it only so when integrating a workfile. In a way that makes sense since it collects everything that was loaded in the scene, and not anything that was likely used in the generation of the specific subset. And that's exactly what we'd like to know instead.
We want to know which characters are in renderlayer 'Character' and which backgrounds are in renderlayer 'Environment' and exclude any content that isn't actually in that particular renderlayer even thought they might have been loaded into the work file (for being in the other renderlayer).
Describe the solution you'd like
In colorbleed-config we previously had it implemented like this:
For example like this:

https://github.com/Colorbleed/colorbleed-config/blob/acre/colorbleed/plugins/maya/publish/collect_inputs.py
https://github.com/Colorbleed/colorbleed-config/blob/acre/colorbleed/plugins/houdini/publish/collect_inputs.py
https://github.com/Colorbleed/colorbleed-config/blob/acre/colorbleed/plugins/fusion/publish/collect_inputs.py
And upon integrating:
https://github.com/Colorbleed/colorbleed-config/blob/76f537eea041f8fed135f2b3334d70e1cf22b528/colorbleed/lib.py#L853-L864

We had tools in place to debug input dependencies and have used small scripts to sync up loaded versions of different geo based on used versions in their input history. Often used for FX or Comp to sync specific layers / assets.
One of the tools was in the repo - but I'm not sure that's currently the latest state but the code shows the overall idea. This tool allows to show inputs/outputs of a subset using the Representation Input/Output tool.
Our implementation was functional for Maya, Houdini and Fusion.
Additional context
Related to:

https://github.com/pypeclub/OpenPype/issues/2092 Issue
https://github.com/pypeclub/OpenPype/pull/2192 PR

It's related to this Avalon Core issue regarding Inputs/Outputs tracking where more of our idea/approach is discussed.
I also mentioned this in OpenPype discord, here's a trace to that.
Discussion
I'd love to know if I'm missing existing OpenPype features if this already exists.
Furthermore I'd love to know thoughts from others about how they might like to see this implementation tweaked or used.
**EDIT: Seeing https://github.com/pypeclub/OpenPype/issues/2092 issue is actually still open this might now just be a duplicate. Sorry. Should we close this in favor of the original? And move any relevant information to there?
[cuID:OP-2351]

We left the original issue open because it wasn't resolved completely and your info here is totally complementary to that. I agree let's merge them and continue from there, ideally taking what you guys already did, implementing in in OP and we can continue building on top of it. for other families and hosts.


No Output !

Hello !
When I run the following commands:
import codejail.jail_code
codejail.jail_code.configure('python', '/home/klei/ex/sandboxenv/bin/python', 'klei')
import codejail.safe_exec
codejail.safe_exec.safe_exec("import os\nos.system('ls /etc')", {})
I get no output (no matter what code I try to execute).
If I execute in the safe_exec function the following: print(res.stdout, res.status, res.stderr), I get this result:
('{}', 0, '')
Thanks in advance

I do get output when there is an error in the code.

On successful execution, the stdout of the jailed code is not provided to you.  Your os.system call will write to stdout, but it is discarded.  Your code needs to update globals in the global dictionary to return information.
What code are you actually trying to run?  "ls /etc/" won't be very useful :)

No specific code actually. I was just trying to get it to work. Even print statements do not produce output and also according to the README the following codejail.safe_exec.safe_exec("import os\nos.system('ls /etc')", {})
should also raise an exception but it doesn't.
The code seems to run because I tried an infinite loop and I got an exception(as it should be according to the cpu time limits).

I'm not sure how else to say this: printed output is not returned to you.  Try this:
g = {}
codejail.safe_exec.safe_exec("a = 2+3", g)
print g

You will see that g has a key of 'a' with a value of 5.

Yes, I get {u'a': 5}.
I thought the program was supposed to return the output, sorry about that.
If you have a quick solution about how to get the stdout I will really appreciate it.
Thanks

Depending on what you need from stdout, you can either create a StringIO and assign it to sys.stdout, or you cannot get it.  What code are you trying to run in CodeJail?

I am trying to build a website where users can run their own code and get the result back. That's why I need the output and that's why I need it to run in a secure environment.

Here's an example of how to capture stdout so that you can return it as a string from CodeJail:
import codejail.safe_exec

g = {}
codejail.safe_exec.safe_exec(
"""\
from cStringIO import StringIO
import sys
sys.stdout = StringIO()

# ----- user code goes here -----
print "Hello, world!"

# ----- end user code

stdout = sys.stdout.getvalue()
""", g)
print g

Thanks a lot. I'm new to python and I don't know its library very well. Very kind of you for taking the time and showing me how its done.


The code search url is a 404 when I replace the domain and project name parts of it

Also why would I need a project for code search when the DevOps pages will search across projects and branches?

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

ID: f30852bb-81b9-de1c-a931-0c70dbf12b4f
Version Independent ID: 5b08b31d-4955-52fe-4a1a-97d2f8c4907d
Content: Search REST API for Azure DevOps Services - Azure DevOps Services REST API
Content Source: docs-ref-conceptual/5.1/search/index.md
Product: devops
Technology: devops-ref
GitHub Login: @wnjenkin
Microsoft Alias: elbatk

For anyone still using the old style urls for devops, you do not have to change the host portion of the URL like you would for all other DevOps REST API's. Thats why the 404 for me.
Docs team should probably point out this exception somehow.


Add WebJars for Bootstrap CSS and JQuery

Not required anymore. Fixed in commit https://github.com/dotslash21/pet-clinic/commit/87d52f7e8b2f1f03b32cfb73c6799ada90002b73.


Questions about the experiment

hi, i've got 2 questions

in the few-shot transfer learning experiment on LVIS, the 100%-data's performance is not better than the 10%-data's for MDETR over all metrics, why is that ? ( i only found the small object detection drop being mentioned)

for referring image segmentation task, have you tested on the UNC/UNC+/G-ref/ReferIt, these're frequently mentioned tasks for the referring image segmentation.  They're based on MS COCO, but i noticed that you excluded the val/test set of COCO in the pretraining

thanks

Hello,

It was supposed to be an explanation for "rare" classes. That was a typo. But the reason is what we mentioned, that the class imbalance is much more amplified in the 100%. As you can see the AP frequent is better than DETR while AP rare is worse which supports our understanding that it is the class imbalance that's causing this. Further it might also be that our model is undertrained (we ran around 3 epochs on full) as opposed to the 10% model and plan to look into this in future.
We did not run segmentation on these datasets, but based on the phrasecut results, we believe the scores would be similar to what we have reported on these datasets within a few points difference. If you are interested in trying it out, the approach would be identical to the instructions we have posted for phrasecut. Note: the train/val/test splits of referring expressions all come from COCO train, and we exclude these images from our pre-training dataset.


Pretty Print XML Response

We should pretty print XML response in the Response pane. We can detect the mime type of the content in the response headers.

Please do. Without this capability Bruno is pretty much useless for anyone using XML / SOAP messaging, and I'd LOVE to replace Postman with this!

@GarryGibson This has been fixed and is now available in the latest version of Bruno!


Player Inventory

Players need to have a collection of weapons they can pick from at the start of each turn - this should also keep track of what weapons have been used / weapon ammo counts. Allow adding of weapons into this collection at runtime for things like weapon crates.
Related #28

While this is being worked on we should lay the groundwork for customizable loadouts (allow players to choose what items to start with and how many) which could be something in GameConfig.


[SPARK-41257][INFRA] Upgrade actions/labeler to v4

What changes were proposed in this pull request?
Upgrade actions/labeler to v4
Why are the changes needed?
Since https://github.com/actions/labeler/releases/tag/v4.0.0 use node 16 to cleanup warning: Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/labeler@5f867a63be70efff62b767459b009290364495eb like https://github.com/apache/spark/actions/runs/3540940080
Does this PR introduce any user-facing change?
No, dev only
How was this patch tested?
Test in my local repo based on this patch:
https://github.com/Yikun/spark/pull/188
https://github.com/Yikun/spark/pull/189

cc @HyukjinKwon


fixed and finish sponsor block

📑 Description

New default representation of HTTPerrors
Here is one example.
sponsorblock.errors.NotFoundException:
Not Found: 404 Not Found - Not Found
https://sponsor.ajay.app/api/skipSegments/?category=sponsor&category=selfpromo&category=interaction&category=intro&category=outro&category=preview&category=music_offtopic&category=poi_highlight&category=filler&service=YouTube&videoID=SULFl39UjgY https://sponsor.ajay.app/api/skipSegments/?category=sponsor&category=selfpromo&category=interaction&category=intro&category=outro&category=preview&category=music_offtopic&category=poi_highlight&category=filler&service=YouTube&videoID=SULFl39UjgY
user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Connection: keep-alive
Referer: https://sponsor.ajay.app
Content-Type: application/json
b'Not Found'

Removed some code redundancy
I removed some duplicated code, that raises exceptions based on the status code of requests, and put it in a function.

✅ Checks

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

ℹ Additional Information

The code the function replaced was not always the same. Some status codes would at some points in the program throw UnexpectedException, and not a specific exception. Now ofc there is an argument to be made for this, but the code stays way simpler if you just always throw the specific exceptions, and in my opinion the change in functionality is negledable.
Thank you soooooo much for making it so easy to use this api. <33333

Thank you!

Thank you!

I hope you don't mind me asking, but why haven't you merged it yet?
:3

Merged and upload to PyPI as version 0.2.3
https://pypi.org/project/sponsorblock.py/0.2.3/


General Design Questions Regarding Apollo

Thank You For All The Hard Work
I've noticed some design choices which I'd like to ask about, or rather discuss. I'm by no means saying that the design choices made are bad :+1:
Question 1:
I've noticed that the ApolloCall.Callback is a class object which exposes some useful methods which are not mandatory, I was wondering whether the Callback must really be a class or an interface. Would it not be better to have an interface for the abstract methods to handle response and failure to avoid clients having a long inheritance ladder?
Question 2:
Response classes types are generated automatically which is fine although modifying these classes to add support for parcels won't be possible unless if we extend the classes or duplicated the response data into a new class and implement the Parcelable interface.
Question 3:
Would it be possible to set primitive types rather than wrapper classes for generated classes with the gradle plugin?
Thank you in advance!

Hi, good questions:
Q1: The real thing behind making callback to be abstract class rather than interface is this function:
public void onHttpError(@Nonnull ApolloHttpException e) {
      onFailure(e);
      okhttp3.Response response = e.rawResponse();
      if (response != null) {
        response.close();
      }
    }

Default implementation of this will ensure that okHttp response is closed. User can override potentially this function to parse error that been sent in error response body (that what many folks requested, and that's why callback became an abstract class not interface).
Q2: first of all Apollo can be used for regular Java projects and we didn't want to make runtime, code generation android specific. Second we intentionally don't suggest to pass graphql response as parcelable object between Activities, Fragments as the responses could potentially be a large and causing too large transaction exception on Android. We suggest of using view models instead, that designed just for UI interaction.
Q3: do you mean for custom GraphQL scalar type mappings?

Thank you for the early response! sav007
Q1: I must've missed that somehow, thank you for clarifying that :+1:
Q2: I see, I am already using a view model to fetch one or more responses from a GraphQL server, which migrated from REST, so previously I had some classes which only contained small value type meta data objects which I passed around activities and fragments and sometimes persisted these into a database :) I just wasn't sure if the generated classes where designed to be consumed as is or not
Q3: I somehow assumed that the Data objects of the GraphQL responses came were all wrapped even if they were non-null, sorry for that
Out of curiosity though, does the class generator have an issue with fragments with the same name in different .graphql files? e.g. I have some pagination fields which I just named pageInfoFragment in more than one .graphql file?
Thanks again! Love the library :star2:


Chat bubbles not spanning container width, spanning message width instead

I've included JSQMessagesViewController as a container in another view. I haven't touched the logic around bubble rendering, but the chat bubbles I'm seeing don't span the width of the container. They span the width of the text they contain. From the examples I've seen of this awesome pod, that doesn't seem to be the default behavior. I've attached a screenshot of what I'm seeing. Any ideas on what's going on? If there's some code you'd like to see let me know and I'll attach a gist

Yes exactly jessesquiries  please tell the best way to span the chat bubbles in text or media item. what we should do if we want to include the top/bottom label inside the chat bubble

@sahirc if you want the bubbles to span the width of the container, you could try the following in your JSQMessagesViewController subclass:
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
    JSQMessagesCollectionViewCell *cell = (JSQMessagesCollectionViewCell *)[super collectionView:collectionView cellForItemAtIndexPath:indexPath];
    JSQMessagesCollectionViewLayoutAttributes *customAttributes =  (JSQMessagesCollectionViewLayoutAttributes *)[self.collectionView layoutAttributesForItemAtIndexPath:indexPath];

   //Set your superview frame
   customAttributes.messageBubbleContainerViewWidth = self.view.frame.size.width;
   [cell applyLayoutAttributes:customAttributes];

}

@TheEngineerz  If you want to include the top/bottom label inside the chat bubble, I haven't tested it but this could work, in the cell xibs you could modify the size and constraints of: the bubble container, the bubble image view, and leave the text view as it is, (keep in mind that you should always return the corresponding height in heightForMessageBubbleTopLabelAtIndexPath and heightForCellBottomLabelAtIndexPath).
Tell me if it worked for any of you

@gcarlo89 — No no no. You do not want to do this. Manipulating layout information and applying layout attributes in cellForItemAtIndexPath: is the wrong way to do this.
If you want to edit layout information, subclass JSQMessagesCollectionViewLayoutAttributes and JSQMessagesCollectionViewFlowLayout

/cc @sahirc @TheEngineerz

@jessesquires Thanks for the pointer, I will look into it (I'm kind of new to UICollectionViewLayoutAttributes in general)

This is more of an obj-c question at this point, but could someone please elaborate on what @jessesquires means by "subclass JSQMessagesCollectionViewLayoutAttributes and JSQMessagesCollectionViewFlowLayout" ?
I took at look at both these header files and didn't see anything that would let me adjust the bubble width. @jessesquires  could you point me to which attributes I would need to modify to widen the chat bubbles?

@sahirc what worked for me was the following: create a new file that subclasses JSQMessagesCollectionViewFlowLayout and override messageBubbleSizeForItemAtIndexPath example:
#import "CustomCollectionViewFlowLayout.h"
#import "BLMessage.h"

#import "JSQMessagesCollectionViewFlowLayout.h"

#import "JSQMessageData.h"

#import "JSQMessagesCollectionView.h"
#import "JSQMessagesCollectionViewCell.h"

#import "JSQMessagesCollectionViewLayoutAttributes.h"
#import "JSQMessagesCollectionViewFlowLayoutInvalidationContext.h"

#import "UIImage+JSQMessages.h"

@implementation CriptextCollectionViewFlowLayout
//if you are going to subclass JSQMessagesCollectionViewLayoutAttributes, you should return here your custom layout attributes class
+ (Class)layoutAttributesClass
{
    return [JSQMessagesCollectionViewLayoutAttributes class];
}

- (CGSize)messageBubbleSizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CGSize superSize = [super messageBubbleSizeForItemAtIndexPath:indexPath];

    BLMessage *messageItem = [self.collectionView.dataSource collectionView:self.collectionView messageDataForItemAtIndexPath:indexPath];

    //check if outgoing
    if ([messageItem.condition) {
        superSize = CGSizeMake(175, superSize.height);
    }

    return superSize;
}

@end

Important! In your JSQMessagesViewController.xib change the current flowlayout (JSQCollectionViewFlowLayout) with your subclass (CustomCollectionViewFlowLayout)

thanks @gcarlo89 - this is correct :+1:

That's really helpful, thanks! One question though, isn't the xib shipped as part of the Pod? If I change what's in the pod, do I run the risk of conflicts in the future when I run 'pod update'?

@jessesquires as you wrote
"If you want to edit layout information, subclass JSQMessagesCollectionViewLayoutAttributes and JSQMessagesCollectionViewFlowLayout"
ok right but please can you tell more about how should i put the top/bottom label inside message bubble both for TEXT and Media Messages. i want to do same like Whatsapp do

@sahirc You can change it programmatically in your JSQMessagesViewController subclass in your viewDidLoad with something like this
self.collectionView.collectionViewLayout = [[CustomCollectionViewFlowLayout alloc] init];

@TheEngineerz open up another issue with your topic, don't piggy back in this one, this is mainly for discoverability reasons for other people who may haver your same problem

Thanks gcarlo89. one last question, Let's say I wanted the chat incoming chat bubbles to originate from the left and the outgoing bubbles to originate from the right, with the avatar photos on the left and right as well, do you know which classes would need to be subclassed to achieve that? Right now, everythng is left aligned for me.
I'm going for something similar to the top-left photo in https://github.com/jessesquires/JSQMessagesViewController

@sahirc check the demo which has the behaviour that you want, set your self.senderId, self.senderDisplayName and avatar sizes in your viewDidLoad and check the method overrides for the CollectionView
Cheers

Hmm, I am running the demo project and I've been through all the overrides, still not seeing anything that would cause the avatar photos to appear on the right instead of the left. I am setting senderId and displayName, I've confirmed this since the chat bubbles do have different colors based on outgoing and incoming messages, but something is still causing the bubbles to be left-aligned as it were, and all the avatar images to appear on the left

Nevermind, figured it out. The issue wasn't with my use of JSQMessagesViewController, but with my implementation of JSQMessage. I wasn't setting the senderId in the Message object correctly. Once I switched over to using JSQMessage, the bubbles started aligning themselves correctly. Thanks for all the help!

Hey @gcarlo89, thanks for the help on that. I'm trying to add components to incoming messages only that will require increasing the height of the cell. I assume I just alter the incoming xib? I'm struggling to alter the height of the cell if my condition is met.

Hi, I subclassed JSQMessagesCollectionViewFlowLayout as suggested and the with changes only for text messages. media messages stays with the old with. How can I solve this? Thanks


Support for files stored with Git LFS

I'm experimenting with a large CSV file (> 100 MB) so I had to use LFS. Everything went well during the Post Fetch Data step but the flat viewer is not able to visualize files stored with Git LFS.
url: https://flatgithub.com/rmaceissoft/flat-vaccination-peru-example?filename=registro_vacunacion.csv
Is there something I'm missing here? Thanks in advance

I belatedly realized that the issue belonged to another repo.
Issue was created on the right repo (https://github.com/githubocto/flat-viewer/issues/15)

Hi @rmaceissoft! You're definitely not missing anything here. We haven't given much thought to handling LFS files, given their size and how we're currently fetching data from the GitHub API.
In the meantime, are you able to write a post-processing script that pulls out a subset of this data and writes it to a normal CSV such that it can be visualized?

Hi @mattrothenberg, thanks the feedback on this. I'll follow your recommendation in the meantime.


use types in order given

Prior to this change name-generator -t 'colours,trees' could generate both pancho-moosewood and moosewood-pancho. Now of the two only pancho-moosewood will be generated.

Thanks @Xianic !


"Test Code" field Long Text

I know this is a dupe of Issue 503 but I never heard back and since that issue is closed I thought more eyes would see it as a new issue here. It appears long text area fields are now supported in custom metadata types as of Summer 17: https://releasenotes.docs.salesforce.com/en-us/summer17/release-notes/rn_forcecom_development_custom_metadata_long_text_areas_ga.htm. Any chance we could get this updated in the next release?

Yep, its down as a priority enhancement for my next burst of time on the tool. https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/304


Add alluxio core client runtime shaded jar

Modify the Alluxio core client runtime module to publish alluxio core client runtime jar with dependencies when releasing Alluxio.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5839/
Test PASSed.

@apc999 @calvinjia @ZacBlanco  PTAL, thanks!

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5844/
Test FAILed.

Now the differences between new alluxio client jar and the original one is that:
(1) Nearly all components are relocated, even those un-relocated before
com/google, org/apache/yetus, org/codehaus,  org/checkerframework/
(2) logging classes are removed from the shaded uber jar
org/apache/log4j,  alluxio/core/client/runtime/org/apache/commons/logging/
some of the classes within org/slf4j
(3) Remove the auto-generated LICENSE, NOTICE files and copy the LICENSE/NOTICE file under Alluxio home directory.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5849/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5855/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5857/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5859/
Test PASSed.

@apc999 @apc999 PTAL, thanks!
The changes are tested successfully with presto integration by @ZacBlanco and me.

@LuQQiu Awesome! Have you verified if you can deploy this artifact through the maven deploy (and maven release) plugins? There are sometimes limitations on no src or no javadoc modules.

Question: in this way (re-using artifact alluxio-core-client-runtime), are we bound to create a new patch release? Or are we still able to over the existing artifact https://mvnrepository.com/artifact/org.alluxio/alluxio-core-client-runtime on 2.0.1 ?

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5867/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5877/
Test PASSed.

talked to @LuQQiu , on hold merging the PR for now

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5880/
Test PASSed.

@apc999 @calvinjia Tested with the changes, the last change is to avoid the following error:
 Error creating shaded jar: duplicate entry: META-INF/services/alluxio.shaded.client.com.fasterxml.core.ObjectCodec

[INFO] +- org.alluxio:alluxio-core-client-fs:jar:2.0.1:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.7:compile

[INFO] +- org.alluxio:alluxio-core-client-hdfs:jar:2.0.1:compile
[INFO] |  +- com.google.guava:guava:jar:27.0.1-jre:compile
[INFO] |  |  +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  |  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.17:compile
[INFO] |  +- org.alluxio:alluxio-core-base:jar:2.0.1:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-core:jar:2.9.7:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.7:compile

Removed jackson-core and jackson-annotations packages from alluxio-core-base since they are already the dependencies of jackson-databind

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5886/
Test PASSed.

@LuQQiu is this ready to merger?

Hold on, sorry that I find the previous error doesn't fixed completely

Ready to merge after the PR-BUILD finished

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5900/
Test PASSed.

alluxio-bot, merge this please.

alluxio-bot, cherry-pick this into meta-service please

alluxio-bot, cherry-pick this to branch-2.0 please

alluxio-bot, cherry-pick this to branch-1.8 please


stochastic_weight_avg=True incompatible with max_steps

🐛 Bug
If I try to use a Trainer with stochastic_weight_avg=True along with max_steps like in:
import pytorch_lightning as pl
import torch
from torch import nn

class BoringModel(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.linear = nn.Linear(1, 1)
        self.loss = nn.MSELoss()
    def configure_optimizers(self):
        return torch.optim.Adam(self.linear.parameters())
    def training_step(self, batch, batch_idx):
        X, y = batch
        return self.loss(self.linear.forward(X), y)
    def validation_step(self, batch, batch_idx):
        X, y = batch
        loss = self.loss(self.linear.forward(X), y)
        self.log("val_loss", loss)

data = [
    (torch.tensor([X]), 5 * torch.tensor([X]) + 1)
    for X in torch.linspace(0, 100, 24)
]
dataloader = torch.utils.data.DataLoader(dataset=data, batch_size=4)

trainer = pl.Trainer(max_steps=10000, stochastic_weight_avg=True)
trainer.fit(BoringModel(), dataloader)

I get a failure:
Traceback (most recent call last):
  File "lightning.py", line 27, in <module>
    trainer.fit(BoringModel(), dataloader)
  File "/home/alandu/miniconda3/envs/ctrldev/lib/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 458, in fit
    self._run(model)
  File "/home/alandu/miniconda3/envs/ctrldev/lib/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 750, in _run
    self.call_hook("on_fit_start")
  File "/home/alandu/miniconda3/envs/ctrldev/lib/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 1223, in call_hook
    trainer_hook(*args, **kwargs)
  File "/home/alandu/miniconda3/envs/ctrldev/lib/python3.6/site-packages/pytorch_lightning/trainer/callback_hook.py", line 70, in on_fit_start
    callback.on_fit_start(self, self.lightning_module)
  File "/home/alandu/miniconda3/envs/ctrldev/lib/python3.6/site-packages/pytorch_lightning/callbacks/stochastic_weight_avg.py", line 155, in on_fit_start
    self._swa_epoch_start = int(trainer.max_epochs * self._swa_epoch_start)
TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'

Environment
* CUDA:
	- GPU:
	- available:         False
	- version:           None
* Packages:
	- numpy:             1.19.5
	- pyTorch_debug:     False
	- pyTorch_version:   1.8.1
	- pytorch-lightning: 1.3.2
	- tqdm:              4.60.0
* System:
	- OS:                Linux
	- architecture:
		- 64bit
		- ELF
	- processor:         x86_64
	- python:            3.6.10
	- version:           #1 SMP Sat May 15 20:31:00 UTC 2021

@alanhdu thanks for raising this issue. The StochasticWeightAveraging callback internally instantiates the PyTorch Stochastic Weight Averaging (SWALR) learning rate scheduler which is based on the number of epochs in your training loop.
For now I'd suggest to setup your trainer defining the max_epochs. In the meantime, I opened a quick PR #8015 to raise a misconfiguration exception message when using the SWALR and no max_epochs specified.

@edgarriba -- sorry for the confusion, but was your fix merged or is this issue still open?


Install and configure via command line

Hello I'm creating an installation package in my institution and would need to install and configure pGina without user interactions.
For silent installation I'm using
pGinaSetup.exe / silent / norestart
is working right.
To try to load settings, I installed on a computer to make the settings via pGina.Configuration.exe and I used regedit.exe to export pgina.reg.
I imported the same computer and it worked, but when I reinstalled windows and tried to import it did not work.
To import regedit / s pgina.reg

Ok, my mistake, I was exporting and importing the entire node settings.
I just created a .reg with the items I'd like to change and it's working.