BF7, BF1 gets Requested target is offline

Thanks for filing a bug report :-)
Failure date 31st October 2020
Steps to Reproduce

Expected Result

Actual Result

HTTP status code “409” while fetching http://<IP_ADDRESS>:32875/api/v1/payments/0x59105441977ecD9d805A4f5b060E34676F50F806/0xCF6d21f484b80157315750d06cE27BAdACe69fd4. Expected 200: {“message”:”The requested target is offline.”,”details”:””}

Merge with https://github.com/raiden-network/light-client/issues/2294

Also happened on 28.10.2020 in BF1
HTTP status code “409” while fetching http://<IP_ADDRESS>:57957/api/v1/payments/0x59105441977ecD9d805A4f5b060E34676F50F806/0xcb902E222EA41EdB748b31c3425E3736Ac08d60A. Expected 2..: {“message”:”The requested target is offline.”,”details”:””}

We need the nodes logs, but this error looks like the presence issue, but on our side. We've tried to workaround this bug in our side by explicitly requesting the presence on each presence's update, but looks like this isn't failproof. Proper fix is on infra/server side. I'll check if there's anything else we can do.

The last three nights we had green scenarios. Closing.

This re-occured today on BF7 at transfer task
- serial:
          name: "Make one transfer from node0 to node1"
          tasks:
            - transfer: {from: 0, to: 1, amount: 1_000_000_000_000_000, expected_http_status: 200}
      - wait: 100

{
  "task": "<TransferTask: {'from': 0, 'to': 1, 'amount':<PHONE_NUMBER>000000, 'expected_http_status': 200, 'identifier':<PHONE_NUMBER>81000001}>",
  "event": "Task errored",
  "logger": "scenario_player.tasks.base",
  "level": "error",
  "greenlet_name": "orchestration",
  "timestamp": "2021-01-28 22:17:52.567505",
  "exception": "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.7/site-packages/scenario_player/tasks/base.py\", line 140, in __call__\n    return_val = self._run(*args, **kwargs)\n  File \"/usr/local/lib/python3.7/site-packages/scenario_player/tasks/api_base.py\", line 59, in _run\n    f'HTTP status code \"{resp.status_code}\" while fetching {url}. '\nscenario_player.exceptions.RESTAPIStatusMismatchError: HTTP status code \"409\" while fetching http://<IP_ADDRESS>:44555/api/v1/payments/0x59105441977ecD9d805A4f5b060E34676F50F806/0x81382fb651011FEaba5a6652026600e8129Fb4b4. Expected 200: {\"message\":\"The requested target is offline.\",\"details\":\"\"}"
}

In node0
2021-01-28T22:17:52.562Z [info] %c action     color: #03A9F4; font-weight: bold {
  type: 'path/find/failure',
  payload: RaidenError: The requested target is offline.
      at Object.assert (/lc/index.js:255255:23)
      at validateRouteTargetAndEventuallyThrow (/lc/index.js:249731:13)
      at getRoute$ (/lc/index.js:249669:5)
      at MergeMapSubscriber.project (/lc/index.js:249189:95)
      at MergeMapSubscriber.module.exports.__webpack_modules__.42713.MergeMapSubscriber._tryNext (/lc/index.js:204295:27)
      at MergeMapSubscriber.module.exports.__webpack_modules__.42713.MergeMapSubscriber._next (/lc/index.js:204285:18)
      at MergeMapSubscriber.module.exports.__webpack_modules__.65183.Subscriber.next (/lc/index.js:199054:18)
      at Observable._subscribe (/lc/index.js:209326:20)
      at Observable._trySubscribe (/lc/index.js:198451:25)
      at Observable.subscribe (/lc/index.js:198437:22) {
    details: { target: '0x81382fb651011FEaba5a6652026600e8129Fb4b4' }
  },
  meta: {
    tokenNetwork: '0x3EA2a1fED7FdEf300DA19E97092Ce8FdF8bf66A3',
    target: '0x81382fb651011FEaba5a6652026600e8129Fb4b4',
    value: BigNumber { _hex: '0x038d7ea4c68000', _isBigNumber: true }
  },
  error: true
}

In node1 no apparent reason in the logs for shutting down

This re-occured today on BF7 at transfer task
- serial:
          name: "Make one transfer from node0 to node1"
          tasks:
            - transfer: {from: 0, to: 1, amount: 1_000_000_000_000_000, expected_http_status: 200}
      - wait: 100

{
  "task": "<TransferTask: {'from': 0, 'to': 1, 'amount':<PHONE_NUMBER>000000, 'expected_http_status': 200, 'identifier':<PHONE_NUMBER>81000001}>",
  "event": "Task errored",
  "logger": "scenario_player.tasks.base",
  "level": "error",
  "greenlet_name": "orchestration",
  "timestamp": "2021-01-28 22:17:52.567505",
  "exception": "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.7/site-packages/scenario_player/tasks/base.py\", line 140, in __call__\n    return_val = self._run(*args, **kwargs)\n  File \"/usr/local/lib/python3.7/site-packages/scenario_player/tasks/api_base.py\", line 59, in _run\n    f'HTTP status code \"{resp.status_code}\" while fetching {url}. '\nscenario_player.exceptions.RESTAPIStatusMismatchError: HTTP status code \"409\" while fetching http://<IP_ADDRESS>:44555/api/v1/payments/0x59105441977ecD9d805A4f5b060E34676F50F806/0x81382fb651011FEaba5a6652026600e8129Fb4b4. Expected 200: {\"message\":\"The requested target is offline.\",\"details\":\"\"}"
}

In node0
2021-01-28T22:17:52.562Z [info] %c action     color: #03A9F4; font-weight: bold {
  type: 'path/find/failure',
  payload: RaidenError: The requested target is offline.
      at Object.assert (/lc/index.js:255255:23)
      at validateRouteTargetAndEventuallyThrow (/lc/index.js:249731:13)
      at getRoute$ (/lc/index.js:249669:5)
      at MergeMapSubscriber.project (/lc/index.js:249189:95)
      at MergeMapSubscriber.module.exports.__webpack_modules__.42713.MergeMapSubscriber._tryNext (/lc/index.js:204295:27)
      at MergeMapSubscriber.module.exports.__webpack_modules__.42713.MergeMapSubscriber._next (/lc/index.js:204285:18)
      at MergeMapSubscriber.module.exports.__webpack_modules__.65183.Subscriber.next (/lc/index.js:199054:18)
      at Observable._subscribe (/lc/index.js:209326:20)
      at Observable._trySubscribe (/lc/index.js:198451:25)
      at Observable.subscribe (/lc/index.js:198437:22) {
    details: { target: '0x81382fb651011FEaba5a6652026600e8129Fb4b4' }
  },
  meta: {
    tokenNetwork: '0x3EA2a1fED7FdEf300DA19E97092Ce8FdF8bf66A3',
    target: '0x81382fb651011FEaba5a6652026600e8129Fb4b4',
    value: BigNumber { _hex: '0x038d7ea4c68000', _isBigNumber: true }
  },
  error: true
}

In node1 no apparent reason in the logs for shutting down

PFS issues related, not relevant for the LC team.


How to navigate to a Pin (or list of pins )

Hello,
I would like to allow a user to navigate from his position to a given pin (or later to the list of pins that my Api will retrieve as Google/osm retrieves a list of adress).
These pins don't hold an adress but only  Latitude and Longitude (on a Point object (x,y).
How could I manage to naviguate to one given pin by clicking on a single button passing latitude and longitude of the given pin. Something like that, but in my app : http://maps.google.com/?daddr=37.788463,-122.392545
Btw, I just need clews :)
Thanks.

Pick one:
/// <summary>
/// Bindable Property of <see cref="MapCenter"/>
/// </summary>
public static readonly BindableProperty MapCenterProperty = BindableProperty.Create(
	nameof(MapCenter),
	typeof(Position),
	typeof(TKCustomMap),
	default(Position),
	defaultBindingMode: BindingMode.TwoWay);

/// <summary>
/// Bindable Property of <see cref="MapRegion"/>
/// </summary>
public static readonly BindableProperty MapRegionProperty = BindableProperty.Create(
	nameof(MapRegion),
	typeof(MapSpan),
	typeof(TKCustomMap),
	defaultBindingMode: BindingMode.TwoWay);

/// <summary>
/// Moves the visible region of the map to cover all positions
/// </summary>
/// <param name="positions">The positions to fit the visible region</param>
void FitMapRegionToPositions(IEnumerable<Position> positions, bool animate = false);

/// <summary>
/// Moves the visible region to the specified <see cref="MapSpan"/>
/// </summary>
/// <param name="region">Region to move the map to</param>
/// <param name="animate">If the region change should be animated or not</param>
void MoveToMapRegion(MapSpan region, bool animate);

/// <summary>
/// Moves the visible region to the specified collection <see cref="MapSpan"/>
/// </summary>
/// <param name="regions">Regions to move the map to</param>
/// <param name="animate">If the region change should be animated or not</param>
void FitToMapRegions(IEnumerable<MapSpan> regions, bool animate);

I do something like this in the sample, when the pin is selected the camera is centered on top of it.

Yep, thanks for you fast answering ^^
I think my question was not clear ... I want that , when the user will click on the button it will draw the route that he has to take (by car) to go to this pin from his current location with instructions just like in your sample. I read it but I don't see the snippet that I can extract from your sample to navigate to a Longitude/Lattitude position instead of placeAutocomplete given by Google/Osm.
Thanks Torben.

See my edit.

