RangeMap isn't the right abstraction for UnloadedModules

I either didn't care or forgot about it when I filled in the implementation by copy-pasting the Modules stream.
UnloadedModules can necessarily overlap by address, so they need to be treated more like MultiSets rather than Sets.
This suggests changes to by_addr and module_at_address. by_addr can be changed in the implementation, but module_at_address needs a signature change to express the fact that it's a multi-set. Maybe return an iterator?

Currently not a real issue because we only use the normal iter which doesn't use the RangeMap. But this affects e.g. the proposals in #168.

Returning an iterator SGTM


wish: Zydis - Fast and lightweight x86/x86-64 disassembler and code generation library

Fast and lightweight x86/x86-64 disassembler and code generation library.
Features

Supports all x86 and x86-64 (AMD64) instructions and extensions
Optimized for high performance
No dynamic memory allocation ("malloc")
Thread-safe by design
Very small file-size overhead compared to other common disassembler libraries
Complete doxygen documentation
Absolutely no third party dependencies — not even libc

Should compile on any platform with a working C11 compiler
Tested on Windows, macOS, FreeBSD, Linux and UEFI, both user and kernel mode

Examples
Disassembler
The following example program uses Zydis to disassemble a given memory buffer and prints the output to the console.
int main()
{
    ZyanU8 data[] =
    {
        0x51, 0x8D, 0x45, 0xFF, 0x50, 0xFF, 0x75, 0x0C, 0xFF, 0x75,
        0x08, 0xFF, 0x15, 0xA0, 0xA5, 0x48, 0x76, 0x85, 0xC0, 0x0F,
        0x88, 0xFC, 0xDA, 0x02, 0x00
    };

    // The runtime address (instruction pointer) was chosen arbitrarily here in order to better
    // visualize relative addressing. In your actual program, set this to e.g. the memory address
    // that the code being disassembled was read from.
    ZyanU64 runtime_address = 0x007FFFFFFF400000;

    // Loop over the instructions in our buffer.
    ZyanUSize offset = 0;
    ZydisDisassembledInstruction instruction;
    while (ZYAN_SUCCESS(ZydisDisassembleIntel(
        /* machine_mode:    */ ZYDIS_MACHINE_MODE_LONG_64,
        /* runtime_address: */ runtime_address,
        /* buffer:          */ data + offset,
        /* length:          */ sizeof(data) - offset,
        /* instruction:     */ &instruction
    ))) {
        printf("%016" PRIX64 "  %s\n", runtime_address, instruction.text);
        offset += instruction.info.length;
        runtime_address += instruction.info.length;
    }

    return 0;
}

The above example program generates the following output:
007FFFFFFF400000   push rcx
007FFFFFFF400001   lea eax, [rbp-0x01]
007FFFFFFF400004   push rax
007FFFFFFF400005   push qword ptr [rbp+0x0C]
007FFFFFFF400008   push qword ptr [rbp+0x08]
007FFFFFFF40000B   call [0x008000007588A5B1]
007FFFFFFF400011   test eax, eax
007FFFFFFF400013   js 0x007FFFFFFF42DB15

Encoder
int main()
{
    ZydisEncoderRequest req;
    memset(&req, 0, sizeof(req));

    req.mnemonic = ZYDIS_MNEMONIC_MOV;
    req.machine_mode = ZYDIS_MACHINE_MODE_LONG_64;
    req.operand_count = 2;
    req.operands[0].type = ZYDIS_OPERAND_TYPE_REGISTER;
    req.operands[0].reg.value = ZYDIS_REGISTER_RAX;
    req.operands[1].type = ZYDIS_OPERAND_TYPE_IMMEDIATE;
    req.operands[1].imm.u = 0x1337;

    ZyanU8 encoded_instruction[ZYDIS_MAX_INSTRUCTION_LENGTH];
    ZyanUSize encoded_length = sizeof(encoded_instruction);

    if (ZYAN_FAILED(ZydisEncoderEncodeInstruction(&req, encoded_instruction, &encoded_length)))
    {
        puts("Failed to encode instruction");
        return 1;
    }

    for (ZyanUSize i = 0; i < encoded_length; ++i)
    {
        printf("%02X ", encoded_instruction[i]);
    }
    puts("");

    return 0;
}

The above example program generates the following output:
48 C7 C0 37 13 00 00

More Examples
More examples can be found in the examples directory of Zydis repository.

https://github.com/build2-packaging/zydis
https://github.com/build2-packaging/zycore
https://queue.cppget.org/libzycore
https://queue.cppget.org/libzydis


Add SfNotification modal after logging in

After logging in a user should see toast that informs them about success.

we don't need notification after log in, this will not be implemented


Gnome terminal exits normally when you try to use any of the drop-down menus

e.g. File, Edit, View.

Come on dude, you have got to start providing more detail in your bug reports.

Likely related:
https://github.com/Cloudef/wlc/issues/210

I can confirm this issue, although I it very likely just https://github.com/Cloudef/wlc/issues/210 , as I have encountered this bug with nautilus as well.
Fedora 24, sway and wlc installed via testing repo (build date 2016-10-26). Since this version is quite outdated, I decided against reporting it.


some rpb alleles are conflated

rpb1-CTD-S7A(aaCTD-S7A)[Not assayed]
has synonyms
rpb1-S5.S5A  (this is incorrect, which session was it added?)
rpb1-CTD-S5.S5A (this is incorrect, which session was it added?)
rpb1-S5-S5A(1-29)  (this is incorrect, which session was it added?)
rpb1-CTD-S5A(r2-r29-2)  (this is incorrect, which session was it added?)
rpb1-P6.P6A  (this is incorrect, which session was it added?)
rpb1-CTD-P6.P6A  (this is incorrect, which session was it added?)
rpb1-S7A rpb1-S7A(1-29)
rpb1-CTD-S7A29 -

rpb1-CTD-P6A(r2-r29)(aaCTD-P6A(r2-r29))[Not assayed]
has synonyms
rpb1-S5.S5A rpb1-CTD-S5.S5A  (this is incorrect, which session was it added?)
rpb1-S5-S5A(1-29) (this is incorrect, which session was it added?)
rpb1-CTD-S5A(r2-r29-2)  (this is incorrect, which session was it added?)
rpb1-P6.P6A rpb1-CTD-P6.P6A  (this is incorrect, which session was it added?)

rpb1-CTD-S5A(r2-r29)(aaCTD-S5A(r2-r29))[Not assayed]
rpb1-S5.S5A  (this is incorrect, which session was it added?)
rpb1-CTD-S5.S5A    (this is incorrect, which session was it added?)
rpb1-S5-S5A(1-29)
rpb1-CTD-S5A(r2-r29-2)   (this is incorrect, which session was it added?)

In case this isn't clear, I need the session(s) the the synonym is instantiated in .
I need to remove the incorrect synonyms, and possibly create the correct allels and migrate the annotations.

rpb1-CTD-S7A(aaCTD-S7A)[Not assayed]
has synonyms

Are you seeing those synonyms in Canto?  Sorry, what's shown in Canto is a bit bogus.  The synonyms labelled "existing" should be ignored because they include synonyms that aren't valid anymore.  We need to re-visit that functionality because it's clearly not right.  The "existing" synonyms seem to be include all synonyms that the allele has had ever.  Not great.
Only the "new" synonyms from a session are loaded into Chado.
So "rpb1-CTD-S7A" only has a few synonyms on the website: https://dev.pombase.org/allele/SPBC28F2.12:allele-9

I'm a bit confused so maybe we can chat about this on Tuesday and I can demo the problem.

FInd and add a session

Could you add an example session when you get a chance?  Sorry I've lost the example I had.

Are you sure you haven't fixed it? I have searched lots, and I can't find any examples.

I don't remember fixing anything.  I'll do a Canto database search to see if I can track down an example.

I think I've tracked down the session that was messed up:
https://curation.pombase.org/pombe/curs/6339283c028dd2d6/genotype_manage/ro
I've made a copy to my desktop to investigate.

There is a bug (or multiple bugs) in the handling of existing allele synonyms. When the details for an existing allele are brought into the allele dialog, the previous synonyms aren't cleared. This is especially a problem for the copy and edit function.

I finally tracked down the problem and it's now fixed.  So in future allele synonyms won't accumulate if you edit existing alleles in genotypes.
Now I've fixed the bug I'll need to fix the sessions where this problem has occurred.  The easy solution is to clear the synonyms from each session that were loaded from Chado and just leave the synonyms that have been added.

rpb1-S5.S5A (this is incorrect, which session was it added?)
...

I think this is the session that has the problem synonyms:
https://curation.pombase.org/pombe/curs/67f8ea3e5c1c1bfc/genotype_manage/ro
Sorry it took so long to track down.  I was focused on the Canto bug which I thought was causing the problem synonyms.  I should have just looked in the Canto database.

excellent!
glad you found it,

Moved to curation tracker:

pombase/curation#3775


ref: move devshell module here to devos again

This is tested via https://github.com/divnix/devos/pull/334
If that is green, we can merge there update the ref to digga here and run the CI here again.

Can we move the bud folder under shell to spare the extra top-level folder. Lets to keep a clean root folder.

Can we move the bud folder under shell to spare the extra top-level folder. Lets to keep a clean root folder.

I hear the pain, but unfortunately that would be a domain violation: bud can be used for shell, but actually is more like a special pkgs. I'll evaluate if we can move it there, instead...

bors try


Something happened since 32b7b0009 that made my graphics awefully slow

Issue description
My channel generation 60 is 32b7b0009f168cb7e020d297c2f336ef352e9ec1.
My latest channel update resulted in channel generation 62, which is 7465bcd67a2177c63adeec66398b1b581260b31e.
Something happened in between that made my ati_unfree graphics awefully slow. I tried to switch to the open source driver by converting:
services.xserver.videoDrivers = [ "ati_unfree" ];

