LazyLayout based on CssLayout

Hi,
I would like to implement Masonry layout (only with css, with column properties) with lazy loading. I have already extended LazyLayout to use CssLayout. While my solutions is working, there is a lot code duplication. I was wondering, do you plan to extend LazyLayout to support more layout types?

Well it's been a while but maybe this helps someone:
I wanted to use this with a CssLayout because it will automatically reflow the components according to the window size.
I tried simply duplicating the classes and replacing "extends VerticalLayout" with CssLayout. Well it didn't work, the lazyloading just doesn't get triggered (would have been too nice and easy ;-)).
But I was able to create a workaround:
The first component you add to the LazyLayout in the initializeLazyLayout will be a CssLayout e.g. CustomCssLayout which you will give a method like "addComponents" which will take in a list of the components to be added to the layout.
Then I just do this in the addNewRow:
protected void addNewRow(ComponentContainer container) {

	List<TemplatePanel> panelList = new TemplateLazyFetcher().createComponents(indexCounter, 3, model);
    if(fl!=null){
        container.removeComponent(fl);
    }
    rowLayout.addNewRow(panelList);
    fl = new VerticalLayout();
    fl.setHeight(0, Unit.PERCENTAGE);
    container.addComponent(fl);
	indexCounter = indexCounter + 3;
}

