HW08 ready for grading

shiny app: https://amorin.shinyapps.io/stat547hw08/
HW08 repo: https://github.com/Alexander-Morin/STAT545-Homework/tree/master/HW08

Hi @Alexander-Morin ,
This is a cool data set you found! The app is pretty self explanatory and shares some resemblance to what we working through in class with the sliders.
A couple things I noticed: While I was intentionally trying to break your app, if both buttons "Fell" and "Found" are unchecked, you will see a few errors appear. This probably can be handled easily with a simple if/else statement.
Perhaps changing the theme would look a little nicer! This is rather easy to do as its a single line of code at that beginning of the fluidpage.
In this setting, I would recommend a generate plot button! Sometimes the settings running in real-time can be a bit too much, perhaps having a default setting that generates a plot and then having a button to generate further plots can be useful for making sure the settings are all appropriate, and can even avoid seeing the error I mentioned earlier.
Perhaps sorting the table based on weight is also a good idea!
Outside of this, I really did enjoy having a map that displays the locations and even seeing the head of the table to compare!
Cheers,
Cody

Alexander   Morin
Comments

Achievement,   mastery, cleverness, creativity
This homework   does show mastery of the topics in the class and satisfies the three   requirements by including the leaflet, image and dataframe table etc.

Ease   of access for reviewer, compliance with course conventions for submitted work
The  use of the shiny app was intuitive and easy   to follow. There are a couple of minor issues, like the format of the year;   and the need to position the table below the map to allow for the table's row   expansion. However, these do not detract from the overall effect of the app's   aesthetics.

Overall
Good   work!


Error when running gProfiler - Failed to profile Java process

[18:02:35] Failed to profile Java process 2640526
Traceback (most recent call last):
  File "/app/gprofiler/java.py", line 356, in snapshot
    result = future.result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/app/gprofiler/java.py", line 300, in _profile_process
    return self._profile_ap_process(ap_proc)
  File "/app/gprofiler/java.py", line 303, in _profile_ap_process
    started = ap_proc.start_async_profiler(self._interval)
  File "/app/gprofiler/java.py", line 206, in start_async_profiler
    self._run_async_profiler(start_cmd)
  File "/app/gprofiler/java.py", line 198, in _run_async_profiler
    raise JattachException(e.returncode, e.cmd, e.stdout, e.stderr, self.process.pid, ap_log) from None
gprofiler.java.JattachException: Command '['/app/gprofiler/resources/java/jattach', '2640526', 'load', '/tmp/gprofiler_tmp/async-profiler/libasyncProfiler.so', 'true', 'start,event=itimer,file=/tmp/gprofiler_tmp/tmpb5lwtt4g/async-profiler-2640526.output,collapsed,ann,sig,interval=90909090,framebuf=2000000,log=/tmp/gprofiler_tmp/tmpb5lwtt4g/async-profiler-2640526.log']' returned non-zero exit status 255.
stdout: b'Connected to remote JVM\nJVM response code = -1\n/tmp/gprofiler_tmp/async-profiler/libasyncProfiler.so was not loaded.\nError loading shared library libstdc++.so.6: No such file or directory (needed by /tmp/gprofiler_tmp/async-profiler/libasyncProfiler.so)\n\n'
stderr: b''
Java PID: 2640526
async-profiler log:

libasyncProfiler.so indeed depends on stdc++:
root@jong-XPS-15-7590:/app# ldd /app/gprofiler/resources/java/libasyncProfiler.so
	linux-vdso.so.1 (0x00007ffe779ee000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7e8fcff000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7e8fcdc000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f7e8fcd1000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7e8faf0000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7e8f9a1000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7e8f986000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7e8f792000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f7e8ff58000)

It can be solved by building AP with -static-libstdc++ or by bundling it with the DSO (and making sure it's in the LD_LIBRARY_PATH / using RPATH). If that's the issue, it's something we can take care of for the next release :)
Can you please share some more details about the environment? If you could share /proc/pid/maps of the Java process (at least of all the loaded DSOs) it can be helpful to understand.

@rdar-lab we have released https://github.com/Granulate/gprofiler/releases/tag/1.1.6 which should solve the problem - can you please try running gProfiler again?

Just pulled the latest tag of the docker image and the issue is still happening.
But I think it may be happening because I have pycharm running on the same machine  (according to the PID on the error)

But I think it may be happening because I have pycharm running on the same machine (according to the PID on the error)

Yes, pycharm is Java-based and gProfiler will try to profile it after detecting that :sweat_smile:
It is weird that the error persists, though. I will investigate it.

Managed to run gProfiler on IntelliJ


XFac isn't loaded into the parc instance

	gui.radio("ArcaneSettings/Xfac", xfactors, "1 div kw^2"); /* TODO: isn't hooked up */

https://github.com/dishmint/ArcanePropagation/blob/ae4e9d0714f048926c6825ab4fa0dc8161610817/p4_ArcanePropagatorGUI/p4_ArcanePropagatorGUI.pde#L69

The default Xfac is hardcoded, which I think is fine for now. Closing


Can't generate code from Context Menu when using the extension

The issue was fixed by packaging the node_modules folder unfortunately it added 10mb of the javascript files.


Rename PAX stablecoin token to USDP.

We have recently renamed our stablecoin from Paxos Standard (PAX) to Pax Dollar (USDP). We would like to update MetaMask/contract-metadata to reflect this change.
You can see the new brand on our website: https://www.paxos.com/usdp/
Also on Etherscan: https://etherscan.io/token/0x8e870d67f660d95d5be530380d0ec0bd388289e1
Please let me know if you need any additional information.

@px-ben - sth is wrong with your SVG I think - https://github.com/MetaMask/contract-metadata/blob/3fc2b53b92fd914cb477508a16dde1b76b9f3a14/images/usdp.svg


support GPG encryption

#135 #105

I have released version v1.20.0-beta.0. After my initial testing, it seems to work well, but I need more testing to ensure it works under various scenarios. Additionally, I haven't finished writing the documentation yet, but I will continue to work on it. Once the documentation is complete and I feel that testing is sufficient, I will release the stable version.
Here's a brief description of how to use GPG and some notes:
Added the environment variable GPG_BASE64_PUBKEY. Please use base64 -w 0 <your public key file> to generate it. Once this variable is configured, GPG will be enabled, and the ZIP_PASSWORD will no longer be used.
To decrypt, please use the command gpg --decrypt backup.zip.gpg > backup.zip.

I have released version v1.20.0-beta.0. After my initial testing, it seems to work well, but I need more testing to ensure it works under various scenarios. Additionally, I haven't finished writing the documentation yet, but I will continue to work on it. Once the documentation is complete and I feel that testing is sufficient, I will release the stable version.
Here's a brief description of how to use GPG and some notes:
Added the environment variable GPG_BASE64_PUBKEY. Please use base64 -w 0 <your public key file> to generate it. Once this variable is configured, GPG will be enabled, and the ZIP_PASSWORD will no longer be used.
To decrypt, please use the command gpg --decrypt backup.zip.gpg > backup.zip.

@AtomAsking , GPG encryption is now available for use. Any help with testing would be greatly appreciated.


updated the navbar

I have updated the navbar and now it is looking like

Hey, @uvsingh2706 great work till now 🎉
There are some minor changes to be made, Please take reference from this image and make it exactly the same.

Hey, @Jai-Solania-29  @uvsingh2706
Amazon navbar is quite cluttered which sometimes makes it overwhelming, I was thinking about improvising the design by keeping it minimum.
We can do something like this 👇

What do you guys think?

Hey @uvsingh2706, Since you have opened a new PR, we are considering that now!


[SUGGESTION] Rework skin based on Adwaita for Steam

The current Steam skin looks very out of place alongside the GTK theme on a Linux desktop, by basing the Skin on Adwaita for Steam and modifying some stuff (like window controls) it could work a lot better.

Working on that

clone adwaita for steam
change the contents of Adwaita/adw/colors.styles with the above text
run ./install.py

if you don't mind me asking, how has the progress on this issue come recently?

This project seems to do it

Indeed. I’m pretty happy by how great it turns out.

Adwaita for Steam added catppuccin support in tkashkin/Adwaita-for-Steam#106

Closing issue, support added


CPU speed not showing

CPU speed not showing. It says 0.00 GHz.
CPU utilization graph is always set to overall every time close the app.

I have this problem too, in ubuntu 22.04
But I also have it with the python terminal utility s-tui

https://github.com/KrispyCamel4u/SysMonTask/issues/102
A fix was posted here. Just edit the 175th line in cpu.py to remove the division by 1000 and rebuild the program.

I think #105 also has the fix (im having this issue too on Ryzen)

When compiling from source, it does seem to show without editing the code (found that out when installing on @Jisu101 s Pop OS 22.04)


Incorrect variable expansion for saved workspaces

Version: 1.55.2
Commit: 3c4e3df9e89829dce27b7b5c24508306b151f30d
Date: 2021-04-13T09:37:02.931Z
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.4.0-72-generic (Ubuntu 20.04.2)

Steps to Reproduce:

Add new user snippet such as:
"test_snippet": {  	"prefix": "test",  	"body": [  		"$WORKSPACE_FOLDER"  	]  }
to a workspace say "~/test_project"
Currently "test" expands to absolute path to "~/test_project".
Save workspace in another directory and relaunch vs code. (code --disable-extensions ~/Desktop/workspace.code-workspace). Now "test" expands to absolute path of "*.code-workspace" file ie ~/Desktop instead of ~/test_project.

Does this issue occur when all extensions are disabled?: Yes

On further digging, I think this might be the intended bahaviour? sourcing here, here and here
If so could it be handled like ${workspaceFolder} for build tasks? Assuming this answer is correct.

If so could it be handled like ${workspaceFolder} for build tasks?

I don't know what that means. Can you explain the differences?

It uses the first folder from the list of folders on the workspace by default.

I think that might be a problem for multi-root workspaces but don't have much experience with them.


[BUG] Use EnterTransaction() before EnterLock

Version
5.019/OS/.NET 8. (REQUIRED)
Describe the bug
When I call Upsert function in two thread, this exception might occur occasionally.
---> LiteDB.LiteException: Use EnterTransaction() before EnterLock(name)
at LiteDB.Engine.EngineState.Validate()
at LiteDB.Engine.LiteEngine.AutoTransaction[T](Func2 fn)    at LiteDB.LiteCollection1.Upsert(T entity)

Could you please provide a small repro?

The bug should have been resolved in v5.0.20


feat: allow choosing vue version on creation (and in presets)

This PR adds a vueVersion field in the preset schema (accepts a string, defaults to '2', and can be '3').
Progress:

[x] new preset field
[x] vue create prompt
[x] @vue/cli-service
[x] ESLint plugin
[x] Router plugin
[x] Vuex plugin
[x] TypeScript
[x] Babel JSX support (merged #5665)
[x] Jest plugin
[x] Mocha plugin
[x] Cypress plugin
[x] NightWatch plugin
[x] Tests for these templates
[x] Prompts in UI
[x] Test for prompts
[ ] Test for JSX & TSX
[ ] Test for vue invoke in a Vue 3 project

Maybe later:

[ ] Wrap object exports with defineComponent calls in .vue files

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Underlying tools
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

Other information:

How to test:
npx verdaccio

Open another terminal tab and run:
yarn config set registry http://localhost:4873/
yarn release --local-registry
yarn global add @vue/cli

Then run vue create hello-vue-3 in any directory.

So, I've got most Vue 3 related features working now.
I'd like to hear more about your opinions on this PR's approach. Any review comments would be appreciated 🙂

All existing tests passed! A few more test cases and we'll be good to go 😁


The customer service side login and handling tickets is not included in the project.

I opened an issue for discussion, if anyone would be interested in doing some team work, practising to do pull requests, contributing to someone else's repository, reviewing code in pull requests, etc...
Yes, I could do it myself, but I already have 150+ repositories I've built myself, and very little experience in working with others, so I tought I'd give it a try.

Would love to contribute. I myself don't have any experience contributing to someone else's repo or working together as a team on a project.

Great idea. I'm currently doing this course so would love to get involved and try to help with this

Such a great idea. I should be done the course in a couple of weeks so I’ll definitely come back once I am done:)

This is fantastic! 😃 Thank you very much @momin996, @dannstarr and @samanthascarcella for joining the team.
I've created a branch called "development", that's where you can make push requests.
I think we should start with a little planning before coding. We should break down the problem to little pieces, and create little issues, that different people can solve. These issues should contain guidelines (like interface definitions) that people can use to make sure, that their work will be compatible. e.g:

Backend:

Backend routing and control functions for customer service login
Backend middleware to protect customer service routes
Backend routing and control functions for customer service ticket handling
Backend routing and control functions for customer service ticket notes

Hi, I would love to contribute, I also don't have any experience working with others, so this would help me.

Hi guys, yeah this is a good idea. I'm happy to add what I can.
You may be interested in checking out the bugfix branch of Brad's repository where I've been tracking and fixing many of the bugs found by students in the course, some from you @ArpadGBondor !
It's also been streamlined and simplified a good deal in terms of state management as there is no real need for a isLoading, isSuccess or reset state functions in tickets and notes. In most cases we can infer loading from presence or absence of data and leverage pending, fulfilled and rejected states provided by our AsyncThunkAction to reset state.
Also the useAuthStatus hook was removed as it was only really a wrapper for Redux state and only used in one place - PrivateRoute.jsx.
PrivateRoute also got refactored to no longer use an <Outlet /> as we were not really doing any nested routing so a <Outlet /> was not necessary.
I haven't documented all the changes as yet but there are notes in the code where it has been changed and why.
I think the code from the bugfix branch would be a more stable and predictable base to start from for adding in additional features.

Hi Will,
I'm going to open a new issue for the bugfixes.
I'd be very thankful if you could submit that PR, or if you could just create a list about the changes on the bugfix branch.
Thank you very much for any help you can provide. :)

