line 21 in local.ts prevent sending request with the user data in the body.

Hi, thanks for this lib, I'm trying to use for authentication but the line 21 in the local.ts file is preventing me from doing that my use case is to send a POST request to the back-end with the content-type of application/x-www-form-urlencoded and with the user data in the body, so I tried doing that by passing false instead of the user and the data in the second opts param, but the request was rejected because it was sent with false as params since the line 21 is:
opts.body = JSON.stringify(user) || opts.body;

so opts.body will be either the JSON.stringify(user) if the user is provided or JSON.stringify(false) which is not false it is the string "false" meaning the opts.body if it was passed it will never be used since JSON.stringify(false) is never false so to fix that:
opts.body = user ? JSON.stringify(user) : opts.body;

But, if I can give you a suggesting I would say make the whole function like this:
login(opts: any = {}, user: any = {}): Observable<Response> {
  let url: string;
  if (typeof opts === 'string') {
    url    = opts;
    opts = {};
  } else {
    url = opts.url ? opts.url : joinUrl(this.config.baseUrl, this.config.loginUrl);
  }
  opts.body = opts.body || JSON.stringify(user);
  opts.method = opts.method || 'POST';
  /*opts.headers = new Headers({
    'Content-Type': 'application/json'
  });*/
  return this.http.request(url, opts)
                  .map((response: Response) => {
                    this.shared.setToken(response);
                    return response;
                  });
}

this way you can call the login function in multiple cases without having to put false as the first parameter like this:
this.auth.login('/signin', user).subscribe((response) => this.goToMain(response));
// or
let options: RequestOptionsArgs = {
  method: 'POST',
  headers: headers,
  url: '/signin',
  body: user
};
this.auth.login(options).subscribe((response) => this.goToMain(response));
// or
let options: RequestOptionsArgs = {body: user};
this.auth.login(options).subscribe((response) => this.goToMain(response));
// or
let options: RequestOptionsArgs = {body: user, headers: headers};
this.auth.login('/signin', options).subscribe((response) => this.goToMain(response));

**Note:** keep in mind that all the options passed to the login function are optional since they have default values.
Sorry for a long issue, and thanks again.

Hi,
You're right, this line: opts.body = JSON.stringify(user) || opts.body; is meaningless...
Should be reversed.
Since I don't think introducing a breaking change is required here (that what will happen if I'll change the function signature) I think I'll fix it by writing this instead:
if (user) {
    opts.body = typeof user === 'string' ? user : JSON.stringify(user);
}

what do you say?

notice that you can already define default headers:
NG2_UI_AUTH_PROVIDERS({
    defaultHeaders: {'Content-Type': 'application/json'},
    loginUrl: '/signin',
    providers: {google: {clientId: GOOGLE_CLIENT_ID}}})

So you won't need to pass any options in your scenario.

OK, that make sense, I tried this and it worked except, I found a problem with the default headers, I get this error:

Argument of type '{ authToken: string; baseUrl:
string; loginUrl: string; tokenName: string; defaultHeaders: { 'Con...' is not assignable to parameter of type 'ICustomConfig'.
Types of property 'defaultHeaders' are incompatible.
Type '{ 'Content-Type': string; }' is not assignable to type '{ [name: string]: string; }'.
Index signature is missing in type '{ 'Content-Type': string; }'.

I found out that it's a bug with the current typescript compiler, so to get around that instead of doing this:
NG2_UI_AUTH_PROVIDERS({defaultHeaders: {'Content-Type': 'application/json'}...)

I had to do this:
const DEFAULT_POST_HEADER: {[name: string]: string} = {
  'Content-Type': 'application/x-www-form-urlencoded'
};
NG2_UI_AUTH_PROVIDERS({defaultHeaders: DEFAULT_POST_HEADER...)

Published as 3.0.2
Thanks for pointing out this issue!


FLUME-3154: Add HBase client version check to AsyncHBaseSink and HBas…

The current AsyncHBase and HBase sink should run only with HBase < 2
If it finds an incompatible HBase client on the classpath it should fail with some meaningful error message

@szaboferee : I've noticed that you have reviewed many open PRs. Having a binary or -1/0/+1 comments is great. If you could even provide a short summary why you think the patch is good or bad, that would be even better. If you could also provide a set of criteria based on which you have done the review, that would be the best. Even a single-line summary is helpful. (See https://github.com/apache/flume/blob/trunk/CONTRIBUTING.md#how-to-give-feedback for further information).
Please, let me know what you think.

@bessbd thanks for the suggestion. Next time I will provide that with the simpler code reviews as well.


No result when querying for the last record of a query

my environment running ArangoDB
I'm using the latest ArangoDB of the respective release series:

[ ] 2.8
[ ] 3.0
[x] 3.1
[x] 3.2
[ ] self-compiled devel branch

Mode:

[ ] Cluster
[x] Single-Server

Storage-Engine:

[x] mmfiles
[x] rocksdb

On this operating system:

[ ] DCOS on

[ ] AWS
[ ] Azure
[ ] own infrastructure

[x] Linux

[x] Debian .deb
[ ] Ubuntu .deb
[ ] SUSE   .rpm
[ ] RedHat .rpm
[ ] Fedora .rpm
[ ] Gentoo
[ ] docker - official docker library
[ ] other:

[ ] Windows, version:
[ ] MacOS, version:

this is an AQL-related issue:

[ ] I'm using graph features

I'm issuing AQL via:

[x] web interface with this browser: Chrome running on this OS: Debian 3.16.43-2 (2017-04-30) x86_64
[ ] arangosh
[ ] this Driver:

I've run db._explain("<my aql query>") and it didn't shed more light on this.
The AQL query in question is:
First I get the number of results using this query:
RETURN LENGTH (
  FOR package IN packages
    FOR depends IN (package.Depends || [])
      RETURN 1
)

This returns 187413. I am going to use this knowledge to build a pagination on these data. A user requests the last record. My query:
FOR package IN packages
  FOR depends IN (package.Depends || [])
    LIMIT 187412, 1
    RETURN depends

The query results in an empty array.
The issue can be reproduced using this dataset: Debian packages

The limit in your query acts on one document.
To access the last record you have to run something like this
FOR x IN (FOR package IN packages
  FOR depends IN (package.Depends || [])
    RETURN depends)

LIMIT 187412, 1
RETURN x

The result returned by AQL is still wrong.
I have locally reproduced the problem and fixed it. Haven't found time to issue a PR for this yet.

@baslr: here's the problem demonstrated on a much simpler example:
FOR doc1 IN [[1],[2],[3]] FOR doc2 IN doc1 LIMIT 0,3 RETURN doc2
[
  1,
  2,
  3
]

FOR doc1 IN [[1],[2],[3]] FOR doc2 IN doc1 LIMIT 1,3 RETURN doc2
[
  2,
  3
]

FOR doc1 IN [[1],[2],[3]] FOR doc2 IN doc1 LIMIT 2,3 RETURN doc2
[ ]

Fixed in 3.2.1

Fixed in 3.1.27 as well.

3.2.1 has been released and is available for download.


Bootstrap v4.0.0

Hey,
Have you thought about supporting the new Bootstrap v4.0.0?

Hi again,
I found another issue in Bootstrap v4.0.0, the text-div jumps down when the text gets too long, but I want it to follow 'overflow-x: auto' like it does inside the text-div.
Look at this screenshot:

Ok, I will fix it right now.

Done, please upgrade to version 2.0.3. Thanks.

Hi, sorry to bug you again,
I wonder if before this update, wasn't the user able to click on the label to check the checkbox? That is not working at the moment anyway. Can you fix it?


[tooltip update suggestion]

Please include an option to edit the tooltip, also, if an event ends the same day another starts, it overlaps with each other, instead of showing a different line

Hi, since it was requested a lot we have it on our list to implement it in near future :D Stay tuned!


It did not work when I bound mount a local filesystem to container on Linux

Environment
Distributor ID: Debian
Description:    Debian GNU/Linux bullseye/sid
Release:        testing
Codename:       bullseye
local filesystem info
File: data/
Size: 166             Blocks: 0          IO Block: 4096   directory
Device: 3dh/61d Inode: 40657089    Links: 1
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-10-27 21:00:34.383395930 +0800
Modify: 2020-10-27 20:58:55.955035295 +0800
Change: 2020-10-27 21:00:25.615364085 +0800
Birth: 2020-10-27 19:55:34.320386231 +0800
Dockerfile
FROM mongo:4.4.1-bionic

LABEL MAINTAINER="shanezhiu<EMAIL_ADDRESS>
ENTRYPOINT [ "mongod", "--config", "/etc/mongod.conf"]

docker-compose.yml
version: "3.8"

services:
    mongo:
        build: ./
        restart: "always"
        expose:
            - "27017"
            - "27016"
        environment:
            MONGO_INITDB_ROOT_USERNAME: test
            MONGO_INITDB_ROOT_PASSWORD: test
        volumes:
            - "./conf/mongod.conf:/etc/mongod.conf"
            - "./data:/var/lib/mongodb"
            - "./log:/var/log/mongodb"

        networks:
            mongo_service:
                ipv4_address: <IP_ADDRESS>
                ipv6_address: 2001:3984:3989::1

networks:
    mongo_service:
        driver: bridge
        ipam:
            config:
                - subnet: "<IP_ADDRESS>/16"
                - subnet: "2001:3984:3989::/64"

mongod.conf
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: <IP_ADDRESS>

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
  fork: true

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

error-log
 {"t":{"$date":"2020-10-27T13:00:37.594+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803637:594335][7:0x7f382c6b4a80], connection: __wt_cache_destroy, 369: cache server: exiting with 2 pages in memory and 0 pages evicted"}}
question
By searching this error-log from goole, I know that binding mout method may fail on Windows or Mac.
But there is not any explains about how and why does it occurs on Linux.
reference
https://github.com/strapi/strapi-docker/issues/80

Can you post the full log output, the error shown exited with 0 but I don't know what events caused that. If it were corrupted data it would say something like metadata corruption in the output
Are you encountering this on an uninitialized empty ./data volume or a pre-populated one?
If you remove the ./data mount does it work fine?

You should definitely remove fork: true from your config file, otherwise the container will have no foreground process to track and just exit.
Did you create ./data beforehand with permissions such that the mongodb user of the container would be able to access it?  If not, then docker will create both the path inside and outside the container as root owned and mongod will be unable to do anything with it.

Can you post the full log output, the error shown exited with 0 but I don't know what events caused that. If it were corrupted data it would say something like metadata corruption in the output
Are you encountering this on an uninitialized empty ./data volume or a pre-populated one?
If you remove the ./data mount does it work fine?

{"buildInfo":{"version":"4.4.1","gitVersion":"ad91a93a5a31e175f5cbf8c69561e788bbc55ce1","openSSLVersion":"OpenSSL 1.1.1  11 Sep 2018","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu1804","distarch":"x86_64","target_arch":"x86_64"}}}}
{"t":{"$date":"2020-10-27T13:00:00.312+00:00"},"s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"18.04"}}}
{"t":{"$date":"2020-10-27T13:00:00.312+00:00"},"s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"config":"/etc/mongod.conf","net":{"bindIp":"<IP_ADDRESS>","port":27017},"processManagement":{"fork":true,"timeZoneInfo":"/usr/share/zoneinfo"},"storage":{"dbPath":"/var/lib/mongodb","journal":{"enabled":true}},"systemLog":{"destination":"file","logAppend":true,"path":"/var/log/mongodb/mongod.log"}}}}
{"t":{"$date":"2020-10-27T13:00:00.313+00:00"},"s":"I",  "c":"STORAGE",  "id":22315,   "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=7435M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],"}}
{"t":{"$date":"2020-10-27T13:00:02.753+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803602:753046][8:0x7f2a8fff6a80], txn-recover: __hs_exists, 627: WiredTigerHS.wt file is corrupted or missing: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:02.753+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803602:753151][8:0x7f2a8fff6a80], txn-recover: __wt_txn_recover, 893: Recovery failed: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:02.786+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803602:786428][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 369: cache server: exiting with 2 pages in memory and 0 pages evicted"}}
{"t":{"$date":"2020-10-27T13:00:02.786+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803602:786530][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 377: cache server: exiting with 69431 bytes in memory"}}
{"t":{"$date":"2020-10-27T13:00:02.786+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803602:786555][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 383: cache server: exiting with 69270 bytes dirty and 1 pages dirty"}}
{"t":{"$date":"2020-10-27T13:00:04.231+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803604:231022][8:0x7f2a8fff6a80], txn-recover: __hs_exists, 627: WiredTigerHS.wt file is corrupted or missing: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:04.231+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803604:231443][8:0x7f2a8fff6a80], txn-recover: __wt_txn_recover, 893: Recovery failed: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:04.322+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803604:322323][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 369: cache server: exiting with 2 pages in memory and 0 pages evicted"}}
{"t":{"$date":"2020-10-27T13:00:04.322+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803604:322403][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 377: cache server: exiting with 69431 bytes in memory"}}
{"t":{"$date":"2020-10-27T13:00:04.322+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803604:322430][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 383: cache server: exiting with 69270 bytes dirty and 1 pages dirty"}}
{"t":{"$date":"2020-10-27T13:00:06.002+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803606:2180][8:0x7f2a8fff6a80], txn-recover: __hs_exists, 627: WiredTigerHS.wt file is corrupted or missing: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:06.002+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803606:2266][8:0x7f2a8fff6a80], txn-recover: __wt_txn_recover, 893: Recovery failed: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:06.011+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803606:11631][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 369: cache server: exiting with 2 pages in memory and 0 pages evicted"}}
{"t":{"$date":"2020-10-27T13:00:06.011+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803606:11700][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 377: cache server: exiting with 69431 bytes in memory"}}
{"t":{"$date":"2020-10-27T13:00:06.011+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803606:11722][8:0x7f2a8fff6a80], connection: __wt_cache_destroy, 383: cache server: exiting with 69270 bytes dirty and 1 pages dirty"}}
{"t":{"$date":"2020-10-27T13:00:06.013+00:00"},"s":"W",  "c":"STORAGE",  "id":22347,   "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."}
{"t":{"$date":"2020-10-27T13:00:06.013+00:00"},"s":"F",  "c":"-",        "id":23089,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28559,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp","line":64}}
{"t":{"$date":"2020-10-27T13:00:06.013+00:00"},"s":"F",  "c":"-",        "id":23090,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}
{"t":{"$date":"2020-10-27T13:00:06.013+00:00"},"s":"F",  "c":"CONTROL",  "id":4757800, "ctx":"initandlisten","msg":"Writing fatal message","attr":{"message":"Got signal: 6 (Aborted).\n"}}
{"t":{"$date":"2020-10-27T13:00:06.073+00:00"},"s":"I",  "c":"CONTROL",  "id":31431,   "ctx":"initandlisten","msg":"BACKTRACE: {bt}","attr":{"bt":{"backtrace":[{"a":"55D4F9CD89F1","b":"55D4F7010000","o":"2CC89F1","s":"_ZN5mongo18stack_trace_detail12_GLOBAL__N_119printStackTraceImplERKNS1_7OptionsEPNS_14StackTraceSinkE.constprop.606","s+":"1E1"},{"a":"55D4F9CDA029","b":"55D4F7010000","o":"2CCA029","s":"_ZN5mongo15printStackTraceEv","s+":"29"},{"a":"55D4F9CD7886","b":"55D4F7010000","o":"2CC7886","s":"_ZN5mongo12_GLOBAL__N_116abruptQuitActionEiP9siginfo_tPv","s+":"66"},{"a":"7F2A8E4028A0","b":"7F2A8E3F0000","o":"128A0","s":"funlockfile","s+":"50"},{"a":"7F2A8E03DF47","b":"7F2A8DFFF000","o":"3EF47","s":"gsignal","s+":"C7"},{"a":"7F2A8E03F8B1","b":"7F2A8DFFF000","o":"408B1","s":"abort","s+":"141"},{"a":"55D4F7F18BDA","b":"55D4F7010000","o":"F08BDA","s":"_ZN5mongo25fassertFailedWithLocationEiPKcj","s+":"12B"},{"a":"55D4F7C0694C","b":"55D4F7010000","o":"BF694C","s":"_ZN5mongo17wtRCToStatus_slowEiPKc.cold.1021","s+":"16"},{"a":"55D4F8016420","b":"55D4F7010000","o":"1006420","s":"_ZN5mongo18WiredTigerKVEngine15_openWiredTigerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_","s+":"630"},{"a":"55D4F801DA8A","b":"55D4F7010000","o":"100DA8A","s":"_ZN5mongo18WiredTigerKVEngineC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_PNS_11ClockSourceES8_mmbbbb","s+":"12DA"},{"a":"55D4F7FFB9B0","b":"55D4F7010000","o":"FEB9B0","s":"_ZNK5mongo12_GLOBAL__N_117WiredTigerFactory6createERKNS_19StorageGlobalParamsEPKNS_21StorageEngineLockFileE","s+":"120"},{"a":"55D4F88C183E","b":"55D4F7010000","o":"18B183E","s":"_ZN5mongo23initializeStorageEngineEPNS_14ServiceContextENS_22StorageEngineInitFlagsE","s+":"4AE"},{"a":"55D4F7FB61E7","b":"55D4F7010000","o":"FA61E7","s":"_ZN5mongo12_GLOBAL__N_114_initAndListenEPNS_14ServiceContextEi.isra.1569","s+":"3F7"},{"a":"55D4F7FBA280","b":"55D4F7010000","o":"FAA280","s":"_ZN5mongo12_GLOBAL__N_111mongoDbMainEiPPcS2_","s+":"650"},{"a":"55D4F7F28B99","b":"55D4F7010000","o":"F18B99","s":"main","s+":"9"},{"a":"7F2A8E020B97","b":"7F2A8DFFF000","o":"21B97","s":"__libc_start_main","s+":"E7"},{"a":"55D4F7FB569A","b":"55D4F7010000","o":"FA569A","s":"_start","s+":"2A"}],"processInfo":{"mongodbVersion":"4.4.1","gitVersion":"ad91a93a5a31e175f5cbf8c69561e788bbc55ce1","compiledModules":[],"uname":{"sysname":"Linux","release":"5.9.0-1-amd64","version":"#1 SMP Debian 5.9.1-1 (2020-10-17)","machine":"x86_64"},"somap":[{"b":"55D4F7010000","elfType":3,"buildId":"832AC9AE6CC5692FB33A92460CF800BB1B8C176A"},{"b":"7F2A8E3F0000","path":"/lib/x86_64-linux-gnu/libpthread.so.0","elfType":3,"buildId":"BC3C06107774266C5F7DB3F1F380A3DA68AF90FA"},{"b":"7F2A8DFFF000","path":"/lib/x86_64-linux-gnu/libc.so.6","elfType":3,"buildId":"D3CF764B2F97AC3EFE366DDD07AD902FB6928FD7"}]}}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F9CD89F1","b":"55D4F7010000","o":"2CC89F1","s":"_ZN5mongo18stack_trace_detail12_GLOBAL__N_119printStackTraceImplERKNS1_7OptionsEPNS_14StackTraceSinkE.constprop.606","s+":"1E1"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F9CDA029","b":"55D4F7010000","o":"2CCA029","s":"_ZN5mongo15printStackTraceEv","s+":"29"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F9CD7886","b":"55D4F7010000","o":"2CC7886","s":"_ZN5mongo12_GLOBAL__N_116abruptQuitActionEiP9siginfo_tPv","s+":"66"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"7F2A8E4028A0","b":"7F2A8E3F0000","o":"128A0","s":"funlockfile","s+":"50"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"7F2A8E03DF47","b":"7F2A8DFFF000","o":"3EF47","s":"gsignal","s+":"C7"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"7F2A8E03F8B1","b":"7F2A8DFFF000","o":"408B1","s":"abort","s+":"141"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F7F18BDA","b":"55D4F7010000","o":"F08BDA","s":"_ZN5mongo25fassertFailedWithLocationEiPKcj","s+":"12B"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F7C0694C","b":"55D4F7010000","o":"BF694C","s":"_ZN5mongo17wtRCToStatus_slowEiPKc.cold.1021","s+":"16"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F8016420","b":"55D4F7010000","o":"1006420","s":"_ZN5mongo18WiredTigerKVEngine15_openWiredTigerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_","s+":"630"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F801DA8A","b":"55D4F7010000","o":"100DA8A","s":"_ZN5mongo18WiredTigerKVEngineC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_PNS_11ClockSourceES8_mmbbbb","s+":"12DA"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F7FFB9B0","b":"55D4F7010000","o":"FEB9B0","s":"_ZNK5mongo12_GLOBAL__N_117WiredTigerFactory6createERKNS_19StorageGlobalParamsEPKNS_21StorageEngineLockFileE","s+":"120"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F88C183E","b":"55D4F7010000","o":"18B183E","s":"_ZN5mongo23initializeStorageEngineEPNS_14ServiceContextENS_22StorageEngineInitFlagsE","s+":"4AE"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F7FB61E7","b":"55D4F7010000","o":"FA61E7","s":"_ZN5mongo12_GLOBAL__N_114_initAndListenEPNS_14ServiceContextEi.isra.1569","s+":"3F7"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F7FBA280","b":"55D4F7010000","o":"FAA280","s":"_ZN5mongo12_GLOBAL__N_111mongoDbMainEiPPcS2_","s+":"650"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F7F28B99","b":"55D4F7010000","o":"F18B99","s":"main","s+":"9"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"7F2A8E020B97","b":"7F2A8DFFF000","o":"21B97","s":"__libc_start_main","s+":"E7"}}}
{"t":{"$date":"2020-10-27T13:00:06.074+00:00"},"s":"I",  "c":"CONTROL",  "id":31427,   "ctx":"initandlisten","msg":"  Frame: {frame}","attr":{"frame":{"a":"55D4F7FB569A","b":"55D4F7010000","o":"FA569A","s":"_start","s+":"2A"}}}

{"t":{"$date":"2020-10-27T13:00:33.769+00:00"},"s":"W",  "c":"CONTROL",  "id":20698,   "ctx":"main","msg":"***** SERVER RESTARTED *****","tags":["startupWarnings"]}
{"t":{"$date":"2020-10-27T13:00:33.771+00:00"},"s":"I",  "c":"CONTROL",  "id":23285,   "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2020-10-27T13:00:33.784+00:00"},"s":"W",  "c":"ASIO",     "id":22601,   "ctx":"main","msg":"No TransportLayer configured during NetworkInterface startup"}
{"t":{"$date":"2020-10-27T13:00:33.784+00:00"},"s":"I",  "c":"NETWORK",  "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
{"t":{"$date":"2020-10-27T13:00:33.785+00:00"},"s":"I",  "c":"STORAGE",  "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":7,"port":27017,"dbPath":"/var/lib/mongodb","architecture":"64-bit","host":"b3260c8e7656"}}
{"t":{"$date":"2020-10-27T13:00:33.785+00:00"},"s":"I",  "c":"CONTROL",  "id":23403,   "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"4.4.1","gitVersion":"ad91a93a5a31e175f5cbf8c69561e788bbc55ce1","openSSLVersion":"OpenSSL 1.1.1  11 Sep 2018","modules":[],"allocator":"tcmalloc","environment":{"distmod":"ubuntu1804","distarch":"x86_64","target_arch":"x86_64"}}}}
{"t":{"$date":"2020-10-27T13:00:33.785+00:00"},"s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Ubuntu","version":"18.04"}}}
{"t":{"$date":"2020-10-27T13:00:33.785+00:00"},"s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"config":"/etc/mongod.conf","net":{"bindIp":"<IP_ADDRESS>","port":27017},"processManagement":{"fork":true,"timeZoneInfo":"/usr/share/zoneinfo"},"storage":{"dbPath":"/var/lib/mongodb","journal":{"enabled":true}},"systemLog":{"destination":"file","logAppend":true,"path":"/var/log/mongodb/mongod.log"}}}}
{"t":{"$date":"2020-10-27T13:00:33.786+00:00"},"s":"I",  "c":"STORAGE",  "id":22315,   "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=7435M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],"}}
{"t":{"$date":"2020-10-27T13:00:35.822+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803635:822960][7:0x7f382c6b4a80], txn-recover: __hs_exists, 627: WiredTigerHS.wt file is corrupted or missing: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:35.823+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803635:823048][7:0x7f382c6b4a80], txn-recover: __wt_txn_recover, 893: Recovery failed: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:35.848+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803635:848012][7:0x7f382c6b4a80], connection: __wt_cache_destroy, 369: cache server: exiting with 2 pages in memory and 0 pages evicted"}}
{"t":{"$date":"2020-10-27T13:00:35.848+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803635:848107][7:0x7f382c6b4a80], connection: __wt_cache_destroy, 377: cache server: exiting with 69431 bytes in memory"}}
{"t":{"$date":"2020-10-27T13:00:35.848+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803635:848157][7:0x7f382c6b4a80], connection: __wt_cache_destroy, 383: cache server: exiting with 69270 bytes dirty and 1 pages dirty"}}
{"t":{"$date":"2020-10-27T13:00:37.396+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803637:396171][7:0x7f382c6b4a80], txn-recover: __hs_exists, 627: WiredTigerHS.wt file is corrupted or missing: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:37.396+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":-31809,"message":"[1603803637:396307][7:0x7f382c6b4a80], txn-recover: __wt_txn_recover, 893: Recovery failed: WT_TRY_SALVAGE: database corruption detected"}}
{"t":{"$date":"2020-10-27T13:00:37.594+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803637:594335][7:0x7f382c6b4a80], connection: __wt_cache_destroy, 369: cache server: exiting with 2 pages in memory and 0 pages evicted"}}
{"t":{"$date":"2020-10-27T13:00:37.594+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803637:594430][7:0x7f382c6b4a80], connection: __wt_cache_destroy, 377: cache server: exiting with 69431 bytes in memory"}}
{"t":{"$date":"2020-10-27T13:00:37.594+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":0,"message":"[1603803637:594452][7:0x7f382c6b4a80], connection: __wt_cache_destroy, 383: cache server: exiting with 69270 bytes dirty and 1 pages dirty"}}