adding the fl VerticalLayout to the lazyLayout will trigger the scroll listener but it will get removed the next time the method gets called (otherwise you'll get a growing empty area) and lazyloading will work as intended.

Maybe I just just add extension to Panel for these use cases? Extension would fire clean server side event always when user has scrolled it to the end? I would like to avoid pairing code with CssLayout, as it's layout structure can not be guestimated by the code.

Sounds good, if you want to do it.


Update javascript-angular-plugin.md

The current link redirects to a deprecated repo:

This PR updates the link and redirects the user to the new GitHub repo, which is used in the deprecated repo.

@timdeschryver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

Thank you @timdeschryver!


Display tasks in GUI

As a busy SOC student, I can keep track of what I have to complete so that I do not miss out on any deadlines.
As a SOC student who has many (computing) modules in a semester, I can have a platform to keep track of all my submissions/tasks.

This issue is about showing the task data from the Model in the GUI as a response to the list command.

Replaced by #16.
(Sorry about that!)


AMBARI-23099. Let custom service users to access Log Search collections.

What changes were proposed in this pull request?
Add additional configuration property to logsearch ambari stack code-> extra logsearch service users. These users will be able to read/write logsearch collection data in Solr.
There are 2 use cases:

during Solr start, create new roles (based on the logsearch property)
during Log Search start create new roles (based on the logsearch property)

Second option is needed because it's possible to add Log Search after cluster install (+ using custom usernames can be problematic in that case)
How was this patch tested?
UT: unrelated python test failures only (with mysql_service)
FT: in progress
please review @kasakrisz @swagle

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1057/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1058/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1070/
Test FAILed.
Test FAILured.


branch-1.2 Check query cancel status during build hash table

Proposed changes
Issue Number: close #xxx
pick #19970
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


draft Hot Ranges reference page & guidance

Fixes DOC-2404.

Draft reference page for Hot Ranges.
Slightly update related troubleshooting and best practices content.

This change is

Note on how I document the Range Report: This is an advanced debugging feature that has a number of fields. I listed two that are relevant to hot spot mitigation. One of them indicates whether load-based splitting isn't working.
Our existing hot spots guidance emphasizes this scenario and I think it doesn't emphasize the scenario where size-based splitting cannot occur due to many reads/writes on a range. For that reason, I didn't mention the fields that can tell you whether size-based splitting is not happening, because I was concerned it would kind of be a red herring (as @zachlite said, "Is the range hot because of the high query volume, or is the range hot because it won’t split?").
cc @stbof in case you have any comments on how this content can enhance the Hot Spot docs.

@stbof Made those changes. In addition, our definition of "hot spots" came up in conversation with @thtruo today. It seems we generally consider a hot spot to be any site on the database that is receiving significantly more traffic than others. See thread and Support wiki. I'd like to find a way to clarify this at performance-best-practices-overview.html#hot-spots, if you don't think it would be in conflict with the "hot spot" definition you discussed with your PM. This would also help prevent confusion with the term "hot ranges", which I think is well-defined here but gets looser when combined with "hot spots".

@stbof Made those changes. In addition, our definition of "hot spots" came up in conversation with @thtruo today. It seems we generally consider a hot spot to be any site on the database that is receiving significantly more traffic than others. See thread and Support wiki. I'd like to find a way to clarify this at performance-best-practices-overview.html#hot-spots, if you don't think it would be in conflict with the "hot spot" definition you discussed with your PM. This would also help prevent confusion with the term "hot ranges", which I think is well-defined here but gets looser when combined with "hot spots".

Please go ahead. I think you understand this better than me.

@kathancox @MichaelTrestman The Style guide says use bold for emphasis and italics for definitions:
Bold
Use bold text to emphasize an important word or phrase, when referring to the name of a UI section or field, or to create visual separation and callouts (e.g., Example:). Do not combine bold with italic.
Italics
Use italics to identify the term in a concept definition. Otherwise, do not use italicized text in CockroachDB docs. If it seems beneficial to emphasize a word or phrase, use bold.

@kathancox @MichaelTrestman The Style guide says use bold for emphasis and italics for definitions:
Bold Use bold text to emphasize an important word or phrase, when referring to the name of a UI section or field, or to create visual separation and callouts (e.g., Example:). Do not combine bold with italic.
Italics Use italics to identify the term in a concept definition. Otherwise, do not use italicized text in CockroachDB docs. If it seems beneficial to emphasize a word or phrase, use bold.

Ack. This was part of a PR I hadn't read all the way through to see that our usage of bold/italics had changed last month. I've mentioned this to Mike so we can think about a Slack channel to communicate specific style changes, so that folks don't have to read the entirety of the style guide for every PR review. (They can update their knowledge incrementally.)


Looking for maintainers

Hi you all 😃 ,
We're looking for people willing to help to maintain this project, the major issues are:

This is a scrapper: once LinkedIn changes something, the code must be updated.

Helpfully there are people sending PRs, however just a few to review, test it, and merge.

I'm was doing most of this job myself, however lately I'm very busy, and the hardest part for me is testing it: it means, scrapping some profiles and double-checking that everything is fine and will not break people's work 😄
The only part that's dependent on me is publishing a new version on NPM, besides that, it's all community work, I never got a penny from this project.
Please write a comment here if you are willing to help, and then I add you as a maintainer.

I am willing to help making PRs but honestly the time issue is also a constraint for me.
I cannot ensure consistency in doing testing, but am trying to keep the html codes up to date (recent PR repairing an issue with change to title area for example)

Hi @leonardiwagner I'm interesting in becoming a maintainer for this project. I suggest that we setup tests and GitHub Actions to make the release process easier. I believe the latest version is not yet released if I am right. I just got the error " LinkedIn website changed and scrapedin 1.0.21 can't read basic data". Let me know if you are interested. Thanks.

Hi @Mixone-FinallyHere and @nandunbandara , I added you both as writers in this project. Feel free to implement new ideas as well and auto-approve a PR if no one reviews it.
just let me know when to publish a new version to npm, thanks!

Hi @leonardiwagner Thanks. Sure, will do.

@leonardiwagner have you released the latest?


Temporary pixel for visit site suggestions CTA display count

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

#5309  👈 (View in Graphite)
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.


The main screen in the assessment is scrollable.

Describe the bug
In the assessment app, the main screen is scrollable and we cannot see few UI elements properly on the screen we have to scroll up and down to view it.
Screen Record
https://github.com/curiouslearning/FeedTheMonsterJS/assets/99384703/def7c99d-b9b9-406f-b0d8-f85e915e9337
Smartphone (please complete the following information):

Device: MI Note 6 pro
OS: Android 9

This issue is fixed.


prepareRename: what is defaultBehavior, rationale

LSP 3.16 will introduce a new response to textDocument/prepareRename: defaultBehavior. However, from the spec, I am not 100% sure how to interpret such a response: "if [ ... ] is returned, the rename position is valid and the client should use its default behavior to compute the rename range".
Does this mean that servers could always return defaultBehavior when renaming is possible, or only in some yet-unspecified "obvious" cases, like the c-style identifier under the cursor? Renaming might be more complex in certain cases, e.g. for labels in C/Lua, which should include the colon in the rename range. Should a client then implement language-specific behavior to determine rename ranges?
Also, what is the purpose of this response, and what can be gained by implementing it client-side (to conserve traffic, ...)?
Related discussion: https://github.com/emacs-lsp/lsp-mode/pull/2353#issuecomment-732788423.

This got added for the following cases: a server only wants to change the range in one case. In all other cases it is happy with the editor's default behavior. In 3.15 the server either needs to handle all cases or none. With the new 3.16. the server can only treat the one case special and let the client use its default to compute the rename range.

Does that make sense?

Thank you for answering! That clears things up a bit, at least my first question.
However, it is still unclear to me what the default behavior should be, i.e. in what cases the server should not respond with defaultBehavior? I am implementing this for the lsp-mode client, and as such need to provide some sort of default range behavior. Should clients only send the capability for certain language servers where they know that the defaultBehavior has been implemented, or can it be implemented generically, perhaps using the identifier at point as defined by the language's syntax? (dashes are allowed in LISPs, while not in C for example). Would you consider renaming a C-style label defaultBehavior?
int main() {
    label:/* cursor here, "label:" should be marked */ goto label;
}

Also, what do we stand to gain by implementing this client-side? Wouldn't this just increase the complexity of servers?

Sorry for the many questions.

Using the identifier at the point as defined by the language's syntax is what VS Code does as the default behavior. I stayed away from specing this since it will force clients to implement what we in LSP think that is right and therefore blocks innovation on the client side.

Thank you! Leaving this unspecified might not be that good though, because clients and servers need to coordinate here: a server needs to know in what cases defaultBehavior is acceptable.

I see the point and what we usually do if this becomes necessary is that we add a value set capability to the client explaining which default behavior the client uses. But to do so we first need to get some feedback from clients about there different default behaviour.

@dbaeumer

This got added for the following cases: a server only wants to change the range in one case. In all other cases it is happy with the editor's default behavior. In 3.15 the server either needs to handle all cases or none. With the new 3.16. the server can only treat the one case special and let the client use its default to compute the rename range.

What do you mean by "all cases"? Can you give an example when the server would prefer to return defaultBehaviour and when the same server would prefer to return range?
As a side note, not defining the behaviour usually means that the server developer will test with vscode and then the other clients should mimic what vscode does even for the cases it does not make sense. This happened with completion prefix calculations.

What do you mean by "all cases"? Can you give an example when the server would prefer to return defaultBehaviour and when the same server would prefer to return range?

I think this really depends on the server. One case is for example html where the client can't easily determine how words with a - in it should be handled on rename.

As a side note, not defining the behaviour usually means that the server developer will test with vscode and then the other clients should mimic what vscode does even for the cases it does not make sense. This happened with completion prefix calculations.

I see this but I can't specify something I don't know. As said I am happy to specify different default behaviors and make them a client capability if someone lets me know how other clients handle this.

I think this really depends on the server. One case is for example html where the client can't easily determine how words with a - in it should be handled on rename.

So the idea is:
The user is on foo - the server knows that the client can calculate that foo can be calculated by the client and returns defaultBehaviour.
The user is on foo-bar - the server knows that the client cannot calculate the proper range and returns it in the response.

@dbaeumer is the syntax for identifiers language-specific, or is a c-like language assumed? I.e. could a hypothetical CommonLisp server respond with defaultBehavior if the cursor is on a symbol containing hyphens?
Could defaultBehavior be returned if the placeholder and thing being renamed are different? (Specific example: cursor is on a C label, the range is the entire label with colon, but the placeholder is only the identifier without the colon; in lsp-mode, we underline the thing being renamed, as determined from the rename range)
If I understood you correctly, by "client innovation", you are thinking of something like the client implementing some sort of live-rename based on textDocument/documentHighlight if defaultBehavioris returned?
A final thought: for specs like these, coordination between servers and clients is needed, and as such the defaultBehavior must be specified. Clients need to know how they should handle defaultBehavior, and servers need to know when they can send it. If this is left as is, the "do what VSCode does" situation described by @yyoncho will occur. I don't think the issue here is that various clients can do this best in different ways, but that they wouldn't know at all.

The syntax is usually language specific. There is an item in the LSP land to make client and server 'agree' on that syntax since it is currently duplicated (on the client side and the server side).

Could defaultBehavior be returned if the placeholder and thing being renamed are different?

IMO yes, but it might depend on the client.
I agree with the specification part. But I don't want to put in VS Code behavior into the specification since it will equally force clients to implement what VS Code is doing. This is why I opt to have a client capability that describes the client behavior. @yyoncho  and @nbfalcon what do you think the clients you know would / should do. Can you specify this for me?

I converted the capability to an enum to make it more clear that the default bahavior is expandable. Fell free to spec some if you client does something different than selecting the language identifier.


Error Requires Reboot to Resolve

Using an ESP32 S3 Box running ESPHome voice assistant firmware paired with Home Assistant Voice Control. Wake word recognition was initially working and the S3 Box was left on and alone for a few hours while I was away. When I got back, wake word recognition was not working.
Checked the logs on the S3 Box and it didn't show any errors but was clearly not trying to recognize a wake word. Checked the logs for the wyoming-openwakeword Docker container and found this:
ERROR:root:Unexpected error in wake word thread
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/wyoming_openwakeword/openwakeword.py", line 296, in ww_proc
    ww_model.allocate_tensors()
  File "/usr/local/lib/python3.9/dist-packages/tflite_runtime/interpreter.py", line 531, in allocate_tensors
    return self._interpreter.AllocateTensors()
RuntimeError: /tensorflow/tensorflow/lite/kernels/reshape.cc:92 num_input_elements != num_output_elements (2 != 1)Node number 24 (RESHAPE) failed to prepare.

Rebooted the container and wake word recognition started working again.
Steps To Reproduce:
Apologies but I am not sure what triggered the error.  I'll add more detail if I can catch it in the act.
Environment:
Raspberry Pi 4B 4GB:

OS: Ubuntu 22.04
Docker: 24.06
rhasspy/wyoming-openwakeword: 1.7.0
model: hey_jarvis

Other:

ESPHome: 2023.10.0b2
Home Assistant: 2023.10.2

Updated. Will keep a passive eye on the logs. This did not happen again with 1.7.0 since I first reported it either.

I can observe the same behavior, however I use three Atom Echos and openwakeword in version (1.8.0).
After a short time (sometimes directly at startup) I get the same error message:
openwakeword  | INFO:root:Ready
openwakeword  | INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
openwakeword  | ERROR:root:Unexpected error in wake word thread
openwakeword  | Traceback (most recent call last):
openwakeword  |   File "/usr/local/lib/python3.9/dist-packages/wyoming_openwakeword/openwakeword.py", line 301, in ww_proc
openwakeword  |     ww_model.allocate_tensors()
openwakeword  |   File "/usr/local/lib/python3.9/dist-packages/tflite_runtime/interpreter.py", line 531, in allocate_tensors
openwakeword  |     return self._interpreter.AllocateTensors()
openwakeword  | RuntimeError: /tensorflow/tensorflow/lite/kernels/reshape.cc:92 num_input_elements != num_output_elements (2 != 1)Node number 24 (RESHAPE) failed to prepare.

I run openwakeword in a Docker container:
  openwakeword:
    image: rhasspy/wyoming-openwakeword
    container_name: openwakeword
    restart: unless-stopped
    ports:
      - "10400:10400"
    volumes:
      - ./custom:/custom
    command: --custom-model-dir /custom --threshold 0.4 --trigger-level 1

It seems that the error occurs more frequently when there is more than one Echo device active. When I have only one in use, the error occurs very rarely.

i have the same issue, before I was running only the assist-microphone addon, but after adding 1 echo , error appears and no more detection

I can confirm the same. I have an ESP32 with a microphone and it was working fine. After adding the the echo, I started getting this error and It completely stops listening. I have restart openwakeword to make it work again.
This is my command.
     -m wyoming_openwakeword
      --uri 'tcp://<IP_ADDRESS>:10400'
      --preload-model 'ok_nabu'
      --trigger-level '1'
      --custom-model-dir /share/openwakeword

It may not be just because of echo. But it could be because of more than 1 microphone. Not sure though.

OK, I think this may apply just to certain wake words. Once there is more than one device streaming at a time (for the same wake word), everything is batched. Some models appear not to support batching...

OK, I think this may apply just to certain wake words. Once there is more than one device streaming at a time (for the same wake word), everything is batched. Some models appear not to support batching...

I was trying with "Hey Jarvis".

By way of feedback on this issue - I have been testing the changes you made to fix this issue with 5 Atom Echo's (running the wyoming-openwakeword service in docker) and I have not experienced the issue in 24 hrs of use. Prior to this change I would see the same crashes as reported by others within a few minutes of turning on multiple Atom Echo's.

+1 to Minty's comment. I've had stable container/Raspberry based satellites since v1.8.1 of OpenWakeWord with the batching removal.

My logs are also clear and have been for the last week. Closing this.


Add Trustless login into no chat reports

Idea
Add the Trustless login feature to no chat reports
Reasoning
To give servers a way to make sure people can login with bans if the server wants to allow it with out going into offline mode
Other Information
No response

Out of scope.


Implemented random card generator

Issue Id you have worked upon -
#572
Briefly explain your program logic -
When users press a button, the program generates a random card for them.
Screenshots(Attach 2 screenshots of your own input and output) -
Code:

Result:

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

 Please let me know if you would like me to update anything.

Congratulations 🎉 @ShivamPatel-24 on your contribution.
Thanks for adding value to this repository. 😊

@SarthakKeshari Thank you very much!


Feature/Implementation of API requests

Implementacion of SIG API Request

[x] AddAPI connection routes
[x] Add Requests to use
[x] Add changes to branch

Added connection to USGS earthquake API


Suggestion: guide users to choose an appropriate export format

The consensus on Slack is most CAD users are not going to be familiar with the pros and cons of each format.
https://kittycadworkspace.slack.com/archives/C05FUP68WSG/p1702033448827079
I'd like to rework the export user interface to suggest a format to the user based on a set of tags. This would be alongside the existing interface so that users that know exactly what they need are not obstructed.
I suggest a scoring system from one to five (higher is better):

Format
Information
Speed
Size
3D Printing
Other CAD software

STEP
5
2
1
3
5

glTF
4†
5
5
5
3†

OBJ
3
3
2
4
3

PLY (binary)
2
4
3
3
3

PLY (text)
2
3
2
3
3

STL (binary)
1
4
3
3
3

STL (text)
1
3
2
3
3

†It's unlikely other software will be using our extension yet, so this assumes only the mesh portion will be used.

It would be great to have a longer form FAQ on why these are scored this way as a part of the docs, @alteous perhaps you and @jgomez720 can work together on this


[ Bug ] SIGILL illegal instruction err 0C2 privileged operation error running Burrow

0.21.0  burrow version
go1.10.2   go version
linux/amd64 Ubuntu 16.04LTS operating system details

What you expected to happen
Build burrow binary and execute to generate burrow.toml and proceed.
What actually happened
Binary was built and installed, when executed received a SIGILL illegal instruction err 0C2 privileged operation error
Steps to reproduction

make build_burrow
make install_burrow
burrow spec -p1 -f1 | burrow configure -s- > burrow.toml

burrow spec -p1 -f1 | burrow configure -s- > burrow.toml
SIGILL: illegal instruction
PC=0x735e2e m=0 sigcode=2

goroutine 1 [running, locked to thread]:
< ... >

SIGILL: illegal instruction
PC=0x735e2e m=0 sigcode=2

< ... >

rax    0xc420245c58
rbx    0x4
rcx    0x14
rdx    0x179ce40
rdi    0xc4207e6030
rsi    0xc420245c58
rbp    0xc420245b48
rsp    0xc420245b18
r8     0x1
r9     0x0
r10    0xc4207e6030
r11    0x1
r12    0xffffffffffffffff
r13    0x2
r14    0x1
r15    0xaa
rip    0x735e2e
rflags 0x10246
cs     0x33
fs     0x0
gs     0x0

Unfortunately this is not enough information to debug this. Would it be possible to generate a core file and run gdb on it, and then "disassemble $pc". You might need to set the core ulimit to unlimited with "ulimit -c unlimited"
Since signal is illegal instruction I suspect there is a package which uses new sse instructions or so, for example https://github.com/tmthrgd/go-hex which uses sse instructions which might not be supported on all cpus.
So what cpu are you using? (output of cat /proc/cpuinfo please)

An ole Pentium 4 that was at one time a decent server. Haven't got around to generating the core file but I'll give it a shot.
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 37
model name	: Intel(R) Pentium(R) CPU        G6950  @ 2.80GHz
stepping	: 2
microcode	: 0x11
cpu MHz		: 1330.000
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm arat flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 5599.51
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 37
model name	: Intel(R) Pentium(R) CPU        G6950  @ 2.80GHz
stepping	: 2
microcode	: 0x11
cpu MHz		: 1330.000
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 2
cpu cores	: 2
apicid		: 4
initial apicid	: 4
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm arat flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 5599.51
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

go-hex requires at least sse4.1 (it uses the PINSRD instruction).
See here:
https://github.com/tmthrgd/go-hex/blob/master/hex_amd64.go#L29
Now this also looks like it will not work on non-x86; it assumes SSE when AVX is not present, which is not true for e.g. arm.
This needs to be fixed in go-hex.

Thanks for diagnosis @seanyoung
go-hex was introduced in large part because it has an an EncodeUpper function that gives you upper case hex - which we sort of need for consistency across go-amino and other endpoitns. That combined with an order of magnitude speedup seemed like a good enough reason to use the library. However, this is an unintended consequence, and now we use protobuf we are spending less time than we used to doing hex encoding. I would consider going back to stdlib - I'm not sure how many people this issue effects.
Raised a bug upstream: https://github.com/tmthrgd/go-hex/issues/3

I've created a PR for go-hex: https://github.com/tmthrgd/go-hex/pull/4


ghcjsHEAD: don’t just copy & replace, reuse same code

The HEAD file was just copied over and a few hashes replaced.
Most of these hashes were already function arguments anyway, so no reason to not
abstract over that.
ghcjsHEAD builds, it needs a rebuild because the ghcjs-prim build input is set to null instead of missing (my guess).
cc @TravisWhitaker @ryantrinkle

Update: The stage1Packages had to be changed as well, added a commit for that.

This is way better! Thanks! I tend to have the affordance to treat nix files like config files and forget that things like this are possible...
Perhaps the shims should be an argument as well?

Perhaps the shims should be an argument as well?

They are! https://github.com/NixOS/nixpkgs/pull/20493/files#diff-f13bf85e6c9e824c1ccdfb265469c2c5R59
You can basically think of nix as a very powerful DSL, with better abstraction possibilities than most general purpose langs.

I will merge it now, since it shouldn’t change anything. Should something break feel free to do a rollback.


finish cache abstraction

There is one more problem regarding cache abstraction. See IRC for details.

03:37:23       ZiRo | when you request a thread, you do it with the short hash like: http://nsfl.tk/thread-24cbe25bea92f5d86a.html
03:38:11       ZiRo | but let's say I want to implement my own cache driver, I'd need to be able to identify a thread in the DB with that information alone.
03:38:31       ZiRo | But to do that you'd actually need the full hash
03:38:56       ZiRo | So we either need a way to get the full hash from the short hash, or just use the full hash to begin with
03:39:31       ZiRo | the latter would mean replacing most occurrences of https://github.com/majestrate/srndv2/search?utf8=%E2%9C%93&q=ShortHashMessageID
03:39:48       ZiRo | What do you think?

We need a way to map short to full hash, probably could do it as another table in postgres, but for redis... idk.


Offchain testing: Fix reading response

Closes: https://github.com/paritytech/substrate/issues/10292

bot merge


OTP failures: Npm package not released but tag created

Describe the bug
If the npm OTP fails (pasted the OTP code too late when it was not valid anymore) then the NPM package is not published but the tag on git is already created. Same thing for the github release which is already created
Expectation
I would expect no release to be made on npm/git/github
Reproduction
create a new release with lerna publish and enter unvalid OTP code
Lerna config and logs
lerna.json

<!-- Please paste your `lerna.json` here -->

lerna-debug.log

<!-- If you have a `lerna-debug.log` available, please paste it here -->
<!-- Otherwise, feel free to delete this <details> block -->

Environment Info
System:
OS: macOS 14.2
CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 6.02 GB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.9.0 - /usr/local/bin/node
Yarn: 4.0.2 - /usr/local/bin/yarn
npm: 10.2.4 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Used Package Manager
yarn >= 2.x
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

@ghiscoding  btw while this happened it broke my package.json again as explained here https://github.com/lerna-lite/lerna-lite/issues/813. Though i am using latest version

EDIT: and it did again when i CTRL-C while asked for OTP

That is normal since the process is to temporarily change the actual package.json, publish it, and then replace the file content with the original package. However when you do the Ctrl+C in the middle of that process, well Yes you end up with a broken package.json because you did not let it finish its execution. That process is also the same when using workspace: protocol.
I don't think there's anything I can do to address this though because that would probably require reimplementing the entire thing which I don't want to do, neither have time to do. Part of your concerns were asked long time ago in this Lerna issue
There are new code in place that will allow you to resume a publish if it failed before it had time to finish its publishing process (for example when you lose internet connection or your OTP is no longer valid). This was discussed in #413 and provided via PR #469 (which itself came from this original Lerna PR 3513. However this assumes that your package.json isn't in an invalid state.
To avoid such issue, I never use an OTP that has just a few seconds left, I always wait for the next 30sec cycle and then use that new OTP. But even better now, I use GitHub workflow to publish and I never had any problems since I use those, this is also the only way to sign an npm publish with --provenance. I also wrote an article explaining how to this How to publish on npm with --provenance using Lerna-Lite
https://github.com/lerna-lite/lerna-lite/blob/main/.github/workflows/publish-npm-latest.yml

If you're not happy with the answer, I would suggest you contribute back to the project. My main goal with this fork is simply to keep it up to date and without any Nx related stuff that the new Lerna has.

@ghiscoding you should be able to catch CTRL-C to close gracefully while resetting the package.json https://stackoverflow.com/questions/20165605/detecting-ctrlc-in-node-js
IT is not that i am not satisfied with the answer. I am reporting issues that s all. The issue with tag  being created is not the biggest of deals, i can live with that.
The issue with the broken package.json is much more dangerous. The reason is that it removes the scripts field. If i then run lerna publish again then i publish an empty package because there is not a build script anymore(happened that afternoon).
This would also happen with github action release. And i dont do github action releases. I prefer to do by hand so that i can check it all. Plus it is a lot more environment friendly.
So i am ok with you closing this issue. But i hope the package.json broken issue to find a fix one day. If i can contribute i can. Tbh just like you i have my hands full with open source projects.
Finally really dont worry i dont mind you closing that issue. (btw for the otp i realized i actually pasted an otp for github and not npm ...)

The issue with the broken package.json is much more dangerous. The reason is that it removes the scripts field. If i then run lerna publish again then i publish an empty package because there is not a build script anymore(happened that afternoon).

You are the only person who reported this problem (twice), I never had this problem on my side. If it happened more than once then I would suggest you remove the scripts deletion. Because like I said, it's a temporary change and there's no transactions of any kind to rollback and implementing a temp copy of package.json would probably require a lot of code change which I don't have time to do because like you my plate is already full with open source project which doesn't put any bread on my table.
I know modifying the package.json and leaving it in an invalid state is not ideal and I'll keep that in mind, but at this point, I don't have time to look into this and don't know how to do it without too much refactoring. It doesn't seem to happen very often either.

@ghiscoding yes i will remove the scripts deletion. seems much safer for now.

perhaps what I could do at the moment is to add a Note in the description of that option mentioning that since it modifies the actual package and there's no rollback at the moment

perhaps what I could do at the moment is to add a Note in the description of that option mentioning that since it modifies the actual package and there's no rollback at the moment

Might be a good safeguard


Request: Ello

Since you moved to CURL, I think it is more convenient now to request this bridge.
The main reason — Ello's own notification system (sends digests to email) seems quite unreliable, sometimes it is silent for weeks, then several updates in one week, no matter how many posts were made in the meantime. And the closest thing to RSS is the homepage feed https://ello.co/feeds/editorials which works fine, but certainly it is not enough.
Secondly, while happily storing them, Ello is not sharing artwork originals easily, and that is important, because of lossy compression. But API does provide a way to get them.
So, I request user feeds at least, and search feeds as a bonus. Fortunately, since Ello is mainly an art-inspired site, most users that are worth a visit do not generate content more often than 1-2 times a day, so no need for frequent polls and heavy traffic.
Some projects based on Ello API are found here on GitHub and in the wild. But to save time and make things more convenient, I will post an example here about how it could be done in console.
Some useful links:
https://gist.github.com/conatus/cc665f917d5558c123bc
https://evdokimovn.github.io/elloapi/#introduction
https://ellov2.docs.apiary.io/#
https://github.com/ello/api-docs

Get the API token, it expires after 24 hours (not sure about that)

curl "https://ello.co/api/webapp-token"

{"token":{"token_type":"bearer","expires_in":86400,"created_at":1525107208,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJFbGxvLCBQQkMiLCJpYXQiOjE1MjUxMDcyMDgsImp0aSI6ImVjZjIwYmFiYmNhM2E1NzYyYmI0ZDk5ODQxMjA2MWQzIiwiZXhwIjoxNTI1MTkzNjA4fQ.TKcEhP8fF-s96428vtJOQ7gwmFh6eWs2oT895dryV4HHsRZccdbiI32Z2Qj1ZIwXcKule6r-PNgkj-3THoABp9ntWURJVBqQ9EH88R1w8niHocJ3G5J5Ofq1y_2-kseakg5_JSevUIlgA8zHlrNkDUr86QVD5Xv5vgXGfvhlgYLG5w0N5-SN741QdY-m0q3mgjXsEQX25MnksdORNjdJkmx2oGCKAxjWHcK5Pq6HWuljFdvpB-boXQLf9w_6vEzsNWnhqJsZ38CcsMlwjnxjwKnKtUbtjV6wwMEXmSDdIsoJmENZrtzlrfT7uQwt9TWVAZtIYFENtEVqd6ahPQ4JA"}}

Use API to list a feed, it is more or less straightforward, so let's assume we have chosen a post already for processing.

User — eboy , post — aelk0rjs-rev-izrrjan6g , let's get us some json:

curl "https://ello.co/api/v2/posts/~aelk0rjs-rev-izrrjan6g?comment_count=false&user_id=~eboy" -H "Host: ello.co" -H "Accept: application/json" -H "Accept-Language: en-US,en;q=0.5" --compressed -H "Content-Type: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJFbGxvLCBQQkMiLCJpYXQiOjE1MjUxMDcyMDgsImp0aSI6ImVjZjIwYmFiYmNhM2E1NzYyYmI0ZDk5ODQxMjA2MWQzIiwiZXhwIjoxNTI1MTkzNjA4fQ.TKcEhP8fF-s96428vtJOQ7gwmFh6eWs2oT895dryV4HHsRZccdbiI32Z2Qj1ZIwXcKule6r-PNgkj-3THoABp9ntWURJVBqQ9EH88R1w8niHocJ3G5J5Ofq1y_2-kseakg5_JSevUIlgA8zHlrNkDUr86QVD5Xv5vgXGfvhlgYLG5w0N5-SN741QdY-m0q3mgjXsEQX25MnksdORNjdJkmx2oGCKAxjWHcK5Pq6HWuljFdvpB-FboXQLf9w_6vEzsNWnhqJsZ38CcsMlwjnxjwKnKtUbtjV6wwMEXmSDdIsoJmENZrtzlrfT7uQwt9TWVAZtIYFENtEVqd6ahPQ4JA" -H "origin: https://ello.co" -H "Connection: keep-alive" -k

{"posts":{"watching":false,"views_count":202891,"token":"aelk0rjs-rev-izrrjan6g","summary":[{"links":{"assets":"7472627"},"link_url":null,"kind":"image","data":{"url":"https://assets1.ello.co/uploads/asset/attachment/7472627/ello-optimized-b6c891f2.jpg","alt":null}},{"link_url":null,"kind":"text","data":"
Neural Network Recipe for Popular Science Magazine
"}],"reposts_count":1,"reposted":false,"repost_id":"","repost_content":[],"meta_attributes":{"url":"https://ello.co/eboy/post/aelk0rjs-rev-izrrjan6g","title":"Neural Network Recipe Popular S - eboy | ello","robots":"index, follow","images":["https://assets2.ello.co/uploads/asset/attachment/7472627/ello-hdpi-b6c891f2.jpg"],"embeds":null,"description":"Neural Network Recipe for Popular Science Magazine","canonical_url":null},"loves_count":54,"loved":false,"links":{"categories":["1"],"author":{"type":"users","id":"12196","href":"/api/v2/users/12196"},"assets":["7472627"]},"is_adult_content":false,"id":"15212781","href":"/api/v2/posts/15212781","created_at":"2018-04-10T08:51:56.564373Z","content_warning":"","content":[{"links":{"assets":"7472627"},"link_url":null,"kind":"image","data":{"url":"https://assets1.ello.co/uploads/asset/attachment/7472627/ello-optimized-b6c891f2.jpg","alt":null}},{"link_url":null,"kind":"text","data":"
Neural Network Recipe for Popular Science Magazine
"}],"comments_count":0,"body":[{"kind":"image","data":{"url":"https://assets1.ello.co/uploads/asset/attachment/7472627/ello-optimized-b6c891f2.jpg","asset_id":7472627}},{"kind":"text","data":"Neural Network Recipe for Popular Science Magazine"}],"author_id":"12196","artist_invite_submission_id":null,"artist_invite_submission":{"title":null,"status":null,"slug":null},"artist_invite_id":null},"linked":{"users":[{"views_adult_content":false,"username":"eboy","total_views_count":2452620,"relationship_priority":null,"posts_count":255,"posts_adult_content":false,"name":"eBoy","loves_count":94,"location":"","links":{"categories":[]},"is_hireable":true,"is_community":null,"is_collaborateable":false,"id":"12196","href":"/api/v2/users/12196","has_sharing_enabled":true,"has_reposting_enabled":true,"has_loves_enabled":true,"has_commenting_enabled":true,"has_auto_watch_enabled":true,"formatted_short_bio":"","following_count":19,"followers_count":8214,"external_links_list":[{"url":"http://hello.eboy.com/eboy/","text":"hello.eboy.com/eboy/"},{"url":"http://www.patreon.com/eboyarts","type":"Patreon","text":"www.patreon.com/eboyarts","icon":"https://social-icons.ello.co/patreon.png"},{"url":"http://twitter.com/eboyarts","type":"Twitter","text":"twitter.com/eboyarts","icon":"https://social-icons.ello.co/twitter.png"},{"url":"http://shop.eboy.com/","text":"shop.eboy.com/"}],"experimental_features":false,"cover_image":{"xhdpi":{"url":"https://assets2.ello.co/uploads/user/cover_image/12196/ello-xhdpi-dbe5225a.jpg","metadata":{"width":1488,"type":"image/jpeg","size":889775,"height":837}},"original":{"url":"https://assets0.ello.co/uploads/user/cover_image/12196/ello-1dd3ddd1-aae6-4cff-8c8d-c6862dba9609.png"},"optimized":{"url":"https://assets1.ello.co/uploads/user/cover_image/12196/ello-optimized-dbe5225a.jpg","metadata":{"width":2560,"type":"image/jpeg","size":746778,"height":1440}},"mdpi":{"url":"https://assets0.ello.co/uploads/user/cover_image/12196/ello-mdpi-dbe5225a.jpg","metadata":{"width":368,"type":"image/jpeg","size":68810,"height":207}},"ldpi":{"url":"https://assets0.ello.co/uploads/user/cover_image/12196/ello-ldpi-dbe5225a.jpg","metadata":{"width":176,"type":"image/jpeg","size":16203,"height":99}},"hdpi":{"url":"https://assets1.ello.co/uploads/user/cover_image/12196/ello-hdpi-dbe5225a.jpg","metadata":{"width":736,"type":"image/jpeg","size":277849,"height":414}}},"badges":["featured","experimental","creator-type:art"],"bad_for_seo":false,"avatar":{"small":{"url":"https://assets0.ello.co/uploads/user/avatar/12196/ello-small-c63d8565.png","metadata":{"width":60,"type":"image/png","size":959,"height":60}},"regular":{"url":"https://assets0.ello.co/uploads/user/avatar/12196/ello-regular-c63d8565.png","metadata":{"width":120,"type":"image/png","size":1174,"height":120}},"original":{"url":"https://assets0.ello.co/uploads/user/avatar/12196/ello-0d3b8d4e-9582-40c1-9b0d-ff49197bab59.png"},"large":{"url":"https://assets2.ello.co/uploads/user/avatar/12196/ello-large-c63d8565.png","metadata":{"width":360,"type":"image/png","size":1394,"height":360}}}}],"posts":[],"categories":[{"uses_page_promotionals":false,"tile_image":{"small":{"url":"https://assets1.ello.co/uploads/category/tile_image/1/ello-small-e31c72d4.jpg","metadata":{"width":360,"type":"image/jpeg","size":99283,"height":360}},"regular":{"url":"https://assets1.ello.co/uploads/category/tile_image/1/ello-regular-e31c72d4.jpg","metadata":{"width":600,"type":"image/jpeg","size":229564,"height":600}},"original":{"url":"https://assets2.ello.co/uploads/category/tile_image/1/ello-optimized-bf694c45.jpg"},"large":{"url":"https://assets1.ello.co/uploads/category/tile_image/1/ello-large-e31c72d4.jpg","metadata":{"width":800,"type":"image/jpeg","size":366917,"height":800}}},"slug":"art","order":0,"name":"Art","links":{"recent":{"related":"/api/v2/categories/art/posts/recent"}},"level":"primary","is_sponsored":false,"is_creator_type":true,"id":"1","header":"Art","description":"Discover a diverse range of visual and performance work that explores many forms, genres, and styles including traditional techniques such as painting, drawing, and sculpting, as well as more contemporary forms such as site specific art, digital, and virtual reality.","cta_href":"","cta_caption":"","allow_in_onboarding":true}],"assets":[{"id":"7472627","attachment":{"xhdpi":{"url":"https://assets1.ello.co/uploads/asset/attachment/7472627/ello-xhdpi-b6c891f2.jpg","metadata":{"width":1500,"type":"image/jpeg","size":230285,"height":1700}},"original":{"url":"https://assets2.ello.co/uploads/asset/attachment/7472627/ello-3cb4647b-0277-4ef1-8f67-9ea5ad08ac20.png"},"optimized":{"url":"https://assets1.ello.co/uploads/asset/attachment/7472627/ello-optimized-b6c891f2.jpg","metadata":{"width":1710,"type":"image/jpeg","size":253663,"height":1938}},"mdpi":{"url":"https://assets1.ello.co/uploads/asset/attachment/7472627/ello-mdpi-b6c891f2.jpg","metadata":{"width":375,"type":"image/jpeg","size":25338,"height":425}},"ldpi":{"url":"https://assets2.ello.co/uploads/asset/attachment/7472627/ello-ldpi-b6c891f2.jpg","metadata":{"width":180,"type":"image/jpeg","size":9218,"height":204}},"hdpi":{"url":"https://assets2.ello.co/uploads/asset/attachment/7472627/ello-hdpi-b6c891f2.jpg","metadata":{"width":750,"type":"image/jpeg","size":63674,"height":850}}}}]}}

Now, we need only the originals, not the "optimized" or "xhdpi" which Ello normally shares, and they can be picked by their "original" tag, so:

…
"original":{"url":"https://assets2.ello.co/uploads/asset/attachment/7472627/ello-3cb4647b-0277-4ef1-8f67-9ea5ad08ac20.png"}
…

results in https://assets2.ello.co/uploads/asset/attachment/7472627/ello-3cb4647b-0277-4ef1-8f67-9ea5ad08ac20.png
The End. :)
Thank you for your project!

@teromene Thank you, works great!
A small correction would be nice, though:
Each feed item should have a title and a link leading to selected post, but currently there is no convenient way to get from any image to its corresponding post.
In html mode all tags lead simply to the root of ello site, in atom mode tags lead to https://[CURRENT_BRIDGE_URL]/search?terms=#[TAG] which results in 404, obviously.

This should be fixed in c4d489f


Target id not sent to or retrieved correctly by server

This bug appeared very recently. The scenario is the following:
A client creates a handle for an RPC and sets its target id to something other than 0. It then forwards to the server. On the server, HG_Get_info returns a pointer to an info struct where target_id is 0, not the target id specified by the client.

The target ID (renamed context_id) now reflects the ID of either the target or origin context of the handle.


Can a Slack app also have a preview for uploaded file using files_upload?

Hi Everyone,
Using files_upload from the SDK Web Client,
Is there a way for Slack App to also have a preview for the file uploaded just like a normal user gets when uploading it ??

Thanks in advance!

Hi @Harshg999! Great question. 🙂
So, as far as bot file uploads go, with the files_upload method it's not possible to add a custom preview to the file (in this case, to mimic the preview seen when an end user does an upload "by hand" in the client).
If you still wanted to add a custom preview, you could use the files_remote_add method instead (example, docs). The value for preview_image is what is shown when your file is shared (these added files must be explicitly shared using the files_remote_share method (docs)).
As their name implies, files_remote_add and files_remote_share require that you to host the files remotely, so you'll have to decide if that's a tradeoff you're comfortable with making to get a custom preview.
Hope this helps. Let me know if you have any further questions!

Thank you for the answer @misscoded!


[BUG] 1.7.0 is not uploaded to CKAN

Version Information
KSP 2 Version
The KSP 2 Version: <IP_ADDRESS>
Space Warp Version
The Space Warp Version: 1.7.0

Bug Information
Describe the bug
The most recent version of SpaceWarp is not uploaded to CKAN which is causing other mods like MicroEngineer to break.
To Reproduce
Open a KSP 2 instance in CKAN.
Click on SpaceWarp and go to versions.
SpaceWarp 1.7.0 is not listed.
Expected behavior
1.7.0 should be listed
Link to crashlog [If Applicable]
This is the log error I got from BepinX when trying to load MicroEngineer
Could not load [MicroEngineer 1.7.0] because it has missing dependencies: com.github.x606.spacewarp (v1.7.0 or newer)

What version of CKAN are you using, spacewarp requires >= 1.34.2

To add onto that, nearly all newest versions of mods require that CKAN version.


fix incompatable modules attribute on packet

when this was a list of maps I was getting the following error on sentry:

changing to just a map fixes this. Modules doesn't seem to be full implemented so this doesn't appear to break anything.

Oh, good call. :) Thanks!


[BUG] get an error Could not find browser revision 756035.

I am deploying typescript to AWS lambda nodejs12 and got this error when running the lambda: "errorMessage": "Error: Could not find browser revision 756035. Run \"npm install\" or \"yarn install\" to download a browser binary.",.
the package json file has below dependencies:

{
  "name": "properties-scrapy",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "aws-lambda": "^1.0.6",
    "chrome-aws-lambda": "^3.1.1",
    "puppeteer-core": "^3.1.0"
  },
  "devDependencies": {
    "@types/aws-lambda": "^8.10.55",
    "@types/node-fetch": "^2.5.7",
    "@types/puppeteer": "^3.0.0",
    "jest": "^26.0.1",
    "puppeteer": "^3.3.0",
    "typescript": "^3.9.5"
  },
  "scripts": {
    "build": "tsc --build tsconfig.json"
  }
}

my source code is importing like: import chromium from 'chrome-aws-lambda';
Why does it complain about browser revision? How can I specify a supported revision number?

I had the same issue. On your lambda function, try to remove "puppeteer" folder from "node_modules" if you have it.

I don't have puppeteer on lambda. I use yarn install --prod to exclude devDependencies.

We are seeing the same issue, also installing with NODE_ENV=production npm ci so that there is no puppeteer in the Lambda package.
We are using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

@zhaoyi0113 I found what the issue was on our side: make sure that you pass the executablePath from chrome-aws-lambda to puppeteer.
Our code was:
browser = await chromium.puppeteer.launch({
      args: chromium.args,
      defaultViewport: chromium.defaultViewport,
      headless: chromium.headless,
      ignoreHTTPSErrors: true,
    });

We added the executablePath from the doc:
browser = await chromium.puppeteer.launch({
      args: chromium.args,
      defaultViewport: chromium.defaultViewport,
      executablePath: await chromium.executablePath,
      headless: chromium.headless,
      ignoreHTTPSErrors: true,
    });

The chromium executable is added to the env when chromium.executablePath is called so that part is important. Hope it was the same issue for you :)

@jawadst you are right, your solution fix my problem. Thanks.

Hi, I am still having this problem with dependencies:
"chrome-aws-lambda": "^3.1.1",
"puppeteer-core": "^3.1.0"

Running code with this way:
browser = await chromium.puppeteer.launch({
      args: chromium.args,
      defaultViewport: chromium.defaultViewport,
      executablePath: await chromium.executablePath,
      headless: chromium.headless,
      ignoreHTTPSErrors: true,
    });

Error details:
ERROR	Error: Could not find browser revision 756035. Run "npm install" or "yarn install" to download a browser binary.     at ChromeLauncher.launch (/var/task/node_modules/puppeteer-core/lib/Launcher.js:59:23)     at async /var/task/index.js:120:27 2020-07-21T23:57:04.540Z	12d6dfe8-8b45-454b-8933-14bf941b64a6	ERROR	Error: Could not find browser revision 756035. Run "npm install" or "yarn install" to download a browser binary.     at ChromeLauncher.launch (/var/task/node_modules/puppeteer-core/lib/Launcher.js:59:23)     at async /var/task/index.js:120:27 2020-07-21T23:57:04.541Z	12d6dfe8-8b45-454b-8933-14bf941b64a6	ERROR	Invoke Error 	{"errorType":"Error","errorMessage":"Could not find browser revision 756035. Run \"npm install\" or \"yarn install\" to download a browser binary.","stack":["Error: Could not find browser revision 756035. Run \"npm install\" or \"yarn install\" to download a browser binary.","    at ChromeLauncher.launch (/var/task/node_modules/puppeteer-core/lib/Launcher.js:59:23)","    at async /var/task/index.js:120:27"]} END RequestId: 12d6dfe8-8b45-454b-8933-14bf941b64a6 REPORT RequestId: 12d6dfe8-8b45-454b-8933-14bf941b64a6	Duration: 283.84 ms	Billed Duration: 300 ms	Memory Size: 3008 MB	Max Memory Used: 132 MB	Init Duration: 890.91 ms
I use aws lambda nodejs 12x runtime.
Please help thanks.

If you run into this issue locally, you probably need to install puppeteer as dev dependency.
https://github.com/alixaxel/chrome-aws-lambda/wiki/HOWTO:-Local-Development#workaround

In the end, running this command fixed it for me:
node node_modules/puppeteer-core/install.js

🤷♂

In the end, running this command fixed it for me:
node node_modules/puppeteer-core/install.js

🤷♂

And I don't need to do anything else for production right?


Projects page

Issue: #60
Description
As per the discussion here, this PR creates /projects/index.html to serve Zalando's all open source projects from scratch.
Types of Changes
What types of changes does your code introduce? remove the points which aren't applicable:

New feature (non-breaking change which adds functionality)

Tasks

[x] List all projects
[x] Add maximum limit for pagination (logic to disable to Load More Results button)
[x] Display statistics for individual projects
[x] Filter by programming languages
[x] Filter by Zalando Github Organisations
[x] Load More Results button for paginated results
[x] Dress-Code styles
[x] Add SVG icons for all programming languages
[x] Spinner icon to show loading state
[x] Add Google Analytics: Issue #55
Cache the results to avoid additional calls to the Github API via Catwatch
Group the cached results based on programming languages
Group the cached results based on Zalando Github Organisations

Screenshots/Videos (OPTIONAL)

@therealpadams I have moved all files related to dynamic code into components directory.

The website projects page is ready to replace the existing page for https://zalando.github.io/. Here is the discussion about the existing setup for zalando.github.io.
Below are the next steps before we deploy this PR:

Archive the existing zalando.github.io repo - https://github.com/zalando/zalando.github.io
This PR is a replacement to - https://github.com/zalando-incubator/zalando.github.io-dev. So zalando.github.io-dev is good to be archived too.

Any further extensions to the Open Source team website, projects pages can be continued HERE.
The detailed scope for future work to be drafted (todo)

The gulp script from the zalando.github.io-dev, builds the artifact and pushes new code commits into zalando.github.io.

To prevent unwanted code commits coming, update Collaborators & Teams - https://github.com/zalando/zalando.github.io/settings/collaboration.
This way, we can ensure nobody else is able to push changes into THIS updated repo.
All new pull requests will have to be opened HERE and the Open Source team can review, approve and merge.

Lastly, rename THIS repo to zalando.github.io.

Note THIS, HERE refer to this repo - https://github.com/zalando/ost


Privacy & Policy Page

✨ Feature Request
Description of the Feature
We can implement a Proper privacy & policy page on the website's footer.

[x] Yes
[ ] No

I would also like to work on this feature

good one and first PR i will merge with Level 2

@dhairyagothi thank you so much for assigning the issue

Hi, @Sonuu20
I have already started working on this and will raise a PR for the same soon. If you dont mind can you pick any other issue/feature-enhancement.
cc: @dhairyagothi

Sure @TanmayKalra09  make PR i will see

Hey @dhairyagothi I have raised the PR. Please review it once.


pak_mallet does not convert compiled external lightmaps

pak_mallet does not convert compiled external lightmaps

fixed, the maps are now compiled in an extra dir and the conversion pass is done on it too.


Support for Arquillian

Adds support for running TCK tests in a Java application container using Arquillian. It also modifies the example TCK runner for JBatch to use an Arquillian Weld embedded container instead of plain Weld to run the tests in the Weld container.
There's also an example of running the TCK using Arquillian against a locally installed Payara Server: https://github.com/OndroMih/Payara-Batch-TCK-Runner/tree/poc-arquillian. This wouldn't be possible without changes in this pull request.

This is now obsolete after an update in the master branch. Archived version with changes against on older commit in the master branch is in #4


Additional RMM tool: Auvik

Provide name of tool in title
RMM tool website: auvik.com

Auvik uses connectWise Manage for managing RMM capability - already covered


BetterEnd seems to be causing a "connection lost" error.

Here's the log of the crash. A minute into loading the game, I receive a message that BetterEnd is likely the cause of the crash.
latest.log

Here's the very latest one with the crash report
latest.log
crash-2021-05-25_18.55.30-server.txt

Duplicate of #154, disable Hydrogen mod

I figured it out, it didn't have to do with Hydrogen but "Fast leaf decay". Getting rid of it fixed the issue.


Unexpected token while running test in with-typescript example

I'm running into an issue getting the initial test running in the with-typescript example app. My package.json uses the same config as the example:
"jest": {
  "transform": {
    ".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js",
    "^.+\\.css$": "<rootDir>/node_modules/razzle/config/jest/cssTransform.js",
    "^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/node_modules/razzle/config/jest/fileTransform.js"
  },
  "testMatch": [
    "<rootDir>/src/**/__tests__/**/*.(ts|js)?(x)",
    "<rootDir>/src/**/?(*.)(spec|test).(ts|js)?(x)"
  ],
  "moduleFileExtensions": [
    "ts",
    "tsx",
    "js",
    "json"
  ],
  "collectCoverageFrom": [
    "src/**/*.{js,jsx,ts,tsx}"
  ]
}

Running yarn test I get the following:
FAIL  src\App.test.tsx
  ● Test suite failed to run

    path\to\src\Home.css:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){.Home {
                                                                                ^

    SyntaxError: Unexpected token .

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)
      at Object.<anonymous> (src/Home.tsx:12:1)
      at Object.<anonymous> (src/App.tsx:3:13)

Seems like the cssTransform may not be running on it, but I'm not very familiar with Jest and it's config yet.

You'll have to instruct ts-jest to use a .babelrc file, and create a .babelrc in your root containing the same as razzle's default babel configuration:
{
  "presets": [
    "razzle/babel"
   ]
}

Wait, nevermind, I'm stupid, babel of course does not transform css by default.
Considering looking into this article.

@corydeppen
I haven't seen this occur when running the updated TS example (#436) which uses CSS now.
Can you provide an example repo that isolates your issue?

It still fails, though with a slightly different error, even after copying over all the files from the updated TS example and working from an empty node_modules directory without a yarn.lock file:
src\App.test.tsx
  ● Test suite failed to run

    path\to\src\react.svg:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){<?xml version="1.0" encoding="UTF-8
"?>

    SyntaxError: Unexpected token <
      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)
      at Object.<anonymous> (src/Home.tsx:2:15)
      at Object.<anonymous> (src/App.tsx:3:13)

I've given up trying to figure out what's causing it. I cloned the TS example again, upgraded the outdated dependencies, and the test passes without an issue.

I ran into the same issue with a CSS file. Turns out the file in question was under a "components" directory and the Jest transform pattern for ts files wasn't strict enough. PR #872 should fix it.


[styled-engine, styled-engine-sc] Add StylesProvider with injectFirst option

This PR adds StylesProvider with injectFirst option in both @material-ui/styled-engine and @material-ui/styled-engine-sc. The StylesProvider is exported from core as StyledEngineProvider and used in the docs, codesandbox example template & the argos TestViewer.
The usage of this Provider will be necessary during the transition stage, where we have emotion components being overridden by JSS styles.

[ ] Find issue with @material-ui/styled-engine-sc's generated style tag being ignored
[ ] Find issues with remaining argos differences 😕

Test branch for the change - https://github.com/mui-org/material-ui/pull/23897
Remaining argos differences - https://www.argos-ci.com/mui-org/material-ui/builds/6048 (first two are expected, rest not I guess...)

I would encourage we update the demos to force the box-sizing to border-box.

Should we do this for all demos? Like a global style? Or explicitly for the failing demos?

Should we do this for all demos? Like a global style? Or explicitly for the failing demos?

@mnajdova We apply box-sizing: content-box; in the visual regression tests and box-sizing: border-box; in the documentation to spot the few lines of CSS that aren't invariant.
https://github.com/mui-org/material-ui/blob/d3cfb6bca523eaa58b768b6371b07009073d7aaa/test/regressions/TestViewer.js#L11-L19
I was suggesting we do the same thing as with the core components but for the demos that are impacted, e.g.
diff --git a/docs/src/pages/components/drawers/ResponsiveDrawer.tsx b/docs/src/pages/components/drawers/ResponsiveDrawer.tsx
index 9158b08af2..b4ddd17624 100644
--- a/docs/src/pages/components/drawers/ResponsiveDrawer.tsx
+++ b/docs/src/pages/components/drawers/ResponsiveDrawer.tsx
@@ -45,6 +45,7 @@ const useStyles = makeStyles((theme: Theme) =>
     toolbar: theme.mixins.toolbar,
     drawerPaper: {
       width: drawerWidth,
+      boxSizing: 'border-box',
     },
     content: {
       flexGrow: 1,

@oliviertassinari did the changes the only differences now are the ones which we could consider as an acceptable cost during the migration. ( We can update the examples for the Box to override another component where we won't have conflicts with the styles being applied, like Typography maybe... ).
Regarding the migration guide, should I update the migration-v4.md with instruction that developers should use the StylesProvider while migrating, so that JSS overrides could win over the emotion default styles?


Correct information about setting the system time zone

The doc is incorrect, stating that the dynamic call is for Windows 7 and 8 only.  It's actually for Windows Vista / Server 2008 and newer, including through Windows 10.
Note: It would also be good if the SetDynamicTimeZoneInformation page showed an example of setting the time zone by enumerating zones with EnumDynamicTimeZoneInformation and choosing one that matched the key name - along with setting the required permissions, etc.  I don't have time to include that today, but I wanted to get this other change in as it's simply incorrect.
Thanks.

@mj1856 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_FEDERATED_TOKEN_FILE env vars?

Workload identity elsewhere demands that AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_FEDERATED_TOKEN_FILE exist in the Pod's environment to use WorkloadIdentityCredential with Azure.Identity/Microsoft.Identity.Web (dotnet core). Yet this page makes no mention of this whatsoever. Also, it's easy to find the tenant and client id (since I made the managed identity myself) but where in the name of sausages does the value of AZURE_FEDERATED_TOKEN_FILE come from? I found something saying that it comes from the json emitted from the az identity federated-credential create command, but nope, no such property output either.
Please clarify!
Update: I shelled into a pod and went digging around /var/secrets and found a token contained in /var/run/secrets/kubernetes.io/serviceaccount/token which looks like it might correct? Dumping it with jwt.ms showed me all the right strings I might expect... but now I get "AADSTS70023: External OIDC Provider token must have a lifetime of less than or equal to 1.01:00:00"
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: efde8151-ca72-0ce1-271a-57a14a8c7ccd
Version Independent ID: f37efaf0-6573-6813-a3e4-3065e44666e4
Content: Tutorial - Use a workload identity with an application on Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/learn/tutorial-kubernetes-workload-identity.md
Service: azure-kubernetes-service
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@oising
Thanks for your feedback! We will investigate and update as appropriate.

@oising
It is true that when using Workload Identity with Azure.Identity/Microsoft.Identity.Web in .NET Core, you need to set the environment variables AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_FEDERATED_TOKEN_FILE in the Pod's environment. The AZURE_TENANT_ID and AZURE_CLIENT_ID values can be found in the Azure portal or by running the following command in the Azure CLI:
az identity show --ids <identity-resource-id>

Regarding the AZURE_FEDERATED_TOKEN_FILE value, it is generated by the Azure AD provider when the federated identity credential is created. The federated identity credential is created by running the following command:
az identity federated-credential create --identity <identity-resource-id> --name <credential-name>

This command generates a JSON file that contains the federated identity credential. The JSON file is stored in a Kubernetes secret, and the path to the file is stored in the AZURE_FEDERATED_TOKEN_FILE environment variable.
Regarding the error message you are seeing, "AADSTS70023: External OIDC Provider token must have a lifetime of less than or equal to 1.01:00:00", it means that the token lifetime is too long. You can try to reduce the token lifetime by setting the --token-lifetime parameter when creating the federated identity credential. For example:
az identity federated-credential create --identity <identity-resource-id> --name <credential-name> --token-lifetime 1h

This will set the token lifetime to 1 hour. You can adjust the value as needed.

Resolved

@SaibabaBalapur-MSFT   I want to create the federated_token from the azure devops script task..  I am using workload federated service connection. in azure devops the environment is getting update for kubernetes,kubectl or helm task but not for the azcli or script task.  I would like to know how to get the federated_token_file.. what is the identity-resource-id refers to ?


Upgrade futures-preview and tokio crates

This PR upgrades futures-preview and tokio crates to its latest alpha versions. And removes using #![feature(async_await)].

After merging this PR, please do update async-await branch with latest master. This is required to make progress on this branch.


Fix bug that returned twice the amount of devices and refactors tests

Description
Fix bug that returned twice the amount of devices and refactors tests.
The bug was happening due to the creation of a list with fixed size then appending devices to it.
Fixes #THEEDGE-1551
Type of change
What is it?

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Tests update
[ ] Refactor

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I run go fmt ./... to check that my code is properly formatted
[x] I run go vet ./... to check that my code is free of common Go style mistakes

Codecov Report

Merging #576 (847ae29) into main (9dd4d21) will increase coverage by 8.76%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #576      +/-   ##
==========================================
+ Coverage   21.23%   30.00%   +8.76%
==========================================
  Files          33       33
  Lines        3513     3513
==========================================
+ Hits          746     1054     +308
+ Misses       2659     2315     -344
- Partials      108      144      +36

Impacted Files
Coverage Δ

pkg/services/consumers.go
29.33% <ø> (ø)

pkg/services/devices.go
61.14% <100.00%> (+16.00%)
:arrow_up:

pkg/services/files.go
45.45% <0.00%> (+13.63%)
:arrow_up:

pkg/services/images.go
16.04% <0.00%> (+16.04%)
:arrow_up:

pkg/services/updates.go
52.15% <0.00%> (+49.28%)
:arrow_up:

pkg/services/ownershipvoucher_active.go
94.79% <0.00%> (+80.20%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9dd4d21...847ae29. Read the comment docs.


MM-37961 - update invite members image to new branding

Summary
Updates the invite members button image to the new branding.
Ticket Link
https://mattermost.atlassian.net/browse/MM-37961
Screenshots
Before:

After:

Release Note
NONE

lgtm! I just updated the illustration to better match themes: https://www.figma.com/file/MYVj0NUudT9V7GV9KepBy3/Illustrations?node-id=416%3A5018

Cherry pick is scheduled.

@marianunez Is this for cloud release tomorrow?

This is for v6.0 so it should be cherrypicked to cloud

/cherry-pick cloud

Cherry pick is scheduled.


Fix readme.md for subprojects

The read-me file for sub projects has not been fixed during changes in structure of project and needs to be fixed.

The readme file is now fixed. This issue can be closed


jbossHome 'null' must exist

Issue Overview
I encountered an error while executing tests on CDI project:
mvn test -f cdi/pom.xml -Parq-jbossas-managed-7
Expected Behaviour
Maven downloads JBoss AS 7 and run the CDI tests with no failure.
Current Behaviour
Error: jbossHome 'null' must exist
Seems like Maven does not download JBoss AS
Steps To Reproduce

Execute command: mvn test -f cdi/pom.xml -Parq-jbossas-managed-7

Additional Information

Apache Maven 3.5.0
```
Apache Maven 3.5.0
Maven home: D:\tools\apache-maven-3.5.0\bin\..
Java version: 1.8.0_144, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_144\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
```

com.acme.cdi.BeanManagerTestCase: jbossHome 'null' must exist
```
com.acme.cdi.BeanManagerTestCase: jbossHome 'null' must exist
  com.acme.cdi.decorator.AnnouncerDecoratorTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.event.BeanManagerInitializedTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.event.DocumentEventTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.event.PacketSendReceiveTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.failure.AmbiguousDependencyTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.GreeterManagedBeanTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.measurement.TemperatureConverterTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.payment.SynchronousPaymentProcessorTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.random.RandomTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.singleton.JavaxInjectSingletonTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
  com.acme.cdi.translate.TextTranslatorServiceTestCase: Arquillian has previously been attempted initialized, but failed. See cause for previous exception
```

Same here, but I changed from the default beta 3 to beta 2 for below because beta 3 cannot be found..
org.jboss.jsfunit
jsfunit-arquillian


Remove allowedConfigFeatureList from GetPluginFeaturesResponse for Notifications

Signed-off-by: Mohammad Qureshi<EMAIL_ADDRESS>Description
Since allowed_config_features is no longer being used this PR removes it from the Get Plugin Features API response
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Could you please link to the removal/deprecation of allowed_config_features PR/issue/anything?

The related PR from Notifications is mentioned above since that PR references this one.


Test case to reproduce bug 2265

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Wiki - Development Kit - Installation Instructions - Testing Installation :: Correction

While reading over your documentation in the Wiki, I used the section of the Installation Instructions - 5. Testing Installation to check a previous installation of Ruby.  I found that one command would not run and I had to make a change in the command.  This is after the installation of json, I ran the command starting 'ruby -rubygems ...' but it did not work on my machine.  By altering the command to
'ruby -rrubygems ...', the command worked correctly.
I cloned the wiki, forked rubyinstaller and pushed it up to my fork, but never found a way to send a pull request to the onclick/rubyinstaller.  My fork is https://github.com/rjshaver/rubyinstaller.  I tried putting it into another branch but that does not seem to work with the wiki either.  I tried to make it easy for you, but this is so simple, it may be easier for you to just find the difference and change on your copy.

I did not see where I could edit the wikipage on the oneclick/rubyinstaller before, but I changed it.  I see the altered wiki page Development Kit, but maybe you will need to accept it.  Thanks.

@rjshaver
I haven't gone crazy looking, but generally, ruby -rubygems only fails on Ruby 2.5 or later.  What version of Ruby are you running, (ruby -v)?

Yes, it is Ruby 2.5.1.  I set that up a month or more ago, but may have updated last night.  That would be the reason.  Thanks for the quick feedback.

Ok.  Just to clarify, this repo is for Ruby versions 2.3 and lower, RubyInstaller2 is for Ruby 2.4 and later.

Re RubyGems, a long time ago someone thought it looked odd to type `-rrubygems`, so they added what one might call an alias to `rubygems.rb` from a file named `ubygems.rb` (which allowed one to type `-rubygems`).  I think it got yanked out before Ruby 2.5 was released, but has been added back in to RubyGems updates.

So, if you update to RubyGems 2.7.7, you should have it back.  Greg

Ok.  Yes, I am new to Ruby and did not see the difference in installers.  I did see finally see where the rubyinstaller is used for 2.3 and before and rubyinstaller2 in 2.4 and above in a youtube video.   Thanks for the heads-up and background info.  Thanks for your time.


added the light and dark modes fixed: #15

this is how the light and dark modes look now

Convert button is not visible in light mode and the code editor is set to white color, I asked to set it to a different shade like pale white or off-white.


AppSyncList POC

Issue #, if available:
Description of changes:
Retrieving top level list of models with pagination functionality
static func paginatedList<M: Model>(_ modelType: M.Type, where predicate: QueryPredicate?, limit: Int?)
      -> GraphQLRequest<AppSyncList<M>>

This introduces a new Model-to-GraphQLRequest builder that returns AppSyncList, and can be used for retrieve subseqential pages of data.
Alternatively, we can introduce a breaking change to replace .list which returns [M] instead of namespacing this .paginatedList.
High level details
AppSyncList is a subclass of List (now made as an open class), and conforms to Paginatable.
public class AppSyncList<ModelType: Model>: List<ModelType>, Paginatable

List, made open for AppSyncList to subclass and conforms to an empty protocol ListModel
open class List<ModelType: Model>: Collection, Codable, ExpressibleByArrayLiteral, ListModel

Paginatable, contains pagination related interface. To be reviewed
public protocol Paginatable {
    associatedtype Page
    associatedtype PageError: Error
    typealias PageResult = ((Result<Page, PageError>) -> Void)
    func next(onComplete: @escaping PageResult)
    func hasNext() -> Bool
}

note: in lazy load functionality of list, it uses a lock to turn the async operation into syncrhonous, whereas here i've opt-d to keep it a callback
ListModel, empty protocol, used in APIPlugin to indicate a second decode attempt can be done to store additional information in the response.
public protocol ListModel { }

*TODO: this empty protocol "marker" should probably be conformed to by AppSyncList, not on the List.
APIPlugin decoding logic
APIPlugin does two decode passes. First pass decodes data from AppSync. Second pass is only taken when the data is successfully decoded from the first pass and is of  type ListModel. For ListModel types, a second decoding attempt is done to decode with AppSyncListPayload as the data.
AppSyncListPayload, contains additional request information to be stored in the responseType
public struct AppSyncListPayload: Codable {
    let document: String
    let variables: [String: JSONValue]?
    private let graphQLData: JSONValue
}

The second decoding attempt is required to store non-response data back in the response, such as the document and variables from the request. Having this request information in the response allows the pagination functionality to work. ie.
func hasNext() {
  // retrieve from graphQLData, check if nextToken is nil
}

func getNextPage() {
   // construct request with document, update variables with nextToken from graphQLData, perform API.query
  // return new results as next page
}

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

closing for https://github.com/aws-amplify/amplify-ios/pull/806


encodeSpecialCharacters={false} not working?

Hello, thanks for the very useful library, it seems to have worked very well so far.
I am trying to inject the following in to server side rendered template however it seems to be converting my & to & in my querystring and I'm not sure why?
The string I have in the href is actually dynamic but for the purpose of this issue I have just used a static string.
<Helmet encodeSpecialCharacters={false}>
    <link rel="alternate" href={`https://mysite.com/foo/page?query1=val1&query2=val2`} hrefLang="en-gb" />
</Helmet>

When I send a cURL request to my webpage I get the following back:
<link data-react-helmet="true" rel="alternate" href="https://mysite.com/foo/page?query1=val1&query2=val2" hrefLang="en-gb"/>

My understanding was that introducing the encodeSpecialCharacters={false} option should address this, but it seems to have no effect on the html coming from the server.
If it makes any difference, I'm rendering my React to string and I have the following in the <head> of my template:
${helmet.title.toString()}
${helmet.meta.toString()}
${helmet.link.toString()}

Thanks for any help.
react-helmet version 5.2.0
nodejs 6.11.5

I'm getting the same issue. I cannot seem to stop the conversion to special characters. This is a definite issue as it will show up on search result engines with the converted character ( ' => ' ).

I was able to get past this issue with this workaround:
import { Helmet } from 'react-helmet';

Helmet.defaultProps.encodeSpecialCharacters = false;

class MyClass extends Component {
  render() {
    return (
      <Helmet>
        // your stuff here
      </Helmet>
    );
  }
}

YMMV, but it works in my app.

It seems like encodeSpecialCharacters works for me, but ReactDOMServer encodes the URLs afterwards. I’ve come up with a workaround for Gatsby specifically but it should be applicable to non-Gatsby projects: https://github.com/facebook/react/issues/13838#issuecomment-859236290


--no-open flag ignored

sail run --no-open cdr/code-server will still open an editor session.

I believe this happens when you're running a project that already has a container.


[Binary Client/Source.] Disconnected when reskilling, Wrong UI notice.

When trying to reskill using the Binary Client along with Server Source, you get disconnected with message box "There are to many users logged in."

This issue was moved to ApexKO/OpenKO#51


RELATED: TNT-1374 Upgrade vulnerable dependencies

Currently destined for release R270.
This release is zero downtime release.
Code drop: 2023-03-09 00:00.

Story TNT-1374 Upgrade packages in TNT-owned repositories (Mar 2023)
Status: Hacking
Priority: Major
Assignee: Jakub Scavnicky

Build succeeded (check pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-check/162/ : SUCCESS in 5s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker/1/ : SUCCESS in 29s
https://checklist.intgdc.com/job/compliance/job/gooddata-typings-oss-check/17/ : SUCCESS in 4s

Sonar scan result

No issue found. Congratulations!

More detail, see in https://sonarqube-gate.intgdc.com/dashboard?id=gooddata-typings-gate-PR92
To scan for vulnerabilities in dependencies and run unit tests (to get coverage report in sonar) please comment your PR with 'extended check sonar'.

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-gate/57/ : SUCCESS in 3s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker/2/ : SUCCESS in 30s
https://checklist.intgdc.com/job/compliance/job/gooddata-typings-fossa-scanning-zuul/1/ : SUCCESS in 2m 16s (non-voting)
https://checklist.intgdc.com/job/compliance/job/gooddata-typings-sonarqube-scan-zuul-gate/7/ : SUCCESS in 31s


Leftovers after refactoring of CNY => USD

@emasiuk Could you please merge changes from #208 into this PR?

@yivo done


Feature/mathf

Adds pyunity.Mathf module which sorts out math and glm function sorting

Pulling changes from upstream


chore: rebrand repository under open-wc

The repository has been transferred under https://github.com/open-wc organization.

yesssss! welcome!


Fix running stereo_inertial_node in a namespace

The absolute topic prefixes have broken a part of the functionality when the node is run in a namespace. This PR fixes it.

Thanks for the fix, I agree that those prefixes should not be absolute, although we had some changes regarding default branches and correct branch for that fix would be noetic if you can rebase without problems


[Feature] have v-el be a list combined with v-for

When using v-ref combined with v-for, it will give you an array of refs. It would be nice to have this feature for v-el too.

It was the case before with Vue.js 0.12.
I can't finish my migration because some part of my app is depending on this behavior.

+1

+1

is this slated for release 1.1.0 (a "will-implement"?)
btw +1

yeah it's in the milestone.

+1

Why not use v-el in component?
In my opinion, any item in v-for should be separated as a component.

FYI this is already shipped in 2.0 with the new $refs. Don't know if Evan wants to back port it to 1.x though.


Component props in resolve function

Hi, there.
I have next usage question.
Before import module I need to fetch API service to resolve what module I have to import. My application uses SEO-friendly routing. For example:

URL /my-very-nice-article corresponds ArticlePagecomponent
URL /statistics-for-my-other-very-nice-article corresponds ArticleStatisticsPage
and etc.
All matches between URLs and components are stored in database.

So in resolve function of my async component I need to get current location from props (I use react-router v4).
All my routing consists of the next line:
<Route path="*" component={AsyncComponentResolver}/>

I didn't find any information how to use props in resolve function and write wrapper component:
class AsyncComponentResolver extends Component {
  render(){
    const {pathname} = this.props.location;

    const AsyncComponent = asyncComponent({
      resolve: () => {
        return API.fetchRouteInformation(pathname)
          .then(({modulePath}) => import(modulePath))
      },
      LoadingComponent: ({ match }) =>
Resolving {match.url}

    });
    return <AsyncComponent {...this.props}/>
  }
}

But this solution doesn't work in stage of server-side rendering and I have
Resolving /my-very-nice-article
 in rendered HTML instead of rendered ArticlePage component.
Thanks! It will be very nice if you show me the right way.

@ctrlplusb could you help me, please.

Hey @sergei-zelinsky unfortunately you will always have problems when combining dynamically created asyncComponent instances with server side rendering.  This is because internally I have to manage a unique identifier that gets attached to each created asyncComponent instance so that on the render parse I know which components to rehydrate etc.  Sorry  😢
@faceyspacey may have some helpful insight into this for you.  He also has an alternative solution with a massive focus on SSR experience.

@sergei-zelinsky funny thing is I'm releasing the precise answer to universal "dynamic" imports as we speak. Just this morning Webpack merged my PR (https://github.com/webpack/webpack/pull/5235) to make it possible for the first time.
import(`./${page`) has worked, but to bring everything together you need to use require.resolveWeak(`./${page`) to synchronously render on the server and on first load on the client.
However that didn't work until the PR. Only static resolves like this worked: require.resolveWeak(`./${page}`).
So the dream of code-splitting has revolved around large hashes of all the potential components you might want to render. My thinking has been that once it's frictionless, simultaneous code-splitting + SSR will reach its inflection point and finally become accessible.
I'll respond with a solution to the "universal" aspects tomorrow, but the short of it is you should be able to do this:
const asyncComponents = {
  ArticlePage: () => import('./ArticlePage'), // make sure the imports are guarded by functions
  ArticleStatisticsPage: () => import('./ArticleStatisticsPage'), // so they aren't called until you need them
}
// ...
resolve: () => {
  return API.fetchRouteInformation(pathname)
    .then(({ modulePath }) => {
         return asyncComponents[modulePath].default
    })
},

regarding SSR:
This package does an excellent job avoiding checksum mismatches on the client along with SSR, but it requires making additional async imports after the page loads. So doesn't support synchronous rendering on the server or on initial load on the client. I'll get back to you tomorrow after I release the latest on how to do that. It's been a long road to make this frictionless. And the problem you've run into--though not the hardest to solve with existing solutions--has been a point of confusion for many.
ps. @ctrlplusb i checked your re-implementation of Apollo's recursive promise resolution on the server a while back, and was really inspired by it. Too little time, but there's a lot we can do with that to combine universal rendering with universal component-level data-fetching. I actually wrote a 1st draft a month ago using the bootstrapper package you made. I just need to re-incorporate it with the latest React Universal Component stuff revolving around the above PR.

@faceyspacey sounds like some exciting work dude!  defo keep me posted. :)

@ctrlplusb thanks!
...and actually my bad, as i said, dynamic imports work for SPAs (just not for universal apps using require.resolveWeak). So you can simplify the above hash-based approach to this:
const asyncComponents = {
  'my-very-nice-article': ArticlePage,
  'statistics-for-my-other-very-nice-article': ArticleStatisticsPage,
}

const getAsyncComponent = ({ modulePath }) => import(`./${modulePath})
   .then({ default: Component }) => Component)

// ...

resolve: () => {
  return API.fetchRouteInformation(pathname)
    .then(getAsyncComponent)
},

@sergei-zelinsky hey brother never heard back from you. In any case, here's the article which has the rest of the answers to your questions regarding universally rendering:
https://medium.com/faceyspacey/announcing-react-universal-component-2-0-babel-plugin-universal-import-5702d59ec1f4

Hi guys.
Sorry for the late response, it was difficult to answer earlier.
You really helped me.
Thanks a lot for your contribution into open-source community and best support. Great work!
@ctrlplusb @faceyspacey


Feature/add multiple facebook templates

As mentioned in the issue here there were some Facebook template features missing as well as some tests for the used Facebook elements.
I added all the other Facebook templates and separated them: GenericTemplate, ButtonTemplate, ListTemplate and ReceiptTemplate.
I also aded for consistency new Elements for the Receipt template: ReceiptAddress, ReceiptAdjustment, ReceiptElement, and ReceiptSummary
The only FB templates missing now are the airplane ones which I think are not that important right now.
Note: This is kind of a breaking change, because the general Template is no longer given. It would make no sense to work with that one too. Since only a part of the FB template was working before it might be not that a big deal to "break" it, but this is up to you @mpociot . Also did the best with the tests. If there is anything you'd like to enhance, go for it or tell me :-)
Here are examples for all the templates with the maximum fields shape:
Generic Template:
$bot->reply(GenericTemplate::create()
                ->addElements([Element::create('BotMan Documentation')
                    ->itemUrl('http://botman.io/')
                    ->image('http://botman.io/img/botman-body.png')
                    ->subtitle('All about BotMan')
                    ->addButton(ElementButton::create('visit')->url('http://botman.io'))
                    ->addButton(
                        ElementButton::create('tell me more')
                            ->payload('tellmemore')->type('postback')),
                    Element::create('BotMan Laravel Starter')
                        ->itemUrl('https://github.com/mpociot/botman-laravel-starter')
                        ->image('http://botman.io/img/botman-body.png')
                        ->subtitle('This is the best way to start with Laravel and BotMan')
                        ->addButton(ElementButton::create('visit')->url('https://github.com/mpociot/botman-laravel-starter'))])
            );

List Template:
$bot->reply(ListTemplate::create()
                ->useCompactView()
                ->addGlobalButton(ElementButton::create('view more')->url('http://test.at'))
                ->addElement(
                    Element::create('Element1')
                        ->itemUrl('http://test1.at')
                        ->image('http://powellong.com/data/wallpapers/1/WDF_499548.jpg')
                        ->subtitle('This is my super subtitle')
                        ->addButton(ElementButton::create('Button1')->type('postback')->payload('https://test.at'))
                )
                ->addElement(
                    Element::create('Element2')
                        ->itemUrl('http://test1.at')
                        ->image('http://powellong.com/data/wallpapers/1/WDF_499548.jpg')
                        ->subtitle('This is my super subtitle')
                        ->addButton(ElementButton::create('Button2')->url('https://test.at')))
);

Button Template:
 $bot->reply(ButtonTemplate::create('What do you think about this list?')
                ->addButton(ElementButton::create('Button1')->type('postback')->payload('https://test.at'))
                ->addButton(ElementButton::create('Button2')->url('https://test.at'))
            );

Receipt Template:
$bot->reply(
                ReceiptTemplate::create()
                    ->recipientName('Christoph Rumpel')
                    ->orderNumber('342343434343')
                    ->timestamp('1428444852')
                    ->orderUrl('http://test.at')
                    ->currency('USD')
                    ->paymentMethod('VISA')
                    ->addAddress(ReceiptAddress::create()
                        ->street1('Watsonstreet 12')
                        ->city('Bot City')
                        ->postalCode(100000)
                        ->state('Washington AI')
                        ->country('Botmanland')
                    )
                    ->addSummary(ReceiptSummary::create()
                        ->subtotal(75)
                        ->shippingCost(15)
                        ->totalTax(15)
                        ->totalCost(96.95)
                    )
                    ->addAdjustment(ReceiptAdjustment::create('Voucher')->amount(25))
                    ->addAdjustments([
                        ReceiptAdjustment::create('Voucher2')->amount(25),
                        ReceiptAdjustment::create('Voucher3')->amount(25)
                    ])
                ->addElement(ReceiptElement::create('T-Shirts')->price(10)->image('http://botman.io/img/botman-body.png'))
                ->addElement(ReceiptElement::create('T-Shirts')->price(10)->image('http://botman.io/img/botman-body.png'))
            );

Codecov Report

Merging #190 into master will increase coverage by 8.37%.

@@             Coverage Diff              @@
##             master     #190      +/-   ##
============================================
+ Coverage     76.73%   85.11%   +8.37%
- Complexity      482      550      +68
============================================
  Files            40       47       +7
  Lines          1496     1666     +170
============================================
+ Hits           1148     1418     +270
+ Misses          348      248     -100

Impacted Files
Coverage Δ
Complexity Δ

src/Mpociot/BotMan/Http/Curl.php
0% <ø> (ø)
6 <ø> (ø)
:x:

src/Mpociot/BotMan/Facebook/Element.php
86.84% <ø> (+86.84%)
14 <ø> (ø)
:x:

src/Mpociot/BotMan/Facebook/ElementButton.php
92% <100%> (+92%)
8 <1> (+2)
:white_check_mark:

src/Mpociot/BotMan/Drivers/FacebookDriver.php
83.72% <100%> (ø)
26 <ø> (+1)
:white_check_mark:

src/Mpociot/BotMan/Message.php
100% <100%> (ø)
10 <ø> (ø)
:x:

src/Mpociot/BotMan/Facebook/GenericTemplate.php
80.95% <80.95%> (ø)
7 <7> (?)

src/Mpociot/BotMan/Facebook/ButtonTemplate.php
84% <84%> (ø)
8 <8> (?)

src/Mpociot/BotMan/Facebook/ReceiptAdjustment.php
85.71% <85.71%> (ø)
5 <5> (?)

src/Mpociot/BotMan/Facebook/ListTemplate.php
86.2% <88.88%> (ø)
9 <7> (?)

src/Mpociot/BotMan/Facebook/ReceiptSummary.php
90.9% <90.9%> (ø)
7 <7> (?)

... and 13 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d303e88...33c4924. Read the comment docs.


Improve PerfectHash code to avoid infinite loops.

See this issue for a few suggestions on how to avoid the infinite loop.
https://github.com/onnx/onnx-mlir/issues/941#issuecomment-954221677
I came to realize that V and G can have different sizes: grow G to have a bigger set of hash values that then map to the V array
Or grow V with the same sized G to have more entries and thus more possibilities.
Personally, I prefer the growing of G as this is only an array of numbers, whereas V and the original keys are possibly larger data types (including int64 and strings).


listing block font-size is a fixed value?

I've set base_font_size: 10 but the listing blocks look like this:

I find here that block: only has margin keys, but listing block counts as code:, but font-size works neither there.
edit: code: font-size doesn't work at all for listing block in my example? And changing code: to base: adds to base_font_size, making everything size 2 or so, except the listing block.
base:     font-color: #FF0000 works, everything gets red.
What i want is, to have listing block font-size about as small as the rest of  the text.
Here is my theme.yml:
extends:
- default
- default-with-font-fallbacks
font:
  catalog:
    merge: true
    Roboto:
      normal: /usr/share/fonts/TTF/Roboto-Regular.ttf
      italic: /usr/share/fonts/TTF/Roboto-Italic.ttf
      bold: /usr/share/fonts/TTF/Roboto-Bold.ttf
      bold_italic: /usr/share/fonts/TTF/Roboto-BoldItalic.ttf
base_font_family: Roboto
fallbacks: [Roboto]
base_font_size: 10
heading_h1_font_size: 19
heading_h2_font_size: 16
heading_h3_font_size: 14
heading_h4_font_size: 12
heading_h5_font_size: 10
heading_h6_font_size: 8
code:
    font-size: 10

Please direct questions about usage to the users/asciidoctor-pdf stream in the project chat as the issue template requested. https://chat.asciidoctor.org. The issue tracker is not a support portal. If we determine there is actually a bug in the software, then an issue can be filed. Thanks for understanding.