I started to assemble a documentation of the existing features of the program here:
https://github.com/ArpadGBondor/Brad_Traversy-React_Front_To_Back_2022-05-Support_Desk/blob/wip-documentation/DOCUMENTATION.md
It's work in progress...

I'd be interested in helping. Are we required to stick with what we did in the course, or is it ok to introduce refactoring, new packages, etc?

I'd be interested in helping. Are we required to stick with what we did in the course, or is it ok to introduce refactoring, new packages, etc?

Personally I'd prefer to keep things as simple as possible, but if we need new packages, I don't mind it. What do you have in mind?

About the new functionality...
Staff members should be able to:

log in
list all new tickets
list all open tickets
view a single ticket and comment on it.
ticket turns from "new" to "open" when a staff member comments on it.
staff membre should see the name of the other staff member on their comments.

I think that we should be able to keep the same authentication for staff members, maybe change the registration a little to be able to register as a staff member.
After logging in, we should always be able to tell if we are looged in as a staff member, or as a customer. (maybe by having different background color)
If we are logged in as a staff member, we should have more options on the Home page (not sure if we should hide the current options, but at the moment I don't see why not.)
Backend and frontend should have some protected routes that only staff members can access.
I'm not sure right now if we should extend the ticketSlice to be able to handle the customer service functionality, or we should add new slices for the new functionality.
What do you think?

I'd be interested in helping. Are we required to stick with what we did in the course, or is it ok to introduce refactoring, new packages, etc?

Personally I'd prefer to keep things as simple as possible, but if we need new packages, I don't mind it. What do you have in mind?

Got it, well I didn't want to use tailwind and Brad's CSS, so I switched to Chakra-UI so I could learn a UI library, nothing against tailwind, or was it just Brad's custom CSS? I can't remember.
I also didn't want to use redux for something so small, just seemed like overkill, I get it's for learning purposes and I learned a lot about RTK, but I switched to Context and probably will switch to react query since it handles async server state more elegantly.
and I just added more validations, better error handling etc.

Got it, well I didn't want to use tailwind and Brad's CSS, so I switched to Chakra-UI so I could learn a UI library, nothing against tailwind, or was it just Brad's custom CSS? I can't remember. I also didn't want to use redux for something so small, just seemed like overkill, I get it's for learning purposes and I learned a lot about RTK, but I switched to Context and probably will switch to react query since it handles async server state more elegantly.
and I just added more validations, better error handling etc.
Edit: So yeah, let me know if you want to keep it the same or are interested in adding some other things!

To be honest, I'd like to keep the project as close to the course's material as it's possible. I want everyone who would like to contribute, to be as familiar with the project as possible.
I see the value in what you're suggesting, but my goal right now is to provide a playground to as many people as possible, and I feel that refactoring the core of the project wouldn't be aligned with this goal.
If you have suggestions for little improvements, like validations, or better error handling, please feel free to open an issue, or a pull request, and we can discus it.

Just in case people are wanting to move on this but unsure where to start (getting going is the hardest!), here is where I would start.

Clone the repo to your local machine.
Create a new branch for you feature.
Add the feature

Here I would suggest starting with the User model adding in a 'admin' or perhaps 'staff' property that starts as false for everyone. Then I would suggest that when a user signs up with a company email such as<EMAIL_ADDRESS>(or whatever we decide) then they would be signed up as staff. So you would need a whitelist of email addresses or check that the email contains the company host name.
To prevent anyone signing up for a staff account I would also suggest adding in email verification so that the app sends an email (nodemailer or mailgun) to the email address with a link to click and confirm email.
This would also mean you need to add in some properties to the User model like a pending and active state for each member. This would start as pending and then once they have verified the email they are changed to active and can sign in.
For the link you can generate some kind of uuid or JWT and save that in their model/document in the DB, then they click the link in the email which takes them to  the app at some end point like /confirm/:comfirm_token so using req.params in express to get the confirm_token. Then query the user by the confirm token, change their pending status to active and send back a jwt or a message for them to login.
Then push the new feature branch to your repo and open a PR against the development branch of this repo.
I think that would be a good first step for someone to take and get the project moving.

If nobody shows any activity the next month, I'll start working on this myself. I'd like to complete this project.


Error in calculating the start index in the 'extract_feat' file

https://github.com/hpcaitech/Open-Sora/blob/476b6dc79720e5d9ddfb3cd589680b2308871926/scripts/misc/extract_feat.py#L118

dataloader.batch_sampler.load_state_dict({"last_micro_batch_access_index": start_index})
should be
dataloader.batch_sampler.load_state_dict({"last_micro_batch_access_index": start_index * bin_size})

@liyy96 Hi, I think the problem you raised is what happens when feature extraction is unexpectedly interrupted. Looking forward to your reply.

Hi @liyy96, can you show your intuition why this change is necessary? Is bin_size not consistent with batch size?
If possible, you can make a pull request detailing your rationale!


When I set a time.sleep(1) in handle_message function, multiple repeated responses will occur.

Hello, I have follow the instruction and try to achieve the function that I send "hello" to the chatbot and the chatbot will response me "goodbye". However, when I set a time.sleep(3), there will be a lot of same "goodbye" responses. For some reasons my project needs to get a delay response from the chatbot. If there are some ways to fix this problems?  Here is my simple test code.

@kelulucaipeixi Thanks for asking a question here!

Your app should respond to the event request with an HTTP 2xx within three seconds. If it does not, we'll consider the event delivery attempt failed. After a failure, we'll retry three times, backing off exponentially.

As described in the document, the Slack API server may retry if your server doesn't respond within 3 seconds.

https://api.slack.com/events-api#the-events-api__responding-to-events
https://api.slack.com/events-api#the-events-api__field-guide__error-handling__graceful-retries

Unfortunately, the slackeventsapi library doesn't provide any asynchronous execution mechanism for easily running code that may take longer than 3 seconds.
We're actively working on a new project - Bolt for Python. This library provides a much simpler way to deal with this issue. If you're fine to try its early version (Bolt for Python is still in alpha), take a look at the library. https://github.com/slackapi/bolt-python/blob/v0.3.1a0/samples/message_events.py
As this question is not about this library slackclient, could you please close this? If you have further questions about slackeventsapi library, please feel free to post a question at https://github.com/slackapi/python-slack-events-api/issues I can help you out! 👋

Thank you very much! I'm sorry to post it at wrong place. I'll close it soon.


Updated the "Department of Patients"

I have considered the character count and layout accordingly

Perfect Umer, Approved.


Implement waitForReplication in the java client

All feedback addressed

Thanks for the quick review, I'll wait to merge  until the app profile PR is ready


create a service for jool

Project description
the package for the jool-cli and kernel module exists already.
But a service and a config file management per nixos would be nice.
(a plain json format)
https://www.jool.mx/en/run-persistent.html

maintainer:

@fpletz

Completed in https://github.com/NixOS/nixpkgs/pull/240982.


Bootstrap in AdminLTE 3.0

I am having a problem with loading Bootstrap using Bower in AdminLTE 3.0. The way I wanted to do it was to include BS with AdminLTE in one CSS file. To do that, I imported bootstrap.scss in AdminLTE.scss, which I realized then is problematic. When someone installs AdminLTE using Bower, they get AdminLTE and Bootstrap in different folders in their bower_components folder. This breaks the import in AdminLTE.scss.
// AdminLTE 3.0 SCSS
@import "../../bower_components/bootstrap/build/scss/bootstrap";
@import "custom_bootstrap_variables";

// rest of imports ...

While in development, the path to BS is ../../bower_components/bootstrap/build/scss/bootstrap. When installed via Bower, the path to BS changes to ../../bootstrap/build/scss/bootstrap. Thus, compiling AdminLTE.scss won't work.
The solution I attempted to implement was to use a bs_path variable so it can be easily adjusted. However, SASS doesn't support variable interpolation within an import statement. Therefore, this solution won't work.
Another solution is to revert back to manually downloading BS, but this takes away automatically updating bootstrap. We'd like to avoid this solution. We should also keep in mind that we need to support users who don't want to use bower or use different package managers.
What other solutions can you guys think of? Any ideas?
Thanks!

http://sass-lang.com/documentation/file.SASS_REFERENCE.html#load_paths-option

eample here
https://gist.github.com/neekey/4480251

Thanks @recca0120 this is interesting. We might be able to use that with Grunt.
I'd still like to explore other possibilities.

Yes, you can use @recca0120's suggestion with Grunt by including loadPath in the options object for sass in the Gruntfile.
Another way might be to have a Grunt (or Gulp, or shell) task that copies all of the contents of the bower_components directory up one level to the project root.  That way, the paths remain the same.  The one disadvantage of doing it this way is that the project root becomes polluted with lots of extra files which all have to be gitignored.
A third option, which I think is the most elegant, though it is also the most complex to set up, is to have a build task of some kind that copies both the source AdminLTE files and the contents of the bower_components directory into another directory, which I'll call build and then runs SASS on the stuff in there instead of the stuff in the project root.
A variation on the third option would be that instead of the task copying everything into another directory, it would just copy all of the AdminLTE scripts into bower_components/AdminLTE and then run SASS in there.
Thoughts?

@almasaeed2010 I have been looking around, and I found other projects that use @recca0120's suggestion. For example, see https://github.com/FezVrasta/bootstrap-material-design#bower


[Search v2.2] [App] Create status bar (Invoice)

Implement this section of the design doc

Still waiting on doc reviews.

Thanks, @rayane-djouah! I'll get payment issued one we've passed the regression threshold 👍

Payment due tomorrow 👍

@rayane-djouah I've sent you the offer, here. Can you accept that? I'll pay this out today.

Paid! Thanks for your contributions! 🎉


Getter for missing configuration attribute

Description
Getter for missing configuration attribute
(bug was made in upstream)
Type of change

[ ] Refactor
[ ] New feature
[x] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)
[ ] CI configuration change
[ ] Konflux configuration change