into
services.xserver.videoDrivers = [ "amd-non-free" ];

but it didn't work (x-server crashed without logging anything useful). I tried
services.xserver = {
  videoDrivers = [ "ati" ];
  useGlamor = false;
  deviceSection = ''Option "NoAccel" "true"'';
};

(someone in IRC mentioned this) as well, but it didn't help.
This was both tested on kernel 4.1 and 4.5.

Either way: The above switch to amd-non-free was tested on a seperate branch. I then switched back to my master branch where I didn't alter any graphic-related configuration since channel generation 60 and re-build my system after two channel updates. Something in these updates broke the graphics driver and I have awefully slow graphics now (I can almost see how the bash writes the lines) and an awefully high CPU load (I assume it falls back to CPU rendering).
Steps to reproduce
I don't really see a way to reproduce this besides me sharing my whole configuration.nix and my desktop machine. Though I'm more than happy helping debugging this (FYI: I'm on vacation from 12.05. until 22.05).
Technical details

System: 16.09pre79453.32b7b00 (Flounder)
Nix version: nix-env (Nix) 1.11.2
Nixpkgs version: "16.09pre82105.7465bcd"

Until these things are solved, I have to boot into an older generation or reset my channel when rebuilding, I asume?

git diff 32b7b0009f168cb7e020d297c2f336ef352e9ec1..7465bcd67a2177c63adeec66398b1b581260b31e -- pkgs/os-specific/linux/ati-drivers/default.nix
tells me that there is a diff in nixpkgs/os-specific/linux/ati-drivers/default.nix, but it doesn't look that suspicious.
Here are the commits which changed things in this file:

5d52f5542604fad210a1b16484f31d2f8bb5ed39
40ef23e7ed521abb7161dde01806ca62c9ed25ba
5a6a8213ebefade42f08bfba9ec94652631e0eb1
474f921bacefadaa7f123f7531adfa86062f4b0d
1894615f64502d66c2f5c4ad85e8ee50ee75cbf7
ae74c356d94b795eb07dfe9978788b49b70f5959

(via git log 32b7b0009f168cb7e020d297c2f336ef352e9ec1..7465bcd67a2177c63adeec66398b1b581260b31e -- pkgs/os-specific/linux/ati-drivers/default.nix)

pinging the contributors from the commits listed above. @vcunat @dezgeg

From the journal on x server from the boot of the latest generation which has awefully slow graphics:
Mai 10 12:25:10 lucy display-manager-start[911]: X.Org X Server 1.17.4
Mai 10 12:25:10 lucy display-manager-start[911]: Release Date: 2015-10-28
Mai 10 12:25:10 lucy display-manager-start[911]: X Protocol Version 11, Revision 0
Mai 10 12:25:10 lucy display-manager-start[911]: Build Operating System: Linux 3.14.58 x86_64
Mai 10 12:25:10 lucy display-manager-start[911]: Current Operating System: Linux lucy 4.1.20 #1-NixOS SMP Thu Mar 17 18:11:03 UTC 2016 x86_64

The latter is just one of the multiple-outputs merges, so it doesn't really tell anything new. Might be useful to try to collaborate with others who have the same problem(s): https://github.com/NixOS/nixpkgs/pull/15207

@matthiasbeyer the multiple-outputs breakage should be fixed as of 046ee5ac3ffbc7e5daa706bd3ad405bd30c7aad5 please try from that commit

@edwtjo I'm going on vacation this evening and I'll be back on 22th/23th. I will try then. Thank you for your support!

No problem! You weren't alone stuck with gawd awful slow graphics :)

I switched to ati instead of ati_unfree with the latest channel release and everything seems to work now. I guess I close this for now and open another issue if something breaks...


Pull request for deepak's changes

Thank you, Deepak!  This is wonderful.  I'll get to work on putting this into the master soon.


Change latencyMode to realtime to significantly reduce video file size on Safari

Change latencyMode to realtime to significantly reduce video file size on Safari
Summary:
Encoding a video in Safari without setting the latencyMode to realtime will significantly increase the video output size because the default latencyMode is quality.
https://developer.mozilla.org/en-US/docs/Web/API/VideoEncoder/configure#latencymode
The file size significantly decreases after explicitly setting the latencyMode to realtime and reducing the bitrate to 14 Mbit/s. The output quality is visually comparable to the input video.
Results

Filename
Original Size
Before
After

mob_head_farm_5s.mp4
14.6 MB
204.2 MB
11.5 MB

mob_head_farm_10s.mp4
27.8 MB
425.8 MB
22.8 MB

mob_head_farm_20s.mp4
49.8 MB
757.4 MB
45.6 MB

Note: there is still one open issue on Safari with out of order frames after decoding. This can be expected because the VideoDecoder#output is not guaranteed to be called in VideoFrame presentation order, so it will need additional logic to sort frames by timestamp. I added this as an open issue to the README.md.
Test Plan:
Tested mp4box.html with the videos in this repo and recorded output file size in the table below. This table is also added to the README.md.
Encoding Results

Filename
Original Size
Chrome*
Safari†
Firefox‡

mob_head_farm_5s.mp4
14.6 MB
16.7 MB
11.5 MB
8.9 MB

mob_head_farm_10s.mp4
27.8 MB
33.5 MB
22.8 MB
17.7 MB

mob_head_farm_20s.mp4
49.8 MB
66.7 MB
45.6 MB
35.3 MB

* Chrome Version 125.0.6422.142 (Official Build) (arm64)
† Safari Version 17.5 (196<IP_ADDRESS>.6)
‡ Firefox Nightly 127.0a1 (2024-04-24) (64-bit)

Thank you!!


feat(logging): use winevtlog as default input for windows logs

Hi!
This change is related to https://github.com/newrelic/infrastructure-agent/pull/1125
Fluent-bit has a new input plugin for windows logs that come to "replace" winlog, by now we're updating the infrastructure-agent to accept this new plugin type and the next step will be to set it as the default plugin when installing logging for windows.
We thought on make this change transparent to the users by replacing winlog > winevtlog directly when generating the fluent-bit configuration, but the output generated by those plugins have different attribute names and so on, so we discard that option.
Regards!
https://docs.fluentbit.io/manual/pipeline/inputs/windows-event-log-winevtlog
https://fluentbit.io/announcements/v1.9.0/

Hello @danybmx I've recreated this PR from a branch on the repo, so that the regression tests can run and ensure the recipes are still working properly.
https://github.com/newrelic/open-install-library/pull/763
Would you know if/when this work will be ready to be merged and deployed? I notice the DO NOT MERGE comment in your description (thanks for that by the way).

Indeed @Julien4218 it's ready to be deployed, sorry didn't realise about this one. Go ahead if tests are passing on the new one and thanks a lot for taking care.

As previous comments this is follow up on #763

Perfect, will do. Thanks @danybmx


chore!: bump to hugr-0.9.0

BREAKING CHANGE: hugr types in signatures have changed

Codecov Report
Attention: Patch coverage is 79.31034% with 6 lines in your changes missing coverage. Please review.

Project coverage is 82.59%. Comparing base (eeb27ea) to head (b6b158d).

Files
Patch %
Lines

src/types.rs
76.00%
0 Missing and 6 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #57      +/-   ##
==========================================
- Coverage   82.84%   82.59%   -0.26%
==========================================
  Files          16       16
  Lines        2221     2212       -9
  Branches     2221     2212       -9
==========================================
- Hits         1840     1827      -13
  Misses        246      246
- Partials      135      139       +4

Flag
Coverage Δ

rust
82.59% <79.31%> (-0.26%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added blog on Jwt vs sessions

Checklist

Please note that in case of below checklist not updated accordingly, the maintainers have the right to immediately close your pull request.

[x] You created a branch from dev branch.
[x] You PR is raised on dev branch and not onmaster.
[x] Blog follows Blog Guidelines.
[x] You have read the Contribution Guidlines before creating this PR.
[x] Checked for any duplicate blog entry.
[x] Checked for all grammatical errors in the blog.
[x] You have not published the blog content anywhere else on the internet on platforms like medium, dev.to etc.
[x] The content is not copy-pasted from anywhere else on the Internet.

Description of change

Author Details for Blog Post Entry

id: Uma Victor
bio:I am a software developer based in Nigeria, familiar with a variety of different web technologies/frameworks and keen on always finding ways to explain things as simply as possible.
github: my GitHub
linkedin: My LinkedIn
twitter: My Twitter

Hi @abhir9 .
I'm still waiting for a review.

@pareek-narendra @puneetsingh24 @abhir9 Is there any review on this PR?

@pareek-narendra @puneetsingh24 @abhir9 Is there any review on this PR?

Hi @uma-victor1
Sorry for the delay. We'll review this in the next 24-48 hours and let you know if any changes are necessary.

Thank you.

Hi @uma-victor1
Overall, the article seems to be slightly off from the outline. At large, it is missing:

Bandwidth consumption
Attacking JWT vs. Session-based authentication

Please enrich the article and ensure that it covers everything from the outline in a clear and structured manner.
Once you add/update the content accordingly, we'll further review in-depth and let you know any technical/content improvements necessary.
Thank you,
@raghunath-r-a

Hi @raghunath-r-a,
A happy new week to you!
I have updated the article with the suggestions you made.
Also added two more images and the section that was missing.
Please can you do another review on this?.
Regards,
Victor.

Thank you, @uma-victor1
We'll do both the technical and content review and let you know if any changes are necessary.
Best regards,
@raghunath-r-a

Hi @Akash-Patil. I have made the suggested changes.
Can you take a look?

@abhir9 @mohammed786
Please merge this PR and publish this article. Also, please ensure:

The article folder name is changed to jwt-vs-sessions
The article folder is under the main folder guest-post

Hi @mohammed786 @abhir9.
This PR was set to be merged a week ago.
When will it be done?
Regards,
Victor.


feat(workspace): Distribute pipeline, not providers

Overview
Experiment to distribute DerivationPipeline types, as kona-providers-alloy is doing today. Our abstractions are a bit off right now, with kona-providers holding traits specific to kona-derive, without ever needing to be used alongside it. However, kona-providers-alloy is already following a great pattern by distributing the pipeline itself with a constructor for the configuration as new_online_pipeline, as the abstractions intended.
This pattern keeps cyclical dependencies away, and because we're distributing the pipeline, there's no real need for kona-providers. We can also extend this pattern further, with a good cleanup of the oracle-backed pipeline into a new kona-derive-oracle crate.
This is also how modifications like alt DA intend to ship their pipeline type variants as well.

I'd also like to get this in first: https://github.com/anton-rs/kona/pull/713


Window Title Flickers Between 'bash' and 'sh'

Weird one. Every second, the title bar flashes between 'sh' and 'bash'. Super annoying.
Related to #699 likely.
I launched Zeit, I assume it chose sh as the default shell because of #699, then called bash, now the window flickers.

Should be solved by #892

@matheuss Can be closed since #892

Thank you @ppot 🙇


[#148] Avoid NPE on failed compile

This change also logs the namespace which fails to compile.

Related issues: #148
Contributor Checklist

[X] Review Contributing Guidelines.

[X] Commits contain discrete changes, messages include context about why the change was made and reference the relevant issues.

[x] Provide functional tests. (under modules/clojurephant-plugin/src/compatTest)

[x] Update documentation for user-facing changes. (under docs/)

[X] Ensure all verification tasks pass locally. (./gradlew check)

[x] Ensure CI builds pass on all Java versions. (watch the checks tab once the PR is opened)
TIP: If troubleshooting a CI failure, look for the build scan URL near the bottom of the Gradle output.

This is the first pass at addressing the issue. Let me know if I need to make any changes.

Sorry for the long delay, this looks good to me!

Sorry for the long delay, this looks good to me!


Terminal Glasses Will Not Work

So i am currently trying to code a simple test for my terminal glasses, but it seems to get no output at all. i cant figure out what is wrong. ive done all the coding correct just no output.

there a function u need to call to update the glasses-ui

When one writes issues it is good practice for one to provide more information about the issue.
Firstly, your code would help.
Also have you paired the glasses?
Which version of Minecraft/Forge are you using?
Do you have Optifine?
Which version of OpenModsLib are you using?
Which version of OpenPeripheral?
Which version of OP-Addons?
Have you tried turning it off and on again?

Don't forget to call .sync(), and can we see your code?

Old issue and probably user error. Closing.


Dev branch 5.3.x

@marcopollacci , can you elaborate why the uniqueID's have been changed? They are now longer? Do we have to migrate them?
Thx for explaning..


IMEID.CDM

Hi, I'm going to close this PR, as it's not really adding anything. I do plan on writing a full README when I find the time, but just repeating the name is not enough.


Complete 2-qubit gate player abilities

The Eigenpong interface already enact single qubit gates on the Eigenpong ball when the UI gates are active. We need 2-qubit gates as well.
I was envisioning a system where, when a player activates a 2-qubit gate on one ball, they have the option of creating a new ball that acts as target qubit for the 2-qubit gate, with control qubit being a ball bounced off the player's paddle with a 2-qubit gate active.


RGB camera stops working after running for a while

Required Info

Camera Model
R200

Firmware Version

Operating System & Version
14.04 LTS

Kernel Version (Linux Only)
4.4.0-47-generic

Build System
Makefile

Hi,
I was running R200 camera (both color and depth) with the following configuration for more than an hour, and at some point, RGB camera stops working - as in nothing is getting displayed. However, the weird thing is depth camera works fine.
Camera Configuration:

color_width: 1920
color_height: 1080
color_fps: 30
depth_width: 480
depth_height: 360
depth_fps: 30

I also captured error messages from syslog:
Feb  2 16:28:36 [ 8564.500517] uvcvideo: Non-zero status (-71) in video completion handler.
Feb  2 16:28:37 [ 8564.959494] uvcvideo: Failed to query (SET_CUR) UVC control 1 on unit 7: -32 (exp. 2).
Feb  2 16:28:37 [ 8565.073803] uvcvideo: Non-zero status (-71) in video completion handler.
Feb  2 16:28:37 [ 8565.081476] uvcvideo: Non-zero status (-71) in video completion handler.
Feb  2 16:28:37 [ 8565.091298] uvcvideo: Non-zero status (-71) in video completion handler.

I would really appreciate your help, and let me know if you need any more information.
Thanks!

Hello,
If the issue is software related, we are no longer updating this software as we have moved to our latest generation, the D400 series. If you are in your warranty, a replacement can be provided.
Jesus G.
Intel Customer Support


Bump pg_net to 0.10.0

Update pg_net extension per user request in #669

Requires libcurl >= 7.83. The latest in apt repository is 7.81.

I suspect to fix that error you need to include the curl .so file in the package.


Cannot resume training while using adam optimizer

I trained a neural network using adam optimizer. When I tryed to resume training the neural network from checkpoint using mxnet.module.Module.load with load_optimizer_states=True, an error occurred:
[15:33:55] E:\mxnet\dmlc-core\include\dmlc/logging.h:300: [15:33:55] e:\mxnet\include\mxnet\./tensor_blob.h:160: Check failed: Device::kDevMask == dev_mask_ TBlob.get: device type do not match specified type
[15:33:56] E:\mxnet\dmlc-core\include\dmlc/logging.h:300: [15:33:56] e:\mxnet\src\engine\./threaded_engine.h:336: [15:33:55] e:\mxnet\include\mxnet\./tensor_blob.h:160: Check failed: Device::kDevMask == dev_mask_ TBlob.get: device type do not match specified type
An fatal error occurred in asynchronous engine operation. If you do not know what caused this error, you can try set environment variable MXNET_ENGINE_TYPE to NaiveEngine and run with debugger (i.e. gdb). This will force all operations to be synchronous and backtrace will give you the series of calls that lead to this error. Remember to set MXNET_ENGINE_TYPE back to empty after debugging.

This is because when we load optimizer states, the states of adam optimizer recovered by pickle.loads sit on the device CPU, which is different from the weight of module (commonly sitting on device GPU). Thus when adam_update is called, the error occured.

Would you like to try fixing it?
You can probably fix it by copying state to the same context as weight in updater

I tryed to fix it by modifying optimizer.py.Updater.call(...) as following:
def __call__(self, index, grad, weight):
    """Update weight given gradient and index"""
    if index not in self.states:
        self.states[index] = self.optimizer.create_state(index, weight)
    ####---- what I added
    else:
        if weight.context != self.states[index][0].context:
            self.states[index] = tuple([x.copyto(weight.context) for x in self.states[index]])
    ####----
    self.optimizer.update(index, weight, grad, self.states[index])

But I'm not sure whether it is a suitable solution.

Generally good. But states can be empty or contain things that are not ndarray. So you should check for that.

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!
Also, do please check out our forum (and Chinese version) for general "how-to" questions.


Allow users to customize extra error info for eachMessage and eachBatch handling errors

Is your feature request related to a problem? Please describe.
Currently the error handler just logs out topic, partition, offset and error stack, discarding any potentially useful information (ie for postgres errors it can be bindings, query that resulted in an error, etc).
Describe the solution you'd like
Add a consumer.run option for errorFormatter, that gets passed in the current message/batch and error, and returns a object with keys that will be assigned as extra info to the log message

Solved with https://github.com/tulios/kafkajs/pull/805


Clarify Smdbltrp details

Can I please clarify some details of the Smdbltrp extension?

One note states that the RNMI handler is not provided with information in mtval2, but I see no other reference to that CSR in this extension. Is that note incorrect?
When the Ssdbltrp extension causes a double-trap promoted from [H]S/VS mode with code 16, is it the case that this double-trap can cause a second double-trap to the RNMI handler with reported mncause=16, if mstatus.MDT=1? In other words, can an Ssdbltrp extension double-trap itself be a double-trap from Smdbltrp perspective?

Thanks.

Answering my own question 2: no, because it isn't possible to execute in S-mode with mstatus.MDT=1.

One note states that the RNMI handler is not provided with information in mtval2, but I see no other reference to that CSR in this extension. Is that note incorrect?

Consider a unexpected trap that occurs when executing in M-mode and say the unexpected trap was a guest page fault. If Smrnmi is implemented then the guest page fault does not write the mtval or the mtval2 - instead it writes mnepc with what would be written to mepc and mncause with what would be written to mcause. The RNMI handler can see that mncause indicates its a guest page fault but it cannot use mtval2 to determine the GPA. It would need to decode the instruction at mnepc an use its operands to determine this information.

I see. Thanks.


Fix static page broken links

The fix still isn't quite right @thevahidal:

There are two docs in the URL.

I see, I think the problem in this issue https://github.com/thevahidal/soul/issues/167 is related to broken links in the Soul static page (https://thevahidal.github.io/soul/), I was trying to fix that one, that broked this one! You can see that in here (https://thevahidal.github.io/soul/docs/api-examples.html) the namespaces links are broken.
I'm experimenting with static pages in another PR (https://github.com/thevahidal/soul/pull/169) hope to fix it!


Pyoncord loader doesn't seem to work

Opening this issue after discussing on the discord server for a while (see here)
So basically when I want to install pyoncord using the "official method" with the pyoncord Xposed module, the app installs fine but I don't have the pyoncord features, it's like the regular play store app. See video evidence on the discord thread + installation logs
A workaround I found is installing the Revenge loader then adding the pyoncord .js in the developer settings.
Issue encountered on :
Google Pixel 7 Pro (Android 15 Beta)
Samsung Galaxy Tab S9+ (Android 14)
Samsung Galaxy S24 Ultra (Android 14)

This will unlikely fix it, but can you try again with BunnyManager?


Sortable Feed

Describe your suggested feature
I want to have many feed items from multiple sources in the Feed section. Those rows are ordered only by last feed item added. It would be cool to have options to sort:

Alphabetically
By source, then alphabetically
Custom and drag-and-drop-able

Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an official extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version 1.10.5.
[X] I will fill out all of the requested information in this form.

completed with #220 & #356


How i can run multiple daemons?

For parallel builds

This isn't supported on this moment, feel free to create a pr to add it

Closing the issue, as an answer was provided.


Monorepo needs something like "visibility check"

One "benefit" of the current flutter/flutter and flutter/engine structure is that flutter/flutter can't depend on artifacts from flutter/engine that are not explicitly exported as part of the build, and flutter/engine can't depend on anything from flutter/flutter (at least not in a normal way). Of course, that is also a downside, for example flutter/engine regularly needs to reproduce working tools and infrastructure (Skia Gold, Scenario App, etc) that have working solutions in flutter/flutter.
However, we won't unconditionally want to share code and create a giant spaghetti ball of dependencies (imagine flutter/engine/tools and flutter/flutter/dev getting mixed-up together), and wouldn't want the framework to start introspecting on and getting handles of non-artifacts from the engine that aren't explicitly meant to be public.

We will need something like a visibility or access system. Some (not conclusive) options:
Informal
At the very least, we should document what directories are expected to import what other directories.
That way:

We have a source of truth on the intent, and can use it in code review or escalations
There is a reference point if we want to improve tooling
There is a place for folks to propose changes to the rules in an orderly manner

I imagine the rules being very broad at first, for example something like:
<!-- v0 -->
- `engine/` cannot use or depend on anything outside of `engine/` other than PATH binaries (e.g. `flutter`)
- code outside of the `engine/` cannot use or depend on anything inside of `engine/`

In the future we might expand the rules post refactoring. For example:
<!-- v1 -->
- `engine/` cannot use or depend on anything outside of `engine/` other than PATH binaries (e.g. `flutter`) but _can_ depend on Dart packages listed in `internal/common`

Best Effort w/ Bot tooling
The next step would be to invest in some tooling that, as a best effort, enforce the rules above.
We would go after obvious cases, that is, likely just enforce pubspec.yaml dependencies (assuming that lints are in place that require all dependencies to be listed in pubspec, I believe they are). In other words, the following could still happen:
import 'dart:io' as io;

void main() {
  final naughtyFile = File('../engine/tools/file_i_want_to_read.txt');
}

Best Effort w/ Bot tooling and CI prohibitions
We might decide it is impossibly difficult to encode all of the patterns and paths we want, or that we find that scripts keep making it into CI that reference files or directories they shouldn't, slowing down our progress. This might be technically difficult, but we could ensure that CI processes that run engine builds literally do not have filesystem access to the framework folder, (or it's put in a random directory with only the flutter CLI working), and vica-versa for flutter/flutter and the engine.
I haven't thought too much about this, it's definitely possible - we'd want to exhaust other options first.
Sandboxing
The most complete way to do this is to enforce build and test sandboxing, i.e. with something like:
https://bazel.build/docs/sandboxing
However, I'll leave that as out of scope at the moment.

This might be technically difficult, but we could ensure that CI processes that run engine builds literally do not have filesystem access to the framework folder

I would prefer this, or relying on bazel's sandboxing, as I suspect it's actually simpler than linting it.

I agree, particularly if we start doing this relatively soon (TM).


Transaction Failure on Briskett

I tried to make a transaction on https://briskett.app/ but received the following failure message:
----Request to https://mainnet.ecadinfra.com/chains/main/blocks/head/helpers/forge/operations failed----
I used a Trezor Hardware wallett.
Thanks a lot in advance

May I ask if there is a possibility to fix this please?

@RobCombo This issue is now patched in v0.22.4

@lousando Which commit did change the backend URL? All I can see are the changes in copy.

@prusnak .env change on the build side. A lot of Tezos RPCs are bow charging for access, so that's why Briskett broke. Had to spin up my own.


DevTools sidebar has broken design and bad links

Request type
Correction or update
Details
DevTools sidebar can expand Core Tools > Network Monitor section, which has a broken layout:

Clicking the links leads to URLs like https://developer.mozilla.org/en-US/docs/Tools/%3C=%=baseURLNetwork_Monitor/request_list

Pinged @irenesmith about this as well.

I took a quick look, and noticed the problem, so submitted a PR to fix it: https://github.com/mdn/kumascript/pull/1152

The above PR has been reviewed, fixed up, and merged. One the next Kuma release happens and the changes actually go live on the site, we'll close this issue.

I can confirm this is now fixed on the live site. If you see any pages where the sidebar is still broken, try a Shift + Refresh.


CI: Move remaining Linux android_test workflows to Engflow's remote execution

Description:
CI: Move remaining Linux android_test workflows to Engflow's remote execution and improve build times by 10x
As part of this change we need to setup the Java toolchain to use Java 8 (as specified by the java-setup GitHub action).
Also, switch from setOnResponseHeaders to setOnResponseData in //test/kotlin/integration:set_event_tracker_test which since the former was consistently failing when running remotely (example)
Before (~40min):

After (~4mins):

Risk Level: Low
Testing: See android_test
Docs Changes: N/A
Release Notes: N/A

/cc @ulfjack @goaway


Switches?

Seems this will only turn on/off "light" entities.  "switches" do not seem to work.  Am I missing something?  I have a number of rooms that use smart switches to control dumb lights.  I would very much like to turn those off as well.

@seanmoro indeed Magic Areas will only work with light domain but I got your back on this! I have the same situation. What I do is that I create a Template Light and make those control the switch.
Hope that helps!


Incorrect behavior for compound rigidbody created in editor

Description
Compound dynamic bodies created in the editor are behaving very oddly. Even if there is only one child and that child is setup the same way as a regular primitive rigidbody, the behavior it very different. The way they are interacting with other bodies and the way the editor displays the bounding box of the compound bodies incorrectly makes me believe it's a scaling issue for the children collisions, but I'm not sure.
Here is a sample project for build from master and last major version, both have the same issue: 1.27.0 and 1.28.0
The falling chair demo uses compound dynamic rigidbodies but they're created programmatically, which is what makes me think it is something specific to the editor.
Steps to Reproduce

Create new project
Create a dynamic rigidbody in the editor and something for it to interact with (floor)

I created a Editor version of compound physics demo if you want to see if there's a difference in set up: https://developer.playcanvas.com/en/tutorials/compound-physics-shapes/

Oh interesting, looking into that now.

Okay so seeing that work made me think maybe something in the project got messed up along the way so I cloned the chair project and tried to get the chair to behave incorrectly but could not. However it looks like if you specifically do the following you'll end up with the problem.

Create a new entity from the root
Add a compound collision and dynamic rigidbody to it
Create a child with a box collision and a model
Move the compound parent around using the editor arrows
Change the child's position
The editor's bounding box when clicking on the parent should look incorrect and the body will now not interact correctly. You might have to repeat 4-5 a couple times to get that to happen.

Here is the fork of the chairs project with the above.

Ah, I see. Looks like if the children are off centre to the parent, the issue is much more clear.

Centre of gravity for compound collision shape is the origin of that entity. While with primitive shapes, it is calculated based on that primitive bounds.
We will be introducing ability to automatically calculate centre of collision compound shape, as well as ability to use set origin (as is now).

Sorry, fat fingered the scrolling on mobile :sweat_smile:
That makes sense and explains the behaviour as when it collides, it's trying to pivot around its centre of gravity.

I'm also running into this problem. It would be nice if this can be fixed, as this issue was created already two years ago.

Looking back on the ticket, it looks like designed behaviour as the pivot/center of mass is where the parent/compound rigidbody is.
What is the issue you are running into @albertvanveen ?

The issue is basically that I expect that the center of the mass is the in the middle of all collision components when I use a compound collider. So if I use only one collision component, I expect that the center of the mass is in the middle of that collision component.

Ah I see. It's unlikely that would change that as it was designed into the way that the parent would be the 'center' of mass where everything pivots around.

For your info:
This is a default way of setting a center of mass in Bullet physics (Ammo)- one would offset the child of a compound body. This should not change, as this is often used in Ammo's raycast vehicles, where you want to make the center of mass below the vehicle body for stability.
In contrast, Rapier physics engine allows an explicit setting for the local coordinates of the center of mass. Otherwise, it automatically detects the center, though, so shifting a child there would not work the same way it would in Ammo, e.g. having a single child in a compound body would always have the centers of the parent body and the child match.

The complexity of auto-setting centre of mass for compounds, would be based on density and volume of reach individual compound shape. Currently it is not that detailed. So developer is left with manual option to define the center.


Bedrockify Incompatibility

Mod Name
Bedrockify
Mod Homepage
https://modrinth.com/mod/bedrockify
Minecraft version
1.20.1
Describe the bug
Bedrockify crashes at startup
Steps to reproduce

Install Bedrockify
Run Minecraft
Crash

Logs
https://pastebin.com/Kp9QYLMP
Additional context
I don't really know if bedrockify does that or it's another mod.

to be sure reduce create a new instance with only connector and bedrockify and it's better to have the crash log or the debug log if you want on the server we can help analysis your crash.

Tested to work fine on Forge 47.1.3 and Connector beta 32


Add a dict with common NTLM directories

Hi,
This PR propose a dictionary with a collection of names of web folders commonly requiring NTLM authentication.
🌏It was taken from this repository: https://github.com/nyxgeek/ntlmscan
🥇 All credits goes to @nyxgeek !!!
👨💻I only applied the following processing against the original content of the file paths.dict to remove the first slash as well as any duplicates:
curl -sk https://raw.githubusercontent.com/nyxgeek/ntlmscan/master/paths.dict | cut -c 2- | sort -u
_windows/default.aspx?ReturnUrl=/
abs/
adfs/ls/wia
...

🤗Thanks in advance.

Thanks for the tip!
Le sam. 30 mars 2024 à 17:40, Dominique RIGHETTO @.***>
a écrit :

Hi,
This PR propose a dictionary with a collection of names of web folders
commonly requiring NTLM authentication.
🌏It was taken from this repository: https://github.com/nyxgeek/ntlmscan
🥇 All credits goes to @nyxgeek https://github.com/nyxgeek !!!
👨💻I only applied the following processing against the original content
of the file paths.dict
https://github.com/nyxgeek/ntlmscan/blob/master/paths.dict to remove
the first slash as well as any duplicates:
curl -sk https://raw.githubusercontent.com/nyxgeek/ntlmscan/master/paths.dict | cut -c 2- | sort -u
_windows/default.aspx?ReturnUrl=/
abs/
adfs/ls/wia
...
🤗Thanks in advance.
You can view, comment on, or merge this pull request online at:
https://github.com/danielmiessler/SecLists/pull/994
Commit Summary

3373154
https://github.com/danielmiessler/SecLists/pull/994/commits/3373154bafa185dc3bf229c4ee3a193c795f7b9a
[Github Action] Automated readme update.
14a4897
https://github.com/danielmiessler/SecLists/pull/994/commits/14a48970a1117c4edc4708844edc2de63e5204e8
Create ntlm-directories.txt

File Changes
(2 files https://github.com/danielmiessler/SecLists/pull/994/files)

A Discovery/Web-Content/ntlm-directories.txt
https://github.com/danielmiessler/SecLists/pull/994/files#diff-9d043d4217a7bedd79714ab263403a49fa0dce1c9bc91edf6725113ca749539d
(48)
M README.md
https://github.com/danielmiessler/SecLists/pull/994/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
(4)

Patch Links:

https://github.com/danielmiessler/SecLists/pull/994.patch
https://github.com/danielmiessler/SecLists/pull/994.diff

—
Reply to this email directly, view it on GitHub
https://github.com/danielmiessler/SecLists/pull/994, or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5MEH2IRSWZ6I7HIU2ZJ3SLY23MFTAVCNFSM6AAAAABFPVRYXWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYTMNJXGIYDQMA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Composite image from multiple files

Following up on https://github.com/ResonantGeoData/ResonantGeoData/issues/421#issuecomment-854073827
Would it be possible to have large image use separate TIFs to composite into a single RGB image?
Use case: making an RGB tile server from Landsat images where each band of the raster is in a separate TIF.
A possible workaround: create a VRT for these scenarios, specifying the RGB bands

There are two approaches to this:
(1) create a new "multi" tile source (which would require a file saying how images are composited toegther).  This would be like a VRT file but have the flexibility of using any tile source large_image supports.
(2) allow specifying other files as part of the style specification.  That is, something like: {bands: [{palette: ['black', 'red']}, {file: <second file>, palette: ['black', 'green']}, {file: <third file>, palette: ['black', 'blue']}]}
The virtue of (1) is that we could construct multi-frame sources fairly intelligently (e.g., you have a time series that you could assemble as frames AND composite different color bands).
The virtue of (2) is the dynamic nature of it and lack of an extra control file.  Probably once we implement (1), also supporting (2) will be nearly trivial.

A substantial start to this has been added in #764.  It still needs to (a) support general transforms, (b) support cropping, (c) support geospatial data.  Ideally, we'd also support an "inline" version of this, so you wouldn't need an explicit source file.

With #1415, the only missing feature is support for geospatial data.


Feature master/codestyle

A lot of docblocks fixed:
Before making structural improvements I wanted my editor to interpret the code correctly.

Coverage remained the same at 90.54% when pulling 9c1b78ca24f2d47b79f80060e0f1633a9e7c6c64 on Hikariii:feature-master/codestyle into 8eeb263a5325d88c896a8549e702d7d8456b6299 on onelogin:master.

sqashed (rebase) commit history

Coverage remained the same at 90.54% when pulling 316e72a142dac2d514c699fb39ee153a80d04113 on Hikariii:feature-master/codestyle into 8eeb263a5325d88c896a8549e702d7d8456b6299 on onelogin:master.

Coverage decreased (-0.05%) to 90.49% when pulling 316e72a142dac2d514c699fb39ee153a80d04113 on Hikariii:feature-master/codestyle into 8eeb263a5325d88c896a8549e702d7d8456b6299 on onelogin:master.

@Hikariii, Sorry for the delay, I will try to review and merge it next week.


MAINT: stats.rayleigh: enforce constraint on location

Reference issue
Closes gh-17088
What does this implement/fix?
stats.rayleigh.fit can return loc that is inconsistent with the data whenever loc is not fixed. This fixes that problem.
Additional information
When no parameters are fixed:

The situation is similar when scale is fixed. These are roughly what these plots looked like in main, but in that case, the overridden fit method frequently returned fits that were inconsistent with the data (6-8% of randomly-generated cases).

Yes, but this one is more of a bug fix, since the overridden fit method would return invalid fits before. I show the performance plot just to confirm that the corrected fit method is still faster than the generic fit method.
Thanks for the review. Feel free to merge if you're comfortable with it, or let me know if there's anything to do.

Thanks Matt!


[Text Field ] Custom value for required input instead of static asterisk

Current Behavior hushed
Actually, the required text field state force a static asterisk '\u00a0*'.
Expected Behavior thinking
Add a new Prop to custom the value.
<TextField requiredLabelValue="anything" / >

@yassinechabli Could you expand on the issue? What problem are you trying to solve?

@yassinechabli Could you expand on the issue? What problem are you trying to solve?


fix/28334: Missing displayName prop leads to console error (testID undefined)

Details
Dev - Home address - AddressPage (and many more) – Missing displayName prop leads to console error (testID undefined).
Fixed Issues
$ https://github.com/Expensify/App/issues/28334
PROPOSAL: https://github.com/Expensify/App/issues/28334#issuecomment-1737807744
Tests

Open console.
Open the profile popup via LHN
Click the profile image icon to open up profile settings
Click 'Personal details'
Click 'Home address'
Verify that the error mentioned below does not appear in the console anymore.
Error: Warning: Failed prop type: The prop testID is marked as required in ScreenWrapper, but its value is undefined.

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

Offline tests

Open console.
Open the profile popup via LHN
Click the profile image icon to open up profile settings
Click 'Personal details'
Click 'Home address'
Verify that the error mentioned below does not appear in the console anymore.
Error: Warning: Failed prop type: The prop testID is marked as required in ScreenWrapper, but its value is undefined.

QA Steps

Open console.
Open the profile popup via LHN
Click the profile image icon to open up profile settings
Click 'Personal details'
Click 'Home address'
Verify that the error mentioned below does not appear in the console anymore.
Error: Warning: Failed prop type: The prop testID is marked as required in ScreenWrapper, but its value is undefined.

[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 / Chrome
[x] iOS / native
[x] iOS / 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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(themeColors.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 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.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/56457735/53c87772-c5d8-4489-aea6-5ba91a3bf63f

Mobile Web - Chrome

https://github.com/Expensify/App/assets/56457735/36912d8f-fc53-4613-a476-6cfd48c1fa9a

Mobile Web - Safari

https://github.com/Expensify/App/assets/56457735/1f23a371-c196-4db7-9db9-ffb370ac5494

Desktop

https://github.com/Expensify/App/assets/56457735/814d3bea-1c3a-4ed0-92fd-28adafaa266d

iOS

https://github.com/Expensify/App/assets/56457735/8e7c8ace-b472-44bf-92ad-f3a9e83efb10

Android

https://github.com/Expensify/App/assets/56457735/1104fdd8-4aa8-4adc-8553-8708b170aa10

I have read the CLA Document and I hereby sign the CLA

Is it possible to set displayName for the below class components in this PR?

AddPersonalBankAccountPage
SearchPage
RequestorOnfidoStep
ValidationStep
ShareCodePage
ReimbursementAccountPage
ContactMethodDetailsPage
WorkspaceInviteMessagePage

Pushed @Pujan92's requested changes and resolved conflict.
PR ready to merge from my side!
cc @sobitneupane @roryabraham

@ikevin127 Looks like there was some issue while resolving the conflict. I cannot run the app with error "/Users/sobitneupane/Documents/Expensify/App/src/components/ValuePicker doesn't exist"

I will be OOO next week. @mananjadhav will be taking over the issue.

I added back the src/components/ValuePicker/ and its files.

I believe we have removed ValuePicker in the latest main. So, we should make sure that ValuePicker is removed after resolving the conflicts.

@sobitneupane
Looks like they added back ValuePicker folder with the 2 files on the latest main so I'll keep it with the modifications required by this PR.
@mananjadhav
Just rebased the PR with the latest main, all tests and lint pass except lint for rulesdir/display-name-property for which I have a PR opened here to remove the rule as part of this fix.
Please let me know if everything is all right for merge.

@ikevin127 I am trying to review this PR and it has 621 files. I can see the updates such as Readme, etc. which aren't a part of this PR and makes it difficult to review.

@mananjadhav Sure, I just reverted the rebase I did so that you can review only the changes I made.
Again, all tests and lint pass except lint for rulesdir/display-name-property for which I have a PR opened https://github.com/Expensify/eslint-config-expensify/pull/76 to remove the rule as part of this issue.

Thanks @ikevin127 I am half way through the PR, but we've got some merge conflicts to resolve.

@mananjadhav Cool, please let me know how you want me to approach the conflicts. Deal with them now or after you're done with the review ?
If now, now should I fix the conflicts such that there won't be 600+ changed files again ? Which would make the PR difficult to review.

@ikevin127 Fixing the conflicts before the review would be helpful. As I can see the changes are repetitive so once I am done with the review, I'll head for the testing.

should I fix the conflicts such that there won't be 600+ changed files again

Yes that is always what we should aim for.

@mananjadhav Resolved the merge conflicts. Please let me know if any other issues pop up.

@mananjadhav Any updates with regards to the review progress ?
Regarding the current conflict, withNavigationFallback.js was recently deleted but because it causes a bug https://github.com/Expensify/App/issues/29839, a PR was opened https://github.com/Expensify/App/pull/29844 to add back that HOC which will solve the conflict for this PR too.

I just reviewed and we've got some conflicts again 🤦 Can you please help resolve them?

@mananjadhav Fixed instances mentioned in your comments, except for the conflict of file src/components/withNavigation.js.
This file seems to have been removed from main, but if I remove it in this PR the app would crash because the hook is used within other files. How do contributors usually approach this case in their PR's ?

@ikevin127 I am not sure I understand. If withNavigation is removed from main, then the corresponding usages would've been removed too right?

If I remove it in this PR the app would crash because the hook is used within other files.

But now when you pull, aren't you seeing that the hook usage is removed from other files? Can you share an example of the file?

@mananjadhav Indeed but if I do a rebase with main right now, again there will be 600+ files changed on this PR.
This is why I'm asking, should I do rebase with main now and have all the files changed which would fix the conflict and add all other changes from the current main ?
Or how do people usually go about this kind of conflict related issue on a PR's that is opened for a long time and there's lots of changes on current main ?
This is my first contribution, and first time working within a big codebase where hundred of changes are pushed to main daily, takes a bit of getting used to the way things are done.

@mananjadhav Fixed latest conflicts again. Good to go!

@mananjadhav Ready for review / checklist. Hopefully no more conflicts 🤞

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] 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
[x] I verified proper code patterns were followed (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] 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[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] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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(themeColors.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 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.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/3069065/2116a21d-24f7-4167-b4d1-7c99876e3015

Mobile Web - Chrome
https://github.com/Expensify/App/assets/3069065/21bbd01a-a929-43e7-8594-3f2a10b58371

Mobile Web - Safari
https://github.com/Expensify/App/assets/3069065/cf880a0b-f74e-42cd-90b3-c21bd9f30525

Desktop
https://github.com/Expensify/App/assets/3069065/0ec7d029-105b-4a80-8731-c491369a33bb

iOS
https://github.com/Expensify/App/assets/3069065/3a442285-e87b-4c8a-a850-6835fa5b82e8

Android
https://github.com/Expensify/App/assets/3069065/13106ba5-1070-4007-b64d-5e75f025abd6

@roryabraham Whenever you get to this one, ideally we should merge this PR https://github.com/Expensify/eslint-config-expensify/pull/76 first as per your request here https://github.com/Expensify/App/issues/28334#issuecomment-1746560170, then I can update the package-lock on this PR as well because currently we get 6 lint errors because of the 'rulesdir/display-name-property': 'error' rule.

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.3.91-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.91-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Removed some misplaced text in code

Removed misplaced text in code example
Minor edit

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

I just created a Pull Request that fixes this using syntactically correct code earlier today: https://github.com/dotnet/docs/pull/2151.

Thanks much @weirdev for putting this in. :+1: Yes, @svick just squared that one away. I'm going to close, but please feel free to send more fixes in when you spot something. We're really happy to have your help!


How to use docker and kubernetes on Windows server 2016?

The instructions work on windows 10 but there are no instructions on how to move this solution to production (windows server 2016) and the irony is the heading of these pages is "grpc in production".  Docker Desktop is not supported on window server 2016 and windows container created by docker EE cannot be scheduled on kubernetes. There is no clear guide on how to move ahead.

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

ID: 74e29d7c-df16-2f4c-3899-ffc2ba67b166
Version Independent ID: d0d62cdb-fbc6-f663-e473-51369d756877
Content: Kubernetes - gRPC for WCF developers
Content Source: docs/architecture/grpc-for-wcf-developers/kubernetes.md
Product: dotnet-architecture
Technology: grpc
GitHub Login: @shirhatti
Microsoft Alias: soshir

@shirhatti Please suggest what will be the guidance here.

ping @shirhatti

Closing this issue, as it relates to an eBook that has since been archived. For more information, see:

Issue: #38774
Pull request: #38775


How to get user identity?

How  to get user identity? just like flask-jwt-extended method get_jwt_identity

Hi @keyeMyria,
can you provide more information on what the function get_jwt_identity consists of?,
It's used to encode the token or to obtain a user the given a token?

The method get_jwt_identity just get the identity of user id

I'm not sure if this is what you asking but when you use Django Graphene resolve function you just need to access info.context.user? And there is also get_payload method in utils.

Hi @keyeMyria,
-JWT_PAYLOAD_HANDLER setting variable decodes a JWT token and generates the token payload.
-JWT_PAYLOAD_GET_USERNAME_HANDLER setting variable obtains the user-ID from the decoded payload.
I think the get_jwt_identity function looks like JWT_PAYLOAD_GET_USERNAME_HANDLER.


Handle special characters in role name

» afpv2 show account-name role-namé
Password for mriehl:
Traceback (most recent call last):
  File "/usr/local/bin/afpv2", line 9, in <module>
    load_entry_point('afp-cli==1.3.1.post166', 'console_scripts', 'afpv2')()
  File "/usr/local/lib/python2.7/dist-packages/afp_cli/cliv2.py", line 59, in main
    unprotected_main()
  File "/usr/local/lib/python2.7/dist-packages/afp_cli/cliv2.py", line 107, in unprotected_main
    aws_credentials = get_aws_credentials(federation_client, account, role)
  File "/usr/local/lib/python2.7/dist-packages/afp_cli/cli_functions.py", line 60, in get_aws_credentials
    aws_credentials = federation_client.get_aws_credentials(account, role)
  File "/usr/local/lib/python2.7/dist-packages/afp_cli/client.py", line 49, in get_aws_credentials
    role))
  File "/usr/local/lib/python2.7/dist-packages/afp_cli/client.py", line 38, in call_api
    self.api_url, url_suffix, api_result.json()['message']))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 78: ordinal not in range(128)

This is an enhancement till we encounter the wirst role with such a name.

Done in https://github.com/ImmobilienScout24/afp-cli/pull/47


Prevent spring-cloud-aws-messaging from trying to stop the queue

I'm using spring-cloud-aws-messaging in a Spring Boot 2.1.9.RELEASE project.
I have SQS queue created manually in AWS.
It is being used like:
@SqsListener("${sqs.name.incoming}")
public void listen(String message) {
    ...
}

It works fine. But when I stop my application in IDE, or when the Spring Boot tests finish, it tries to stop the queue. It can't stop it and eventually times out. It throws this exception:
2019-10-29 15:40:07.949  WARN 10378 --- [       Thread-2] s.c.a.m.l.SimpleMessageListenerContainer : An exception occurred while stopping queue 'my-awesome-queue-name'

java.util.concurrent.TimeoutException: null
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204) ~[na:na]
    at org.springframework.cloud.aws.messaging.listener.SimpleMessageListenerContainer.waitForRunningQueuesToStop(SimpleMessageListenerContainer.java:161) ~[spring-cloud-aws-messaging-2.1.3.RELEASE.jar:2.1.3.RELEASE]
    at org.springframework.cloud.aws.messaging.listener.SimpleMessageListenerContainer.doStop(SimpleMessageListenerContainer.java:140) ~[spring-cloud-aws-messaging-2.1.3.RELEASE.jar:2.1.3.RELEASE]
    at org.springframework.cloud.aws.messaging.listener.AbstractMessageListenerContainer.stop(AbstractMessageListenerContainer.java:351) ~[spring-cloud-aws-messaging-2.1.3.RELEASE.jar:2.1.3.RELEASE]
    at org.springframework.cloud.aws.messaging.listener.SimpleMessageListenerContainer.stop(SimpleMessageListenerContainer.java:45) ~[spring-cloud-aws-messaging-2.1.3.RELEASE.jar:2.1.3.RELEASE]
    at org.springframework.cloud.aws.messaging.listener.AbstractMessageListenerContainer.stop(AbstractMessageListenerContainer.java:239) ~[spring-cloud-aws-messaging-2.1.3.RELEASE.jar:2.1.3.RELEASE]
    at org.springframework.cloud.aws.messaging.listener.SimpleMessageListenerContainer.stop(SimpleMessageListenerContainer.java:45) ~[spring-cloud-aws-messaging-2.1.3.RELEASE.jar:2.1.3.RELEASE]
    at org.springframework.context.support.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:238) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:53) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:377) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.context.support.DefaultLifecycleProcessor.stopBeans(DefaultLifecycleProcessor.java:210) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.context.support.DefaultLifecycleProcessor.onClose(DefaultLifecycleProcessor.java:128) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1018) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:945) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]