You should definitely remove fork: true from your config file, otherwise the container will have no foreground process to track and just exit.
Did you create ./data beforehand with permissions such that the mongodb user of the container would be able to access it? If not, then docker will create both the path inside and outside the container as root owned and mongod will be unable to do anything with it.

Thanks for you! I checked agian, and I overlooked the problem of permissions of the data directory.
my solution is:

create user in my host:

groupadd -gid 1010 mongo

useradd -g mongo -u 1010 -M -s /bin/sbin/nologin mongo

add user in Dockerfile

FROM mongo:4.4.1-bionic

LABEL MAINTAINER="shanezhiu<EMAIL_ADDRESS>
USER 1010:1010

ENTRYPOINT [ "mongod", "--config", "/etc/mongod.conf"]

And then it works for me.
Thanks agian for you patience.


Faster SHA-1 with elm/bytes support

Hi,
I published a new version of TSFoster/elm-sha1 today, which provides a much faster implementation and elm/bytes support (both thanks to @folkertdev).
I was going to open a PR updating your dependency, but then I realised that the support for elm/bytes has broader (positive) implications about how it is used in your package, so it would be a bit more than just updating elm.json.
Basically, before I do the work, would you be open to receive such a pull request?

Hello,
Yes, I've followed that PR of folkertdev, is very good. And yes, the PR would be nice, I was going to do it soon.
Btw I never ask if I can open PR's I just open them jajaja, thanks for asking!!

Ah well I was going to just open one, but when I realised there was more to it, I thought I’d check you weren’t already planning or working on something locally!


Reset password

Hey bro!
here my first pull request ever...I have mostly added new code for Tyrant::ResetPassword.
The only changes that I have done on your code are in:

lib/tyrant/railtie.rb where you have an error in case record is something like ["model" => "something", "id" => "something"] (pull request https://github.com/apotonick/tyrant/pull/13)
lib/tyrant/sign_up.rb in order to have the test running

I must confess that @fran-worley has helped me a lot!
good onion mate
Cheers

Bro obviously Tyrant::ResetPassword can be used also as to cover the Forgot Password feature

Forget it!


Wrong version on NPM

NPM currently shows 1.5.0 as the newest version. I think that happened when you published a new release yesterday
https://github.com/mailersend/mailersend-nodejs/releases/tag/v1.5.0

@yannxaver bumped to fix it. Thanks for the quick catch.


chore: move format_panic_data to starknet-api

This change is

This is not nessiary if I go with:
https://reviewable.io/reviews/starkware-libs/sequencer/1358
but I think we do want it here in the long term, wdyt?


useSWR('key', fetcher) calls fetcher non-deterministically even when key is in the fallback

Bug report
Description / Observed Behavior
<SWRConfig value={{ fallback: { a: 'b'} }}>

Combined with an inner component of
const { data } = `useSWR('a', () => { console.log('I should never be called'); });

Causes I should never be called to be logged. Note this is non-deterministic, the first few times this is called, it returns the fallback data. A requestAnimationFrame kicks off later which checks for the fallback data, and fails to find it, calling the fetcher.
Expected Behavior
Fallback data should never be re-fetched unless mutated.
Repro Steps / Code Example
This is a debugger screenshot from my app.

useSWR is doing something incredibly tricky with destructuring, at a glance I don't understand the logic. What I want to point out in the screenshot is that PRELOAD is destructured to an empty object, while you can clearly see in the console that SWRGlobalState has the fallback data there ({ key: {'shader' => {...}, 'assets' => {...} }). This is the data in my app provided to <SWRConfig value={{ fallback: ... }}> in server side props. In this screenshot, key is 'assets', which is defined in the fallback data.
So useSWR() has the data properly in its cache, but it appears to discard it. It then calls the fetcher function.
Additional Context
"swr": "^2.2.5",

I'm doing SSR with Next.js to improve page load speeds. useSWR triggering a client fetch is defeating the purpose of this.

Having the same issue, would appreciate some input on this.


[release-1.2] Sync values.yaml.tmpl with Crossplane v1.2.1

Description of your changes

Updates values.yaml.tmpl to be consistent with Crossplane v1.2.1, which
is currently specified as the CROSSPLANE_TAG.
Signed-off-by: hasheddan<EMAIL_ADDRESS>(cherry picked from commit 36bcd35b3f6683af04ad4354b0faf38abb59005d)
I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

Backport of #114

Are you planning to make a release? Wonder if we should backport everything in master to release-1.2 that is non-breaking when we want to do a new release of UXP before the next minor version release of Crossplane.

Yeah I'm trying to figure out what's the best way forward with less friction. Because we don't have a patch release concept in this repo, i.e. no 1.2.1-up.1.1, it feels like all non-breaking changes could just go to release-1.2 as well to be released in 1.2.1-up.2. If that's the case, then it's easier to merge all non-breaking changes into release-1.2 only once we decide to make a release from that branch instead of opening two PRs for every change. The breaking ones would wait for release-1.3. What do you think?

Because we don't have a patch release concept in this repo, i.e. no 1.2.1-up.1.1, it feels like all non-breaking changes could just go to release-1.2 as well to be released in 1.2.1-up.2.

Yeah this was one of the concerns I had with tracking Crossplane versions directly as it technically should force us to wait until a new minor release of Crossplane to add any UXP feature work (if we were adhering to semver). It sounds like we want to continue to add feature work before that happening, so I don't see another option with this versioning strategy than to continue backporting features.

If that's the case, then it's easier to merge all non-breaking changes into release-1.2 only once we decide to make a release from that branch instead of opening two PRs for every change.

I think this is an anti-pattern for a few reasons and would prefer that each PR be evaluated for backport:

Bulk backporting removes the responsibility and evaluation of whether each change should be backported from the original author at the time of committing, which is the best time to make that distinction.
Bulk backporting creates a blocker for releases. We can't just release whenever we want because we cannot be sure that we have all the proper functionality in the branch. Releasing would require first scanning the main branch to see what should be added, which could create significant delay and is error-prone.
Bulk backporting means that any automated testing that runs periodically (which we don't currently have set up, but should) has less opportunity to run against incremental changes. If we bulk backport changes then run e2e / integration testing against it we have created a potentially large diff from the last time the tests were run, making it difficult to troubleshoot and identify what change caused the error.

We should be able to run a release on active branches at any time with confidence that the content of the build is well-tested and functional.

@AaronME did we happen to rotate the Upbound API token in this repo?

@hasheddan I am guessing you're asking this for the failed e2e test.
You will need this fix: https://github.com/upbound/universal-crossplane/pull/100 since the token no longer being passed for forked PRs after the repo is made public.

@turkenh thanks! Will add 👍🏻

@AaronME did we happen to rotate the Upbound API token in this repo?

Not yet. I only did the CircleCI builds so far

It sounds like we want to continue to add feature work before that happening, so I don't see another option with this versioning strategy than to continue backporting features.

That is actually what I'm trying to figure out. For example, if we say that from 1.2.1-up.1 to 1.2.1-up.2, there will be no feature work but only bug fixes, then what PRs to backport are clear; the ones we see as critical enough to warrant a new release, just like Crossplane. But if we say that we'll pile changes in release-1.2 just to make sure they make it to the next release, then it's more like allowing non-breaking feature work to be introduced between 1.2.1-up.1 and 1.2.1-up.2 rather than just bug fixes.
If we choose former, then backporting isn't much work; it's done only for release-warranting bug fixes. But if it's the latter, then the only difference between master and the branch of the last release is breaking change commits, hence it'd be easier to merge all non-breaking commits in master to that release branch when we want to release the next up.2 version (or maybe set up a bot to open the backport PR and merge automatically after approval) rather than opening two PRs for each change.


Same configuration for 2 different posture names in solo_description/srdf

In the srdf file of the solo_desciption (https://github.com/Gepetto/example-robot-data/blob/master/solo_description/srdf/solo.srdf), both renamed postures "standing" and "straight_standing" correspond to the same configurations. Maybe one should be deleted ?

cc @cmastalli

It is not the same. Note that the value of the hip abduction/adduction joint are different.

Feel free to reopen it.
And we could create other default postures if it is needed

Okay, my bad, I didn't see. Thanks !


Marriage abroad/nicaragua same sex allowed content

Description
Content changes for same sex marriage in Nicaragua: some nationalities may be able to have same sex marriages.
Fact check
Preview link
GOV.UK
Expected changes
Affected outcomes:

https://www.gov.uk/marriage-abroad/y/nicaragua/uk/partner_local/same_sex
https://www.gov.uk/marriage-abroad/y/nicaragua/uk/partner_other/same_sex
https://www.gov.uk/marriage-abroad/y/nicaragua/ceremony_country/partner_local/same_sex
https://www.gov.uk/marriage-abroad/y/nicaragua/ceremony_country/partner_other/same_sex
https://www.gov.uk/marriage-abroad/y/nicaragua/third_country/partner_local/same_sex
https://www.gov.uk/marriage-abroad/y/nicaragua/third_country/partner_other/same_sex

Before

After

 Marriage abroad tool; change request; same sex marriage in Nicaragua - Content change request


In-memory engine: add metrics for memory usage

What is changed and how it works?

Issue Number: Ref #16141

What's Changed:
add metrics for memory usage

This PR:

introduce metrics for memory usage.
fixes the incorrect metrics of range cache hit.
add more logs

The effects:

Related changes

[ ] PR to update pingcap/docs/pingcap/docs-cn:
[ ] Need to cherry-pick to the release branch

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Release note

None

/bench

/merge


fix: Added decimal.Decimal to _types.py.

As stated, added decimal.Decimal to _types.py to support dbt.

Please also add unit tests

Decimal is a little weird/annoying in its inconsistency when converting numerical types vs strings, so I added two checks, one sending in a str, which returns a rather long string, and one sending in a numerical type—in this case a float—which returns a string with the same "significant digits" as the number that was input.


Loader is catching all kinds of unrelated errors

cc @pnstickne
Leaving this here as a reminder to myself, because I think this is going to cause lots of unrelated Github issues. But basically the new Loader is catching errors unrelated to the process of loading assets. For example if any error is thrown when adding an asset to the cache, or within the preload or (even worse) in the create function (if called directly after preload), then it's Loader that throws the error in the console. This has caught me out lots of times recently, so leaving this here as a reminder to stop it from happening.

This should .. not be. If the behavior differs radically from previous versions wrt where exceptions are thrown then this is an oversight on my part.
Have an example case to reproduce the issues? (All the catch statements funnel through to a handler.)

This should .. not be. If the behavior differs radically from previous versions wrt where exceptions are thrown then this is an oversight on my part.
Have an example case to reproduce the issues? All the catch statements funnel through to a handler and the only known promotion from an event callback I know of is fileComplete for a cached image..

Here's an example, I'll try and remove what I can from it but it should be clear:
    var game = new Phaser.Game(640, 480, Phaser.CANVAS, 'game');

    var PhaserGame = function () {

        this.wasp = null;

    };

    PhaserGame.prototype = {

        preload: function () {

            this.load.atlas('sprites', 'daggers.png', 'daggers.json');

        },

        create: function () {

            this.wasp = this.add.sprite(400, 100, 'sprites', 'wasp1');

            this.add.tween(this.wap).to( { y: 400 }, 2000, "Back.easeInOut", true, 0, 2000, true);

        }

    };

    game.state.add('Game', PhaserGame, true);

    </script>

Note that the actual error is the line this.add.tween(this.wap) where I put a typo into the sprite name. However this throws an error from the Loader - specifically:

Hmm, the error is caught in an async XHR event which emits the console warning. Instead of always displaying such a warning (as it is the case now) the warning can be removed or guarded with a debug flag. At the very least a better error message would be useful.
The error will still be reported through loader.onFileError (with or without the explicit console warning).
However this ought not to be related to anything in create.. I think the error shown might be coming from Phaser.AnimationParser.JSONData which is called from within cache.addTextureAtlas (which is called when the XHR request completes). But as to why/how this is triggered from the tween code, I don't currently know.

Oh, unless ..

Just to add - the error being thrown can be any JavaScript error. It doesn't have to be a Phaser level error, quite simply any error that would normally be dumped to the console is re-routed to the Loader instead. Don't let the fact that it's a tween in the code above lead you in a false direction.
Equally the fact the error is in 'textureatlas[sprites]' is just because that was the last file loaded. If you add say an audio file into the preload and it loads last, it will be thrown in there instead.

Have started work on this. Narrowing it down further I see that it does matter what file was loaded in the Preloader. Swap the above for a normal image and the error comes from Tween.js as it should. I reckon any loaded file that consists of two files (like a bitmap text, atlas, etc) is the root.

Phew that took a long time to track down! But I've fixed it.


License and organization ID not obtained

If you execute it with the contents described now, a problem will occur that the license and organization ID are not entered correctly. So, could you consider modifying the following?
▼Correction request details
Currently, it is the procedure to deploy "Package" after "Create JAMF policies". Problems arise with this order.
Therefore, consider distributing "Create JAMF policies" after distributing "Package". This step has already been verified. We kindly ask for your cooperation.

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

ID: 2f067243-d029-ec35-cb1d-cc271b00d0a1
Version Independent ID: 121d2480-5bbc-9a8e-68a6-17f708dc21d4
Content: JAMF-based deployment for Microsoft Defender ATP for Mac - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/mac-install-with-jamf.md
Product: w10
Technology: windows
GitHub Login: @Dansimp
Microsoft Alias: dansimp

I do not understand your problem. The Jamf Policy is what deploys the package, so your wording is confusing to me. The ideal steps would be to deploy the configuration profile for licensing, then the policy to deploy the package. The reverse order will cause the Defender app to be unregistered when installed, which is not ideal for the end user experience.

@kahoso - Thank you for submitting feedback.
From our understanding, the issue you raised has been answered by rustymyers so we will close this issue.
Thank you for your contribution to make the docs better! Much appreciated!


make epochs longer on testnet

cc @noahj
cross-reference #264

The testnet this refers to, the clients that this refers to, and the runtime this refers to have all long since been superceded.


fix(docs): bump m2r2 to 0.3.2 which adds mistune pinning

Contributor Comments
Our read the docs integration has been failing with the below error when it attempts to run /home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/bin/python -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html.  It is likely due to the version of m2r2 which we had installed, which did not pin the version of mistune that it was using.  As of m2r2 0.3.2, mistune is now pinned and the docs appear to be building successfully now.
Running Sphinx v4.3.1
loading translations [en]... done

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/lib/python3.7/site-packages/sphinx/cmd/build.py", line 279, in build_main
    args.tags, args.verbosity, args.jobs, args.keep_going)
  File "/home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/lib/python3.7/site-packages/sphinx/application.py", line 237, in __init__
    self.setup_extension(extension)
  File "/home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/lib/python3.7/site-packages/sphinx/application.py", line 394, in setup_extension
    self.registry.load_extension(self, extname)
  File "/home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/lib/python3.7/site-packages/sphinx/registry.py", line 429, in load_extension
    mod = import_module(extname)
  File "/home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/lib/python3.7/site-packages/m2r2.py", line 82, in <module>
    class RestBlockGrammar(mistune.BlockGrammar):
AttributeError: module 'mistune' has no attribute 'BlockGrammar'

Exception occurred:
  File "/home/docs/checkouts/readthedocs.org/user_builds/easy-infra/envs/latest/lib/python3.7/site-packages/m2r2.py", line 82, in <module>
    class RestBlockGrammar(mistune.BlockGrammar):
AttributeError: module 'mistune' has no attribute 'BlockGrammar'
The full traceback has been saved in /tmp/sphinx-err-donjkmqw.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!

Pull Request Checklist
Thank you for submitting a contribution to easy_infra!
In order to streamline the review of your contribution we ask that you review and comply with the below requirements:

[X] Rebase your branch against the latest commit of the target branch
[X] If you are adding a dependency, please explain how it was chosen
[X] If manual testing is needed in order to validate the changes, provide a testing plan and the expected results
[X] If there is an issue associated with your Pull Request, align your PR
title with this documentation

I spun up https://easy-infra.readthedocs.io/en/fix-docs/ which builds this branch to show that CI/CD is working again.  I will cleanup after merge


Initial support for custom theming/styling

This PR adds an initial implementation for theming/styling. In this implementation, the theme is defined in a JSON file located in priv/static/assets folder in the LiveView project. This file must be named android_style.json.
In this JSON file, it's possible to customize colors, typography (text style), and shapes. This file has the following structure:
{
    "colors": {
        "lightColors": {
        },
        "darkColors": {
        },
    },
    "typography": {
    },
    "shapes": {
    }

The color names are defined in Material Specification and must be declared using camelCase style (e.g.: primary, onPrimary, primaryContainer, etc). It's important to define at least the primary, secondary and tertiary colors. The color value is defined in AARRGGBB.
{
    "colors": {
        "lightColors": {
            "primary": "#FFB90063",
            "secondary": "#FF74565F",
            "tertiary": "#FF7C5635",
            ...

For typography, it's possible to customize several text params: font family, color, font size, font weight, font style (normal or italic), letter spacing, background color, text decoration (underline or line-through), text align, line height, line break (simple, paragraph and heading), hyphens (none or auto), text direction (RTL, LTR), font feature settings.
The name of each typography item is also following the Material Design convention (displayLarge, titleMedium, headlineSmall, etc.)
The font family is obtained by Downloadable Fonts API using Google Fonts provider.
{
    "typography": {
        "labelLarge": {
            "fontFamily": "Orbitron",
            "fontWeight": "W500",
            "fontSize": "24",
            "lineHeight": "30",
            "letterSpacing": "0.75"
        },
        ...

For shapes, it's currently supported 3 types: circle, rectangle,  and an integer value that represents the rounded corner of the shape.
{
    "shapes": {
        "small": "4",
        "medium": "rectangle",
        ...
    }

Finally, this PR also includes:

Migration from Material 2 to Material 3
Removed unnecessary resource files
Some properties that are common in components and theme were moved to the respective theme file.
Added a few unimplemented properties in several components.
Added customization for individual buttons (independent of the app theme)
Added clickable modifier for some components.

Just an FYI that we will probably want to change this format to align with what we're doing on SwiftUI at some point. Keeping this as JSON for now is OK.

@nelson-glauber I'd like to explore if/how to we can align with what we're doing in swiftui client. Can we wait on this merge or moving forward until we've vetted the swiftui modifier solution?

@nelson-glauber I'd like to explore if/how to we can align with what we're doing in swiftui client. Can we wait on this merge or moving forward until we've vetted the swiftui modifier solution?

Sure @bcardarella. I'm working with Sebastian on the merge/diff integration with Core. I'm using a branch created on top of this one.
Depending on the changes requested, I think I will just need to do a rebase. Otherwise, it would be better to merge this branch and open an issue to replace the JSON approach for the other one used by SwiftUI.

@nelson-glauber ok, if you are concerned about the branch going stale and merging later would be a huge lift then you can merge in but let's leave the door open that this code or part of this code can be walked back in the future once we've aligned on the interface for styling


Scrap mc_config.py

mc_config.py is deprecated and contains an abundance of bugs, we should figure out a way of taking out the bits we need and get rid of the rest.

Fixed by pull #266.


Using alt as mouse modifier cause apps to disappear

So, this is not a yabai problem but a macos "feature". Using alt as mouse modifier:
yabai -m config mouse_modifier alt

When dragging windows keeping alt pressed sometimes all other windows disappear, because it's a mac feature that if you do alt+click on desktop/app all other apps disappear. Is there a way to stop this macos "feature"?

I don't have anything constructive to add right now, but these are related: #2136, #1809

Related to #1877

Fixed on master.

Fixed in v7.0.0.

Writing there in order not to open another issue, but with v7 of yabai when you do "mouse_modifier" key + right click to resize there's "lag", I mean that it does not work properly as before.
See if you can reproduce, otherwise I'll open a new issue.

friggin Apple.. https://github.com/koekeishiya/yabai/issues/2160

You'll figure it out, you're doing amazing work and yabai is amazing!
Thank's for making it open-source.

Should be fixed in v7.0.1.. just annoying breakage since that part of the code had no changes


Identical data for different chains

The motivation for running several chains is to explore the posterior for the same data from different starting points. Therefore, I propose to remove the possibility to provide different data sets for different chains in stan.

Thank you for your help in improving CmdStan.jl. I've often wondered about this feature. I'll remove it before releasing CmdStan.jl v"5.1.0" together with your other suggestions and some documentation updates. I'm hoping #49 and #50 will be fixed on master tomorrow evening (MDT time).

It has been a while since I wrote this part of CmdStan.jl (at that point Stan.jl, is it already about 5 years ago???) and I think my reasoning was twofold:

If one would toss a coin 10 times and finds heads came up 3 times the order should not matter.
Additionally, this option maybe allows e.g. testing the sensitivity of the inference against variations in (generated) sequences of observations.

This is more 'thin ice' stuff (at least for me, I think I should run it by the Stan folks) but I'm certainly interested in views as you express above. I have had suggestions in the past to at least make a single data Dict the 'natural' way to define the data (and incorporated that).
Thanks for your help,
Rob

Sometimes it is better not to provide an option, if it can easily be used wrongly. At least I would make it the natural option, as you say. This could e.g. be achieved by allowing a single dictionary as data argument instead of an array of dictionaries. Once that is in place I’d also recommend to remove it from the demos for the same reason.
I’m happy to chip in, e.g. by removing the different data sets from the examples if that helps.

Accepting a single dictionary (#28) is supported. Based on your feedback I have also added a similar note in the updated Walkthrough documentation. Any help with going over the examples is very welcome! You can make a PR or I can give you member access to StanJulia.

When I try to sample from a model using identical data (a single dict, not an array), with different initial values (a vector of Dicts), I get this error:
ERROR: LoadError: MethodError: no method matching update_R_file(::String, ::Array{Dict{String,Any},1})
Closest candidates are:
  update_R_file(::String, ::Dict{String,T}) where T at /home/sdwaele/.julia/dev/CmdStan/src/utilities/create_r_files.jl:52
Stacktrace:
 [1] #stan#4(::Array{Dict{String,Any},1}, ::Bool, ::Bool, ::String, ::Bool, ::Bool, ::Function, ::Stanmodel, ::Dict{String,Any}, ::String) at /home/sdwaele/.julia/dev/CmdStan/src/main/stancode.jl:164

I suspect the problem might be caused by the fact that line 155 looks at the type of data, then does something different for init? Should it perhaps check the type of init instead?
      if typeof(data) <: Array

Definitely a bug. Both typeof() tests should check ‘init’, not ‘data’. I guess this is only tested in the BernoulliInitTheta example where data and init both were arrays of length 4. I’m not behind my laptop tight now but will fix it later today.
Initially I was confused about your question as for init what you’re defining is a range for initial values (e.g by specifying theta=0.3, the range is -0.3 to 0.3) so allowing an array of Dicts there is maybe not very useful.

Should be fixed on master. I've left this as a testcase in bernoulliinittheta2.jl for now. As this is not a good example I might move it to the test directory.

Thanks for the bug fix. That works!
A range for the parameter is set only when a numerical value is given as a value for init in the model command line arguments. When a file is provided in the (which is generated when init is a Dict), they are used as starting value for the chain. That is how an array of Dicts can be used in a meaningful way. With the knowledge that I have about my model I can draw better starting points than the default random starting points.
I'm happy to update the examples to use the same data as a starting point. Otherwise, this issue can be closed as far as I'm concerned. Thanks again!

Aaah, that was a subtlety I'd missed. Thanks for pointing it out.
If you're willing to update the examples, that would be great. I've seen them so often, tend to be blind to obvious way to improve them.
Your two threads/issues certainly have helped me on what I think of as CmdStan.jl v6 which I'm working on (currently named StanSample.jl). Still in very early stage, but hopefully later this year.
I'll close this issue for now. Thanks for your help!

Hi Stijn,
Just to be complete, Michael Betancourt wrote (on my query):
If an init file is provided then each parameter name is queried in that file and if found
then the value in the file is used to initialize that parameter. If the parameter name is
not found then the quoted random initialization procedure is used.

which confirms what you pointed out and explains the earlier part of that section of the cmdstan guide:
Initialization is only applied to parameters defined in the parameters block. Any initial values supplied for transformed parameters or generated quantities are ig- nored.

init= Initialization method:

• real number x > 0 initializes randomly between [-x, x]; • 0 initializes to 0;
• non-number interpreted as a data file

Validvalues: All (Defaults to 2)

Currently CmdStan has no way of specifying a different value for the default of 2 (presumably for all parameters). I could do that e.g. with an Init(init::Number) type constructor or per chain using an array.
I'll think about it, no one ever asked for it ...


ui: list unvaulting vaults and add revault action

based on #58
waiting cancel feature on revaultd

tested by the :smiling_imp: gang they didnt ACK but I am confident
ACK 8f03195d7d218339c0cef7ca108bf3528d694d45

Didn't review but ACK merging it if you are confident, we'll test tonight anyways.


Allow pyproject.toml to be located in root dir's parents

In our projects the root_dir is where django's manage.py lives, but pyproject.toml lives in root_dir.parent.

Hi @michael-k, thanks for the pull request.
Is your project structure like this?
~/my-django-project/
├── src
│   └── manage.py
└── pyproject.toml

Just understanding the case, so a specific test can be written later.

Yeah, but src is also named my-django-project.

Thanks again, I will release a new version in the coming days.

Hi @michael-k.
I'm adding a late test, but things don't seem to be working.
In which of the directories above do you keep your setup.cfg file?
a. together with pyproject.toml
or
b. together with manage.py?

We don't have a setup.cfg or setup.py file.

I can confirm that it did not work with my change, but works with yours. :)

Nice. :)
The test revealed the problem.
I assumed answer "a", setup.cfg in the same dir as pyproject.toml.
Is this a common Django project structure (manage.py inside a dir), or is it specific for your projects?
I tried to write in a generic way.

django-admin startproject mysite creates the following structure:
mysite/  # could also be renamed to src
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

I'm not sure if it's best practice to put pyproject.toml in same directory as manage.py or not.  I'm not aware of any other django project that uses a pyproject.toml (we only started using it when we introduced black and nitpick is second tool we use it for).

:tada: This PR is included in version 0.11.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

I'm not sure if it's best practice to put pyproject.toml in same directory as manage.py or not. I'm not aware of any other django project that uses a pyproject.toml (we only started using it when we introduced black and nitpick is second tool we use it for).

I'm also not sure about Django best practices.
I will leave the structure like this, and I can improve it later if someone uses it in a different way.


Io corrections

A few bug fixes in the IO for radiance calculations.
Also a small update to the libradtran config.

This should be ready to go now, apologies to anyone spammed with the GH Actions failures.  The assignment of the measurement to the fm.surface.rfl object inside of inverse is a bit ad-hoc, but it works for most situations, and certainly all that are currently implemented.

Thanks! looks good.
Help me understand why a radiance spectrum is being assigned to the reflectance field fm.surface.rfl - is this just being used as a placeholder?

A very reasonable question!
In the case where we're in simulation mode, the measurement is actually the reflectance, and this assignment will only occur in that case.  The 'measurement' is used to track reflectance in simulation mode simply to prevent having to carry around multiple different arrays that are updated on a per-row/column basis.  There are definitely better ways to do this down the line (e.g., and io object that gets passed around).

Gotcha, thanks.


Please keep controls in bottom area

New design is really eye pleasing, but please, buttons to bottom 👍
Expected behavior
Controls placed in bottom area.
Actual behavior
Email buttons like delete or back/forward are on top of screen, hardly reachable with one hand.
Environment
K-9 Mail version: 5.7
Android version: 8.1

It's unlikely that we'll switch back to a bottom bar. While it is helpful in portrait orientation it's not in landscape. 5.600 shows the bottom bar only in portrait mode and moves the action to the top in landscape mode. This was a popular source of confusion for users because they couldn't find the actions. We have no intention to go back to this.
We're trying to come up with a way to make actions more easily accessible without adding a bottom bar. But such a mechanism might not be ready for the next stable version.

I want it too. From a usability perspective it makes more sense having the most important controls close to your finger tips, I.e. at the bottom for smartphones


Added ProfileManager.cs and some cleanup. plus added few tests, the r…

…est of the tests will be added in Kudu private

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

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@safihamid, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

ping ping, I am not aware of any outstanding issues. I have added some basic unit tests and Matt was going to see what he could do to make these paths more unit testable when he gets a chance. In the meantime I am adding more E2E tests in Hosting platform.
There is currently a CRI that will be addressed by this pull request: Customer not able to get a profile if CPU is constantly at 100% on a small VM(One core).

I have no comments other than those I've already left in the PR. There is a bunch of code in this PR that doesn't have tests in the Kudu reop (e.g. idle timer stopping of profiling, threading/locking in ProfileManager, exit code processing/error handling, max # of profile logic, etc.). We really need to ensure we have unit test coverage for everything we check in, otherwise we can't maintain it / make fixes with confidence.

I'm still not entirely convinced that a custom ProfileResultInfo object that wraps an http status codes and response message is needed here. I think ProfileManager should be completely HTTP agnostic and shouldn't require a custom Result object, that's said I'll leave it for someone else to make the call.

Merged.


ruby2.3 rails 5.0,make error,why?

Building native extensions.  This could take a while...
ERROR:  Error installing nio4r:
ERROR: Failed to build gem native extension.
current directory: /usr/local/lib/ruby/gems/2.3.0/gems/nio4r-1.2.1/ext/nio4r

/usr/local/bin/ruby -r ./siteconf20160720-14029-ijtxf6.rb extconf.rb
checking for unistd.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_without_gvl()... no
checking for sys/select.h... yes
checking for poll.h... yes
checking for sys/epoll.h... no
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for port.h... no
checking for sys/resource.h... yes
creating Makefile
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/usr/local/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/nio4r-1.2.1/mkmf.log
current directory: /usr/local/lib/ruby/gems/2.3.0/gems/nio4r-1.2.1/ext/nio4r
make "DESTDIR=" clean
current directory: /usr/local/lib/ruby/gems/2.3.0/gems/nio4r-1.2.1/ext/nio4r
make "DESTDIR="
compiling monitor.c
compiling nio4r_ext.c
In file included from nio4r_ext.c:7:
./../libev/ev.c:487:48: warning: '/' within block comment [-Wcomment]
/#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 /
^
./../libev/ev.c:1067:26: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32]
return ecb_popcount32 (x) + ecb_popcount32 (x >> 32);
~~~~~~~~~~~~~~~~^~
./../libev/ev.c:929:49: note: expanded from macro 'ecb_popcount32'
#define ecb_popcount32(x) __builtin_popcount (x)
~~~~~~~~~~~~~~~~~~  ^
./../libev/ev.c:1273:13: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
if (e < (14 - 24)) / might not be sharp, but is good enough */
~ ^  ~~~~~~~
./../libev/ev.c:1829:31: warning: 'extern' variable has an initializer [-Wextern-initializer]
EV_API_DECL struct ev_loop ev_default_loop_ptr = 0; / needs to be initialised to make it a definition despite extern */
^
./../libev/ev.c:1916:7: warning: implicit conversion loses integer precision: 'long' to '__darwin_suseconds_t' (aka 'int') [-Wshorten-64-to-32]
EV_TV_SET (tv, delay);
^~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:492:64: note: expanded from macro 'EV_TV_SET'
#define EV_TV_SET(tv,t) do { tv.tv_sec = (long)t; tv.tv_usec = (long)((t - tv.tv_sec) * 1e6); } while (0)
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:1938:19: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (elem * ncur > MALLOC_ROUND - sizeof (void *) * 4)
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:2280:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
k = minpos - heap;
~ ~^~
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2688:
./../libev/ev_kqueue.c:115:34: warning: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int fd = kqueue_events [i].ident;
~~   ^
./../libev/ev_kqueue.c:119:39: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
int err = kqueue_events [i].data;
~~~   ^~
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2694:
./../libev/ev_poll.c:110:18: warning: expression result unused [-Wunused-value]
assert (("libev: poll() returned illegal result, broken BSD kernel?", p < polls + pollcnt));
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2697:
./../libev/ev_select.c:109:24: warning: implicit conversion loses integer precision: 'unsigned long' to 'fd_mask' (aka 'int') [-Wshorten-64-to-32]
fd_mask mask = 1UL << (fd % NFDBITS);
~~~~   ^~~~~~~~~~~~~
./../libev/ev_select.c:147:3: warning: implicit conversion loses integer precision: 'long' to '__darwin_suseconds_t' (aka 'int') [-Wshorten-64-to-32]
EV_TV_SET (tv, timeout);
^~~~~~~~~~~~~~~~~~~~~~~
./../libev/ev.c:492:64: note: expanded from macro 'EV_TV_SET'
#define EV_TV_SET(tv,t) do { tv.tv_sec = (long)t; tv.tv_usec = (long)((t - tv.tv_sec) * 1e6); } while (0)
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from nio4r_ext.c:7:
In file included from ./../libev/ev.c:2697:
./../libev/ev_select.c:259:34: warning: implicit conversion loses integer precision: 'unsigned long' to 'fd_mask' (aka 'int') [-Wshorten-64-to-32]
fd_mask mask = 1UL << bit;
~~~~   ^~
In file included from nio4r_ext.c:7:
./../libev/ev.c:3100:12: warning: expression result unused [-Wunused-value]
assert (("libev: watcher has invalid priority", ABSPRI (w) >= 0 && ABSPRI (w) < NUMPRI));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3103:14: warning: expression result unused [-Wunused-value]
assert (("libev: pending watcher not on pending queue", pendings [ABSPRI (w)][w->pending - 1].w == w));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3113:16: warning: expression result unused [-Wunused-value]
assert (("libev: active index mismatch in heap", ev_active (ANHE_w (heap [i])) == i));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3114:16: warning: expression result unused [-Wunused-value]
assert (("libev: heap condition violated", i == HEAP0 || ANHE_at (heap [HPARENT (i)]) <= ANHE_at (heap [i])));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3115:16: warning: expression result unused [-Wunused-value]
assert (("libev: heap at cache mismatch", ANHE_at (heap [i]) == ev_at (ANHE_w (heap [i]))));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3126:16: warning: expression result unused [-Wunused-value]
assert (("libev: active index mismatch", ev_active (ws [cnt]) == cnt + 1));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3144:14: warning: expression result unused [-Wunused-value]
assert (("libev: negative fd in fdchanges", fdchanges [i] >= 0));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3157:24: warning: expression result unused [-Wunused-value]
assert (("libev: io watcher list contains a loop", w != w2));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3161:20: warning: expression result unused [-Wunused-value]
assert (("libev: inactive fd watcher on anfd list", ev_active (w) == 1));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3162:20: warning: expression result unused [-Wunused-value]
assert (("libev: fd mismatch between watcher and anfd", ((ev_io *)w)->fd == i));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3344:24: warning: expression result unused [-Wunused-value]
assert (("libev: negative ev_timer repeat value found while processing timers", w->repeat > 0.));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3406:24: warning: expression result unused [-Wunused-value]
assert (("libev: ev_periodic reschedule callback returned time in the past", ev_at (w) >= ev_rt_now));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3568:12: warning: expression result unused [-Wunused-value]
assert (("libev: ev_loop recursion during release detected", loop_done != EVBREAK_RECURSE));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3752:22: warning: expression result unused [-Wunused-value]
assert (("libev: pipe_w not active, but pipe not written", ev_is_active (&pipe_w)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3926:12: warning: expression result unused [-Wunused-value]
assert (("libev: ev_io_start called with negative fd", fd >= 0));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3927:12: warning: expression result unused [-Wunused-value]
assert (("libev: ev_io_start called with illegal event mask", !(w->events & ~(EV__IOFDSET | EV_READ | EV_WRITE))));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3936:12: warning: expression result unused [-Wunused-value]
assert (("libev: ev_io_start called with corrupted watcher", ((WL)w)->next != (WL)w));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3951:12: warning: expression result unused [-Wunused-value]
assert (("libev: ev_io_stop called with illegal fd (must stay constant after start!)", w->fd >= 0 && w->fd < anfdmax));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3971:12: warning: expression result unused [-Wunused-value]
assert (("libev: ev_timer_start called with negative timer repeat value", w->repeat >= 0.));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:3999:14: warning: expression result unused [-Wunused-value]
assert (("libev: internal timer heap corruption", ANHE_w (timers [active]) == (WT)w));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:4061:16: warning: expression result unused [-Wunused-value]
assert (("libev: ev_periodic_start called with negative interval value", w->interval >= 0.));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:4093:14: warning: expression result unused [-Wunused-value]
assert (("libev: internal periodic heap corruption", ANHE_w (periodics [active]) == (WT)w));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:4130:12: warning: expression result unused [-Wunused-value]
assert (("libev: ev_signal_start called with illegal signal number", w->signum > 0 && w->signum < EV_NSIG));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:4133:12: warning: expression result unused [-Wunused-value]
assert (("libev: a signal must not be attached to two different loops",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:4251:12: warning: expression result unused [-Wunused-value]
assert (("libev: child watchers are only supported in the default loop", loop == ev_default_loop_ptr));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
In file included from nio4r_ext.c:7:
./../libev/ev.c:4830:14: warning: expression result unused [-Wunused-value]
assert (("libev: loop to be embedded is not embeddable", backend & ev_embeddable_backends ()));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(func, FILE, LINE, #e) : (void)0)
^
39 warnings generated.
compiling selector.c
selector.c:355:9: error: use of undeclared identifier 'TRAP_BEG'
TRAP_BEG;
^
selector.c:357:9: error: use of undeclared identifier 'TRAP_END'
TRAP_END;
^
selector.c:366:13: error: use of undeclared identifier 'TRAP_BEG'
TRAP_BEG;
^
selector.c:368:13: error: use of undeclared identifier 'TRAP_END'
TRAP_END;
^
4 errors generated.
make: *** [selector.o] Error 1
make failed, exit code 2

@tarcieri help me!

This is on OS X? How did you install Ruby?
Your Ruby is failing to define HAVE_RB_THREAD_BLOCKING_REGION, which has been available on Ruby since 1.9, and should definitely be defined on Ruby 2.3.0.
Something seems to be broken with your Ruby installation.

@tarcieri Thx!You are right!I used rbenv to install Ruby,instead of from source.Then,it's be ok~,but still don't know why!

Cool, closing this


Integrated CPs 1189 and 1205

Luke
I integrated CPs 1189 and 1205 into the HPD TI Supp; review due May 1.
Lynn

Reviewed and found as Okay.


Unable to comment on projects

Submitting a comment to a project gives:
FileNotFoundError: [Errno 2] No such file or directory: 'comment_spam_model.pkl'

Related to #11

This file is generated with the pygameweb_trainclassifier tool.

add this step to quick start
consider a better error message if it's missing.
just continue if the file is missing, and log a warning?

I'd rather not pollute the readme with too much instructions to setup everything. I'd go with second or third option.


radard: radar fault test

Added tests for radar_interface, which accepts None as a return value to make it pass with current implementations, but will be compatible with behavior changes introduces by https://github.com/commaai/openpilot/pull/29672


Adding new files for beginner skillmap

Starting with new map and first tutorial file.

Adding files in unused folder. Low risk. I'll squash when tests pass.

Adding files in unused folder. Low risk. I'll squash when tests pass.


Please provide better documentation about fieldArray

Question
fieldArray is used for collections. But searching formly's online document I can't find any example, API, guide, or introduction.
That makes using it a bit tricky...

PR welcomed to improve or add section about that part :pray: .

I can't find any example,

https://formly.dev/docs/examples/advanced/repeating-section/


HDDS-9930. Remove open keys as well when keys are deleted from KeyTable

What changes were proposed in this pull request?
In order to fix the undesired behavior of keys reappearing in the namespace when they are deleted after first being hsync()'ed (see HDDS-9930 description for an example), we need to remove open keys when keys are deleted from KeyTable so that they cannot be hsync()'ed again. This is achieved by checking OmKeyInfo's hsync metadata upon key deletion.
Note as a natural consequence of this change, the first client that does the initial hsync() can get OMException KEY_NOT_FOUND when trying to close/commit the file.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-9930
How was this patch tested?

[x] Add test case testHSyncDeletedKey that covers single key deletion.
[ ] Add more test cases to cover batch key deletion.

Thanks @jojochuang for reviewing this.

On an unrelated note, validateAndUpdateCache in OMKeyDeleteRequest and OMKeyDeleteRequestWithFSO are largely the same, there has to be a way to merge the code.

I did attempt to create a util method just like I did in the other PR but found there are too much variables needed to make it clean. Maybe I could put it in the super class.

There's some flakiness in TestHSync. I wasn't able to reproduce the test failure.

Thanks @smengcl !

Thanks @jojochuang for reviewing and merging this.


[in_app_purchase] [iOS] Don't retrieve my purchases with in_app_purchase on flutter application

I have a flutter application with in app purchase. For this, I use the library in_app_purchase. In appstoreconnect, I have 2 purchases validated. But when I try to get my purchases with the ids, it doesn't work. I don't retrieve mt purchases. This is the code:
Future<void> _getProducts() async {
print('_getProducts');
Set<String> ids = <String>['id1', 'id2'].toSet();
print(ids);
ProductDetailsResponse response = await _iap.queryProductDetails(ids).then((value) {
  print('aa');
  print(value.productDetails);
  print(value.notFoundIDs);
  print(value.error);
}).catchError((onError) {
  print('error _getProducts');
  print(onError);
});
print('bb');

setState(() {
  _products = response.productDetails;
  print(response.productDetails);
  if(response.productDetails.isNotEmpty){
    print(response.productDetails.elementAt(0));
  } else{
    print("void list");
  }
});
}

and this is the result:

So like you can see, I don't get the products but in fact, the function queryProductDetails is not even running.
And sometimes, I have a result but with my two ids in value.notFoundIDs.
So, do you know what I am doing wrong ?

Flutter version: Flutter 2.5.3

Dart 2.14.4

in_app_purchase: ^1.0.9

@adriende
Did you get a chance to debug on _getProducts() method and see if you are getting any errors while doing so, and if it's skipping the call to queryProductDetails ?
You can also take a look at plugin's example and implementation of the method queryProductDetails and see if it helps.

@darshankawar
I try exactly like in the example and it didn't work.
I try to run my app in debug mode and I go into the file in_app_purchase_ios_platform.dart in the function
     response = await requestMaker.startProductRequest(identifiers.toList());
Then I go in sk_request_maker.dart in the fonction Future<SkProductResponseWrapper> startProductRequest(       List<String> productIdentifiers).
At this point, I have my id in the productIdentifiers variable.
And after I go in a lot of files that I don't really understand...
This is my code now:
Future<void> _getProducts() async {

print('_getProducts');
const String _kMonthlySubscriptionId = 'ImmoprospectMonthlySubscription';
const List<String> _kProductIds = <String>[_kMonthlySubscriptionId];
var _notFoundIds;
var _queryProductError;

ProductDetailsResponse productDetailResponse =
await _iap.queryProductDetails(_kProductIds.toSet());
print(productDetailResponse);
if (productDetailResponse.error != null) {
  print('ok');
  print(productDetailResponse.productDetails);
  setState(() {
    if (productDetailResponse.error != null) {
      _queryProductError = productDetailResponse.error.message;
    } else {
      _queryProductError = 'errror';
    }
    _products = productDetailResponse.productDetails;
    _purchases = [];
    _notFoundIds = productDetailResponse.notFoundIDs;
  });
  return;
}

if (productDetailResponse.productDetails.isEmpty) {
  print('is empty');
  print(productDetailResponse.productDetails);
  setState(() {
    _queryProductError = null;
    _products = productDetailResponse.productDetails;
    _purchases = [];
    _notFoundIds = productDetailResponse.notFoundIDs;
  });
  return;
}
}

But I don't get a print for print(productDetailResponse); I don't know how it's possible.
But in the console I have:
[BackgroundTask] Background Task 134 ("SKProductsRequest"), was created over 30 seconds ago. In applications running in the background, this creates a risk of termination. Remember to call UIApplication.endBackgroundTask(_:) for your task in a timely manner to avoid this.
And I don't know what that mean. Do you know?

I finally find out the problem. I was testing my application on an iPad with iPad OS 15.0. I updated my iPad to 15.1 and it's working (without changing anything in the code). So I think it was a problem with iPad OS 15.0.

Thanks for digging and identifying root-cause. Closing this based on above comment.

I see this is closed but what's the solution for users using iPAD OS 15.0 then?

No solution for iPad OS 15.0 for now...

No solution for iPad OS 15.0 for now...

Ok. Any other open ticket for that?


Command immediately runs on startup even without a change

I have a simple npm-script setup like:
"scripts": {
  "watch:css": "watch 'npm run build:css -s' app/src --ignoreDotFiles",
  "build:css": "node-sass --output-style compressed app/src/main.scss > css/main.css"
}

I find that when I run npm watch:css it always immediately runs the npm run build:css without waiting for a changed file. Is this expected behavior? I would expect that the command does nothing until the first change is detected.
If this is by design, can we get a command flag that waits for the first change?
Additional info: I'm running this inside a docker container and the watched directory is a volume mounted from the host machine.

I expect this as a feature.
That we have different expectations about watch interestingly brings up the throttle and debounce functions in lodash... both of which have flags for leading or trailing.
if you can't be bothered waiting, there is another npm package called watch-cli that performs a trailing action instead of this packages leading behaviour (which I prefer).

Ok, thanks. Still I it really depends on the use case, so both behaviors can make sense, depending on the project setup. So an additional option flag would be great.


[21.11] hostapd/wpa_supplicant: SAE/EAP-pwd side-channel attack update 2

Motivation for this change
https://w1.fi/security/2022-1/sae-eap-pwd-side-channel-attack-update-2.txt
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Nit: Is there a particular reason to choose fetchurl over fetchpatch here?

@ofBorg eval


support wasm-decompile ?

wasm-decompile works almost identically to wasm2wat (and is also part of WABT) so presumably could be an alternative option in this plugin.
Details: https://github.com/WebAssembly/wabt/blob/master/docs/decompiler.md
@RReverser

We would love to support it!
Right now we are using the wabt.js project maintained by @dcodeIO: https://github.com/AssemblyScript/wabt.js
Wabt.js is using the Emscripten integration from wabt ( https://github.com/WebAssembly/wabt/blob/master/src/wabt.post.js ) but it seems the integration doesn't support yet decompile.
We could integrate wasm-decompile in two ways:

Update wabt wabt.post.js and update the wabt.js project
Make wabt compatible with WASI. Note: this PR was aiming for that


on message report  #bug

node:38) UnhandledPromiseRejectionWarning: Error: WXGetMsgImage , stranger,error! canot get result from websocket server
at PadchatManager. (/wechaty/node_modules/wechaty-puppet-padchat/src/padchat-rpc.ts:1495:13)
at Generator.next ()
at fulfilled (/wechaty/node_modules/wechaty-puppet-padchat/dist/src/padchat-rpc.js:4:58)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:38) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5)
(node:38) UnhandledPromiseRejectionWarning: Error: WXGetMsgImage , stranger,error! canot get result from websocket server
at PadchatManager. (/wechaty/node_modules/wechaty-puppet-padchat/src/padchat-rpc.ts:1495:13)
at Generator.next ()
at fulfilled (/wechaty/node_modules/wechaty-puppet-padchat/dist/src/padchat-rpc.js:4:58)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:38) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)

Need More Information
Sorry, you did not follow the ISSUE Template, and there's not enough information about your problem.
In order to help us to find the problem out, you should provide all the detail information about the issue. Please make sure you are following the ISSUE Template, answer all the question, and the more important: provide the steps to reproduce the problem.
I'll close this issue. Please re-submit a new issue to provide the information that needed.


optimization on error handling for failed updates

Checklist:

[x ] I have read and followed the contribution guidelines.
[ x] I have read and followed the how to open a pull request guide.
[x ] My pull request targets the main branch of freeCodeCamp.
[x ] I have tested these changes either locally on my machine, or GitPod.

Reduced Network Load: Batching updates using concatMap can significantly reduce the number of HTTP requests made to the server, potentially decreasing network latency and server load.
Improved Efficiency: By eliminating unnecessary delays and optimizing asynchronous operations, the code can execute more efficiently, leading to faster processing of updates and reduced CPU usage.
Enhanced Maintainability: The refactoring and modularization of code improve readability and maintainability, potentially reducing the time required for future development and debugging tasks.

Hey,
could you add a bit of context for this PR? Namely:

Is this PR related to any existing issue?
Specifically which code changes refer to which improvement described in the PR description?

Thank you and happy coding.

No it doesn't solve existing issue, I have implemented batching of updates using concatMap in the failedUpdateEpic function, so this change consolidates multiple updates into single requests, reducing network traffic and server load. Refactored update processing logic into the processUpdate function. Improved error handling and asynchronous processing contribute to enhanced server efficiency and  I have extracted reusable functions (saveUpdateToStore, isSubmitable, processUpdate) to enhance code modularity and readability.

Hi @mathantkumar, the idea by behind this epic is that it should gradually submit the failed challenges. If I'm reading this right, your changes will, instead, send the same number of requests, but as quickly as possible. Is that correct?

Yes, you are correct changes made to the failedUpdateEpic function focus on optimizing the processing of failed updates by batching them for submission. However the implementation as it stands does not introduce a gradual submission mechanism. Instead it processes all submitable failures as quickly as possible, potentially sending multiple requests simultaneously, but still with lil amendments to batching yes we have add delay,  for gradual submission. confirm me I'll amend the change.

Yes, please. A refactor is very welcome, but we do want to keep the original behaviour.

Can I get review on this please?

Alright thanks for the suggestions, closing this PR, to be more worked on open issues.

Okay, no worries. Thanks for taking the time to help out.
If you're looking for places to contribute our contribution docs are a great place to start.