/test 4.15-images

/lgtm


doc: Add design documentation for AppConfiguration model

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Additional documentation e.g., design docs, usage docs, etc.:

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 72.408%

Files with Coverage Reduction
New Missed Lines
%

pkg/cmd/destroy/options.go
7
84.08%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
5099

Relevant Lines:
7042

💛  - Coveralls


Add generic slice support for 'in' operator.

This commit makes the 'IN' operator more tolerant of input
datatypes; previously all 'IN' statements required []interface{}
as an input.
Now any kind of slice can be used.
Signed-off-by: Eric Chlebek<EMAIL_ADDRESS>

@jamesdphillips added a benchmark as per your request. As you can see, the operation is rather cheap. It shouldn't be a concern compared to other costs in the pipeline.


Tailwind, Windi, Twind, UnoCSS or similar Atomic CSS support

Hii,
This is feature request. Currently, I can import unocss/runtime script tag and generate CSS only the fly. But this is client side generation.

Can we have atomic CSS support with a nice SSR?

Better CSS tooling has been on our list for a while. Ideally, we would love to have 1st class support for CSS module import assertions. Posting some links for reference...
https://github.com/denoland/deno/issues/11961
https://github.com/denoland/deno/issues/13898
https://daverupert.com/2021/08/css-modules-in-css-modules
https://github.com/guybedford/es-module-shims#css-modules
But these may still be a while off -- we can explore other options in the interim, unocss looks great.

This one just came across my desk: https://open-props.style
This wouldn't require any changes to core to work, if anyone is interested

What about -- as a start -- to just minify the static CSS before it is deployed to prod. Use something like<EMAIL_ADDRESS>

What about -- as a start -- to just minify the static CSS before it is deployed to prod. Use something like https://github.com/postcss/postcss-deno with a minification utility.

Yeah this is a good idea, although I'd recommend using https://github.com/parcel-bundler/parcel-css

Yeah ... currently, only way is to write CSS separately, build it and import in Ultra.

Twind, Emotion and Stitches should work in V2


Add xMIP to ACCESS-Hive

https://github.com/jbusecke/xMIP

Paola Tutorial on how to use with NCI
https://github.com/coecms/xmip_nci


added curl requirement

Coverage increased (+0.8%) to 86.233% when pulling 97c27bc1d9dbd1d25cb06786af0fd3fc42a01455 on hayden-t:patch-1 into 2ed1a458d9bb24b3e8c554c20ba4ea75ed6548bc on mitchdav:master.


Spring boot 2.2 and lazy bean initialization

I've found a bug with lazy bean initialization (when the property "spring.main.lazy-initialization" is set to true). In that case the "models" part (located at the bottom of the swagger-ui page) contains objects without any attributes !
I found that passing back "RequestMappingHandlerAdapter" bean to a standard initialization fix this issue.
So in my case I've had to add a Spring Configuration class with

/**
 * This class is used to fix the bug with spring boot 2.2 which lead to have no attributes in the "models" in swagger-ui
 * when spring.main.lazy-initialization" is set to true (i.e when lazy bean initialization is activated)
 * cf https://github.com/springfox/springfox/issues/3182
 */
@Configuration
public class SpringFoxConfig implements BeanFactoryPostProcessor {

    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {

        BeanDefinition definition = beanFactory.getBeanDefinition("requestMappingHandlerAdapter");
        definition.setLazyInit(false);
    }

}

By any chance are you using Sping Hateoas alongside with springfox ?

no sorry

Same issue occurs in our project. We are using  springfox-swagger2 version 2.9.2.
As soon as following property is set, the model definitions are empty:
spring.main.lazy-initialization= true
@orousseil your configuration fixed it for us too, but it's not very nice to mess around with Spring internals. Thank you!

seems that issue #2925 is the same bug but with a older version of spring boot (less than 2.2)

same issue with spring-fox 3.0.0

+1


Extend framework-specific preprocessing defences to TensorFlow v2

Description
This pull request extends the framework-specific defences introduced in #510 to support TensorFlow v2.
Type of change
Please check all relevant options.