This waiting slows down application or tests shutdown.
How do I tell spring-cloud-aws-messaging that it is a manually created queue and it should not try to shut it down?
Not getting an answer on stackoverflow.

Actually, it's not about queues. I agree, it's not clear from their names, but methods like notifyRunningQueuesToStop, waitForRunningQueuesToStop or stopQueue are working with message listeners. When we have the TimeoutException we are waiting for AsynchronousMessageListener.
The listener can be busy with long polling connection up to 20 seconds. But default timeout of waiting is only 10 seconds.

This waiting slows down application or tests shutdown.

For testing scenario / faster shutdown we can reduce timeout for poll requests
@Bean
public SimpleMessageListenerContainerFactory simpleMessageListenerContainerFactory(
    AmazonSQSAsync amazonSQSAsync
) {
  SimpleMessageListenerContainerFactory factory = new SimpleMessageListenerContainerFactory();
  factory.setAmazonSqs(amazonSQSAsync);
  factory.setWaitTimeOut(1); // less than 10 sec
  return factory;
}

Thanks @dmile. As mentioned here, long polling helps reduce cost. So I'll leave it as it is in production, but will override that bean for tests as you suggested.

Would it be possible to set the timeout for the shutdown of the thread pool to the same value as the timeout for the long poll? I guess the default timeout of 20s for the long poll is something that is defined by the aws client. But if the developer provides a value for the long poll timeout to Spring, Spring could also apply it to the timeout for the shutdown of the threadpool.

