Fixes the Font-size which are hard-coded and make it responsive for small screen

Related Issue or bug
The font size is hard-coded in every tag like h1 and p , it is ok for desktop version but in small screen like phone the text is not clearly visible It is looking like this.
Fixes: #186
Describe the changes you've made
I had replace all the Inline Css to Internal Css as much as possible and Added media queries for Small Screen
Now the website is looking like this
https://user-images.githubusercontent.com/55352601/112106950-56c4d580-8bd4-11eb-826f-773d92542f41.mp4
Please Review it and merge it before any other PR got merged otherwise I have to do all changes again which will be very difficult for me.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Code style update (formatting, local variables)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
I had uploaded a video above.
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Describe if there is any unusual behavior of your code(Write NA if there isn't)
A clear and concise description of it.
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, particularly in hard-to-understand areas.
[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.
[ ] New and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.

Screenshots

Original
Updated

original screenshot
updated screenshot

@swapnilsparsh sir Please review it and Please add the labels of gsscoc21 before merging. Sir I had replaced a lot of inline-CSS (hard-coded) with internal CSS It will be very difficult for me do this changes again It took  more than 4 hours for me Please merge it as soon as possible before any conflicts occur

@swapnilsparsh sir please add GSSoC'21 label before merging

@swapnilsparsh sir please review it.

@swapnilsparsh  sir please add the label of gsscoc'21 before merging it

Hey @arpit456jain,
Please have patience. We all are students and it requires time to review. If we didn't review the PR in 2days then you can ask us on the discord channel.

Sorry @sakshikhachane mam
Actually last time when I created a PR on a different project  it was ok with no conflicts but next day any other PR got merge and some conflicts occur in PR that's why i have to do changes again.
But in this project i had done a lots of correction which will be very difficult for me to do again.

@sakshikhachane mam all the requested changes are done. before I commit this changes
I have a request.
Please review navbar font-size in this video. I think somehow I had missed to add changes on that particular a tag when anyone is logged in....
sorry for that.
https://user-images.githubusercontent.com/55352601/112326522-9b3a9900-8cda-11eb-9618-63413b5a2ec2.mp4
I hop now font-sizes are perfect.

I had increase the font-size from 2rem to 2.5 rem and added some boldness now take a look .
https://user-images.githubusercontent.com/55352601/112329182-fe2d2f80-8cdc-11eb-9435-d69f2f4b5248.mp4

@sakshikhachane mam may I commit the changes.??

@sakshikhachane mam may I commit the changes.??

Sure!

ok @sakshikhachane  mam but how to solve this conflict which is occurring now ?

Thank God The conflict resolved .
I am getting stressed for a sec I thought I have to do the changes again.
@sakshikhachane mam please review it.

@arpit456jain
Don't spam and please have patience.
There are lot of bugs in your PR.
Firstly rebase your code and then resolve the bugs.

@swapnilsparsh sir all the requested changes are been done but I am not able to find where the color of navbar is not black .Can you please mention the page.
I have pull the latest code merge it in my branch.
I am attaching a video Please review it.
https://user-images.githubusercontent.com/55352601/112601116-0f3e8380-8e38-11eb-9bc9-cb085c719b8d.mp4

@sakshikhachane mam can you please review this if further change has to be done.

@swapnilsparsh sir please review it

@swapnilsparsh sir please review it

https://github.com/swapnilsparsh/Rescue/pull/195#pullrequestreview-621395974

@swapnilsparsh sir when i commit changes you requested there were no conflicts
May be any PR got merged .

@swapnilsparsh sir when i commit changes you requested there were no conflicts
May be any PR got merged .

You have to fix this https://github.com/swapnilsparsh/Rescue/pull/195#pullrequestreview-621395974

@swapnilsparsh sir Its 2:33 am now but i am still working just because I had done a lot of work on this issue.
Finally I had again pull latest code
commit it
and done some required changes.
now it has no conflicts
so I am requesting you @swapnilsparsh sir please review it and merge it as soon as possible.

This is how the website is looking now after my above commits
https://user-images.githubusercontent.com/55352601/112735106-1cf72480-8f70-11eb-8d37-c82fabafa073.mp4
@swapnilsparsh sir please add labels of level3 if possible.

@swapnilsparsh please review it.

@swapnilsparsh I will fix it within 5 min .

@swapnilsparsh done.

@swapnilsparsh done
and this time I had  re-check all pages in desktop and mobile version both.

@swapnilsparsh please add label of level   before merging.

@swapnilsparsh kindly review it.

@swapnilsparsh I am sorry I am not able not fix these issues I am closing this PR kindly assign issue #186  to someone else.


M & M 3e Roll Target Implementation

Ok, I think I did that right. I need to start writing this stuff down...


Review

Please review, @SimonJordan

Description of repository
The repository of Klaus Förster implements fundamental functions for calculating energy power flow.
It includes calculations for apparent, active, and reactive power, as well as phase angle determination.
Furthermore, it is distinguished if the reactive power is inductive and capacitive.
Tests

[x] License exists
[x] Create a fork and start a pull-request
[ ] Pytests fails as expected
Comment (PR #3):
In test_utils.py the test_-functions are called at the end of the file.
Therefore, it aborts after the first error occurs.
When the function calls are removed, all failed functions are displayed correctly instead of only the first failed one.
[ ] Ruff linter fails as expected
Comment (PR #3):
It fails, when additional unused packages are included, but it did not fail for unclean formatting styles.
The following code part is missing in ruff.yml:
with:
args: 'format --check'

Submission of second homework assignment, @danielhuppmann


[#6647] [Enhancement]: Alternative waiting strategy for MockServer

Improved waiting strategy für MockServer. See #6647.

Please, update your branch because there was a change which broke the build


Add assertions to Collections

Partially fixes #239
Hey @mr-feek
Do you have any other ideas what we can improve in collections using assertions?

@mr-feek
I will merge this one  - as it's better than nothing. But I'n pen for dialog on this topic ;)


Unconventional zsh configuration files source

I do not understand why in prezto environment variables that should be available to all programs are placed in .zshprofile. .zshprofile should only have login related stuff, pre .zshrc source, like scripts. Since .zshenv is sourced by all terminals types why not place them there?
https://wiki.archlinux.org/index.php/Zsh#Configuration_files
https://unix.stackexchange.com/questions/71253/what-should-shouldnt-go-in-zshenv-zshrc-zlogin-zprofile-zlogout

It's a workaround against a Mac OS X problem, see #500.


Move nested bullets

If you move a block in Roam, those blocks nested under that block will follow. This helps with higher-level organisation. As far as I can see Outliner moves just the current block. It would be great if it worked more like Roam and other outliners.

I was using the wrong hotkey and triggering the swap lines action.


Extract Initializer

Griddle major version
1.x
Changes proposed in this pull request
Pulls the default+plugin+props composition out of the Griddle constructor into a testable initializer.
This is really just prep to work on supporting function plugins for #733.
Why these changes are made
Tests are good, especially for this sort of composition (which seems likely to get more complex).
Are there tests?
Lots!

I am seeing some issues on the TS front in storybook that I'm having a hard time tracking down.  I might need to lean on @ryanlanciaux to investigate that bit. Are you seeing anything?

I don't recall any issues from a month ago when I was working on this, but I can take another look.
I take it you approve of this direction? If so, I'll rebase on master to account for evolution since then.

Inspired by #760, I've added commits to pull the current defaults into a CorePlugin of sorts that can be replaced (or omitted) via <Griddle core={...} />. Not sure if core is the right name for it, but it does seem a useful extra seem to adjust Griddle default behavior.
I did not bring in @shorja's core support for accepting a function from props, so parsing renderProperties from children (RowDefinition/ColumnDefinition) is the only behavior that's really not extensible. I'm not thrilled with core as function-of-props because for #733 I have been thinking of plugins as more of a reducer. But I'm not sure what a better pattern for handling renderProperties would be.

@dahlbyk Yeah now that I look at the core plugin taking in props, that's probably not a great way to handle stuff, especially since the pattern seems to be passing in init config to a plugin is done outside griddle -> . So really anything that should go into core really should be passed in like that, props should have nothing to do with it.
Is the idea of plugins as reducers to basically chain the output of built plugins into the next plugin to build and then each one can do what it wants to wrap components? I've also been thinking about refactoring the component composition logic, included in my mega PR was a change to allow enhancers to 'stack' but I was planning on revisiting it. I drew up a diagram that explains the behaviour I was thinking about.

Is the idea of plugins as reducers to basically chain the output of built plugins into the next plugin to build and then each one can do what it wants to wrap components? I've also been thinking about refactoring the component composition logic, included in my mega PR was a change to allow enhancers to 'stack' but I was planning on revisiting it.

Yeah, given a series of function plugins, you can think of initializer as essentially plugins.reduce((config, plugin) => plugin(config), core). My first commit in this direction was https://github.com/GriddleGriddle/Griddle/commit/e3f9481af3693160e745ff0f312f998722cbca34, but I wanted to land this initial refactoring first.
I like the idea of being able to apply multiple enhancers, as your diagram explains, but explaining "enhancers cleared by a new component" rules might be less intuitive than making (function) plugins decide how old/new enhancers should compose (c.f. https://github.com/GriddleGriddle/Griddle/issues/733#issuecomment-330975239). I'd suggest the plugin composition conversation continue over there.

I like this direction and definitely wonder if pushing the enhancer registration logic to the plugins themselves would make the logic easier to understand for anyone using the library.

I am seeing some issues on the TS front in storybook that I'm having a hard time tracking down. I might need to lean on @ryanlanciaux to investigate that bit. Are you seeing anything?

I don't recall any issues from a month ago when I was working on this, but I can take another look.

@joellanciaux are you still seeing this? Thoughts on the pageProperties/sortProperties change?

I'm in favor of moving this one forward. If there are no storybook + typescript issues (I'm not seeing any atm) I will merge this. Sound good? :D


Support group chats

Enable joining into group chats. But this requires some feature to be implemented first.
The problem is Telegram sends all replies to the message, containing a command. That is, user 1 calls the /save <alias> command, user 2 replies with some message. What's we expect to happen? We want to wait for user 1's reply to save the fav. However, in current implementation the result would be a fav saved for user 2. This is very unexpected behavior!
So, we need to either:

check the user who sent the reply to be equal to the author of the command;
allow only one-step forms of commands (e.g. /save <alias> as a reply to some message).

Besides, I think only the following commands must be supported:

/save,
/delete,
/link,
/help (suggesting to invoke this command in PM to get the actual help message).

Also, I think we need a scheduler to delete status messages from groups after some period.

Commands are not called in a group without the bot's qualifier, i.e. /save *** doesn't work but /save@SadFavBot *** does.

Yeah. This is exactly the way how it works according to the documentation.


Add generated comments to schema file

Resolve #32
It is better to notify that the file is generated.

Codecov Report

Merging #33 (2f9160d) into master (161d7c2) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #33   +/-   ##
=======================================
  Coverage   98.55%   98.55%
=======================================
  Files          15       15
  Lines         207      208    +1
  Branches       17       17
=======================================
+ Hits          204      205    +1
  Misses          3        3


notation cert generate-test should not add to verification certs

Current behavior:
notation cert generate-test "wabbit-networks.io"
adds the key to signingKeys and verificationCerts
{
  "enabled": false,
  "verificationCerts": {
    "certs": [
      {
        "name": "wabbit-networks.io",
        "path": "/home/stevelas/.config/notation/certificate/wabbit-networks.io.crt"
      }
    ]
  },
  "signingKeys": {
    "default": "",
    "keys": [
      {
        "name": "wabbit-networks.io",
        "path": "/home/stevelas/.config/notation/key/wabbit-networks.io.key"
      }
    ]
  },
  "insecureRegistries": []
}

Expected behavior:
Just thinking we shouldn't assume adding a signing key should imply it should immediately be verifiable. Seems the user should opt-into what they verify.
notation cert generate-test "wabbit-networks.io"
would add:
"signingKeys": {
    "default": "",
    "keys": [
      {
        "name": "wabbit-networks.io",
        "path": "/home/stevelas/.config/notation/key/wabbit-networks.io.key"
      }
    ]

Then, the user adds the key:
notation cert add "wabbit-networks.io" ~/.config/notation/certificate/wabbit-networks.io.crt
would add:
"verificationCerts": {
    "certs": [
      {
        "name": "wabbit-networks.io",
        "path": "/home/stevelas/.config/notation/certificate/wabbit-networks.io.crt"
      }
    ]

@shizhMSFT

Agreed. Will be included in the next iteration.

Resolved by 9c5c749.
If the user does want to add the generated cert to the verification list when generated, the option --trust should be toggled. Otherwise, the test cert is generated and needs to be added to the verification list manually.


Haier Pearl airco not working anymore

Airco was always working with the hacs integration but sinds a couple of updates ago it stopped working

this integration can also be added via HACS now if you prefer.
For the moment you have to add a customer repo (look at readme)
I'm closing this topic for now


[ISSUE] - DDoS by refreshing SMS code page.

Hello,
If you keep refreshing the "SMS Code" page, you keep getting new codes (at least in the simulation mode) which leads me to believe that someone can use this to keep refreshing the page and overload the SMS server with requests.

Look at the timestamps

Partial duplicate of #157


Unhandled excpetions within CASCache on grpc errors

See original issue on GitLab
In GitLab by [Gitlab user @Qinusty] on Jul 25, 2018, 11:13
Summary
There are situations where unhandled exceptions could occur from operations within cascache.py
Steps to reproduce
N/A
What is the current bug behavior?
There are a few cases within cascache.py where raise is called within except grpc.RpcError as e: meaning a grpc error could be raised and not handled elsewhere.
What is the expected correct behavior?
These errors should be raised as ArtifactError which are then caught and handled elsewhere within the system.

In GitLab by [Gitlab user @Qinusty] on Jul 25, 2018, 11:43
mentioned in commit 3bc0461a6f76deba924fc0736a96ec708d11b7e6

In GitLab by [Gitlab user @Qinusty] on Jul 25, 2018, 17:12
assigned to [Gitlab user @Qinusty]

In GitLab by [Gitlab user @Qinusty] on Jul 25, 2018, 17:13
Implemented locally, just waiting on !559 to land in master.

In GitLab by [Gitlab user @Qinusty] on Jul 26, 2018, 14:00
mentioned in commit a9a9e6e1714c2239ba6f76478ae06ab7075c7b3c

In GitLab by [Gitlab user @Qinusty] on Jul 27, 2018, 09:15
mentioned in commit 0a8d7e982609788abd843515c185fcfec94c318b

In GitLab by [Gitlab user @Qinusty] on Jul 27, 2018, 09:19
mentioned in merge request !576

In GitLab by [Gitlab user @Qinusty] on Jul 27, 2018, 09:25
mentioned in commit b60e03969984c574cae737a7214e406e50b6cf33

In GitLab by [Gitlab user @Qinusty] on Jul 27, 2018, 09:51
mentioned in commit fb222ba13fdd876f4a1506024d26d50675e49960

In GitLab by [Gitlab user @tlater] on Jul 27, 2018, 11:22
closed via merge request !576

In GitLab by [Gitlab user @tlater] on Jul 27, 2018, 11:22
mentioned in commit 48916b8a493eec873421d3b867515fb829d1faf8

In GitLab by [Gitlab user @Qinusty] on Aug 3, 2018, 16:32
mentioned in commit e06907babb3edc47f7e220a8445dbd125aa3934e


HTTP: Premature close handling doesn't cancel request timeouts and cause forked events

This issue seems to be very similar to #3546, although it can be reproduced with Gatling 3.0.0. final.
In case the system under test throws request timeouts from time to time, the simulation ends up with a negative amount of active users and never finishes. It keeps logging to stdout, but never finishes and goes over 100% progress bar.
Here is simple simulation that reproduces the issue with Gatling-3.0.0:
import io.gatling.core.scenario.Simulation
import io.gatling.core.Predef._
import io.gatling.http.Predef._

import scala.concurrent.duration._

class ReproducerSimulation extends Simulation {

  val scn = scenario("TimeoutIssueReproducer")
    .exec(
      http("dummy_req")
        .get("http://localhost:8083")
    )

  val baseProtocol = http
    .disableWarmUp
    .userAgentHeader("Gatling")
    .connectionHeader("Close")
    .acceptEncodingHeader("gzip,deflate")

  setUp(
    scn.inject(
      constantUsersPerSec(10) during (6 minutes)
    ).protocols(baseProtocol)
  )
}

Steps to reproduce:

Start the simlation and let it run for some time.
Kill the service under test and start netcat that listens to the same port in order to simulate server-side timeouts.
Kill netcat and restart the service under test.

Attached is the simulation run log.

Gatling_Log.txt

@vas78 Thanks, the logs helped a lot!
The root problem was how we handled retry on premature close. We weren't cancelling the request timeout, which caused an avalanche of fork events.

@slandelle gatling3.1.2 still have the question.
consoleText.txt

@thinkerou It looks to me that your problem is completely unrelated. Your server crashed and/or is saturated.

@thinkerou It looks to me that your problem is completely unrelated. Your server crashed and/or is saturated. Basically, it can't handle the load you're throwing at it.

@slandelle thanks your reply, I will test it!

@slandelle is it possible this is still happening in gatling3.2.1
We are seeing negative active users after a certain point of hitting premature close + 500 + timeout errors.
here is a sample right before it starts tripping over..
`================================================================================
2019-10-17 04:46:23                                         540s elapsed
---- Requests ------------------------------------------------------------------

Global                                                   (OK=534    KO=1517  )
get sherlock node URL                                    (OK=1      KO=0     )
get authentication token                                 (OK=1      KO=0     )
POST request /v2/execengine/isworkable                   (OK=532    KO=1517  )
---- Errors --------------------------------------------------------------------
i.g.h.c.i.RequestTimeoutException: Request timeout to ip-172-3   1163 (76.66%)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX afte...
status.find.in(200,400), but actually found 500                   221 (14.57%)
j.i.IOException: Premature close                                  133 ( 8.77%)

---- MainTest ------------------------------------------------------------------
[########################################################-----             ] 75%
waiting: 505    / active: 146    / done: 2049
---- RecordedSimulationSetup ---------------------------------------------------
[##########################################################################]100%
waiting: 0      / active: 0      / done: 1
================================================================================`
`================================================================================
2019-10-17 04:46:28                                         545s elapsed
---- Requests ------------------------------------------------------------------

Global                                                   (OK=534    KO=1738  )
get sherlock node URL                                    (OK=1      KO=0     )
get authentication token                                 (OK=1      KO=0     )
POST request /v2/execengine/isworkable                   (OK=532    KO=1738  )
---- Errors --------------------------------------------------------------------
i.g.h.c.i.RequestTimeoutException: Request timeout to ip-172-3   1288 (74.11%)
1-170-206.us-west-2.compute.internal/<IP_ADDRESS>:24136 afte...
j.i.IOException: Premature close                                  227 (13.06%)
status.find.in(200,400), but actually found 500                   223 (12.83%)

---- MainTest ------------------------------------------------------------------
[##############################################################             ] 84%
waiting: 469    / active: -39    / done: 2270
---- RecordedSimulationSetup ---------------------------------------------------
[##########################################################################]100%
waiting: 0      / active: 0      / done: 1
================================================================================`

The best solution would be to provide us with a means to reproduce on our side.

Hi , in my case it was Nginx configuration, worker limit was 2048.
`2019-11-21 12:39:11                                          15s elapsed
---- Requests ------------------------------------------------------------------

Global                                                   (OK=4368   KO=0     )
getNewsList                                              (OK=2975   KO=0     )
getNewsList Redirect 1                                   (OK=1393   KO=0     )

---- GetTournament -------------------------------------------------------------
[#################--------------------                                     ] 23%
waiting: 3007   / active: 1600   / done: 1393
================================================================================
2019-11-21 12:39:16                                          20s elapsed
---- Requests ------------------------------------------------------------------

Global                                                   (OK=5892   KO=44    )
getNewsList                                              (OK=3982   KO=0     )
getNewsList Redirect 1                                   (OK=1910   KO=44    )
---- Errors --------------------------------------------------------------------
j.i.IOException: Premature close                                   25 (56.82%)
status.find.is(200), but actually found 502                        19 (43.18%)

---- GetTournament -------------------------------------------------------------
[########################--------------------------                        ] 32%
waiting: 2003   / active: 2043   / done: 1954
`
As you see , when i reached over 2000 active connections 'Premature close' issue starts to appear.

"Premature close" is completely expected with a non graceful server. The only issue is the "negative active users" problem like @adityakap reported above. Do you experience it too?

Nope, never saw 'negative active users'

@oleksiipetr thanks for your feedback

my form data param string size > 12K, it will reproduce.
I use 4K string to test, it's OK.

I'm going to freeze this ticket so people stop highjacking it with unrelated problems.
If someone still really suffers from duplicated virtual users and ends with a negative number of remaining users after upgrading a modern Gatling version (at least 3.3.1), please open a new issue and provide a way for us to reproduce your problem.
If someone experiences "Premature close" errors, it's more likely the behavior of your server that closes the connection abruptly (poor connection handling, request body that exceeds a limit).


Dynamic enforcement improvements (4.0)

These changes implement a series of improvements to the dynamic-enforcement runtime.
Fixes rdar://32127228

@gparker42 Please review for Swift 4.0.

@swift-ci Please test.

@swift-ci Please test.

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - e3b7440f8f233791145491a55247c4a5b4277450
Test requested by - @rjmccall

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - e3b7440f8f233791145491a55247c4a5b4277450
Test requested by - @rjmccall

@atrick You might also be able to review this.


Fix pagination

Moving the grouping into an SQL query and pushing the pagination down

This is also affecting the linkables endpoint - although that does not pass in the page or per_page params, it is still being limited to 50 items only. That endpoint always needs to return all items.

@danielroseman, sure, will sort that out. :+1:

@danielroseman the linkables endpoint is now no longer limited.


[Feature] Allow end users to pass their own LLM API key and LLM model params

Is this your first time submitting a feature request?

[X] I have searched the existing issues, and I could not find an existing issue for this feature
[ ] I am requesting a straightforward extension of existing functionality

Describe the feature
We currently designed canopy-server and the LLM class under the assumption that a developers would build a Chatbot service with Canopy which offers a single bot service. Under that assumption - all the LLM calls are done by a single pre-configured API key, using pre-configured model params (such as model_name, max_generated_tokens).
However, some developers might want to offer a multi-tenant bot service over the same knowledge base. In that case, the server would need to take the API key and the model params from each individual /chat.completion call, and the LLM should allow passing these per call.
Describe alternatives you've considered
We should probably add a bool in the LLM's config which determines whether or not to allow to pass model params per call.
We can maybe add a separate config flag specifying whether or not to allow users to pass their own personal LLM API keys.
Theoretically, we can even do a more detailed allow_override bool per each model param - but that's probably an overkill.
Who will this benefit?
Developers who want to use Canopy to offer multi-tenant chatbot service.
Are you interested in contributing this feature?
No response
Anything else?
No response

👋 Hi @igiloh-pinecone,
I though I'd take a look at implementing this. Do you have a vision for what this set of changes looks like?
For the most part passing model parameters through looks fairly straightforward to me. Two pain points I see are around handling API keys, or passing model parameters in a world where Canopy supports additional LLMs besides OpenAI. Using the Cohere LLM as an example, their equivalent of /chat/completions is just /generate. Is the plan for Canopy to expose additional routes in the server that align with the APIs of the other LLMs, or will canopy offer a single combined API route that handles requests that eventually make their way to the appropriate ChatEngine?
I notice that both the OpenAI and Cohere python libraries want an API key provided when the client is instantiated. Do you want to go down the path of instantiating appropriate LLMs and ChatEngines per-request? Maybe for v1 of these changes it would make sense to continue to use an API key provided by the config.yaml or an env var, and just pass the model params?

Hi @malexw , thank you for your contribution!!!
The general guidelines we've envisioned so far are:

Canopy's external API should be OpenAI-like, regardless of the backend LLM class configured (like CohereLLM).
Only one LLM class should be configured at any given time

Essentially, end users interacting with the canopy Server will always use the /chat/completion API, while the developer configuring the server can switch the backend LLM seamlessly. However, we currently do not plan to allow end users to select a backend LLM per request.
The idea in this issue is allowing end users to send parameters like max_tokens and temperature per request, then the relevant LLM class would convert these to appropriate arguments of the chosen LLM provider.
The authentication process is less straightforward. For example, the end user would need set his Cohere key inside the API_key header of the /chat/completion call, which then get passed to CohereLLM that will send it in the relevant Cohere headers. We are definitely open for alternative designs for this aspect.
Having said that, we believe most Canopy users will prefer using a single, pre-configured API key (and associated billing account). Therefore, our goal is to keep this use case as simple and intuitive as possible, with advanced features being optional and disabled by default.

Canopy's external API should be OpenAI-like, regardless of the backend LLM class configured (like CohereLLM)

Hi @igiloh-pinecone @malexw I'm the maintainer of LiteLLM, we provider an open source proxy to call 100+ LLMs in the OpenAI format
Docs here: https://docs.litellm.ai/docs/simple_proxy
Hope this is helpful, if not I'd love your feedback on what's missing

Done in #191 (disabled by default)


[feat] Create <rh-skeleton-loader> element

We should consider having a skeleton loader component.

I question the relevance of this component with :not(:defined) styles


add ptscotch variant

ptscotch has a different package name (ptscotch). It could alternately be signaled via a feature on the scotch package, or an additional feedstock, though they are extremely similar.

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Looks good to me! Are you OK with adding you as a recipe-maintainer?

@basnijholt sure!


Fix CSI init race condition

Introduce a patch to kubernetes to handle a CSI initialization race condition. Read more on the issue at https://github.com/k3s-io/k3s/issues/287

Lgtm. I can test this one.


Simply "metadata" ?

Would the name of this repo be better simply as the shorter "metadata" instead of "software-metadata"?
@jayjaybillings  -- Thoughts?

I could see changing the name in case the schema is extended later. I included the "Software" class in case we or someone else wanted to extend the schema to include data sets, etc. sometime later but still wanted to differentiate between types of resources within the system (rdfs:Resource is the super class of dctype:Software, so any other "resource" type class could be added to the schema later--ditto for agents and concepts).

I figured we would change it later if we needed it, but for now I thought it better to make it clear what kind of metadata we were really looking at.

I agree. (Jay and I'd talked yesterday about it). Thanks for the insight!


ARM Support (Nintendo Switch, Android, etc)

I believe the switch uses an ARM processor, not x86, so any support will come after x86 support is to a decent state.

What about Android architectures? armeabi-v7a, arm64-v8a, etc.
Also, maybe you can incorporate Il2CppDumper into Cpp2IL to add support for Android and Switch games?
https://github.com/Perfare/Il2CppDumper

Cpp2IL is actually based on Il2CppDumper, but I made the decision early on to strip out all the other architectures for simplicity and add them back once finished.
Even if I hadn't, this wouldn't offer any advantage over Il2CppDumper right now other than speed, because the analysis is very processor-specific and I wrote all of that myself.
In terms of android - both android architectures use the same basic ARM instruction set, so once I add support for one platform, the rest should work.

In terms of supporting different architectures, wouldn't it make sense to switching over to Capstone? There are .NET bindings for it which are really nice, and it supports all major architectures (including wasm).

Yes, that would probably be good. I had looked at capstone previously and somehow missed the bindings for .NET. I only saw the legacy C# bindings, so I thought it wouldn't be viable. However - having seen that it exists, I'll check it out. It would certainly make arm support easier (though still not easy)

Yea it will always be tricky no matter what, each architecture would need it's own complex handlers. I haven't looked into it much but Ghidra's decompiler really interests me for something like this as from what I can tell it operates on Ghidra's PCode which is essentially a central "intermediate language". It's able to produce great pseudo-C output without having to do anything architecture specific. If it's able to produce such great pseudo-C I'm sure the PCode is just as good for using for this use case.
You might be able to utilize bits of Ghidra to avoid having to write complex handlers for multiple architectures. The decompiler part of Ghidra has been stripped out and used in other programs like IDA. I'm not sure if someone has done it but I imagine simply Capstone+bits of Ghidra could be a powerful combination.
https://github.com/cseagle/blc
https://github.com/radareorg/r2ghidra

what about collaborating with DevX?as i can see he made something like working IL2CPP to ARM...i think you may share some thoughts to each other...idk if he has github account or not so here is his email...
<EMAIL_ADDRESS>

what about collaborating with DevX?as i can see he made something like working IL2CPP to ARM...i think you may share some thoughts to each other...idk if he has github account or not so here is his email...
<EMAIL_ADDRESS>

Support for Dummy/Stub DLL generation is added for ARMv7 and AARCH64(ARMv8) ELF binaries, so this will work on Linux il2cpp games (in theory, I haven't been able to get my hands on one to test), and manually extracted metadata/elf binaries from APKs. Switch support needs more work - mainly because I don't have any binaries.
Analysis is still a long way off.

Support for Dummy/Stub DLL generation is added for ARMv7 and AARCH64(ARMv8) ELF binaries, so this will work on Linux il2cpp games (in theory, I haven't been able to get my hands on one to test), and manually extracted metadata/elf binaries from APKs. Switch support needs more work - mainly because I don't have any binaries.
Analysis is still a long way off.

Can you provide the correct way to use Cpp2IL with an il2cpp android app?

I made a folder with the apk contents and the tool.

I tried using the --force-metadata-path and --force-binary-path arguments to point to the libil2cpp.so and global-metadata.dat but I received an error as well.

Am I using it wrong?

Hi, you also need to provide the --force-unity-version with APK files at present.

Also, when it comes to testing binaries, I'm ok for android, it's specifically for Linux x86/x64, and Nintendo Switch games (though I have now been provided one switch game)

Hi, you also need to provide the --force-unity-version with the other two force options - those force options are the only way to run with APK files at present.
I do eventually intend for you to be able to just provide the APK path via --game-path, but that's not implemented yet

Thanks for the reply. So I used the --force-unity-version and opened the unity default resources file within il2cpp apks at /assets/bin/Data using Notepad++ I got the Unity version. I got an error anyways, did I do something wrong?

Remove the a7

Remove the a7 - just 2019.2.0

Awesome, it worked. DummyDLL files were generated and they look correct when I open them up in DnSpy. I had to run again with the --skip-analysis arg. Is the analysis feature that trys to convert and interpret the code of every function to C# to use in the dummy dlls?

That's correct, yeah.

Any Update?

Nope, and I don't expect to have one for a while - at least until x86 is in a decent state.

Actually, I do have an update.
One: As of 2021.3.7, both 32-bit and 64-bit ARM instruction sets are fully supported for loading (and therefore Dummy DLL generation) in the same way as x86.
Two: I'm going to try and do a big code cleanup in order to prepare for analysis on ARM. How much gets done, and whether this will actually show as anything from the outside, is unknown yet, but this should at least pave the way for future work on ARM support.

Progress tracked in #35

I have a few games that have both DLL and Il2Cpp version. I usually kept DLL one for analysis so i can do more fun stuff on Il2cpp
Maybe it can help you improve more with ARM support

It's ok, I have no shortage of games in ARM. As I said, work is being done, you can see my checklist in #35 - once that is done, I can start working on ARM reasonably quickly, I hope

Okay, the latest experimental/pre-release build of cpp2il now has ARM64 disassembly (most oculus quest games, a bunch of recent android ones) to a decent level. It's not yet on-par with the x86 stuff, but it supports the basics:

and supports outputting IL to the actual DLL, like x86, if you so desire (though this behavior is experimental as with x86!):

Both screenshots taken from the output of an ARM64 binary from an android game.

Amazing progress!
ARMv7 is our priority since it works on both ARMv7 and ARM64 android devices, no reason to work on ARM64 only so I will be waiting for the ARMv7 support hehe

I'm focusing on arm64 specifically because most quest games are built only for arm64, while a lot of android games are built for both.

I see, I'm kinda oldschool, and i hate ARM64 games because of its issues with modding.
I tried one of ARM64 game but i got an error
Unhandled exception. System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.ThrowHelper.ThrowNoMatchException()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 , Func`2 )
   at Cpp2IL.Program.GetRuntimeOptionsFromCommandLine(String[] commandLine)
   at Cpp2IL.Program.Main(String[] args)

This game is using Unity 2018 https://apkcombo.com/guild-of-heroes-epic-dark-fantasy-rpg-game-online/com.goplaytoday.guildofheroes/
And can you make it possible to specify APK file instead --game-path? i'm not a fan of decompiling big APK because it's too slow on my HDD

That's an error in your command line, not in the disassembly. Not sure exactly what.
Also, don't decompile the apk, just open it using 7zip or similar software and drag out the libil2cpp.so and global-metadata files.
But yes, I'll try to add support for APKs

Ok, I've just added a feature to allow you to use --game-path to specify a path to an APK (but NOT an apkm or xapk) instead of using force paths for these files. Cpp2IL will extract the binary, metadata, and use the globalgamemanagers file to get the unity version.

I forgot to force unity version. It still asked me for game path, that's why i have to decompile
 ./Cpp2IL-Win --game-path "D:\APK Easy Tool\1-Decompiled APKs\Guild of Heroes_ Epic Dark Fantasy RPG game online_1.118.3_apkcombo.com" --force-binary-path "D:\APK Easy Tool\1-Decompiled APKs\Guild of Heroes_ Epic Dark Fantasy RPG game online_1.118.3_apkcombo.com\lib\armeabi-v7a\libil2cpp.so" --force-metadata-path "D:\APK Easy Tool\1-Decompiled APKs\Guild of Heroes_ Epic Dark Fantasy RPG game online_1.118.3_apkcombo.com\assets\bin\Data\Managed\Metadata\global-metadata.dat" --force-unity-version 2018.4.30f1
===Cpp2IL by Samboy063===
A Tool to Reverse Unity's "il2cpp" Build Process.

[Info] [Program] Running on Win32NT
[Warn] [Program] Using force options, I sure hope you know what you're doing!
Unhandled exception. System.FormatException: Input string was not in a correct format.
   at System.Number.ThrowOverflowOrFormatException(ParsingStatus , TypeCode )
   at System.Number.ParseInt32(ReadOnlySpan`1 , NumberStyles , NumberFormatInfo )
   at System.Int32.Parse(String )
   at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 )
   at Cpp2IL.Program.GetRuntimeOptionsFromCommandLine(String[] commandLine)
   at Cpp2IL.Program.Main(String[] args)

But nvm, specifing an APK works fine and the process has completed but i'm not seeing any source inside DLLs. Maybe i should wait more till it's more implemented

Unity version shouldn't have the f1 part, but as I said, it should work without the force options as of the latest version. Also if providing force options, yes, I game path is marked as a required option, so you can just provide it as --game-path ignored.
At the end of the day, the force options are there for development purposes - that's why they're not listed in the readme.
Also, if you want source inside the dlls, read the readme, it tells you how to enable that.

I tried, i got a few IL codes. Most of them are broken since it's still in experiment i know
And also most of methods are extern even they aren't

The extern thing is a bug I haven't yet been able to fix. Removing the method body as part of cleaning up failed IL generation results in the method being marked as extern.

Extern bug has been fixed and Nintendo Switch binary suport is implemented (albeit requiring the force options for now).
Closing this issue as the support of Arm64 and Armv7 is now tracked in the README and everything else mentioned here is complete.


Is it permissible to capture data?

Under the law, is it legal to capture data from the application? Can a political party receive that AB application and use that knowledge (e.g., to nag them to complete their ballot when they get it)? If so, is that something we do in the client, or in the server?
I'm thinking that it belongs in the server—hence opening the issue here—because I'd like the client to be able to stay very simple. Of course, if the SBE were to adopt the server, then things get more complicated (you'd need a party server to pass requests along to the SBE's server), but that's premature optimization.

It turns out, yes, it is.


Replace binary download with optional platform specific packages

Replacing the postinstall script of this package with platform specific optional dependencies will alleviate most of the issues around the binary dependency.
An example can be seen here:
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel-win32_x64
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel-linux_x64
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel-darwin_x64
The parent package has an optional dependency on all 3 of the platform specific packages, but then only one of them will be downloaded by npm.
This allows for better caching and easier mirroring.
We internally had an issue where 5 in 20 downloads of the binary would randomly be very slow to download. If this module handled it's platform binaries in this way then this could have been very easily avoided.

We require over 50 binaries. This is not sustainable.
On Sat., 9 Mar. 2019, 12:22 pm Fabian Wiles<EMAIL_ADDRESS>wrote:

Replacing the postinstall script of this package with platform specific
optional dependencies will alleviate most of the issues around the binary
dependency.
An example can be seen here:
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel-win32_x64
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel-linux_x64
https://github.com/bazelbuild/rules_nodejs/tree/master/packages/bazel-darwin_x64
The parent package has an optional dependency on all 3 of the platform
specific packages, but then only one of them will be downloaded by npm.
This allows for better caching and easier mirroring.
We internally had an issue where 5 in 20 downloads of the binary would
randomly be very slow to download. If this module handled it's platform
binaries in this way then this could have been very easily avoided.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sass/node-sass/issues/2611, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjZWDtIMEpxh_xF7y2dqznE9HP6AfHSks5vUwy6gaJpZM4bmZV0
.


How to keep header fixed when scrolling down

wanted to keep the header fixed as you scoll down. Can u pls help?

I guess the easiest way to do it is by injecting these styles to the Site Header Code injection section of your Ghost instance:
<style>
.m-header {
  position: fixed !important;
  transform: none !important;
}
</style>

I will close this for now, please feel free to reopen it if needed.


Common test fixtures added.

Added py.test fixtures.

Added connection and session test fixtures.
Removed pip deprecated dependency_links from setup.py
Not sure if usage of NotImplementedError here is kosher.

it appears this repo doesn't have a changelog. probably worth starting one (don't worry about history, but at least add a note about this patch)

Change log added.

I think all of the comments are addressed for this PR. Please let me know if we can merge.

👍


Improve CreateDenominated and MakeCollateralAmounts

Some users might manage their receiving addresses carefully trying to avoid any links. The best way to do this is to use different wallets otherwise user might accidentally link them together when he sends funds without using CoinControl. Moreover currently it's not secure (privacy wise) to have all funds in one wallet and mix them because it's basically the same as sending without CoinControl. This PR should solve the problem by allowing wallet to create denoms and mixing collaterals only from funds within the same receiving address. This imo also eliminates the need to split creation of denoms in time so we can create all of them ahead of time now (step by step though). As for common users who don't care that much of linking previous unmixed funds - they will get privacy improvement "for free" imo, creating denoms this way should not negatively affect mixing time on average.
Changes:

should use funds only from the same receiving address
should denominate while has funds but has not enough denoms
slightly refactored to make code a bit more readable

Very nice, utACK

Added few more improvements:

return change to the origin address to use it in future splits (should be less small denoms bloat)
fix a bug with incorrect overshoot
more debug (optional/errors only) and fixed var names

Needs a rebase :)

rebased :)


Default Basemap is not default upon open & multi-tileset basemaps show up twice

Issue with the GPV 5.1 beta:
Basemaps aren’t performing as expected; basemaps that are composed of more than one tileset are showing multiple radio buttons. Also, our Imagery basemap is turned on upon open, even though our basemap (listed at the top) is set as the default basemap. Here’s a screenshot:

Fixed.


Added wrapper option

Needed option in #26
Example of use:
var rellax = new Rellax('.rellax', {
    wrapper: document.querySelector('.wrapper') // DOMElement
});

or
var rellax = new Rellax('.rellax', {
    wrapper: '.wrapper' // selector
});

I added also refresh method to handle by own window resize or reload elements

:+1: :+1: :+1:

not necessary with center: true option.
https://github.com/dixonandmoe/rellax/issues/36

@redpik without that scroll event is not handled. In my example you scroll wrapper, not document (document is with overflow hidden).

:+1: for refresh function !
When will it be published ?

@routegroup , i am sorry. i want to know if using this wrapper option, it detect the wrapper offsetX and offsetY rather than window offset? if the answer yes, from my understanding it is possible to use it with custom scrollbar #65

Hey guys, thanks for continuing to update. @tonyyb @nizulzaim
Happy to help get this merge ready, but because our team is so stacked with work we need others to help out also.
I'd start by creating a clean branch and also creating a Pull Request that we can all work on as a group!

Need it too. Any plans to merge it?

This will be awesome to use, need it too.

I merge master to this PR. If you need any changes about this PR please tell me.


fix(repo): set noUncheckedIndexAccess to true

:pencil: Description

:link: Related Issues

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


Cannot use the new Personal token now

Refined GitHub cannot support the new github token formats ?

I clicked on it to update and generate a new Token, and then pasted it into Refined GitHub, prompting an error format.

https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/

https://github.com/settings/tokens

What should I do to fill in the new format Token?

Are you using the latest version of Refined GitHub? this was fixed months ago

Are you using the latest version of Refined GitHub? this was fixed months ago

V21.3.1  OK, ThankYouVeryMuch! I see, I will be able to use it after I upgrade the version.


Remove namespace creation

With https://github.com/stolostron/governance-policy-addon-controller/pull/24, this controller no longer needs to create the namespace. See also https://github.com/stolostron/backlog/issues/20826
(Note, this PR originally had Makefile changes to prepare for Go 1.18, but those were backed out, to be handled separately).

/hold
When rebasing, I lost one small piece I wanted (updating the go.mod)

/unhold


Pixels are not displayed as square

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

Expected Behaviour

Pixels should be square (same width and height).
Current Behaviour

The video I'm annotating is stretchered horizontally (see image). Both ellipses are perfect circles but they don't look like they are. The annotated objects are pupils and irises and they are close to perfect circles (the pupil is not so clear in the image).

Context

I'm trying to annotate ellipses that in most cases (not all) are perfect circles.
However even thought the box surrounding the ellipse has the same height as width it does not appear like that.
And I can see that the pixels are rectangles, not squares.
NOTE: VLC plays the video in correct aspect ratio
Your Environment

Git hash commit (git log -1): 71dfd51be187ff23e66c716c439a86d2a3c1394e (Added missed migration, fixed couple of minor issues with job state (#4274))
Docker version docker version (e.g. Docker 17.0.05): Docker 20.10.12, build e91ed57
Operating System and version (e.g. Linux, Windows, MacOS): Ubuntu 20.04

Next steps
You may join our Gitter channel for community support.

Hi, I see square pixels in the image, am I missing something?
Could you share any media data to help us reproduce the issue?

Hi @azhavoro it is a lite hard to see but if you look closely on a single pixel in the screenshot you can see that it is actually not square, it is wider than it is high. To make it clearer I add another screenshot here where you can see the dimensions of the ellipse (which should appear as a perfect circle). In the original movie this ellipse is 62 pixels wide and 62 pixels high, i.e. a circle. CVAT correctly says this too while drawing but it does not display it like that (from a quick look it is obvious that it is wider than high)

Could you draw a perfect circle with non-black color in any image editor on your screenshot to see difference?

 There is nothing wrong with CVAT, I have two monitors and one had incorrect settings which caused the stretched image. Thank you for your help


Duplicated observations in net to gross ratios

There are multiple entrires for each combination of orispl.code, cems.unit.id, and Month in the net to gross ratios file.

Two underlying issued caused the problem: There was a change in the behvior of nesting() with complete(). I've switched to using group_by(). Second the ratios were joined with a crosswalk back to CEMS unit IDs. The crosswalk is annual, but year was not included as a relationship variable. Both have been fixed and the net-to-gross mapping is now unique on ORIS, Unit ID, and Month.


ViewBackward not had atrribute 'old_size'

when net output is a list , list can not support out.grad_fn when run FindMultiTops(out.grad_fn),
so I try loop this list like this for making grad_fn working:
for out in outputs:
#outputs is my net output, it is a mutiple-list
for o in out:
FindMultiTops(o.grad_fn)
and then, I got this error at follow function:
def flatten(pytorch_layer):
""" Only support flatten view """
total = 1
for dim in pytorch_layer.old_size: # error is here: no attribute 'olde_size'
total *= dim
and I run pytorch 0.4.0, so can i make sure it is caused by pytorch version ?

Yes, the errors of attribute not found seemingly are almost caused by higher version. Please make sure you are converting your model on pytorch 0.2.0 (While you can train your model on 0.4.0)


feat: add rui314/mold

rui314/mold: Mold: A Modern Linker
$ aqua g -i rui314/mold

Check List

[x] Read CONTRIBUTING.md

[x] Read OSS Contribution Guide

[x] All commits are signed

This repository enables Require signed commits, so all commits must be signed

[x] Avoid force push
[x] Do only one thing in one Pull Request
[x] Execute cmdx s to scaffold code
[x] Install and execute the package and confirm if the package works well

How to confirm if this package works well
Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well.
Please confirm if this package works well yourself as much as possible.
Command and output
$ cmdx t rui314/mold
$ cmdx con linux amd64
# cargo init
# mold -run cargo build
# readelf -p .comment target/debug/workspace
String dump of section '.comment':
  [     0]  GCC: (Debian 12.2.0-14) 12.2.0
  [    20]  mold 2.34.1 (de65f6bd75b93eeb9f3775fc136ee79683ff35f1; compatible with GNU ld)
  [    6f]  rustc version 1.82.0 (f6e511eec 2024-10-15)

If files such as configuration file are needed, please share them.
Reference

https://github.com/rui314/mold?tab=readme-ov-file#how-to-use

Thank you!

🎉 https://github.com/aquaproj/aqua-registry/releases/tag/v4.251.0


Realign Distributions

This PR does two main things:

Migrations to dojo/grunt-dojo2 for all the tasks to make it easier to maintain and update our build process.
Migrates to typings/typings for all of the typing information.

Because of some challenges around shimming the ES6 functionality in the typings, this package will build an ESM version automatically and doing a grunt dist_esm will throw some duplicate type errors.

Why comment out the old Gruntfile contents?

Why comment out the old Gruntfile contents?

Forgot to remove them... I did it as a safety measure to make sure if there were any customisations I could quickly extract them.


Error when using with keys: :atoms! and the atom hasn't yet existed

With Poison master and release 1.3.1, this happens:
iex(3)> Poison.decode ~s({"what": "where"}), keys: :atoms!
** (ArgumentError) argument error
    :erlang.binary_to_existing_atom("what", :utf8)
    lib/poison/parser.ex:97: Poison.Parser.object_name/2
    lib/poison/parser.ex:82: Poison.Parser.object_pairs/3
    lib/poison/parser.ex:36: Poison.Parser.parse/2
    lib/poison.ex:69: Poison.decode/2
iex(3)> :what
:what
iex(4)> Poison.decode ~s({"what": "where"}), keys: :atoms!
{:ok, %{what: "where"}}

I'm using Elixir 1.0.2 and Erlang/OTP 17.

I've just browsed through the source code. It turns out that I should use :atoms instead of :atoms!. Should this be noted in README file, it'd be very helpful to avoid early confusion.

@cmpitg It is very dangerous to use :atoms:, so please decode your keys into strings unless you absolutely know what you're doing.

I would only ever use :atoms during testing or when consuming my own endpoint, and even then I'd be wary. See also: Erlang atom exhaustion.

@devinus Thanks for the heads-up. I forgot about the exhaustion thing. My case was a bit different as the map I wanted to output has a fixed set of keys. Perhaps a better design would be a struct and the as: option. Anyway, what do you think about having a small note on :atoms vs. :atoms! and Erlang atom allocation in README?

@cmpitg Create a PR and I will accept.


Could helm use different namespace to store configmaps with different project ?

Is your feature request related to a problem? Please describe.
We are running a large cluster with rancher, which has over 700 apps and hold 10 latest version for each app, totally over 7000 configmaps. We found that rancher ui load slower and slower with app number keeps growing. And we can find that it may cost much time for rancher to load data from configmaps. Our apps are in over 30 different namespaces and projects.
Describe the solution you'd like
is there any solution for ui load time tuning? may be we could set helm to store versioning configmaps using different namespace for different projects ?
Describe alternatives you've considered
placeholder
Additional context
placeholder

activate