[x] Improvement (non-breaking)
[ ] Bug fix (non-breaking)
[ ] New feature (non-breaking)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[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

Codecov Report

Merging #574 into dev_1.4.0 will decrease coverage by 0.20%.
The diff coverage is 26.34%.

@@              Coverage Diff              @@
##           dev_1.4.0     #574      +/-   ##
=============================================
- Coverage      63.88%   63.68%   -0.21%
=============================================
  Files            136      137       +1
  Lines          12279    12423     +144
  Branches        2134     2167      +33
=============================================
+ Hits            7844     7911      +67
- Misses          3734     3806      +72
- Partials         701      706       +5

Impacted Files
Coverage Δ

art/estimators/classification/pytorch.py
65.41% <ø> (+8.13%)
:arrow_up:

art/estimators/tensorflow.py
34.66% <18.00%> (-34.57%)
:arrow_down:

art/estimators/pytorch.py
30.76% <20.37%> (-52.57%)
:arrow_down:

...ences/preprocessor/spatial_smoothing_tensorflow.py
26.82% <26.82%> (ø)

...defences/preprocessor/spatial_smoothing_pytorch.py
21.84% <33.33%> (+21.84%)
:arrow_up:

art/defences/preprocessor/preprocessor.py
80.43% <72.72%> (-3.35%)
:arrow_down:

art/defences/preprocessor/__init__.py
100.00% <100.00%> (ø)

Hi @minhitbk Thank you very much for the review! I have made all required updates.


Adding loading spinner to ui-autocomplete fields when making ajax reqests

This change now makes it apparent to the use when "work" is still being done and we are waiting for a response.
A nice bit of UI feedback.

Nice one! I wonder if it should use a small version of that new SS spinner though?

:+1: looks good to me!
I think that we should at least see how it looks with the new loading spinner. But I get the feeling that some convention needs to be established about when we use it, because it might not be for everything.

I think the SS spinner is too distracting here. I can understand its merits in the main application loader screen, but that doesn't mean we need to use it everywhere. Particularly in these small dimensions it actually looks like a textual character thats behaving weirdly - people are quite used to a circular loading indicator in all kinds of web apps, my vote goes to keeping it that way here.

I don't think having the SS branded loader is right here; I'm not inclined to do this in HTML when someone can just photoshop it to see what it's like.
Spinner is much more natural here.

I think this is good to merge now. Personally I think that the SS spinner doesn't really lend itself too well here and that the "standard" loading spinner is much more recognisable.

:+1:


Using Ledger nano s hardware wallet in Sparrow shows no funds.

Hello,
I just use a Ledger nano s (that has funds) in the Sparrow desktop, I use the same derivation path (that is shown in ledger live)
and I use native segwit. (bottom right connection button is on).
Yet I see no funds, I don't think there is anything else to configure, but may be someone has any idea?
Thanks.

@pedrogurullo Our team has opened a ticket for you based on your question. You need to speak with The live support chat agent to get answers.
Chat with a live chat agent using ticket ID 67KO17A by clicking the link below
You can reach our support team via Support
Note; Click on the live chat icon at the bottom corner of the page to initiate the chat.

@pedrogurullo  do not speak to the scammer above.

Yes I know, thanks, I reported already.

Are the addresses the same in Ledger Live and Sparrow?

I'm not sure how I can see the addresses in Ledger live, I can try to receive a transaction and the address that I can see there has nothing to do with the addresses that in Sparrow(receive addresses).

in ledger live, go to the account in question, click "edit Account" (the wrench icon. Expand advanced, and in the text there look for "fresshAddressPath". using that, remove the last 2 values and confirm that you have the same derivation path set in sparrow.

In ledger:
49'/0'/0'/0/8
In sparrow:
m/49'/0'/0'
And yet I don't see any fund.

hmm you said you used Native Segwit, but m/49 is not Native Segwit - it's wrapped SegWit. Native Segwit should start with m/84

all right, sorry for the missunderstanding, I confirm it shows the history transactions after selecting the nested segwit option. Thanks.

Great, thanks for the help @PrinceOfEgypt. Closing this off.


Update index

Update index, see https://github.com/admin-shell-io/aas-specs/pull/348/

now similar to Part 1


Camera Overlay image "Browse" Button not opening anything

Microsoft PowerToys version
0.57.2
Running as admin

[X] Yes

Area(s) with issue?
Video Conference Mute
Steps to reproduce

Select "Video Conference Mute"
go under the category "Camera"
Select a Camera
Click on the Button "Browse"

✔ Expected Behavior

Opening of a File Dialog to choose an overlay

❌ Actual Behavior
No response for the program other than the button flickering for A moment
Other Software
No response

/dup #13215


[RadioButton] Use theme font family as default font for label

The label for a RadioButton was not using the default font from the theme. This would make use of the default font family from the current theme, and of course, it can be overridden via the labelStyle prop.

Don't you think it's better to add this to EnhancedSwitch instead of here? @oliviertassinari Thoughts?

Good call, I refactored to EnhancedSwitch so that radios, checkboxes, and other components that use EnhancedSwitch will also use the default font family from the theme.

@kevhuang Thanks a lot for this :+1: :tada:


pull request for e2e test at 11/13/2016 04:26:11

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Allow nested knn field mapping when train model

Description
This PR fixed the bug when trying to train a knn model from a field that is not a top-level field in the OpenSearch field mappings. This fix allows user to pass a nested filed path at training_field to train model.
Example:
{
  "training_index": "train-index",
  "training_field": "a.train-field",
  "dimension": 8,
  "description": "My model description",
  "method": {
    "name": "ivf",
    "engine": "faiss",
    "space_type": "l2",
    "parameters": {
      "nlist": 1,
      "nprobes": 2
    }
  }
}

Issues Resolved
Close https://github.com/opensearch-project/k-NN/issues/1293
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed as 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.

@junqiu-lei can you add the successful case on how you tested this.

@junqiu-lei can we also add the IT for this fix.

@junqiu-lei can you add the successful case on how you tested this.

Test case:
// Create knn mapping
PUT http://localhost:9200/train-index-1
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 0
  },
  "mappings": {
    "properties": {
      "vector": {
      "dynamic": false,
      "properties": {
        "faiss": {
          "dynamic": false,
          "properties": {
            "hnsw": {
              "dynamic": false,
              "properties": {
                "inner_ef100_m16_flat": {
                  "type": "knn_vector",
                  "dimension": 768
                }
              }
            }
          }
        }
      }
    }
    }
  }
}

// Response
{
  "acknowledged": true,
  "shards_acknowledged": true,
  "index": "train-index-1"
}

//Create train model
http://localhost:9200/_plugins/_knn/models/my-model-11/_train
{
  "training_index": "train-index-1",
  "training_field": "inner_ef100_m16_flat",
  "dimension": 768,
  "description": "My model description",
  "method": {
    "name": "ivf",
    "engine": "faiss",
    "space_type": "l2",
    "parameters": {
      "nlist": 4,
      "nprobes": 2
    }
  }
}

// Response
{
  "model_id": "my-model-12"
}

@junqiu-lei can we also add the IT for this fix.

The tests are added: https://github.com/opensearch-project/k-NN/pull/1318/files#diff-5c5d62f185b661eb920bec1cd3dc4d22158822c965473d3fda7e2158c9a422a3

@junqiu-lei can we also add the IT for this fix.

Will add it

@navneet1v IT test added

Manual test:

create model with nested field:

POST _plugins/_knn/models/my-model-2/_train
{
  "training_index": "train-index",
  "training_field": "a.train-field",
  "dimension": 4,
  "description": "My model description",
  "method": {
    "name": "ivf",
    "engine": "faiss",
    "space_type": "l2",
    "parameters": {
      "nlist": 4,
      "nprobes": 2
    }
  }
}

{
  "model_id": "my-model-2"
}

check model created:

GET _plugins/_knn/models/my-model-2?filter_path=state&pretty

{
  "state": "created"
}

use train mode:

PUT target-index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1,
    "index.knn": true
  },
  "mappings": {
    "properties": {
      "target-field": {
        "type": "knn_vector",
        "model_id": "my-model-2"
      }
    }
  }
}

{
  "acknowledged": true,
  "shards_acknowledged": true,
  "index": "target-index"
}


Generate Joda LocalDate and LocalTime