waitTimeOut should be configurable via properties so that it's easier to provide profile-specific configuration.

@maciejwalkowiak waitTimeOut is configurable in the SimpleMessageListenerContainerFactory.
But we need queueStopTimeout to be exposed as well - or have the mechanism that it uses the waitTimeout.

I need some time to dig through SQS related issues. You are welcome to contribute PR but I'm not able at this point to guide you.

@huehnerlady @maciejwalkowiak any progress?
Happy to create a PR that exposes  the queueStopTimeout in the SimpleMessageListenerContainerFactory and let one configure this property.

@maciejwalkowiak thank you so much for implementing this. Do you have any idea when it will be released? :)

Kudos go to @mkatircioglu! I am sorry but I can't tell exactly when 2.3 will be released as it's going to be first release after Spring Cloud AWS leaves Spring Cloud release train.

@maciejwalkowiak do you have an update for this? any timeline when 2.3 will be released? or could it maybe be relesed in an earlier version after all?


Returning Vector instead of Lidar data

Hi,
Thanks for making this available. I am using your package to get data but I am getting this error:
using FIREFOX
...waiting for page to load
...waiting for shapefile to load
...waiting for available products to load
Traceback (most recent call last):
File "/home/joseph/Downloads/Software/EA_lidar/ea_lidar/ea_lidar.py", line 253, in
driver = download_tile(zipPath,
File "/home/joseph/Downloads/Software/EA_lidar/ea_lidar/ea_lidar.py", line 78, in download_tile
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#productSelect")))
File "/home/joseph/miniconda3/envs/api/lib/python3.9/site-packages/selenium/webdriver/support/wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Could you provide some guidance on how to solve it?
Thanks in advance

Hi @jozphlp can you post the command you used and are you running headless?


Created a Wiki

I figured it was a good idea to get the wiki started and put some tutorials in there on how to get this project setup. That way anyone new that is wanting to build this will have a resource to go over how.
I just finished writing the cURL build page. Only other one i guess is OpenSSL, and thats not really a build as much as its just downloading and making sure you set the path up correctly.
Ill try to get that one created soon, or if anyone else wants to that would be awesome too.
Also, if you ran into any issues while building i would really appreciate if you created a page on what the issue was and how you fixed it. Or maybe there can be a general build errors page or something. I know one of the things that has popped up a few times from other users contacting me for help is the fact that not everyone has windows 10 sdk, and that seems to be one of the required sdk's (doesnt require linking it to visual studios though since visual studios should locate it automatically). I dont know what other sdks/things are required from a fresh build since i cant remember the last time i had a fresh build with no sdks installed. I feel like the copy of visual studios i downloaded came with all the needed sdk's and i only had to download the 2 libraries to get this project working. Idk.
So yup, anything you can add would be awesome. I would like to eventually get some code descriptions/write-up in there as well so people can refer to it if they want to do something with their bot. But that isnt as much of a priority as coding lol

how do we edit it? i think i am missing permissions. id like to add some code markups (though maybe it would be better to just leave this in comments?).

I'll check to see if I need to grant permissions or something. I would think contributes could edit it but I dont know as I've never used the GitHub wiki before

Hmm the settings shows "GitHub Wikis is a simple way to let others contribute content. Any GitHub user can create and edit pages to use for documentation, examples, support, or anything you wish."
Do you not see either of these buttons when you click the wiki tab?

This is all I see.
Hey, question about math in the client. What does the cube of our step distance give us? You were comparing the change in x squared + the change in y squared to the cube of our step "if (loc.sqDistanceTo(target) > step * step * step) else". I get that its finding the diagonal distance squared to the target, but why do we use step^3 instead of maybe the square root of the square distance to the target compared to the step ^1? I know it's a basic math question, but i never learned this. Please explain your process, thanks :+1:

Really strange, maybe you have to be a contributor before you can edit it. Ill check to see what i can find.
As for the math, the forumla to find the distance between two points:
 Distance = square root of (x2−x1)^2 + (y2−y1)^2
If you look at the WorldPosData class, there are two functions with similar names. sqDistanceTo and distanceTo. distanceTo is the square root of sqDistanceTo. sqDistanceTo is essentially  "(x2−x1) * (x2−x1) + (y2−y1) + (y2−y1)" which is (x2−x1)^2 + (y2−y1)^2.
I originally had the moveTo using "loc.distanceTo(target) > step". BlackRayquaza made the change to "loc.sqDistanceTo(target) > step *step" saying its quicker (it makes sense, but is only fractions of a second faster). The square root of something does the opposite of (x * x), square root of x^2 would just be x. Well if you dont square root the distance, you can instead just do step^2 and you will get the same results as doing square root distance > step.
I changed it just today to instead check if the distance to the target is within step^3 (step * step * step), This is actually a huge change, i might lower it a bit, but my idea is the bot will do the whole "jump" to the item if its within the step^3, otherwise it will just do the standard step and then check everything again.
I plan to change it so it will only check if the distance is within 2-3 step distances, if not it will do a regular step, otherwise it will jump to it.

over i removed the restriction, you should be able to edit the wiki now.


Merge Igal's work integrating i18n

Oops, this duplicates the existing i18n pull request. Closing.


feat: Allow Choice's OptionList to be a mapping of values → pretty labels

This PR updates the definition of OptionList to be either List[str] (as is the currently the case) or Mapping[str, str]. If a mapping is provided to Choice for options, the values of the mapping are used as display values when prompting the user. This enhancement allows developers to provide a friendlier user experience while still storing the same answer values as if only a list was provided (current behaviour).
answers = columbo.get_answers(
    [
        columbo.Choice(
            "fav_colour",
            message="What is your favourite colour?",
            options={
                "#FF0000": "Red",
                "#00FF00": "Green",
                "#0000FF": "Blue",
                "#000000": "Black",
            },
            default="#0000FF",
        )
    ]
)

print(answers)

Which gives you:
What is your favourite colour?
1 - Red
2 - Green
3 - Blue
4 - Black
Enter the number of your choice [3]: 2

{'fav_colour': '#00FF00'}

Closes #389

@plannigan could you take a look at this and let me know if it's on the right track before I spent time on updating documentation (...after lunch...)


Build Server & Client Libraries with esnext and ES Modules

Currently, the project uses Gulp and Babel to produce the server and client libraries required to be imported by anyone using react-server.  That means those libraries are transpiled down to es5 and end applications can't ship esnext code to browsers as they see fit.
This issue proposes the following:

Use Rollup to bundle client and server libraries ending in '.esm.js' as ES Modules.  These libraries would not be transpiled by Babel, just bundled by Rollup.
This likely will apply to the following packages inside react-server:

flab
react-server-core-middleware
react-server-data-bundle-cache
react-server-middleware-json-response
react-server

Add these libraries to package.json so that Webpack can find and use the ES Modules version when building the final application for the end-developer.
The end developer is then required to transpile the final application as they see fit.

All of this paves the way for further enhancements to how react-server leverages Webpack to bundle the final application and transpiles at compile time (not "publish" time for react-server).  It further allows the end-developer to make custom decisions about what to transpile.  For example, if all of the clients of my application use ES6 compatible browsers, I don't want to transpile everything down to ES5.
See the the article Webpack and Rollup: the same but different for conceptual details.

I think I'm in favor of this proposal. It makes sense to me to let react-server users ship ES6/esnext directly to browsers that support it.
I haven't thought deeply about what would be required from the technical side, but it seems like we'll probably want to ship both pre-transpiled and non-transpiled code for at least a little while to give existing users a chance to migrate.
Also, I assume that as part of this proposal we'd be renaming all the files in react-server to .esm.js?
And looking further down the road, if we're shipping untranspiled code, we'll probably want some way of communicating what level of ES we support in that code, to make it easy for users to know what all the need to transpile it, if necessary?

@roblg My plan was to submit a PR that uses Rollup to generate a non-transpiled ESM bundle and a transpiled UMD bundle (same as what is currently being produced).  No need to change any existing filenames to .esm.js...just the final bundle.
I was also planning to create an entry in the documentation on how to use the ESM bundle and that the implementer has to take ownership of transpiling any features as they see fit (i.e. recommend the Babel settings).  I've been thinking through the question of "do we need to share what level of ES is supported in the code" in my personal projects and I think the answer, in general is "no, we don't."  If I use ES6 in my project and React Server uses ES7, Babel will transform all of code to whatever the transform target is.  If that target is ES5, then both ES6 and ES7 code is transpiled/polyfilled to ES5.  If that target is ES6, then just the React Server ES7 code is transpiled.  None of that is ever communicated by the React Server project though...just that fact that it must be transpiled by the end user...that's it.

I'm planning to work on this over the next 2 weeks, so I'll have a rough codebase to share soon.

If I use ES6 in my project and React Server uses ES7, Babel will transform all of code to whatever the transform target is.

In this scenario, I was imagining that React Server would tell the user via docs "We're using ES7, so transpile that however you want.", or "We're using ES7 + <this one random experimental feature that has a plugin >", as a sort of contract between us and them. It'd be super annoying if users had to figure out what they needed to transpile by trial and error.
I thin the rest makes sense to me. 👍


Use incremental keys for sounds instead of filename hash

This commit https://github.com/zmxv/react-native-sound/commit/42f329544d8f4d129635d70d12038848c6c7a8e4 changes the behaviour of the library in a likely undesirable way. If you create multiple sounds with the same filename, they are all given the same _key property, a hash of the filename. I manage a product that requires multiple instances of the same sound, and now they're all just different javascript objects controlling the same single native sound instance.
This PR simply goes back to assigning the _key value using an incremental value.
Why was _key changed to using a hash function? I can imagine there being reasons to do so, but I'm unsure @varungupta85

Hey I love this :) Anything I can do with the process to help this move forward! @cark1