Sorry Torben, that's not really my question :). You show me the snippet that will change the focus of the "camera" when a pin is selected. My UI is as fellow  and will probably be clearer to you to understand my needs =>
When a user will select a pin, the pin is selected. I'm listening to  this event in my page, and when the pin is selected I show to the user 5 buttons. One of this button is a button called "Navigate To" => That means I want to guide the user with instructions and the route (drawn on the map) he has to follow to get there only with Latitude and Longitude as Geoloc information.
Sorry If I was not clear ... Or probably I dont understand myself haha.
Thanks.

Well, indeed, I am not sure if I understand the question correctly.
Here is what I think you're asking for:

User clicks on the pin
Add a TKRoute and let it be calculated
Display the instructions using the TKStep array included in the calculated TKRoute

There is a sample where I extract the instructions out the the TKRoute and display it in a WebView.
https://github.com/TorbenK/TK.CustomMap/blob/Development/Sample/TK.CustomMap.Sample/TK.CustomMap.Sample/ViewModels/HtmlInstructionsViewModel.cs

Yep thats exactly what , calculate the best route and draw it one the map (but the route form current position the a given pin).
Btw, I guess there is no way to achieve a turn by turn naviguation mode such as google maps native app is doing ?
Thanks

Just pass the user position as source, you do not need a pin.
No, that is not possible and also not allowed by the terms of use. You can start the build in navigation on the device though.


How do you solve the problem that the number of noising queries can't be same in a batch

The number of  Ground Truth is different in different images, so the number of noising queries can't be same for the images in a same batch, how do you solve this problem?

There are 2 ways to solve this problem. In DN-DETR, we pad the noising queries in a batch to the same length. In DINO, we further propose a more efficient method named dynamic denoising groups, you can refer to DINO for more details. Thank you.

Ok! Thanks for your reply!


Special handling for function thunks.

We need special handling for function thunks. Thunks are functions which do nothing and only jump to other functions. The symbol that the thunk is calling needs to propagate to the thunk itself. These thunks should also be considered part of the function they call, and thus we need support for multi-entry functions #673

This is a duplicate of #111


Add app build image

Added a Dockerfile to build the base app deploy image.
The initial approach is to have a repository per base image.
How to review
Either:

Run the container locally, exec into it and try to deploy an app using the installed Helm or
Use the (deploy_app)[https://github.com/ONSdigital/eq-questionnaire-runner/blob/master/ci/deploy_app.yaml] task in runner, switching the image used for this image

 Create an EQ base deploy image with helm, tiller etc (M)


Error parsing header values

In an incoming request, the header values seem to have been merged together.

Here is the raw request, (as captured by Charles)
POST /sentcard HTTP/1.1
Host: localhost:9080
Content-Type: application/json
Connection: keep-alive
Accept: */*
User-Agent: MessagesExtension/1 CFNetwork/808.0.2 Darwin/15.6.0
Content-Length: 58
Accept-Language: en-us
Accept-Encoding: gzip, deflate

{"id":"123","card_type":"oneDay","location_id":"USWA0395"}

Note: This issue is somewhat intermediate and about 20% of requests are error free.
Other requests though get the error Failed to parse a request. Parsed fewer bytes than were passed to the HTTP parser

@dfirsht Is possible to get a copy of your server and the client driving the requests?

@shmuelk PMed it.

@dfirsht Thanks for sending the test case. It took a bit of extending the test case to recreate the failure (I added a loop). But in the end I got it to fail.
While this isn't a duplicate of issue #734, the fix being put together for issue #734 fixed your problem. In my test case I called the post routine forty times in a loop, with no failures, using the code from fix of issue #734.
The fix for issue #734 is still work in progress. I hope to finish it today.

@dfirsht FYI, the fix for #734 (Kitura-net#124) has been merged.  You can pick it up if you update to release 1.0.1 of Kitura-net.

@djones6 Awesome thanks!


feat: padding for scrollable textarea

Description
Add a padding for scrollable textarea.

Linked Issues
close: #78
Additional context
Source of inspiration: https://twitter.com/pacocoursey/status/1630425455235940352, THX.

Thanks! I love this.

The textarea scrollbar is missing, and if you need it, you will have to remove the overflow-hidden property.

The textarea scrollbar is missing, and if you need it, you will have to remove the overflow-hidden property.

I only added scroll-pa-8px, overflow-hidden seems to be added via branch sync.
@ddiu8081 remove overflow-hidden directly in commit if needed.


Implement alarm subscription endpoints

Get, list, create and delete operations are implemented. Create is blocked until GlobalCloudID has been set.

/hold
I'm having some issues with list and create

/unhold

/lgtm
/approve


Redesign ShardingMetaData module.

Feature Request
For English only, other languages will not accept.
Please pay attention on issues you submitted, because we maybe need more details.
If no response more than 7 days and we cannot make decision by current information, we will close it.
Please answer these questions before submitting your issue. Thanks!
Though we have ShardingMetaData now, but it can not meet all the needs for some important scenarios, we need to redesign ShardingMetaData module. The tasks are as follows:

[x] Implement the interface getMetaData of JDBC.
[x] Read column type when needed.
[x] Consider about the interface of ShardingResultSetMeta to shade the real column label.

#1321 can be solved in this issue, Please focus on this issue.

refer to #1774 .


Add a Gitter chat badge to README.md

codelabs/gologger now has a Chat Room on Gitter
@codelabs has just created a chat room. You can visit it here: https://gitter.im/codelabs-gologger/Lobby.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Coverage remained the same at 100.0% when pulling 2f99fdb764cc203eb671e07a37de3e4e324a5c89 on gitter-badger:gitter-badge into 92a269806e2112a0a55704472335b005586480ab on codelabs:master.

Coverage remained the same at 100.0% when pulling 18e7eab2ed0db8642cb794bc416034cb069559d1 on gitter-badger:gitter-badge into 92a269806e2112a0a55704472335b005586480ab on codelabs:master.


Execution failed for task ':telephony:compileDebugKotlin'

After adding telephony dependency to my project then this error came. Please help me

I also got this... this need to fix asap... please fix this shounakmulay

@shounakmulay I also got this.. please fix this error

@shounakmulay and I also got this issue.  Please fi it

@shounakmulay   Também estou com mesmo problema, será que pode corrigir?

Checkout https://pub.dev/packages/telephony/versions/0.2.0


fix: use proper dual packaging

Follow up to https://github.com/supabase/postgrest-js/pull/537

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 64.948%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
90

Relevant Lines:
117

💛  - Coveralls


Deprecate TaggedOperations

Description of the issue
Moved tags to the Operation class
Cirq version
master version

Note I tried this a while back and it's hugely invasive. For example TaggedOperation intercepts several protocol methods like diagram_info and resolve_params, and adorns them with its own behavior before forwarding inward. If it's in the base class, this behavior is impossible, as the subop class's protocol implementation simply overrides it. All these protocol methods need to be changed to abstract/virtual methods of a different name, and have the base class's protocol call them, or something.
Also since op classes aren't dataclasses, we need to bring in the copy module to implement with_tags. Which, we do use copy elsewhere so maybe that's not as much of a problem, but my impression is that people with a strong Python background tend to be wary of depending on copy.

Is this actually triage/accepted?

I think this is worth another discussion, especially given Dax's comments on how this is not as straightforward as it seems on face value.

One option that may actually be easier is if we go all in and change all existing operations to gates. I've done a few of those for https://github.com/quantumlib/Cirq/issues/4683. The ones remaining are those from https://github.com/quantumlib/Cirq/issues/2626 (PauliString, QFT), and the higher level ones like CircuitOperation and ClassicallyControlledOperation. (POC for the latter was working at https://github.com/quantumlib/Cirq/pull/4725).
If we do that, then GateOperation is all that's left. No inheritance hierarchy or anything. So we can simply add the tag to that class and be done.
Still a lot of work to get to this point but I think it would result in a nice design. @95-martin-orion @tanujkhattar

This is a large design issue and would require a considerable thought. Given that we are already past the threshold of considering large design items for Cirq 1.0, we should mark it as post 1.0 and work on it for Cirq 2.0.


Symfony 6 compatibility problem

Hi,
When triing to install this bundle on a symfony 6.0 project, i'm having an error.
composer require nzo/url-encryptor-bundle:v6.1.*
or
composer require nzo/url-encryptor-bundle
Give's the same error :
Executing script cache:clear [KO]
 [KO]
Script cache:clear returned with error code 255
!!  PHP Fatal error:  Declaration of Nzo\UrlEncryptorBundle\NzoUrlEncryptorBundle::getContainerExtension() must be compatible with Symfony\Component\HttpKernel\Bundle\Bundle::getContainerExtension(): ?Symfony\Component\DependencyInjection\Extension\ExtensionInterface in /var/www/gestion-inscription/vendor/nzo/url-encryptor-bundle/NzoUrlEncryptorBundle.php on line 19

Hello,
Thank you for the issue, I fixed the compatibility error in the new tag v6.1.1

Hello,
Thank you for the issue, I fixed the compatibility error in the new tag v6.1.1

Thank you, it works :)
Just a little problem : cipher_algorithm is marked as optionnal
    cipher_algorithm:             # optional, default: 'aes-256-ctr'
but i have this error :
NzoEncryptor:: - unknown cipher algorithm
if i don't specify any cipher_algorithm
Best regards

You don't need to specify the cipher_algorithm it's optional, tested it in all symfony versions.
The behavior you mentioned is really weird... Can I have more info plz

with this :
nzo_encryptor:
    secret_key: XXXXXXXXXXXXXXXXXXXXX # Required, max length of 100 characters.
    secret_iv:  XXXXXXXXXXXXXXXXXXXXXX # Required only if "random_pseudo_bytes" is FALSE. Max length of 100 characters.
    cipher_algorithm:              # optional, default: 'aes-256-ctr'
    base64_encode:                            # optional, default: TRUE
    format_base64_output:                     # optional, default: TRUE, used only when 'base64_encode' is set to TRUE
    random_pseudo_bytes:                      # optional, default: TRUE (generate a random encrypted text output each time => MORE SECURE !)

I was having this error :

no more erros with this :
nzo_encryptor:
    secret_key: XXXXXXXXXXXXXXXXXXXXX # Required, max length of 100 characters.
    secret_iv:  XXXXXXXXXXXXXXXXXXXXXX # Required only if "random_pseudo_bytes" is FALSE. Max length of 100 characters.
    cipher_algorithm: aes-256-ctr             # optional, default: 'aes-256-ctr'
    base64_encode:                            # optional, default: TRUE
    format_base64_output:                     # optional, default: TRUE, used only when 'base64_encode' is set to TRUE
    random_pseudo_bytes:                      # optional, default: TRUE (generate a random encrypted text output each time => MORE SECURE !)

Do you still have the issue with only this:
nzo_encryptor:
    secret_key: XXXXXXXXXXXXXXXXXXXXX
    secret_iv:  XXXXXXXXXXXXXXXXXXXXXX

Thank you for the notice


Releases: sort 1.0.0-alpha "before" 1.0.0

On the main page in the list of releases, 1.0.0 should appear above [1.0.0-beta, 1.0.0-alpha.2, 1.0.0-alpha].
This could be solved by a custom sorting algorithm or by adding release_date to the releases table and sorting on that.
Question: will patch releases for a rust version ever be released after a new minor version release? If so, should these be sorted chronologically, or by relative version?

will patch releases for a rust version ever be released after a new minor version release?

We've done this once, for 1.12.1. It's not something that should happen very often.

If so, should these be sorted chronologically, or by relative version?

I'd argue that everything should be in semver order; which is how I think this could be fixed; take all the releases, put master on top, then in descending order. Luckily I know a crate for that 😉

There's a lot more than just this one sort ordering wrong.


Could not load package intervention/image

Hello,
Since a random commit, I'm getting this error while trying to get intervention/image via composer:
[RuntimeException]
  Could not load package intervention/image in http://packagist.org: [Unexpec
  tedValueException] Could not parse version constraint 4.x.x: Invalid versio
  n string "4.x.x"

It started in the following build: https://travis-ci.org/AsgardCms/Media/builds/94138842 A commit that has nothing to do with intervention, in my composer.json file I still have:
"intervention/image": "^2.3",

And the odd part is that it does not show up in php7.
Does anyone have any idea what the cause could be ?
Thank you,

Several people (https://github.com/Intervention/image/issues/467, https://github.com/Intervention/image/issues/464) mentioned this problem, but I still don't know what's the cause or if this is a Composer issue.

Oh ok, thanks for answering so fast, multiple people have reported this on the asgardcms slack channel, and had no idea why it was trying 4.x.x. Especially when I couldn't re-produce the issue locally.
"Good" to know it's not an isolated issue.
I have added a composer self-update as before_install script, and the build is back to green.
Thank again

Hi,
I think the problem comes from the past. Every release before the comit 6783515d00135a567db3bcfdeb784e3f2da00733 includes a bad version format for illuminate/support (that's where the "4.x.x" comes from).
Even if those old release ain't used anymore, they are still in packagist. This is a problem for the people that are using packagist proxy for instance, because according to the configuration, all the release (including the old one) could be downloaded.
I think getting rid of the old release might be the only way to solve this issue.

@rfussien You might be right. The question is, what may cause more problems? Removing old packagist versions before 1.4.1 or letting people update composer.

I removed some tags for another project and packagist re-index just fine and on the composer side as well.
But you're right, more feedback about it would be great.

Even I had the same problem. but when I update the composer using composer self-update. after I tried the composer update command it did n't throw any error.

Right, when it's about composer itself, a self-update does the job and it's easy (btw, I used to add this as a dailycron for non-production env).
But when it comes to satis/toran, the problem is there as well.
First I tried to purge the "proxyfied" package and it produced a modification of the shasum (cf https://github.com/composer/composer/issues/2540), which produced a composer.lock corruption in all my projects. So I had to update all of them. Anyway, big waste of time for a small problem.
That's why I suggested a deletion for the releases older than 1.4.

Had the same problem, ran composer self-update and the problem went away. Strange.

composer self-update solved it for me too! :+1:

I'm getting this issue with travis ci. is anyone else getting it there. On my local machine its not the issue
https://travis-ci.org/Core-Tech-Labs/LAZ/jobs/96394293

@RudyJessop Did you run composer self-update?


Update .travis.yml

Coverage remained the same at 51.824% when pulling 49365ddf7f8bc1db385fed71eb5d60556141ffb1 on stefanks-patch-1 into 5c223bc1db8c6cb6e88785cc44757dfcbd1fb80a on master.


[Bug] Reality block crashes game.

Descripe
If you tell it to turn into the statue block it crashes the game.
Steps to reproduce

place reality block
forge into statue block.

Version
Own compiled build
Minecraft, Forge and maybe other related mods versions
Minecraft: 1.16.5 Forge: 36.2.2
Screenshots or Videos
No response
Crashlog/log
https://paste.ee/p/JjgGs

Hm, I am interested, what result did you expect?
But, will be fixed, of course, thanks for bug searching, this is truly amazing

@manaphoenix  again, thanks for reporting!
All of reported bugs are fixed in 0.0.6


conftest.py broken. Can't run tests

(py3k) elvis@middle-earth:~/CODE/FORKED/modl$ make test
py.test --pyargs modl
Traceback (most recent call last):
  File "/home/elvis/anaconda2/envs/py3k/lib/python3.6/site-packages/_pytest/config.py", line 325, in _getconftestmodules
    return self._path2confmods[path]
KeyError: local('/home/elvis/CODE/FORKED/modl/modl')

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/home/elvis/anaconda2/envs/py3k/lib/python3.6/site-packages/_pytest/config.py", line 356, in _importconftest
    return self._conftestpath2mod[conftestpath]
KeyError: local('/home/elvis/CODE/FORKED/modl/modl/conftest.py')

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/home/elvis/anaconda2/envs/py3k/lib/python3.6/site-packages/_pytest/config.py", line 362, in _importconftest
    mod = conftestpath.pyimport()
  File "/home/elvis/anaconda2/envs/py3k/lib/python3.6/site-packages/py/_path/local.py", line 662, in pyimport
    __import__(modname)
  File "/home/elvis/CODE/FORKED/modl/modl/__init__.py", line 1, in <module>
    from .decomposition.dict_fact import DictFact
  File "/home/elvis/CODE/FORKED/modl/modl/decomposition/__init__.py", line 1, in <module>
    from .dict_fact import DictFact
  File "/home/elvis/CODE/FORKED/modl/modl/decomposition/dict_fact.py", line 13, in <module>
    from modl.utils.randomkit import RandomState
  File "/home/elvis/CODE/FORKED/modl/modl/utils/randomkit/__init__.py", line 1, in <module>
    from .random_fast import RandomState
ModuleNotFoundError: No module named 'modl.utils.randomkit.random_fast'
ERROR: could not load /home/elvis/CODE/FORKED/modl/modl/conftest.py

Removing the offending file modl/conftest.py and rerunning the tests works fine.

Sorted


dropdown appears cutoff when used inside a div with overflow: auto

Problem:
When ui-select is used inside a div with overflow: auto defined it doesn't appear "on top" of the div but instead is contained inside that div that obviously causes usability problems.
Example: http://plnkr.co/edit/cAZ548
click on the select to open it: the dropdown is inside the red div but it should be "always on top" of everything.
Solution:
The default  from HTML always appears on the top of everything and the original jquery select2 already solved the problem (angular-ui/ui-select2 also solves the problem).
The problem is simple: ui-select uses a relative positioning where it needs to use absolute positioning to "break out" from the overflow div. jquery select2 solves this in a very smart way by appending the list to the body element, effectively avoiding any div parents with overflow or relative positioning that can cause other problems. (an absolute div inside a relative div isn't anymore absolute to the whole document: http://css-tricks.com/absolute-positioning-inside-relative-positioning/ )
Using absolute positioning can also cause problems because if this dropdown is used inside a modal window that is draggable or if the user scrolls the page: the dropdown (select2-drop) position needs to be adjusted to the new position of the content.
select2 solves using a "select2-drop-mask" around the whole document and when a user clicks anywhere closes the dropdown which is a good way to deal with this because the default  from HTML also does this.
select2 example working fine: http://plnkr.co/edit/4jERkO - click on the select: content is on top of everything.
I believe the solution is already on jquery select2 plugin and it's just a matter of borrowing the good ideas from them. I couldn't find the issue that originated that specific fix on select2, but this seems to be a good lead: https://github.com/ivaynberg/select2/issues/149
My end goal is to use the select inside a Bootstrap modal window (modal-body has overflow auto content) that would be draggable but I simplified my test case to this specific scenario.
I'll be happy to help and provide more clarification as I investigated this quite a bit.

This does the trick for me:
    .ui-select-choices {
        position: fixed;
        top: auto;
        left: auto;
        width: inherit;
      }

Closing as a duplicate.

 I was finding solution from last 2 days. thanks again.

can using waterfall js and easy to fix :-)


[BEAM-13780] Add CONTRIBUTING.md pointing to main guide

Add back a stripped down contribution guide. Not having this was a small piece of friction on getting started with my first contribution - it used to exist, and was removed (possibly mistakenly - https://github.com/apache/beam/pull/10366#issuecomment-573992574).
Having an explicit CONTRIBUTING.md makes a couple discoverability things easier, mostly it would:

Help new contributors find the guide more quickly (extra helpful for people who don't necessarily need to read through the beam model, e.g. users, and people who are actively making their first contributions and want to reference it quickly)

Use GitHub's built in support to link the contribution guide when users open their first pr.

If we switch to issues, automatically point to the contribution guide when/before users create their first issue as well.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @kennknowles
@kennknowles adding you because it looks like you'd voiced support for this in the past - https://github.com/apache/beam/pull/10366#issuecomment-573992574


fix(helper/ssg): fix bug of joinPaths

The author should do the following, if applicable

[x] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code

based by https://github.com/honojs/hono/pull/2798

Thanks @EdamAme-x !
@nakasyou Can you review this?

@EdamAme-x @nakasyou Thanks! Merging now.


Implement async iterators

To prevent timeouts, the library could provide an option to split requests that take a very long time into multiple requests and then return those results asynchronously using the new async iterators in C# 8.
The method should force the user to specify results per request within a reasonable range (1-50?) to give them some control over how many of their api requests they're using.

Since the library targets .NET Standard 2.0 we can't use C# 8. This could still be a feature to fetch the data in batches, which has the drawback of taking longer time and more API requests but users will not encounter timeouts.


Naive Approach to AToken Snapshotting

When snapshotting, ignore interest earned (your weight is underweight). We could provide a method for users to force a snapshot whenever they wanted.

This was done in #11


Include other normal razor page(with *.cshtml.cs file) as a "Partial"

May I ask if it is possible to add another razor page(with *.cshtml.cs file) as a "Partial".
For example in index.cshtml file using:
<partial name="About"/>
However, when I do like this, I met an error as following:
InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'WebApplication6.Pages.IndexModel', but this ViewDataDictionary instance requires a model item of type 'WebApplication6.Pages.AboutModel'.

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

ID: d670c64c-4030-312c-4355-ee518a23a56a
Version Independent ID: c20d4db8-d403-9218-c39d-47e56c34e767
Content: Partial views in ASP.NET Core
Content Source: aspnetcore/mvc/views/partial.md
Product: aspnet-core
GitHub Login: @ardalis
Microsoft Alias: riande

Hello @eq7755 ... I don't think that's a supported scenario. In this scenario, take a look at the View Component.

Thanks for contacting us. We believe that the question you've raised have been answered. If you still feel a need to continue the discussion, feel free to reopen it and add your comments.


The messages logged by the credential providers are not localized.

Discussed in https://github.com/microsoft/artifacts-credprovider/discussions/433

Originally posted by kartheekp-ms July  6, 2023
When I execute dotnet restore command and NuGet is trying to access a private feed, credential provider displays following logs to the console.
log  :    [CredentialProvider]ATTENTION: User interaction required.

log  :

log  :    **********************************************************************

log  :

log  :    To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code {REMOVED} to authenticate.

Looking at the repository, there is no code related to localization, but just wanted to confirm that currently log messages are not localized. Are there any plans to enable localization in the future?

As you can see in the example below, I changed the language code in the .NET CLI to 'es'. While the NuGet-related log messages respected the language setting, the credential provider logs were still printed in English.

reopening - not stale


Add inferno-compact package

Lots of users coming from React and Webpack/Browserify want to easily switch out React for Inferno. We should offer an easy to use package that can do all of this for them without any major hassle. I'm created an inferno-compact branch that is essentially based off the preact-compact repo. I'd appreciate it if people could test it out and give feedback/response and maybe generate some PRs.

I'd be happy to do so :) Could you wrap up some quick steps to set it up on an existing React project? Cheers!

Is the README any help?
https://github.com/trueadm/inferno/tree/react-compat/packages/inferno-compat

Absolutely! I won't be trying this out right away, but will definitely do and keep you updated here. Thanks again!

@neemzy This has been published now with 0.7.14. Let me know how it works for you? It's inferno-compat on NPM :)


failed to install edge node

I'm installing baetyl-cloud according to https://docs.baetyl.io/zh_CN/latest/develop/install.html
curl -d "{"name":"demo-node"}" -H "Content-Type: application/json" -X POST http://<IP_ADDRESS>:30004/v1/nodes
{"code":"UnknownError","message":"Error 1054: Unknown column 'report_meta' in 'field list'","requestId":""}

Make sure you have done
git reset --hard fd97c860be11a.
The master branch is unstable, only the specific git version works.

Thanks. Why I didn't see baetyl-function pod running?
$ kubectl get pod -n baetyl-edge-system
NAME                             READY   STATUS    RESTARTS   AGE
baetyl-init-69685fc665-pr9gd     1/1     Running   0          5m30s
baetyl-core-57cc8fdfd6-fwwrg     1/1     Running   0          5m28s
baetyl-broker-77bdffdd8c-tddvh   1/1     Running   0          5m17s

Function and rule now are not default when you create a node.
You should add it to sysApps when create a node.
For example:
curl -d "{\"name\":\"demo-node\",\"sysApps\":[\"baetyl-function\"]}" -H "Content-Type: application/json" -X POST http://<IP_ADDRESS>:30004/v1/nodes

Thanks. you'd better add the above to the main readme.
How can I post a function? Would you be kind to give me an example?
not sure whether it's ok to continue discussion by the issue thread.

You can visit https://docs.baetyl.io/zh_CN/latest/static/api.html for open API.
This document might be out-of-date，and you can visit https://cloud.baidu.com/doc/BIE/index.html for commercial use or add "Baetyl" wechat to join the baetyl group.


Update "Escape Sequences in Strings" stub

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Congrats @JeanMendes  on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


perf: Cache search options

Details

This PR introduces performance improvement for loading searchable lists by caching the options and filtering them when accessing the list.
Fixed Issues

$ https://github.com/Expensify/App/issues/37878
PROPOSAL:
Tests

Before each test: close & open or refresh the app, to make sure options are not cached before first opening
Search page:

Open the search page
Verify the list loaded
Close the list
Open it again and make sure it loaded

New chat

Press "Start chat"
Verify the list loaded - it should contain user name/email/phone number
Close the list
Open it again and make sure it loaded

New room chat

Press "Start chat"
Select "Room"
Fill the name and create a room
Open room details
Press "Members"
Press "Invite"
Verity the list loaded with user name/email/phone number
Go back
Press "Invite" again
Verify the list loaded

Request money

Press "Request money"
Select "Manual", fill the amount and press "Next"
Verify the list loaded
Go back and press "Next" again
Verify the list loaded
Select an item to split bill and finish the process of splitting

Send money

Press "Send money"
Fill the amount and press "Next"
Verify the list loaded
Go back and press "Next again"
Verify the list loaded

Assign task

Press "Assign task"
Fill the title and press "Next"
Press "Assignee"
Verify the list loaded with user name/email/phone number
Go back and press "Assignee" again
Verify the list loaded

Assign task - share somewhere

Press "Assign task"
Fill the title and press "Next"
Press "Share somewhere"
Verify the list loaded with reports
Go back and press "Share somewhere" again
Verify the list loaded

Invite to workspace

Open "Choose a workspace"
Press "+" button
Go to "Members"
Press "Invite member"
Verify the list loaded with user name/email/phone number
Go back and press "Invite member" again
Verify the list loaded again
Select an user and press "Next"
Verify you were moved to another step

Share logs

Go to Settings -> About -> Troubleshoot
Enable "Client Side logging"
Press "Debug console"
Press "Share log"
Verify the list is visible
Go back and press "Share log" again
Verify the list is visible

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Before each test: close & open or refresh the app, to make sure options are not cached before first opening
Search page:

Open the search page
Verify the list loaded
Close the list
Open it again and make sure it loaded

New chat

Press "Start chat"
Verify the list loaded - it should contain user name/email/phone number
Close the list
Open it again and make sure it loaded

New room chat

Press "Start chat"
Select "Room"
Fill the name and create a room
Open room details
Press "Members"
Press "Invite"
Verity the list loaded with user name/email/phone number
Go back
Press "Invite" again
Verify the list loaded

Request money

Press "Request money"
Select "Manual", fill the amount and press "Next"
Verify the list loaded
Go back and press "Next" again
Verify the list loaded
Select an item to split bill and finish the process of splitting

Send money

Press "Send money"
Fill the amount and press "Next"
Verify the list loaded
Go back and press "Next again"
Verify the list loaded

Assign task

Press "Assign task"
Fill the title and press "Next"
Press "Assignee"
Verify the list loaded with user name/email/phone number
Go back and press "Assignee" again
Verify the list loaded

Assign task - share somewhere

Press "Assign task"
Fill the title and press "Next"
Press "Share somewhere"
Verify the list loaded with reports
Go back and press "Share somewhere" again
Verify the list loaded

Invite to workspace

Open "Choose a workspace"
Press "+" button
Go to "Members"
Press "Invite member"
Verify the list loaded with user name/email/phone number
Go back and press "Invite member" again
Verify the list loaded again
Select an user and press "Next"
Verify you were moved to another step

Share logs

Go to Settings -> About -> Troubleshoot
Enable "Client Side logging"
Press "Debug console"
Press "Share log"
Verify the list is visible
Go back and press "Share log" again
Verify the list is visible

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/13985840/ca517bc9-98fd-4a35-97f9-39bd3c6785f8
https://github.com/Expensify/App/assets/13985840/40f97f3e-439e-4b7f-b3ff-5d0eddf5c0af
https://github.com/Expensify/App/assets/13985840/ba71cccb-9552-411b-b197-0991adbab947
https://github.com/Expensify/App/assets/13985840/f8de3bfe-a9c0-4f9c-a6a1-8b6491cb26f9
https://github.com/Expensify/App/assets/13985840/cfe891ae-1d58-4087-b100-415424877b48
https://github.com/Expensify/App/assets/13985840/4f802a78-190d-49bd-8381-4ceb56531cf9
https://github.com/Expensify/App/assets/13985840/c5c3ad71-6bee-48ae-af99-f3587eb366ba
https://github.com/Expensify/App/assets/13985840/b861a592-d52d-49e8-b747-4266df4d0c61
https://github.com/Expensify/App/assets/13985840/a12d9483-3219-4313-bc7f-5d438657f9b6

Android: mWeb Chrome
https://github.com/Expensify/App/assets/13985840/22713558-a669-45a4-9079-b8f35d40bbc1
https://github.com/Expensify/App/assets/13985840/f93a7de1-1dc8-4dba-9b78-cfe8149abc41
https://github.com/Expensify/App/assets/13985840/9c4da3f5-8ad2-41ee-b154-e2ff3af5bca7
https://github.com/Expensify/App/assets/13985840/09663ff6-7c06-4c1f-9983-44ed536a9fc9
https://github.com/Expensify/App/assets/13985840/97f71aa7-55c1-4c5e-adbe-a09d5c521908
https://github.com/Expensify/App/assets/13985840/2aba17ac-ae5d-40b7-945c-c6a5d5521781
https://github.com/Expensify/App/assets/13985840/8b88c935-46ca-43c0-9cf1-54ffb8e964be
https://github.com/Expensify/App/assets/13985840/4fa8d55c-39ec-40a8-9487-8ca6ee7cb23f
https://github.com/Expensify/App/assets/13985840/20abdeb4-3c7c-4be6-8228-80a794cd91c9

iOS: Native
https://github.com/Expensify/App/assets/13985840/5bca863e-cb4f-4d0f-aa75-93f8435a6281
https://github.com/Expensify/App/assets/13985840/4bc076ec-09be-460b-86fc-590f4c046563
https://github.com/Expensify/App/assets/13985840/ae6f36c8-f797-447e-ae15-209c46bbc11c
https://github.com/Expensify/App/assets/13985840/951f4f8c-23bd-45f5-98c8-4234f0a71ae7
https://github.com/Expensify/App/assets/13985840/d6970e36-21c9-4c17-8aea-e21642f9271f
https://github.com/Expensify/App/assets/13985840/8e2ef8fc-dfde-4443-ae57-c0946dbab44e
https://github.com/Expensify/App/assets/13985840/1600d90c-55e3-4e5d-9d60-c91871feccc7
https://github.com/Expensify/App/assets/13985840/e73d71f6-85fa-4469-baa8-8d5988e2bd70

iOS: mWeb Safari
https://github.com/Expensify/App/assets/13985840/0f5b0204-c937-4cab-9bb7-bb2f5f655793
https://github.com/Expensify/App/assets/13985840/9cb5b741-3429-41bd-86c7-62c3f6d8cef4
https://github.com/Expensify/App/assets/13985840/23d6460b-8c83-406a-add5-b9b2f8bff98a
https://github.com/Expensify/App/assets/13985840/cf16082a-3caf-4225-8949-0aab00a817c6
https://github.com/Expensify/App/assets/13985840/7b4e9f18-bd18-482a-a5d5-10700d2eef54
https://github.com/Expensify/App/assets/13985840/527eae02-8f20-4c11-942f-93c684ba9c1e
https://github.com/Expensify/App/assets/13985840/e2269537-031b-462e-bdbe-7742099ce25f
https://github.com/Expensify/App/assets/13985840/db7cffcb-6b6e-4e90-99f3-bb7214fbd698
https://github.com/Expensify/App/assets/13985840/2d230c10-bc2d-468c-a498-fcbab33b17a5

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/13985840/3440c0ad-8041-4c9b-994d-8267348005a8
https://github.com/Expensify/App/assets/13985840/bcff5050-2665-4cd8-a70c-1a239252b690
https://github.com/Expensify/App/assets/13985840/aa6d75c7-6346-4706-8024-36c297671a78
https://github.com/Expensify/App/assets/13985840/97eca517-b235-4fb2-9d19-4cafd7e209d2
https://github.com/Expensify/App/assets/13985840/04daa5e7-78ce-4d2b-8429-9b23c83c2059
https://github.com/Expensify/App/assets/13985840/7807ca0e-5ebd-4cce-a3f6-8bea45791e2f
https://github.com/Expensify/App/assets/13985840/e24cbf85-046d-459f-b0c0-70912a352e97
https://github.com/Expensify/App/assets/13985840/ecc4e174-5f9d-4a4e-a73b-34418831a2ee

MacOS: Desktop
https://github.com/Expensify/App/assets/13985840/1f9da805-2123-4d05-afd5-a0d7307a84ba
https://github.com/Expensify/App/assets/13985840/c294d986-4fb4-4454-b811-96763faba845
https://github.com/Expensify/App/assets/13985840/abc03d7f-80e9-4338-b2bf-9e6261a2f6b6
https://github.com/Expensify/App/assets/13985840/99759474-87cf-4fb1-ba0a-cdf1263a77bc
https://github.com/Expensify/App/assets/13985840/5394effd-fcb1-44eb-a78e-c1957327f155
https://github.com/Expensify/App/assets/13985840/f2ef66e0-5634-4cde-bc86-e3f9119b2df3
https://github.com/Expensify/App/assets/13985840/bd33f17f-a217-4e93-8c69-4d008ee0cfd0
https://github.com/Expensify/App/assets/13985840/aca064fc-851f-4172-a74b-10011cab4fd2
https://github.com/Expensify/App/assets/13985840/acb14e98-ff51-47de-a128-5623d38cbdb9

Discussing here

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Inside the Tests and QA Steps, you declared tests for all the flows, but I only saw the search part on your checklist videos. Can you please update the QA and Tests steps or videos?.  Also these flows are failing for me:
https://github.com/Expensify/App/assets/16502320/088a8d27-da62-4f0a-b0aa-9468310b7fdf
https://github.com/Expensify/App/assets/16502320/59766ade-d93a-4cf8-8b03-031896eef507
https://github.com/Expensify/App/assets/16502320/6f3e679c-1f83-4731-be5e-e01e2f259347

@hungvu193 thanks for your review, I already addressed all the comments and fixed one issue i stumbled upon while testing it. I am working on preparing videos for all scenarios.
Could you elaborate what exactly is failing in the flows on the videos you posted?

@hungvu193 thanks for your review, I already addressed all the comments and fixed one issue i stumbled upon while testing it. I am working on preparing videos for all scenarios.
Could you elaborate what exactly is failing in the flows on the videos you posted?

I saw the skeleton view every time I opened these pages, I thought it was cached after the first time. Is that true?

@TMisiukiewicz let me know when it's ready 😄. Thank you

@hungvu193 I've updated the videos section with videos for each flow 👍 everything should be ready now

I'm getting this crash when I tried to run, also please resolve the conflict 😄
https://github.com/Expensify/App/assets/16502320/64c22772-0e9d-4bab-acfa-f9025b86c984

@hungvu193 Conflict resolved ✅  I believe this error comes from main, I was having it as well from time to time but couldn't reproduce after merging latest main. I see it was reported in #38972

@hungvu193 Conflict resolved ✅  I believe this error comes from main, I was having it as well from time to time but couldn't reproduce after merging latest main. I see it was reported in #38972

Awesome, let me check it

@hungvu193 thanks, updated with the latest main. Just a reminder that Reassure tests are expected to fail here, detailed description is in this comment

friendly bump @grgia

We have conflict again @TMisiukiewicz

@hungvu193 thanks, resolved ✅

Triggering a test build

Rerunning desktop

Resolved conflicts and addressed the comments.

See: https://github.com/Expensify/App/pull/38207#issuecomment-2022668486 for why the merge with failing test

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@mountiny was this PR actually deployed? I see you linked in the Deploy Checklist but that last comment here confuses me.

@bondydaa Yes it was deployed, the github action to post comment has also been broken 😵💫

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.60-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


EOS-16272: cfgen to generate aux pool layouts considering node failures

This feature is developed considering the node (enclosure) failure
case. If a node in the cluster fails, it means that all the disks
in that node become inaccessible. As this feature considers only
node failures, it keeps the spare pools ready considering the
other alive nodes from the cluster.
The feature works using the mathematical combinations formula
C(n, r) = (n! / (r!(n-r)!))
It basically creates combinations of all the nodes in case of
failures of nodes from 1 to the allowed number of nodes to be
failed, by allowance vector.
For each and every such generated combinations of (alive) nodes,
it creates the lists of the disks and assigns a pool to each of
them. Such spare pools created considering allowed node failures
are called as aux pools.
Signed-off-by: Suvrat Joshi<EMAIL_ADDRESS>

Example bootstrap of a three node cluster with layout parameters :
pools:
  - name: the pool
    disk_refs:
      - { path: /dev/sdb, node: ssc-vm-2493.colo.seagate.com }
      - { path: /dev/sdc, node: ssc-vm-2493.colo.seagate.com }
      - { path: /dev/sdb, node: ssc-vm-6328.colo.seagate.com }
      - { path: /dev/sdc, node: ssc-vm-6328.colo.seagate.com }
      - { path: /dev/sdb, node: ssc-vm-6327.colo.seagate.com }
      - { path: /dev/sdc, node: ssc-vm-6327.colo.seagate.com }
    type: sns  # optional; supported values: "sns" (default), "dix", "md"
    data_units: 4
    parity_units: 2
    spare_units: 0

Bootstrap is successful :
[root@ssc-vm-2493 fin_test]# hctl bootstrap --mkfs three_node.yaml
2021-08-19 05:10:47: Generating cluster configuration... OK
2021-08-19 05:10:51: Starting Consul server on this node............ OK
2021-08-19 05:11:01: Importing configuration into the KV store... OK
2021-08-19 05:11:01: Starting Consul on other nodes...Consul ready on all nodes
2021-08-19 05:11:03: Updating Consul configuraton from the KV store... OK
2021-08-19 05:11:05: Waiting for the RC Leader to get elected... OK
2021-08-19 05:11:05: Starting Motr (phase1, mkfs)... OK
2021-08-19 05:11:13: Starting Motr (phase1, m0d)... OK
2021-08-19 05:11:17: Starting Motr (phase2, mkfs)... OK
2021-08-19 05:11:26: Starting Motr (phase2, m0d)... OK
2021-08-19 05:11:31: Checking health of services... OK
[root@ssc-vm-2493 fin_test]#

Here we can see in the status that aux pools are created.
[root@ssc-vm-2493 fin_test]# hctl status -d
Data pools:
    # fid name
    0x6f00000000000001:0x57 'the pool'
    0x6f00000000000001:0x72 'the pool-aux001'
    0x6f00000000000001:0x89 'the pool-aux002'
    0x6f00000000000001:0xa0 'the pool-aux003'
Profile:
    # fid name: pool(s)
    0x7000000000000001:0xd7 'default': 'the pool' 'the pool-aux001' 'the pool-aux002' 'the pool-aux003' None None
Services:
    ssc-vm-6328.colo.seagate.com
    [started]  hax        0x7200000000000001:0x22  <IP_ADDRESS>@tcp:12345:1:1
    [started]  confd      0x7200000000000001:0x25  <IP_ADDRESS>@tcp:12345:2:1
    [started]  ioservice  0x7200000000000001:0x28  <IP_ADDRESS>@tcp:12345:2:2
    [unknown]  m0_client  0x7200000000000001:0x35  <IP_ADDRESS>@tcp:12345:4:1
    [unknown]  m0_client  0x7200000000000001:0x38  <IP_ADDRESS>@tcp:12345:4:2
    ssc-vm-2493.colo.seagate.com
    [started]  hax        0x7200000000000001:0x6   <IP_ADDRESS>@tcp:12345:1:1
    [started]  confd      0x7200000000000001:0x9   <IP_ADDRESS>@tcp:12345:2:1
    [started]  ioservice  0x7200000000000001:0xc   <IP_ADDRESS>@tcp:12345:2:2
    [unknown]  m0_client  0x7200000000000001:0x19  <IP_ADDRESS>@tcp:12345:4:1
    [unknown]  m0_client  0x7200000000000001:0x1c  <IP_ADDRESS>@tcp:12345:4:2
    ssc-vm-6327.colo.seagate.com  (RC)
    [started]  hax        0x7200000000000001:0x3e  <IP_ADDRESS>@tcp:12345:1:1
    [started]  confd      0x7200000000000001:0x41  <IP_ADDRESS>@tcp:12345:2:1
    [started]  ioservice  0x7200000000000001:0x44  <IP_ADDRESS>@tcp:12345:2:2
    [unknown]  m0_client  0x7200000000000001:0x51  <IP_ADDRESS>@tcp:12345:4:1
    [unknown]  m0_client  0x7200000000000001:0x54  <IP_ADDRESS>@tcp:12345:4:2
Devices:
    ssc-vm-6328.colo.seagate.com
    [online]  /dev/sdb
    [online]  /dev/sdc
    [online]  /dev/null
    ssc-vm-2493.colo.seagate.com
    [online]  /dev/null
    [online]  /dev/sdc
    [online]  /dev/sdb
    ssc-vm-6327.colo.seagate.com
    [online]  /dev/sdb
    [online]  /dev/sdc
    [online]  /dev/null
[root@ssc-vm-2493 fin_test]#

consul kv get --recurse | grep aux
m0conf/pools/0x6f00000000000001:0x72:the pool-aux001
m0conf/pools/0x6f00000000000001:0x89:the pool-aux002
m0conf/pools/0x6f00000000000001:0xa0:the pool-aux003
m0conf/profiles/0x7000000000000001:0xd7:{"name": "default", "pools": ["the pool", "the pool-aux001", "the pool-aux002", "the pool-aux003", null, null]}

cat /var/lib/hare/confd.dhall | grep tolerance
  , types.Obj.Pver { id = utils.zoid types.ObjT.Pver 88, data_units = 4, parity_units = 2, spare_units = 0, pool_width = 6, tolerance = [0, 0, 1, 1, 2], sitevs = [ utils.zoid types.ObjT.Objv 93 ] }
  , types.Obj.Pver { id = utils.zoid types.ObjT.Pver 115, data_units = 2, parity_units = 2, spare_units = 0, pool_width = 4, tolerance = [0, 0, 1, 1, 2], sitevs = [ utils.zoid types.ObjT.Objv 120 ] }
  , types.Obj.Pver { id = utils.zoid types.ObjT.Pver 138, data_units = 2, parity_units = 2, spare_units = 0, pool_width = 4, tolerance = [0, 0, 1, 1, 2], sitevs = [ utils.zoid types.ObjT.Objv 143 ] }
  , types.Obj.Pver { id = utils.zoid types.ObjT.Pver 161, data_units = 2, parity_units = 2, spare_units = 0, pool_width = 4, tolerance = [0, 0, 1, 1, 2], sitevs = [ utils.zoid types.ObjT.Objv 166 ] }
  , types.Obj.Pver { id = utils.zoid types.ObjT.Pver 190, data_units = 1, parity_units = 2, spare_units = 0, pool_width = 3, tolerance = [0, 0, 2, 2, 2], sitevs = [ utils.zoid types.ObjT.Objv 195 ] }
  , types.Obj.Pver { id = utils.zoid types.ObjT.Pver 203, data_units = 1, parity_units = 2, spare_units = 0, pool_width = 3, tolerance = [0, 0, 2, 2, 2], sitevs = [ utils.zoid types.ObjT.Objv 208 ] }

In this PR, I am also going to add changes for https://github.com/Seagate/cortx-hare/issues/1742.

Testing done :

One node : Bootstrap, hctl status, m0cp write and m0cat read
Three node : Bootstrap, hctl status, m0cp write and m0cat read
Three node with dix pool: Bootstrap, hctl status, m0cp write and m0cat read
Six node : Bootstrap, hctl status, m0cp write and m0cat read

Testing is done for pools with symmetric disk structure only (all nodes having same number of disks)
Tolerance values passed through CDF and also allowed to get generated without passing through CDF.
All above cases worked fine.
Custom build created successfully :
http://eos-jenkins.colo.seagate.com/job/GitHub-custom-ci-builds/job/centos-7.8/job/cortx-custom-ci/2560/
RPMs at location:
http://cortx-storage.colo.seagate.com/releases/cortx/github/integration-custom-ci/centos-7.8.2003/custom-build-2560
3-Node deployment successful :
http://eos-jenkins.colo.seagate.com/job/Cortx-Deployment/job/VM-Deployment-R2-3Node/781/


"cyclic deps" on rust-lang/rust workspace

Steps to replicate:

Check out https://github.com/rust-lang/rust/commit/6beac7ada1af649615cafd2f2a83bff81a20b718
Open src/librustdoc/clean/types.rs and put the cursor on line 196 (crate fn resolved_links)
Press Ctrl+Shift+I ("Format document")

[ERROR project_model::workspace] cyclic deps: rustc_std_workspace_core(CrateId(1165)) -> core(CrateId(200))
[Error - 5:42:32 PM] Request textDocument/formatting failed.
  Message: Broken pipe (os error 32)
  Code: -32603

This is also happening with rocket. As a result, I am getting no diagnostic messages.

maybe #2414 ?

Closing in favor of https://github.com/rust-lang/rust-analyzer/issues/14167


One qusetion about learned_graph.

Thanks for your excellent work,
According to your code , I want to know if the X_data in the same batch share the same learned graph ?

Thanks for your interest.
If you indicate the adjacency matrix A in Eq(3),  then it is yes. The graph is the same for all input data. But when it comes to the attention part in Eq(6)-(8), each sample can get different attention weights as the attentions are computed based on the each sample and the global sensor embeddings.

Thank you , after changing the outlayer and dataset , can  the model with graph_layer  also be used for graph classification tasks ?

Potentially yes. I think it depends on your task. You could use the embedding before the outlayer potentially for any downstream task when the learned representations have some good properties, such as clustering.


Question about map matching rules

Hey guys, i am working on a project and i was wonering if there is any way to change the way that the map matching algorithm "sees" the .gpx file. For example, the algorithm respects the streets orientation, but, if I wanted to change this and get the real sampled locations, regardless of street rules or things like that, will it be possible? thanks

Hey, please move to the forum for general questions.
.. but this sounds like you might want to try to map-match based on walking, not driving.

Hey,
no man, it's based on driving.

Basically, i want the real route travelled by a vehicle, regardless of street orientation or any kind of transit rules. Sorry if I have not made myself clear.

@michaz could you please re-open this topic? I really need help about this ^^


Nodepool controller tries to downgrade auto-upgraded nodepools

What happened?
Deployed a NodePool with version 1.16.15-gke.2601  and autoUpgrade enabled:
spec:
  forProvider:
      management:
        autoRepair: true
        autoUpgrade: true
      version: 1.16.15-gke.2601

After sometime, GKE auto upgraded nodepool to version: 1.16.15-gke.4300. But then, NodePool controller went and sent an update to nodepool spec to set it back to initial version.

How can we reproduce it?
Deploy a NodePool with auto upgrade enabled and observe what happens after google auto upgrades it.

What environment did it happen in?
Crossplane version: 0.14.0

@turkenh thanks for this write-up! Seems like we need to have a special case here where if a user specifies auto-upgrade then we let any change made by GCP to the version overwrite the current spec.

@hasheddan hmm, after checking the code, I think I can provide a fix for this. Assigning to myself.
Thanks!


fix(layout) Adjust new note button on mobile

Currently on mobile devices the nav bar is pretty full:

I was thinking how to make this slightly tidier, and tried hiding the text:

@CorentinTh  Any suggestions of a better way to do this or would you rather just keep it with the text?

Thanks for addressing this point!
I was considering grouping all the icons (GitHub, i18n, etc.) inside the 3-dots dropdown menu when on small screen (perhaps we could replace it with a "hamburger" icon when they are grouped? I dunno)
But we can also replace the creation button with an icon

Good idea! I'll work on this over the weekend.

Not sure what SonarCloud is complaining about? Is this okay to ignore or shoud I use className instead?

Yeah you may ignore the className stuff, it's an issue on sobnacloud side, it interprets the jsx as react and not solid, I'm marking them as false positive, I need to dig the config to exclude this rule

Hope you're happy with the way I've implemented it, let me know if there's any revisions you would like me to make.


Static files

Init static file serving support. This depends on https://github.com/http-rs/tide/pull/414.
#[async_std::main]
async fn main() -> tide::Result<()> {
    let mut app = tide::new();
    app.at("/").serve_dir("/public");
    app.listen("<IP_ADDRESS>:8080").await?;
    Ok(())
}

@yoshuawuyts Is there any reason why the original body builder method is changed to set_body method separately? I personally don't think it looks nice but probably there is a reason behind it.

@pickfire this is more of a temporary name than anything else. Ideally we could get closer to http-types' way of constructing requests and responses but this is a stopgap in the meantime.

@yoshuawuyts It seemed similar to the one in http-types. Is there any reason why it uses set_body rather than body_mut or body? Currently, http-types have quite a few *_body and it does seemed a bit weird for me.

@pickfire http-types has the following body methods: docs.rs/http-types?search=body. There are currently four methods:

set_body to set a body.
swap_body to replace a body with a different body through a reference.
replace_body to replace body with a different body through ownership.
body_string to read the body as a string (we plan to make this respect encodings as well).

I suspect we'll be adding more methods to request and response for reading the body as various types. Likely candidates include: json, form, and bytes. But setting the body will almost exclusively go through set_body which takes Into<Body> which has defined conversions from many types. This should make setting a body overall a smooth process, and is the reason why I chose to go with set_body in this patch as well (also note: none of the existing methods worked; I actually spent a good amount of time debugging why filed with a known length were getting chunk-encoded).

@yoshuawuyts But why do we need so many different methods? Couldn't that be just body (shared reference) and body_mut (unique reference)?

@pickfire in the http-types model both Request and Response provide direct access to the body and headers. This has some similarities to Ruby's net::http model.
Personally I really dislike the body/body_mut distinction since it leads to patterns like these:
*req.body_mut() = MyBody;

Std doesn't use this pattern anywhere, and instead prefers the distinction between body and set_body. But where possible (e.g. in io::Cursor) it may just forward trait impls such as Read/Write directly and only provide access to the inner value through an into_inner method. This is the model we've decided to follow instead since it provides a reduced surface area overall.
The convenience methods I mentioned earlier are really only to move beyond the basics. Being able to automatically deserialize from JSON while respecting encodings is pretty hard to do, and providing a shorthand for this is useful. This goes for many of the other methods as well.


Document toolchain vendor matching

Fixes #14802

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


Updated cron to create models hour before table scanning

Coverage remained the same at 94.222% when pulling 1cdfcc03fb7e4616a4ae5a96fbf8e05ad369627d on cron_change into 40bc81596ba35eda85571bc1700e1ea3706bf912 on master.


[PE-D][Tester C] PreferCommand reset the person list

Before running:

After running prefer 1 s/instagram

Labels: type.FunctionalityBug severity.Medium
original: Tex-Tang/ped#7

Unable to replicate bug


cnc 1.8.5 login action lasts about 70 seconds

I'm running cnc 1.8.5 on a raspberry pi 1 model B+. I know that's not ideal, but had worked for the last versions. Now I tried the login feature. The login screen shows up immediately, but after hitting the login-Button it lasts about 70 seconds till the GUI appears. Should this be normal behavior?
cnc -vv shows errors:
2016-12-04T15:59:09.199Z - debug: [session-file-store] will retry, error on last attempt: Error: ENOENT: no such file or directory, open 'sessions/boCLjlqtL_-3fJFmMILYD___h9QwMJD0.json'     at Object.logFn (/home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:3482:42)

It shall be completed within 1~2 seconds. May you try to open Developer Tools to check if there are any console errors or network connection issues?

Mmmh... don't know what I have to do exactly. Do I have to start the developer tools on the server or the client? Do I have to install them? How do I call them? Sorry, I'm a newbie to this, may you help me?

You can use the following keyboard shortcuts to open Developer Tools in Chrome browser:

Access DevTools
On Windows
On Mac

Open Developer Tools
F12, Ctrl + Shift + I
Cmd + Opt + I

BTW, I'm not sure if the 70s delay is related to a dns lookup by this line, but a asynchronous call shall not block program execution. Are you able to ping your hostname like below?
$ ping `hostname`
PING cheton-mba.local (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=64 time=0.097 ms
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.146 ms

How about the second time opening the web interface after a successful login, are you still encountered a long delay?

ping cnc.local
PING cnc.local (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=64 time=37.091 ms
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=55.698 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=16.540 ms
-> This should be no problem, am I right?
Logging in:

Calling GUI when already logged in:

Hmmm. If you try to Sign Out from the nav dropdown, will the long delay happen again?

No. I can this with "normal" behavior.

No idea how this will happen. You can try cleaning browser cache, removing server config file ~/.cncrc, and then restart the server again to check which step caused this issue.

What about this errors?
2016-12-05T16:29:39.679Z - info: Started the server at http://<IP_ADDRESS>:8000     at /home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:7702:32
2016-12-05T16:29:44.297Z - debug: [cncengine] New connection from <IP_ADDRESS>: id=rfSaJlRc7WR4tDmrAAAA, token.id=87e60200-fd65-43ac-9a5f-5464fdbceffb, token.name=pi     at Namespace.<anonymous> (/home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:8138:28)
2016-12-05T16:29:55.774Z - debug: [session-file-store] will retry, error on last attempt: Error: ENOENT: no such file or directory, open 'sessions/I-H3Jznw6s65OvdGesa6emseusoAl8DR.json'     at Object.logFn (/home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:3538:42)
2016-12-05T16:29:55.821Z - debug: [session-file-store] will retry, error on last attempt: Error: ENOENT: no such file or directory, open 'sessions/I-H3Jznw6s65OvdGesa6emseusoAl8DR.json'     at Object.logFn (/home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:3538:42)
2016-12-05T16:29:55.873Z - debug: [session-file-store] will retry, error on last attempt: Error: ENOENT: no such file or directory, open 'sessions/I-H3Jznw6s65OvdGesa6emseusoAl8DR.json'     at Object.logFn (/home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:3538:42)
2016-12-05T16:29:55.924Z - debug: [session-file-store] will retry, error on last attempt: Error: ENOENT: no such file or directory, open 'sessions/I-H3Jznw6s65OvdGesa6emseusoAl8DR.json'     at Object.logFn (/home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:3538:42)
2016-12-05T16:29:55.977Z - debug: [session-file-store] will retry, error on last attempt: Error: ENOENT: no such file or directory, open 'sessions/I-H3Jznw6s65OvdGesa6emseusoAl8DR.json'     at Object.logFn (/home/pi/.nvm/versions/node/v4.4.7/lib/node_modules/cncjs/dist/cnc/app/index.js:3538:42)
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /?lang=de 200 613.575 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/app.css?2ac2e49f43f0ef0444f3b3831e1f7803 200 168.720 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/app-2.css?78485cfa0e2dcd255fb7a415de688cd9 200 179.881 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/polyfill.5ee83d8f43ef736a911d.js 200 127.791 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/app.9c3e101dbd382a2bd503.bundle.js 200 146.037 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/app-1.css?78485cfa0e2dcd255fb7a415de688cd9 200 123.228 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/images/32x32/loading.gif 200 22.246 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/vendor.dc3c09a14f3d76b883f6.js 200 159.765 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU POST /api/signin 401 87.655 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/favicon.ico 200 26.509 ms
p93w3WekhDe083JycXTxQi-YwAeWFPuU GET /58d1d0c2/af7ae505a9eed503f8b8e6982036873e.woff2 200 12.508 ms

The session-file-store error is just fine. It displayed the error message when the server has been restarted, but a opening browser window still kept previous session id, so an error reported.

Now I have updated to 1.8.7
Same behavior. I deleted the .cncrc file.
Now if I add a new user there is also this long delay. I hit the "OK"-Button in the "Add new account"-window and again: about 70 seconds till the window disappears.
Maybe the encryption-algorithm is to heavy for the raspberry pi 1 model B+?
top shows up nearly 100% CPU-usage for node while I'm waiting.
Same high CPU-load  when logging in.

Maybe it's caused by the generateToken function
https://github.com/cheton/cnc/blob/v1.8.7/src/app/api/api.users.js#L18-L24
const generateToken = (payload, secret = settings.secret) => {
    const token = jwt.sign(payload, secret, {
        expiresIn: 60 * 60 * 24 // expires in 24 hours
    });

    return token;
};

I will take a look at jsonwebtoken again and check if there are some lightweight encryption algorithms that can be used as jwt.sign() options.
https://github.com/auth0/node-jsonwebtoken

I have no RPi 1, but it also took about 3~4 seconds delay on my RPi2. Sorry for that I didn't find a faster solution so far, however, current implementation will re-validate expired access token after 24 hours. How about to extend the expiration time to a longer period like 30 days as a workaround, or adding a configurable value?

configurable value might be best for anyone wanting to still have it expire after 24hrs.

A new --access-token-lifetime option is now available in the master release:
https://github.com/cheton/cnc/blob/master/src/cnc.js#L40
--access-token-lifetime <lifetime>', 'access token lifetime in seconds or a time span string (default: 30d)

It will be published with 1.8.8 release.

Hi @thymjan,
You can install the latest version (v1.8.8), and pass access token lifetime as a command-line option or save this configuration permanently to ~/.cncrc file.
Check out the usage at https://github.com/cheton/cnc#usage


Fixed relative links in README.md

Some links in the documentation led to 404 error pages on GitHub. These were:

All links in Activities distribution section
js/dialog.js in Localization section

Problem:

These were caused due to some wrong paths and use of relative-path syntax, which isn't required on the root directory.
Fixed the links in this PR.

Yes, that's true. Thanks.


vMX vrnetlab launch fails due to AttributeError in launch.py

Following the build process for vMX images, upon launching a lab, the image is unexpectedly exited due to the following error:
2024-05-04 04:14:18,849: vrnetlab   DEBUG    Creating overlay disk image
2024-05-04 04:14:18,871: vrnetlab   DEBUG    Creating overlay disk image
Traceback (most recent call last):
  File "/launch.py", line 481, in <module>
    vr = VMX(
  File "/launch.py", line 353, in __init__
    VMX_vfpc(self.version, conn_mode=conn_mode),
  File "/launch.py", line 259, in __init__
    self.version = version
AttributeError: can't set attribute

Problematic code snippet:
class VMX_vfpc(vrnetlab.VM):
    def __init__(self, version, conn_mode):
        super(VMX_vfpc, self).__init__(None, None, disk_image="/vmx/vfpc.img", num=1)
        self.version = version
        self.num_nics = 96

This bug appears to be occurring due to the existence of the version getter property in the vrnetlab.VM super class, which the VMX_vfpc class inherits from and initialises:
...
    @property
    def version(self):
        """Read version number from VERSION environment variable

        The VERSION environment variable is set at build time using the value
        from the makefile. If the environment variable is not defined please add
        the variables in the Dockerfile (see csr)"""
        version = os.environ.get("VERSION")
        if version is not None:
            return version
        raise ValueError("The VERSION environment variable is not set")

I have created a PR to merge my proposed fix, which simply renames the version variable in the VMX_vfpc class.
https://github.com/hellt/vrnetlab/pull/193

This bug appears to have been introduced in PR https://github.com/hellt/vrnetlab/pull/181, specifically commit https://github.com/hellt/vrnetlab/pull/181/commits/557fd702cfc47b92c1ef43f957dbd6165f7ab7b8
This may be causing unexpected issues with other images. From a quick look, looks like the VQFX_vcp class for vQFX images is also affected, and possibly the VQFX_vcp class for CSR images.
As this change was made for the c8000v image, would it be worth changing that specific implementation - or fixing other images on an as-needed basis?

resolved in #193


quiz page (one question at the same time, check answer button, next question, show explanation after checking the question)

Explanation will be shown at the result page


Do not run Mac Big Sur after installation

Hello.  I built and installed the MacBig Sur boot.  But when the Apple logo comes in and the bottom line starts to fill up, the system restarts at the end of the line and the Mac Big Sur does not go up.  please guide me

Hello. I built and installed the MacBig Sur boot. But when the Apple logo comes in and the bottom line starts to fill up, the system restarts at the end of the line and the Mac Big Sur does not go up. please guide me

macOS Big Sur release not support in this moment. Now i need test and make new config for Big Sur. Update from Catalina to Big Sur not possible only clean installation!

Hello. I built and installed the MacBig Sur boot. But when the Apple logo comes in and the bottom line starts to fill up, the system restarts at the end of the line and the Mac Big Sur does not go up. please guide me

macOS Big Sur release not support in this moment. Now i need test and make new config for Big Sur. Update from Catalina to Big Sur not possible only clean installation!

I mean, should I install and use Catalina?

I mean, should I install and use Catalina?

Catalina work stable and no issue.

I mean, should I install and use Catalina?

Catalina work stable and no issue.

Can you tell me when to get the EFI file for the Big Sur release version?

Can you tell me when to get the EFI file for the Big Sur release version?

I think update will be ready today)

Can you tell me when to get the EFI file for the Big Sur release version?

I think update will be ready today)

So I am waiting for your update.
I am not currently installing Catalina.
Please let me know so I can quickly install Big Sur today.
Thankful.
My email<EMAIL_ADDRESS>and
my telegram ID: javadmahmoodi

Can you tell me when to get the EFI file for the Big Sur release version?

I think update will be ready today)

So I am waiting for your update.
I am not currently installing Catalina.
Please let me know so I can quickly install Big Sur today.
Thankful.
My email<EMAIL_ADDRESS>and
my telegram ID: javadmahmoodi

Big Sur ready! All work! All update!

EFI.zip

Can you tell me when to get the EFI file for the Big Sur release version?

I think update will be ready today)

So I am waiting for your update.

I am not currently installing Catalina.

Please let me know so I can quickly install Big Sur today.

Thankful.

My email<EMAIL_ADDRESS>and

my telegram ID: javadmahmoodi

Big Sur ready! All work! All update!

EFI.zip

Thankful.
Does it work with this WiFi EFI?

Does it work with this WiFi EFI?

Yes!
All work!

Does it work with this WiFi EFI?

Yes!
All work!

very good.  Let me try and let you know the result here.

Does it work with this WiFi EFI?

Yes!
All work!

I started installing.
But so far I have encountered two problems.
First, in the installation of Big Sur, the touchpad does not work and I have to use the mouse.  Secondly, the Apple logo and drives are very large. Thank you for telling me how to fix these two problems.

First, in the installation of Big Sur, the touchpad does not work and I have to use the mouse. Secondly, the Apple logo and drives are very large. Thank you for telling me how to fix these two problems.

Reset NVRAM and replace this EFI
EFI.zip

First, in the installation of Big Sur, the touchpad does not work and I have to use the mouse. Secondly, the Apple logo and drives are very large. Thank you for telling me how to fix these two problems.

Reset NVRAM and replace this EFI
EFI.zip

Everything works very well.
But when Mac wants to come up, instead of the Apple logo and the line below, long text is displayed.  Like the photo below.
Is it possible to see something clean and bogo and the line below it instead of these writings which do not look interesting at all?

First, in the installation of Big Sur, the touchpad does not work and I have to use the mouse. Secondly, the Apple logo and drives are very large. Thank you for telling me how to fix these two problems.

Reset NVRAM and replace this EFI
EFI.zip

Everything works very well.
But when Mac wants to come up, instead of the Apple logo and the line below, long text is displayed. Like the photo below.
Is it possible to see something clean and bogo and the line below it instead of these writings which do not look interesting at all?

Replace and Reset NVRAM
EFI.zip

Everything was fine.  After restarting, unfortunately, I came across the image below.  What is the reason for this and what is the solution?


Fix potential macro expansion problem on Visual Studio

Similar to https://github.com/dmlc/mxnet/pull/1497. Seems #if cannot be written inside CHECK_EQ(). VS compiler fails to expand the macro as we expected.

please merge the two commits http://mxnet.readthedocs.org/en/latest/contribute.html#how-to-combine-multiple-commits-into-one and it can be merged

Merged @tqchen


Unable to get webapp working on Ubuntu 14 LTS

Hi There,
By following documentation here (http://atomiadns.com/get-started/install-atomia-dns/) I am unable to get webapp working.
When I'm browsing to http://serverip:5380 I get ERR_CONNECTION_REFUSED.
netstat -ntlp | grep LISTEN returns
tcp        0      0 <IP_ADDRESS>:5432          <IP_ADDRESS>:*               LISTEN      914/postgres
tcp6       0      0 :::80                   :::*                    LISTEN      1168/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      859/sshd

Looks like no service in listening on 5380..
Any help here would be great!

Got it working by adding following to /etc/atomiadns.conf
webapp_nameservers=localhost