There is a really useful feature currently in place where the generated class property will be LocalDateTime when the JSON schema type is string with format of date-time (implemented in https://github.com/joelittlejohn/jsonschema2pojo/blob/a0797e0878dc46f174b64643bc09655b22983afb/jsonschema2pojo-core/src/main/java/org/jsonschema2pojo/rules/FormatRule.java).  I'd like to propose generating a LocalDate when the format is date, and LocalTime when the format is time.  I see date and time listed in that file explicitly being set to a type of string, so I am guessing that this was thought about at at least some point?
If you think this is a good idea I will take care of implementing it and issuing a pull request, I just wanted to propose it here to make sure it makes sense before starting work.
For the implementation, I would follow the pattern that has been implemented for date-time. I'd add a new  config flag for whether or not to use Joda LocalDate and LocalTime (separate from the current flag for whether to use Joda DateTime), defaulting to false.

Hi Brent. This sounds like a good addition, thanks for raising this. Happy to accept a pull request along the lines you have suggested (useJodaLocalDates).
I assume the Joda serializer for Jackson can support LocalDate and LocalDateTime?

Closed by #300


KeyboardAvoidingView doesn't work properly with TextInput with multiline enabled

When you have a KeyboardAvoidingView with a TextInput with multiline=true, the "translating" effect just doesn't work (at least in ios)
React Native version:
0.59.8 (Expo sdk 34.0.1)
Steps To Reproduce

Add a KeyboardAvoidingView, and as a child component, a TextInput with multiline={true}

Describe what you expected to happen:
I expected that this just works well
KeyboardAvoidingView attributes:

style={{flex:1}}
behavior={Platform.OS === "ios" ? "padding" : null}
enabled
keyboardVerticalOffset={45}

<TextInput multiline={true} />

@Arwantys Are you suggesting this is a regression?

This seems to be because bottom height for KeyboardAvoidingView is only calculated in _onKeyboardChange when keyboard frame changes not when view size changes:
Keyboard.addListener('keyboardWillChangeFrame', this._onKeyboardChange)

Duplicate of #16826.


Add depth/altitude term or allow negative cameraHeight

At the TDWG meeting, I've been informed of two use cases of underwater cameras (via @sformel and @sachitrajbhandari). Data from these studies can be expressed in Camtrap DP, but miss a field to express depth.
Those use cases are familiar with Darwin Core, which has minimumDepthInMeters:

The lesser depth of a range of depth below the local surface, in meters.

Note that this is below a local surface and not mean sea level (MSL). Using mean sea level as a reference points is an altitude/elevation. E.g. Darwin Core has minimumElevationInMeters:

The lower limit of the range of elevation (altitude, usually above sea level), in meters.

If depth is typically shared in minimumDepthInMeters (local surface), I think we could use cameraHeight, but with negative values, since that field assumes local surface. We would just have to make that explicit in the definition and allow negative values.
@sachitrajbhandari @sformel @tucotuco feedback welcome.

I'm inclined to agree. However, I talked to some fish folks. They don't use elevation on the manner you describe. Depth can be the capture depth or a range depending on the height of the net. It's context. They use a term in a manner specific to their needs. So I wouldn't use that as an argument one way or the other. The interesting part is that you're proposing the same type of context based use. It's the vertical displacement from the local horizon. Positive and negative values indicate vertical placement relative to the horizon and the  center of the earth.
If the distance between the center of the earth and the camera is greater than the distance between the center of the earth and  local surface horizon (there may be another term), then camera height is positive. Otherwise, it's negative.
I know that's a lot of words for a negative camera height, but the logic is sound.

After thinking about this a little more, I think cameraHeight as a solution will clash with OBIS standard use of min/maximumDepthInMeters because depth is generally described as positive and camera height would be negative.  I also think it will feel "wrong" to marine biologists who routinely use depth as a spatial variable and might keep them from embracing the standard.  I bounced this off my brother who is a marine biologist at WHOI and he generally agreed.
So, I think that min/maximumDepthInMeters would still be good to incorporate and I see how min/maximumElevationInMeters could also be useful to give more context to the deployment.
Perhaps map cameraHeight to min/maximumDistanceAboveSurfaceInMeters? Here are some examples of what I am thinking, modeled on the example for maximumDistanceAboveSurfaceInMeters:

For a camera mounted 3m off the ground in a tree at 300m elevation: minimumElevationInMeters: 300, maximumElevationInMeters: 300, minimumDistanceAboveSurfaceInMeters: 3, maximumDistanceAboveSurfaceInMeters: 3.

For a camera mounted on a piling, 3m off the ocean bottom in water 10m deep: minimumDepthInMeters: 10, maximumDepthInMeters: 10, minimumDistanceAboveSurfaceInMeters: 3, maximumDistanceAboveSurfaceInMeters: 3.

There is also nice figure in the recently updated OBIS manual discussing various vertical references: https://manual.obis.org/darwin_core.html#location

@EliLawrence developed that figure and has thought carefully about the confusion over how to use the different terms. Perhaps she can weigh in on this.

That figure is in agreement with the recommendations in the Georeferencing Best Practices Guide (Figure 9, copied below). However, I would argue that the best way to encode the location of the camera mounted on a piling is simply: minimumDepthInMeters: 7, maximumDepthInMeters: 7 to avoid any confusion and to make the meaning of depth consistent with other locations no mounted on anything.

@tucotuco I agree with you about the correct way to describe depth would be 7m in that example. I should have thought more carefully about it.
Another argument for encouraging the measurement of both depth and height off bottom is that they could probably be easily measured during deployment (dive watch, tape measure, ROV sensors) and with more accuracy than inferring either from georeferenced bathymetry later on (e.g. secondary use of the data).

Thanks for the detailed feedback @sformel-usgs and @tucotuco

I agree that cameraHeight is a match for minimum/maximumDistanceAboveSurfaceInMeters. I will indicate this relationship, see #359
Conceptually, I still think that depth could be expressed as negative values. In my opinion, all purple depth arrows in the figure would have been expressed as negative distanceAboveSurface, but it does break down for burrowed sensors, which would not apply to camera traps. But Darwin Core chose different concepts for distanceAboveSurface and depth, so it might be easier if Camtrap DP did too:

It will be easier to map to related concepts (rather than "if negative, this is a depth")
It might make adoption easier for marine users
I still find it a bit confusing if cameraHeight and depth are used at the same time. How should this be interpreted by users? @sformel-usgs @tucotuco any insight there?

But Darwin Core chose different concepts for distanceAboveSurface and depth, so it might be easier if Camtrap DP did too:

It will be easier to map to related concepts (rather than "if negative, this is a depth")
It might make adoption easier for marine users
I still find it a bit confusing if cameraHeight and depth are used at the same time. How should this be interpreted by users? @sformel-usgs @tucotuco any insight there?

I agree with the first two points.
If both depth and distance above surface are used (they shouldn't need to be), it has to be for the situation where the camera trap is mounted at a fixed distance above the bottom of a water body. The depth is still the distance below the water surface and the distances above surface are the distances above the bottom of the waterbody. The depth of the water body at the location of the camera trap would be the depth plus the distance above surface value.

Thanks @tucotuco, I mainly take away "they shouldn't need to be". I'll indicate this as such in the definitions of the terms when I add cameraDepth

Sorry to be late to the game here.  I also agree with the first two points.  I also agree with @tucotuco , generally speaking it's probably fine to have one or the other.  I think I was defaulting to thinking of ROV camera data, where depth and height off bottom are both routinely measured.


Implement METH_FASTCALL for pyfunctions.

This is now for all not-NOARGS functions, with the change suggested to make extract_arguments take iterators.
Unfortunately this seems to slow down the cases where *args or **kwargs are present: on my machine, the benchmarks show
       before  after
simple    844    786
mixed    1043   1168
arg_kw    901   1019

This is even without the fact that with the old code, they could even be optimized: for **kwargs a new dict is created, while it is possible to keep the dict with all arguments given by name, and remove those args which match named parameters.
And the "only *args and **kwds" case can be heavily optimized by just passing through the tuple and dict already gotten from METH_VARARGS.

Note for reviewers: This PR only works if the pyo3-macros-backend crate has the cfg defines available, e.g. by copying build.rs from the main crate to pyo3-macros-backend.  @davidhewitt promised to resolve this by adding another crate providing the build config.

Very cool, thank you for working on this! Yes I'm going to work on the aforementioned config crate tonight :)
I see you've marked as draft; do you want me to review and comment on the code already?

Unfortunately this seems to slow down the cases where *args or **kwargs are present: on my machine, the benchmarks show

Hmm that's interesting but I guess not super suprising as we haven't done any optimization of the brand new code paths.
It'd be really interesting to make separate benchmarks for each of the *args and **kwargs cases so that we can figure out which type of variable parameter is causing the slowdown (could be both, I guess). Maybe there's optimizations we can apply in the not-limited-api case which reclaim the lost speed. (e.g. I can think of possible optimizations to tuple iteration and PyTuple::new)

And the "only *args and **kwds" case can be heavily optimized by just passing through the tuple and dict already gotten from METH_VARARGS.

That's a really interesting insight. Definitely could be worth doing; we could skip pretty much the whole extract_arguments function. Though I don't know how often users use this in practice?

Yeah, definitely fine to review.  I marked as draft because it cannot be merged yet, but that is also clear from the test results :)

Hmm that's interesting but I guess not super suprising as we haven't done any optimization of the brand new code paths

Well, there's not too much which is really new, but I hope something can be squeezed out.

That's a really interesting insight. Definitely could be worth doing; we could skip pretty much the whole extract_arguments function. Though I don't know how often users use this in practice?

It's commonly used for "forwarding" or "wrapping" functions where any arguments are passed verbatim to another function/method - that way the signature doesn't need to track.
Not sure how often those occur in C/Rust, but since it's less instead of more code I think it's worth it.
You'll see I commented out a test - this is one more question, since now raw_pycfunction can return different types, so the PyCFunction call needs to be different depending on the build config (due to this patch) and the function's signature (due to METH_NOARGS).  Do we need raw_pycfunction?

Updated to latest main.
The raw_cfunction tests are still disabled.  I tried making a trait implemented by all the PyCFunction... signatures, so we could have a PyCFunction::new taking that trait as an argument.  In that way, the code would work regardless of what optimized variant is chosen by the proc macro.
However, I could not get around the fact that the raw function's type is the concrete function fn(x) -> y {FUNCTION} and not the function pointer type fn(x) -> y -- I could not find a way to cast away the concrete function type "generically" (without having to know the chosen variant).


Multi workspace slack adapter.

Doesn't include installation of the bot, only receiving messages.
Also detecting unistallation event.
Fixes #5519
I understand that there are some major changes in the adapter going on but wanted to leave here what worked for me in case it's useful.
This does not include the installation OAuth flow nor the storage of the slack token and bot id. This is handled somewhere else.
The idea of this change is that the adapter can fetch those values wherever they are stored. Agnostic of how any given app would store those. Users need to just pass a couple of Func with the code to retrieve the bot token and the bot id respectively. Although in my experience the bot id is the same in all workspaces I installed the bot so no sure why this needs to be stored upon installation.
It also correctly receives the uninstallation event from slack.

Converting to draft due to potential changes to adapters coming.
@martinlarosa Thank you for this!! I started making changes pretty similar to this when I looked at this the other day. I'll keep this as a draft so that I've got an additional approach to look at when we implement this. But rest assured, this change is coming at some point--parity with BotKit is important.

Related issue has been closed, closing this draft PR


Umbrella project errors reporting to a single Sentry project

Environment

Elixir version (elixir -v): Elixir 1.6.4 (compiled with OTP 19)

Erlang/OTP version (erl): Erlang/OTP 19 [erts-<IP_ADDRESS>] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Sentry version (mix deps): 6.2.1

Operating system: FreeBSD 11.1-RELEASE-p9

Description
I’m running an Elixir umbrella application made up of two Phoenix applications (web app and API) and a core application (business rules and data access). Each has its own config, since they are self-contained and can be deployed separately.
I have each configured with its own client DSN just the way it is described in the Sentry docs. My thinking was that I would set up one project in Sentry for each app in the umbrella. However, all errors appeared in a single project, the web project. I’m not sure why all errors show up in one project, or why the web project instead of any other one.
Expected Behavior
Each application in the umbrella should report to its own project in Sentry if that application has its own config.
Actual Behavior
All of the applications are reporting their errors to a single project, the web application's project, in Sentry.
Steps to Reproduce

Create an Elixir Umbrella application in the usual way that contains a Phoenix JSON API, a Phoenix admin web application, and the core application.

Configure Sentry as shown in this gist: https://gist.github.com/carlodicelico/32959363621c778c0cf88ead6e461019.

Set up your projects in Sentry, one for each app, using the Client DSN provided on the project's settings page.

When you trigger an error in any of the apps, you should see the errors all appear in one project in Sentry instead of each one appearing in its proper project.

Added a tag to the config for each app to show which app the error is coming from in Sentry:
config :sentry, dsn<EMAIL_ADDRESS>   included_environments: [:prod, :staging],
   environment_name: Mix.env(),
   enable_source_code_context: true,
   tags: %{
     application: "MyApp"
   }

When I send a test event with mix sentry.send_test_event, the tag for MyAppWeb appears in Sentry regardless where the test event was sent from.

Okay, I have some stuff to share. Turns out, this is not an issue with the Sentry library at all, but a side effect of how umbrella applications work in relation to Mix configs!
In the umbrella root's config.exs, the line import_config "../apps/*/config/config.exs" imports all of the config files in /apps, and since the web application's directory is last, its config overrides any previously imported configs. This explains why the web application's config is the one that is used. It's also not possible to have different logging configurations for Sentry because a) all of the OTP applications run on the same VM, and b) the Sentry library runs as a single application, not as one instance per application in the umbrella. All of this is super clear in hindsight, but wasn't at the time 😆
Thanks to @benwilson512, @DavidAntaramian, and @mitchellhenke for talking through all of that w/me on Slack!
Ultimately, as a workaround, what I ended up doing is using before_send_event() to inspect the stack frame, determine the correct Sentry project to send the error to, and set the DSN accordingly. This is probably a terrible idea for some reason I'm not thinking of at the moment, but it works quite well, and I'll share it here in case someone else wants share in my folly and send individual applications' errors to specific Sentry projects from within an umbrella application.
In my umbrella's root config/config.exs, I have my Sentry config set up in this way (comments added here to explain):
config :sentry,
  dsn: "", # I wanted to fail loudly if this didn't get set
  included_environments: [:prod, :staging],
  environment_name: Mix.env(),
  enable_source_code_context: true,
  in_app_module_whitelist: [MyApp, MyAppApi, MyAppWeb],
  root_source_code_path: File.cwd!() <> "/apps", # We're in the umbrella root here
  source_code_exclude_patterns: [
    ~r"/priv/",
    ~r"/test/",
    ~r"/config/",
    ~r"/assets/"
  ],
  before_send_event: fn event ->
    # Here, I try to grab the module that's causing all the ruckus for tagging
    module =
      # See notes below about why I'm looking at the stacktrace frames
      event.stacktrace.frames
      # MyApp, MyAppApi, and MyAppWeb
      |> Enum.filter(&String.starts_with?(&1.function, "MyApp"))
      # I want the deepest event in the stack I can find
      |> List.last()
      # get the value of the function key (MyApp.MyModule.some_func/2)
      |> Map.fetch!(:function)
      |> String.split(".")
      # don't need the function name
      |> List.delete_at(-1)
      |> Enum.join(".")

    # The application, so I can send the event to the correct Sentry project
    application =
      module
      |> String.split(".")
      |> List.first()

    # What's the right project DSN for the application?
    application_dsn =
      case application do
        "MyApp" ->