sorry for ping @zmxv, can you please review this?

Hi! Could this commit be released to npm?


403 Access denies

I read your instruction and I had created two accounts before.
Did you have any suggestion?
Regards
Thomas

Basic Auth needed.  Ensure you use a domain account or if workgroup, ensure that account user/pass you are using exists on the TFS server.
I'll verify today, but links relevant to the issue:
http://blogs.teamfoundation.co.za/2015/05/installing-and-configuring-tfs-2015-on.html
http://serverfault.com/questions/474882/how-do-i-enable-basic-authentication-for-iis-8-in-windows-server-2012
http://blogs.msdn.com/b/david_burgs_blog/archive/2013/11/05/installing-adding-iis-windows-authentication-feature-in-windows-8.aspx


Extract hooks to expose methods such as onChoose()

I am getting some styling issues as I am using grid layout (via Material UI), this problem could be solved by allowing some classNames to be passed to the div, or extracting a hook like useGooglePicker (see example below)
I'm happy to implement this, and I'm going to implement this in my fork, I suppose since this is the number one google picker library we should take responsibility to keep it up to date.
This could potentially be a breaking change so we could perhaps make this a major version increment
useGooglePicker = ( props ) => {

 return {
   handleChoose
}

}

I'm having real trouble getting this code up and running, I think its not been built to be system agnostic perhaps some of the build commands look unix specific (with commands like rm rf)
I've decided to just extract the source code into my own project as a result of this but will share with you how I changed it into hooks.
With these changes here it is currently possible to use it as it was (without any breaking changes) or use the hook without the component