<EMAIL_ADDRESS>
        "MyAppApi" ->
<EMAIL_ADDRESS>
        "MyAppWeb" ->
<EMAIL_ADDRESS>
       # use the "core" app's project DSN by default
        _ ->
<EMAIL_ADDRESS>      end

    # Change the Sentry application's :dsn configuration value, setting the DSN!
    Application.put_env(:sentry, :dsn, application_dsn)

    metadata = Map.new(Logger.metadata())

    tags = %{
      application: application,
      module: module
    }

    %{
      event
      | extra: Map.merge(event.extra, metadata),
        tags: Map.merge(event.tags, tags)
    }
  end

Why the stacktrace frames? Because it seems like the most reliable way to determine where exactly in the umbrella the error is coming from. Using culprit won't work because it could be a library (like Ecto), and I wouldn't want to use information in the exception or message because those aren't reliable (I might change them at any time). The stacktrace has the information I need here, so I use that.
Anyway, I'm sure this is not ideal or possibly even a good idea, and it's doing kind of a lot of processing of data on every single error event, which I'm not thrilled about, but but for now, it does work exactly as I'd like.

@carlodicelico thanks for the detailed explanation. 😀 The Application.put_env may cause some issues since it's global though.

That's true, it is global, but it's being set every time an event is sent, so maybe it's okay in this case? 🤔


Changes the interface statment to use

Bug: #293

@hasukmistry  Thanks you so much for your time to solve this issue


Fixed a typo

Coverage remained the same at 82.042% when pulling 6d2ee521bec291475c14423886012246c01eae14 on vmesel:patch-1 into af6d1f935f99a0384a14714cf2de909e571161d1 on rochacbruno:master.


Diffs for on-prem

There are minor diffs when pulling (main or _dev) into a on-prem system (7.54 ABAP Dev Edition):

The ABAP language version can't be avoided until we solve https://github.com/abapGit/abapGit/issues/6154.
The package xml is missing the BOM mark. I can open a PR with the correct file if you like.

Oh yes a PR would be a great help! I am flying blind with on-prem compatibility at the moment, only have a steampunk system and unfortunately can not test on-prem by myself.
Updated last week the draft table and package description, i guess with this i put in these changes by mistake. When you open a PR and i merge it, i try to take care to only update the source code artifacts from steampunk (adt-git) in the future. Would be nice when normal on-prem users get no diffs when they install abap2ui5 with abapgit.


include xsds

Would you be up for including XSDs for both RFC 7351 and RFC 5261 in the distribution jar, as a convenience for users writing patch docs?

Sounds like a nice thing to do. Is this something you'd like to take the lead on?

perhaps so


Add the Constant operator class

Create a custom operator class to create constants in the Graph,
and introduce the Operator marker annotation to identify
operator classes.
Please see #7149 for the master tracking issue.

Can one of the admins verify this patch?

Jenkins, test this please


Query Type: Services | Alias function does not work

Describe the bug
When trying to set an alias using the plugin function it does not work. using a simple alias like "setAlias($__zbx_host_name: uptime)" it does not do anything
Expected behavior
I expect when to use "setAlias($__zbx_host_name: uptime)" the table header would be set to "server01: uptime" and i have tested on 2 different versions of grafana and the zabbix plugin
Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

10.1.4
6.0.16
4.4.4

10.0.3
6.0.16
4.4.1

Experincing same problem with processor load, which before 4.4.4 had server name included in the string.

Grafana team any update on this?? I also raised this with enterprise support team and have no updates?


question about the __sad function

In CUDA: __device__ unsigned int __sad ( int  x, int  y, unsigned int  z )
In HIP:     __device__ unsigned int __sad ( int  x, int  y, int  z )
Does the type of z matter ?
Thanks

PR#1936 should fix the issue

In addition, I am afraid that the __usad implementation is not right on an AMD GPU. Please give a test again.
Thanks

@jinz2014 , do you have any specific example where you see it is not meeting your expectation? I tired few calculations all passed.

global void usad(const unsigned *x, const unsigned *y, const unsigned *z, unsigned *r)
{
size_t i = hipBlockDim_x * hipBlockIdx_x + hipThreadIdx_x;
r[i] = __usad(x[i], y[i], z[i]);
}
for the above kernel, what is the output value when
for (int i = 0; i < n; i++) {
x[i] = 2;
y[i] = -3;
z[i] = 1;
r[i] = 0;
}


Question about the lib

does this lib only get the speed and usability ?
The original psi lib gets additional things like:
CSS size                                   | 35.7 kB
HTML size                                  | 3.14 kB
Image size                                 | 178 kB
JavaScript size                            | 6.27 MB
CSS resources                              | 1
Hosts                                      | 1
JS resources                               | 5
Resources                                  | 12
Static resources                           | 11
Total size of request bytes sent           | 963 B

Minimize render blocking resources         | 48
Prioritize visible content                 | 8
Size content to viewport                   | 50

so I was wondering if it was possible to show this in the HTML report also

Hi,
at first I only wanted to display the main scores for each page, but we can definitely add more data.
I didn't work on the project for a while, but PRs are very much welcome 👍


SpeedDial improvements

Hi developpers, in this push commit I propose some improvements to the speed dial.
These are the improvements:

MUL / DIV BUTTONS
I have added mult / div buttons on the right of the plus/minus buttons. These buttons multiply or divide for 2 the current timer values and are a very usefull shortcut to fast increase / decrease current time value staing in sync.
PS. Icons used for mult/div are the turned plus/minus icons, maybe can be replaced with better icons.

APPLY BUTTON
This button can be used to apply current time value to scenes, chaser, etc.
So you can use multiple timer associated to a scene and change time on the fly only pressing a button.
You can also hide all other fields and leave only the apply button and create multiple buttons of different timer associated to the same scenes.
This button is only show on virtual console speed dial.

SAVE & RESTORE
Time value of the virtual console speed dial is saved on project. This is usefull for the apply button to store timers when you reopen a project.

Hello Giorgio,
thanks for your contribution that makes the Speed Dial even more useful.
Just two comments:

Indeed, the MUL and DIV icons should be replaced since they look a bit confusing right now
Just an idea: How about adding small (optional/hideable) buttons (4 to 6 of them) at the bottom of the widget to store time values instead of using multiple speed dials for one chaser? Think of it as the "memory"-function of a calculator. You modify the time, it doesn't apply until Apply is pushed. As an alternative, you click one of the memory-buttons with Shift or Ctrl pressed and the time is stored at that memory. If you click one of the memory-buttons without Shift or Ctrl , the time stored there is loaded and automatically applied to the function.

Hi, these are nice and useful changes indeed.
My only fear is that this widget is becoming too complicated to use.
The more stuff we add, the more difficulties users will have to understand how it works.
I would say every QLC+ widget should have a "basic" mode (default when adding a new widget) and then several options in the configuration window, to turn the widget into an "advanced" mode.
Think for example about the Click & Go button on Sliders (disabled by default) or crossfade sliders in the Cue List widget (hidden by default).
I agree to improve it, but guys, let's keep it simple by default !
P.S. In QLC+ 5 I will completely rewrite the speed dials. They created too many problems in the past and I want them to be intuitive and easy to use. I still haven't reached a final design though...

Hi Massimo, I can easily change the default visibility mask to hide by default the mult/div/apply buttons.
When you think that QLC+5 will be available? In other words do you think that working on SpeedDial has sense or it is a wast of time considering that this widget will be completely rewrite with the new QLC version?
What is the icon set used by QLC for other icons? Icons of mult/div should be replaced.
@kripton your idea is very cool but more complex to be implemented than the current Apply button. Maybe is better to wait the new SpeedDial rewrite of QLC5.

Giorgio, there is no release date set for QLC+ 5 but QLC+ 4 will be surely be supported for the whole next year. So working on it at the moment is not a waste of time.
In QLC+ 5 I'm currently working on the Virtual Console. To implement Cue Lists, I will need to implement Chasers first and to implement Chasers, I will need Speed Dials (or whatever name they will be called).
Even though they will be rewritten, I will "port" the functionalities of QLC+ 4.
As for icons, I guess you won't find ready-made icons for x2 and /2.
The only suggestion I have is to simplify the "multiplier block" with 3 elements instead of 2:

an arrow up button (to multiply by 2)
a text box indicating the current multiplier: 1x, 2x, 4x or 1/2x, 1/4x, 1/8x, etc
an arrow down button (to divide by 2)

In this way the user has also track of the current multiplier and doesn't have to remember it.

In this push commits:

Mult / Div icons switched to  arrow up/down.
SpeedDial default visibility mask is now applied to all SpeedDials, before it was ignored.
Changed the default visibility mask (mult/div and apply buttons are hidden by defaults)

If it is not enought clear for user I can add an additional text box for the current multiplier.

I think that a moltiplier text box maybe usefull

Hi Giorgio, yes, please add a text box with the current multiplier.
I'm thinking about introducing a tab view or a button to show/hide "advanced" options.
In this way the widget will be basic by default and advanced if the user wants it to be so.

Widgets positions should be aligned.

Just place the up/down arrows and the text box into a QVBoxLayout.
I'm not sure if it is a good idea to use a QSpinBox to display the multiplier.
Qt spin boxes work on contiguous integer or double values, but here we want discrete values like 1,2,4,8 and 1/2, 1/4, 1/8.
Maybe it's better to use just a QLabel

Using up/down buttons we don't need discrete values but only integer values from 2 to ...
ie. 1/4 is equal to pressing down arrow with 4x factor.
Otherwise I can use a combo box with discrete values (1,2, 1/2, ...) and a single mult button.
This is the layout using a QVBoxLayout

Please commit what you have and then I'll fix it.