import React, { useEffect } from 'react'
import PropTypes from 'prop-types'
import loadScript from 'load-script'

const GOOGLE_SDK_URL = 'https://apis.google.com/js/api.js'

let scriptLoadingStarted = false

const useGooglePicker = ({
  authImmediate,
  clientId,
  developerKey,
  disabled,
  origin,
  onChange,
  onAuthenticate,
  onAuthFailed,
  createPicker,
  mimeTypes,
  multiselect,
  scope,
  navHidden,
  viewId,
  query
}) => {
  useEffect(() => {
    if (isGoogleReady()) {
      // google api is already exists
      // init immediately
      onApiLoad()
    } else if (!scriptLoadingStarted) {
      // load google api and the init
      scriptLoadingStarted = true
      loadScript(GOOGLE_SDK_URL, onApiLoad)
    } else {
      // is loading
    }
  }, [])

  const isGoogleReady = () => {
    return !!window.gapi
  }

  const isGoogleAuthReady = () => {
    return !!window.gapi.auth
  }

  const isGooglePickerReady = () => {
    return !!window.google.picker
  }

  const onApiLoad = () => {
    window.gapi.load('auth')
    window.gapi.load('picker')
  }

  const doAuth = (callback) => {
    window.gapi.auth.authorize(
      {
        client_id: clientId,
        scope: scope,
        immediate: authImmediate
      },
      callback
    )
  }

  const onChoose = () => {
    if (
      !isGoogleReady() ||
      !isGoogleAuthReady() ||
      !isGooglePickerReady() ||
      disabled
    ) {
      return null
    }

    const token = window.gapi.auth.getToken()
    const oauthToken = token && token.access_token

    if (oauthToken) {
      handleCreatePicker(oauthToken)
    } else {
      doAuth((response) => {
        if (response.access_token) {
          handleCreatePicker(response.access_token)
        } else {
          onAuthFailed(response)
        }
      })
    }
  }

  const handleCreatePicker = (oauthToken) => {
    onAuthenticate(oauthToken)

    if (createPicker) {
      return createPicker(window.google, oauthToken)
    }

    const googleViewId = window.google.picker.ViewId[viewId]
    const view = new window.google.picker.View(googleViewId)

    if (mimeTypes) {
      view.setMimeTypes(mimeTypes.join(','))
    }
    if (query) {
      view.setQuery(query)
    }

    if (!view) {
      throw new Error("Can't find view by viewId")
    }

    const picker = new window.google.picker.PickerBuilder()
      .addView(view)
      .setOAuthToken(oauthToken)
      .setDeveloperKey(developerKey)
      .setCallback(onChange)

    if (origin) {
      picker.setOrigin(origin)
    }

    if (navHidden) {
      picker.enableFeature(window.google.picker.Feature.NAV_HIDDEN)
    }

    if (multiselect) {
      picker.enableFeature(window.google.picker.Feature.MULTISELECT_ENABLED)
    }

    picker.build().setVisible(true)
  }

  return {
    onChoose
  }
}

const GooglePicker = ({
  authImmediate,
  children,
  clientId,
  developerKey,
  disabled,
  origin,
  onChange,
  onAuthenticate,
  onAuthFailed,
  createPicker,
  mimeTypes,
  multiselect,
  scope,
  navHidden,
  viewId,
  query
}) => {

  const { onChoose } = useGooglePicker({
    authImmediate,
    clientId,
    developerKey,
    disabled,
    origin,
    onChange,
    onAuthenticate,
    onAuthFailed,
    createPicker,
    mimeTypes,
    multiselect,
    scope,
    navHidden,
    viewId,
    query
  })

  return (
    <div onClick={onChoose}>
      {children}
    </div>
  )
}

GooglePicker.propTypes = {
  // children: PropTypes.node,
  clientId: PropTypes.string.isRequired,
  developerKey: PropTypes.string,
  scope: PropTypes.array,
  viewId: PropTypes.string,
  authImmediate: PropTypes.bool,
  origin: PropTypes.string,
  onChange: PropTypes.func,
  onAuthenticate: PropTypes.func,
  onAuthFailed: PropTypes.func,
  createPicker: PropTypes.func,
  mimeTypes: PropTypes.arrayOf(PropTypes.string),
  multiselect: PropTypes.bool,
  navHidden: PropTypes.bool,
  disabled: PropTypes.bool
}