But please explain exactly what the "Apply" button does, cause I don't understand it.
At the moment the speed dial adjustments are applied immediately, so unless the "Apply" button can be checked, I don't understand how you implemented it.

The apply button is usefull if you need to fast change a scene fade/hold between a set of pre-defined values.
You can use multiple dials associated to the same scene and set these dials with different times. Now you only need to press the apply button of one speed dial to set the required time without need to manually set time.

So it is useful only the first time the user goes in Operate mode ?
As I said, all the changes to a speed dial, are immediately applied to the target function, so the apply button is useful only one time at the very beginning of a show.
I would prefer if it was a checkable button to enable/disable immediate changes on the target function.
By default it will be checked, to preserve the current behaviour and then the user can uncheck it, change the speed dial time, and check the button to apply the new time.
Sounds OK to you ?

Not only the first time.
For example if I need to change duration of chaser steps on a live dance show generally I want change fast between some predefined times (1 beat, 4 beats, etc.).
I can set 2, 3 or more dials to the same scene and set each dial to a different time value (1 beat, 4 beats, etc.) during the show I only need to press the apply button to immediately change the scene time without need to manually change the dial time.
You can fast tap between apply buttons of different speed dials (associated to the same scenes) to create interesting light effects on the fly.

OK, got it now.
Basically this is a usage when you have many speed dials with fixed timings that you won't change during the show.
I was referring to the usage with a single speed dial.
Then maybe @kripton idea would be good concentrate both usages on a single dial, where you have a list of preset timings (or timings that you can store during a show) each with a button to call them.
Anyway, one step at the time :smiley:

Having a speed dial with preset usage would be awesome

I like the @kripton idea.
Probably the Apply button could be substituted with Save button. When user click on save a new preset button is created under the time edit boxes.

After I slept on it, I came up with a solution that should make everyone happy :smile:
We can do something similar to what I've done on the Animation widget. It requires a bit of development but I guess it would be worth it.
Basically we add a new tab to the speed dial configuration dialog to add custom presets. Each preset can have a key binding or an external controller binding.
Presets are shown as buttons at the bottom of the speed dial widget, in a FlowLayout.
Button labels can be the time itself or a mnemonic label entered by the user.
I would say the "infinite option" can be removed and treated as a custom preset, if needed.
There could be by default a "add" or "store" button in the FlowLayout to add a (temporary?) custom preset button while running a show.
In this way we should cover all the cases, and most likely one single speed dial will replace the usage of many SD in a VC, thus saving space.
What do you guys think ?
I am pretty busy coding QLC+ 5 but I can dedicate some time to this, cause in any case it will be ported to QLC+ 5. Otherwise someone can volounteer for this and I'll review the code. @plugz ? @grebecchi ?

I think that the Animation widget should not be copied as-is.
It needs some more things: the ability to reorder controls, move things around, resize them...
The Speed Dial controls layout is kinda nice currently, and applying the same techniques as in the Animation widget would destroy this :/

If @plugz is willing, I can continue to work to EFX to add the possibility to animate each fixture channel.

@grebecchi please finalize this PR with what you have, then we take it from there.
Thanks

This PR is updated.
It include:

virtual console SpeedDial save & restore
apply button
mult / div buttons + factor edit box

Merged


fix logging of unparseable PUBLIC_RESETs

Codecov Report

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

@@           Coverage Diff           @@
##           master     #930   +/-   ##
=======================================
  Coverage   90.63%   90.63%
=======================================
  Files          94       94
  Lines        6438     6438
=======================================
  Hits         5835     5835
  Misses        387      387
  Partials      216      216

Impacted Files
Coverage Δ

client.go
90.32% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Meeting Recording retention unclear

In the Meetings & Calls section, one row of the table shows

Teams keeps meeting recordings that don't get uploaded to Microsoft Stream, available for local download = 20 days

Two questions here:

Is that referring to a completed recording that failed to upload to Stream? The phrasing in unclear if the "recordings that don't get uploaded" is because the upload failed or because the user somehow chose not to upload.
With the move to save recordings in OneDrive/SharePoint instead of Stream, is there any change to this behavior or the length of time the local copy is stored?

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

ID: 905e2c09-ef3e-07cc-0809-6ff171157c47
Version Independent ID: c0d33162-183d-fff8-32e9-a999f391ea51
Content: Limits and specifications for Microsoft Teams - Microsoft Teams
Content Source: Teams/limits-specifications-teams.md
Service: msteams
GitHub Login: @SerdarSoysal
Microsoft Alias: serdars

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.

@scanum - I'm reporting this issue as a Microsoft employee and following up on these questions from one of my M365 customers. Request that you reopen this issue pending clarity on the questions. Feel free to ping me internally if necessary.


Documentation on directives no longer shows attribute types

The Usage section of all directives isn't displaying attribute types anymore. For instance:
<input
  ng-model=""
  [name=""]
  [required=""]
  [ng-required=""]
  [ng-minlength=""]
  [ng-maxlength=""]
  [ng-pattern=""]
  [ng-change=""]
  [ng-trim=""]>
...
</input>

This used to be like the following:
<input
  ng-model="{string}"
  [name="{string}"]
  [required="{string}"]
  [ng-required="{boolean} "]
  [ng-minlength="{number}"]
  [ng-maxlength="{number}"]
  [ng-pattern="{string}"]
  [ng-change="{expression}"]
  [ng-trim="{boolean}"]>
...
</input>

The "culprit" here is Dgeni's directiveParam macro which uses type.description instead of type.name:
{%- macro directiveParam(name, type, join, sep) %}
  {%- if type.optional %}[{% endif -%}
  {$ name | dashCase $}{$ join $}{$ type.description $}{$ sep $}
  {%- if type.optional %}]{% endif -%}
{% endmacro -%}

I happen to know this because I'm using Dgeni for generating my own documentation and I noticed it wouldn't render the type name.
Now, I don't know if this is by design and is expected. It doesn't seem correct to me, though.

@petebacondarwin Do you want to look into this?

Will do. Easy fix?


ps-design-system-textinput: className class is applied to label and input elements

Bug
Expected behavior
When <TextInput> is given a className, it applies that class to only the <label>, not the <input>.
Actual behavior
The class is applied to both the <label> and the <input>.
Steps to repro
https://codesandbox.io/s/nervous-thunder-ormdu

Add a className to a <TextInput>.

Environment

OS - MacOS 10.15.4
Browser version - Chrome v80

Make breaking change move className only to label.


Added comments as requested.

Ref. issue ticket #3353

@nenonix @JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks.

@Malind19 - please merge the commit on the copy/edit review made by JohanFreelancer9 / nenonix  or make the necessary changes on the PR following the suggestions made. Thank you.

@mypil Done


Zoom button styling does not match spec

Describe the bug
Our zoom buttons do not currently match spec
To Reproduce
Steps to reproduce the behavior:

Go to the latest link: https://d2zjid6n5ja2pt.cloudfront.net/justice40-tool/d0c281/en/cejst/?flags=mb
See the below:

This does not match spec, which calls for larger zoom in / out buttons

Expected behavior
Should match the following:

Screenshots
See above

Jane changed the spec to remove black formatting of button, no longer any concept of selected state

To be clear on the purpose of this ticket, this is about the zoom buttons, the +/-, which are too small / don’t match the other buttons.
A note on terminology: internally, the “48, AK, HI, PR” buttons are known as “Territory Focus Buttons”, and the +/- are “zoom buttons".
The black selection highlight was discussed offline and we determined to simply remove this, but that doesn't affect the "zoom button"s proper, which still do not match spec.