GooglePicker.defaultProps = {
  onChange: () => { },
  onAuthenticate: () => { },
  onAuthFailed: () => { },
  scope: ['https://www.googleapis.com/auth/drive.readonly'],
  viewId: 'DOCS',
  authImmediate: false,
  multiselect: false,
  navHidden: false,
  disabled: false
}

export default GooglePicker

// original source code at https://github.com/sdoomz/react-google-picker/blob/master/src/react-google-picker.js


Node module returns sjcl lib instead of adyen

When I try to use no-dom version as a node module, I get the wrong object.
// package.json
"dependencies": {
  "adyen-cse-js": "git+https://github.com/Adyen/CSE-JS.git#v0.1.17"
}

// app.js
import adyenEncrypt from 'adyen-cse-js'
console.log(adyenEncrypt)
// → Object { cipher, hash, keyexchange, mode, misc, codec, exception, bitArray, prng, random, json, encrypt, decrypt }

Why
Every node module has a module variable as a reference to the object representing the current module.
And I figured out that this variable is used in sjcl library, and you include this library into your module without any encapsulation.
As a result, when I import your library I get sjcl library instead.
How to fix
You may want to wrap this code into closure, and pass an empty object as module variable:
(function (module) {
  // ... current sjcl code on L149
})({});

Also after defining AMD module it would be great to make it obvious what exactly do we want to export:
// L172
if (module && module.exports) {
  module.exports = encrypt;
}

I've created corresponding PR for that: https://github.com/Adyen/CSE-JS/pull/17

Hi,
Why do you want to run CSE-JS as a node module? That would only be allowed if you (and/or the server processing the payment request from the browser) are fully PCI compliant. But then in that case you would not need encryption.
Maybe I am overlooking something. Can you explain your use case?

Arnoud

if (module && module.exports) {
this code lead to excaption in browser because 'module' is undefuned

@vkurlyan no, it does not :)
the second condition will never be executed if the first one is falsy.
so if (undefined && undefined.exports) { ... } will never show the execption

however the corresponding PR has been already merged
and this issue can be closed

If module is undefined we will have excaption because it's undefined variable but not property. You need to change code to do it without excaption:

if (typeof module !== 'undefined' && module.exports)

I added pull request https://github.com/Adyen/CSE-JS/pull/25


Funny smiley

FYI I found this repo by searching for the smiley :shipit:  - it's :shipit:.
If you want to make a small joke in this repo/project here you may add this icon somewhere. :smiley:

@rugk The shipit squirrel has more to do with a development mindset than this repo: https://www.quora.com/GitHub-What-is-the-significance-of-the-Ship-It-squirrel
Suggestion noted, and appreciated.
@timkelty I think this issue fufilled it's "purpose" of telling the shipit team that there is an Emoji of the same name, probably can be closed.

:shipit::shipit::shipit::shipit::shipit::shipit::shipit::shipit:


Doesn't render anything even with query results in JS console.

The page is still under development at that moment and I just finished it yesterday. So please try again. :P