Available here for review:
https://d2zjid6n5ja2pt.cloudfront.net/justice40-tool/23c674/en/cejst/#3/32.47/-86.5
(side note, as a bonus, you can add ?=flags=gl,fs to get geolocation and fullscreen support, as in https://d2zjid6n5ja2pt.cloudfront.net/justice40-tool/23c674/en/cejst/?flags=gl,fs )

The plus / minus icons and line weight look different from spec

Moving back to in progress given issues discussed just now in dev-design review:

faint grey background with faintly rounded corners
Different icons (should use USWDS svgs)

Can confirm re-fix here: https://d2zjid6n5ja2pt.cloudfront.net/justice40-tool/ab72dc/en/cejst/#3/32.47/-86.5

Looks so good!!!


Fix error message when parsing unknown JSON enum value

#string_value can be the value of the next token, which results in a confusing error message.
require "json"

enum Test
  Valid
  Other
end

struct Foo
  include JSON::Serializable
  @foo : Test
end

text = %({"foo": "value", "things": "Stuff"})

Foo.from_json(text)

On 1.9.2 this will raise an unhelpful error:
$ crystal run test.cr
Unhandled exception: Unknown enum Test value: "things" at line 1, column 26
  parsing Foo#foo at line 1, column 2 (JSON::SerializableError)
  from /usr/share/crystal/src/json/serialization.cr:182:7 in 'initialize:__pull_for_json_serializable'

Note that if it's not part of a larger JSON object, the message will be correct:
Test.from_json(%("value") # => Unhandled exception: Unknown enum Test value: "value"

Is there anything else I should do here before it gets merged?

No, we're just waiting for a second approval from a Core Team member (see https://github.com/crystal-lang/crystal/blob/master/CONTRIBUTING.md#accepting-a-pull-request).
And please do not force push to a PR branch. That unnecessarily complicates reviewing due to lost history (see https://github.com/crystal-lang/crystal/blob/master/CONTRIBUTING.md#making-good-pull-requests).

Ah sorry, I'm used to doing endless rebases and hadn't seen that part of the contributing guide. Thanks for pointing that out.


Game is finished after 512 tile!

It has to be finished after reaching the 2048 tile! :)

@cangd haha will take a look later. I clearly haven't scored that high to notice the bug before ;)

Good job anyways. Its much more fluent playing with the keyboard :D

thanks!


Added charts new about and captcha to signup page

Description

Type of Change

About Page modified to the new stylings
Charts page made
Captcha added to login/signup page

[x] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🧹 Code refactor
[ ] ✅ Build configuration change
[ ] 📝 Documentation
[ ] 🗑 Chore

Changes

Please which part of the project your changes affect ?

[x] Frontend (Templates, CSS, JS)
[ ] Backend (Dancer2, api-docs, Dockerfile)

Screenshots
Before:

After:

@himanshisrestha Thank you for your contributions.
I noticed we lost the "Home" icon next the top menus.

@manwar Noted and surely will add along with the next updates


Force page reroute in header

Summary
Force header link components to render as if they were <a> tags in order to generate a network request.  This allows inferno-deployment to provide the alternate 'test kit' views instead of the suite-centric landing page view.

Close, but when I click on the name of the suite, it seems to break (it has the base url in twice, like /inferno/inferno/infra_suite

Unfortunately now when i launch the infra tests and hten click on the infrastructure test suite title from within the session, i get this:

Ok yeah I think this is a bug related to race conditions/pulling the routing logic outside of react-router, going to try a workaround


Revision tabs bug

As we have moved away from having revision and project data be separate entities, this PR is no longer needed.


Placeholder component error: ReactIntersectionObserver: Can't find DOM node in the provided children.

Thanks for the component. I want to use an actual React component that I specify to render as a placeholder.
When I do I get this error. This isn't even a stateful component. Only functional. I don't know why it would need a ref to it.
The full error is: ReactIntersectionObserver: Can't find DOM node in the provided children. Make sure to render at least one DOM node in the tree.
I made a POC forked codesandbox here: https://codesandbox.io/s/react-progressive-graceful-image-component-as-placeholder-forked-08rs17?file=/src/index.js
thanks.

Thanks @awongh for pointing it out. Appreciate a reproducible csb.
I took a look at it, since you mentioned about making a stateless component as placeholder, you can create it like this from you sandbox:
const PlaceHold = (

placeholder

some subext

)

And then simply use it as PlaceHold instead of <PlaceHold/>.
The reason behind this is, the placeholder prop accepts a string or react element and not a react component.
In case you decide to make use of a function which returns a react component, you can also call it like PlaceHold() to use it as a workaround, but I wouldn't recommend it.
Hope this helps.

Thanks @awongh for pointing it out. Appreciate a reproducible csb. I took a look at it, since you mentioned about making a stateless component as placeholder, you can create it like this from you sandbox:
const PlaceHold = (

placeholder

some subext

)

And then simply use it as PlaceHold instead of <PlaceHold/>.
The reason behind this is, the placeholder prop accepts a string or react element and not a react component. In case you decide to make use of a function which returns a react component, you can also call it like PlaceHold() to use it as a workaround, but I wouldn't recommend it.
Hope this helps.

Hi, I tried your proposed solutions but they didn't work, no matter what the app throws the same error the OP mentioned.

@awongh , I used the above sandbox, fixed it like I suggested. Here is the forked sandbox


feature: Custom Extensions

This feature should allows developers to write custom Rust functions to extend Tailcall's ability.
Here is how the user experience going to look like:
Example
Let's say we want to implement langugage translation in Tailcall.
The extension is loaded using the link operator
schema
  # Dynamically Link an Extension
  @link(src: "./translate", type: Extension)
  @upstream(baseURL: "https://jsonplaceholder.typicode.com") {
  query: Query
}

type Query {
  users: [User] @http(path: "/users")
  user(id: String): [User]
    @http(path: "/users")
    # User can use the @extension directive
    @extension(name: "some_other_extension", params: ["{{.args.id}}"])
}

type User {
  id: ID
  name: String
    @extension(
      name: "translate"
      params: ["userName", "{{.value.catchPhrase}}"]
    )
  username: String
  company: Company
}

type Company {
  name: String
  catchPhrase: String
    @extension(
      name: "translate"
      params: ["catchPharse", "{{.value.catchPhrase}}"]
    )
  bs: String
}

Directive Definition
Should be added automatically to the .tailcallrc.graphql
directive @extension(name: String!, params: [String!]!) on FIELD

Rust Code
The extension needs to implement the following trait:
trait Extension {
    // Initializes the extension
    async fn init(&self);

    // Called before the IR is going to be executed
    fn prepare<Json: JsonLikeOwned>(&self, ir: IR, params: &[Json]) -> IR;

    // Called after a value is produced
    fn process<Json: JsonLikeOwned>(&self, params: &[Json], value: Json) -> Json;
}

The trait is exposed via tailcall::extensions module that published as a crate. The extension that implements the trait Extension should loaded dynamically into Tailcall.
Technical Requirements

Add tests and documentation wherever possible
Use lib loading should be async and failures should be nicely displayed to the user

/bounty $250

/attempt #2613


fix: Correction of CreateLink description error

fix: Correction of CreateLink description error

Hi, please refer to https://beyondstorage.io/docs/general/contributor-guide#create-your-branch to avoid extra commits in PR.

Hi, please refer to https://beyondstorage.io/docs/general/contributor-guide#create-your-branch to avoid extra commits in PR.

Okay!

ping @Xuanwo , Do I need to merge these extra commits? But then it will do a forced push.

Instead of working on master branch, we prefer to create new branches every time.
So we have to do the following things (If you set the upstream correctly as described in contributor-guide)
# Backup your work
git reset HEAD~1 && git stash
# Fetch upstream changes
git fetch upstream
# Reset your branch to upstream master (Danguouse step, make sure you on the right branch)
git reset --hard upstream/master
# Set your master branch to upstream/master so that we can use git pull directly later
git branch --set-upstream-to upstream/master
# Create a new branch based on upstream/master
git checkout -b "issue-xxx"
# Reapply your work
git stash apply

And then we can send PRs.
For further works, we can simply do:
# Swtich to the master branch
git checkout master
# Pull changes from upstream
git pull
# Create and switch to new branches
git checkout -b "issue-xxx"
# Start your work!

Instead of working on master branch, we prefer to create new branches every time.
So we have to do the following things (If you set the upstream correctly as described in contributor-guide)

Got it!

@abyss-w , Hi, any progress on this issue?

@abyss-w , Hi, any progress on this issue?

I've done the first part of what you listed, do I need to recommit now?

I've done the first part of what you listed, do I need to recommit now?

Yes, please close this PR and create a new PR based on your new branch.

Yes, please close this PR and create a new PR based on your new branch.

Got it!


How does it compare to virtual-dom?

https://github.com/Matt-Esch/virtual-dom
especially when it comes to performance... or why would i want to eventually switch to "incremental dom"?

@serapath Take a look at https://medium.com/google-developers/introducing-incremental-dom-e98f79ce2c5f


Support privileged

When privileged is true:

Enable all capabilities
Add all host devices
Clear readonly on some volumes, e.g. cgroups and /sys volumes

ref: #29 @Random-Liu Ready for review.

Will take a look tomorrow, and let's try to get it merged this week.

@heartlock We need a test for privileged mode and device mapping. However, HostDevices and DeviceFromPath all accesses the host directly, which should is hard to test in unit test.
Let's think about this a little bit more. Other than this, please see the comments above.

@heartlock Please address comments and rebase your PR. Thanks.

@Random-Liu  will do today.

LGTM except https://github.com/kubernetes-incubator/cri-containerd/pull/51#discussion_r121060498 and https://github.com/kubernetes-incubator/cri-containerd/pull/51#discussion_r120739763.
Will merge this one first and send another PR to address those 2.


Legend markerstroke mismatch

Given that markerstrokecolor is black by default, but markerstrokewidth is 0, and markerstrokewidth is not forwarded to the legend, now the legend marker style is "mismatched" by default, in that it shows a marker stroke that the plot doesn't have. See this example in the docs.
Maybe we should just forward strokewidth to the MarkerElement?

I would actually take the value from the theme if the user is passing a vector for that attribute. My reasoning is that if the user is doing eg
scatter(rand(10), marker=:rect, color=rand(10))

then the color info should be encoded in a separate colorbar anyway and does not need to be part of the "discrete legend". It'd be a bit harsh to error, and confusing to take a random color from viridis to encode the trace.
(Just to clarify, on my end, the important thing is that MarkerElement supports all the necessary attributes, rather than how they are taken from the plot.)

fixed this in https://github.com/JuliaPlots/Makie.jl/pull/971
for each attribute it is checked if it's is_scalar_attribute and if not the default is looked up in the legend, which inherits from the main theme


Use consistent labels on all RBAC resources to enrich them with metadata

Several roles, e.g. the mpas-projects-clusterrole and the generated role mpas-<project> do not have any labels which explain where they come from like other rbac resources, e.g. the leader-election-rolebinding. All RBAC resources should have labels for informative metadata, consistent across all resources, regardless if built in (like the mentioned cluster role) or generated (like the mpas- role). Example from the leader-election-rolebinding:
labels:
  [app.kubernetes.io/component](http://app.kubernetes.io/component): rbac
  [app.kubernetes.io/created-by](http://app.kubernetes.io/created-by): mpas-project-controller
  [app.kubernetes.io/instance](http://app.kubernetes.io/instance): mpas-project-leader-election-rolebinding
  [app.kubernetes.io/managed-by](http://app.kubernetes.io/managed-by): tilt
  [app.kubernetes.io/name](http://app.kubernetes.io/name): rolebinding
  [app.kubernetes.io/part-of](http://app.kubernetes.io/part-of): mpas-project-controller (bearbeitet)

[ ] Check other controllers


notification.onDidDisplay()'s cb is never called

Prerequisites

[X ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Notification.onDidDisplay() is a publically documented API and does not work. A quick search through the main repo shows that the private notification.setDisplayed() is never called, so the 'did-display' event is never fired.
Steps to Reproduce

// works
atom.notifications.addInfo("hey!",{dismissable: true})
  .onDidDismiss(() => {console.log("dismissed")});

// does not work
atom.notifications.addInfo("hey!",{dismissable: true})
  .onDidDisplay(() => {console.log("displayed!")});

Versions
1.13.1 x64 Ubuntu 16.04

The 'did-display' event is fired by the notifications package.
The reason why your code example does not work is because you register the callback after the package displays it. The order is wrong:

You call atom.notifications.addInfo
addInfo creates a new notification
addInfo adds the notification and fires did-add-notification
The notifications package receives did-add-notification, displays it and calls notification.setDisplayed, which fires did-display
addInfo returns the notification after did-display
You register your callback but the event already happened

If you need a callback for this, create a notification manually:
Notification = require('atom').Notification;
n = new Notification("info", "hey!", {dismissable: true});
n.onDidDisplay ...
atom.notifications.addNotification(n);

addNotification is not part of the public API, so this looks like a documentation problem.

@deprint Thankyou for the explanation