Colocate Component Javascript and Styles

Move component scss and related scss variables into component directories
Create component directories for passthrough components
Delete outdated edx/ and example-theme theme directories
Remove the pre-compiled paragon-edx.css published output. It was using the old theme and is unused throughout edx.

This is a technically breaking change because paragon-edx.css has been removed. I intend to release this as a breaking change, but functionally I believe there's nothing for consumers of Paragon to do to upgrade. A gut check on that would be appreciated.
Detail from the ADR in this PR:

Context
It is difficult for contributing developers new to Paragon to understand where new SCSS should be added or modified. The majority of Paragon styles sit inside the scss directory. Most component related scss is in this directory mixed with common variables or styles.
There is an extensions directory and overrides directory in scss/core for extensions or overrides to Bootstrap SCSS used in Paragon. It's difficult to distinguish between what style changes in Paragon are extensions to Bootstrap or simply overrides. Often this is determined by how the Bootstrap styles are implemeneted and whether they are extensible.
Decision
We will colocate component-related SCSS and javascript in src/{componentName} directories. SCSS variables related to a component will be moved into the component directory in a distinct file _variables.scss. An example directory for Button:
src/Button/_variables.scss
src/Button/Button.scss
src/Button/index.jsx
src/Button/Button.test.jsx

The root src/index.scss will be responsible for including these SCSS files. And Button.scss in the example above would be responsible for including Button/_variables.scss
Consequences
This will involve moving component styles from the scss directory into the src directory. Moving forward all component-related styles will in component directories.
Colocating SCSS and Javascript will bring us closer to more modularized component code that is more discoverable and easier to reason. This decision will simplify our future adoption of CSS-in-JS or CSS Modules + CSS Variables – a decision to be made in the coming months.
References

https://kentcdodds.com/blog/colocation

Coverage remained the same at 87.223% when pulling b21da3ae89ddbdef3a67bef722b7c80d99f9466e on abutterworth/colocation into 03daf192568d37a29b6b955158971438f002c95d on master.

Coverage remained the same at 87.223% when pulling b21da3ae89ddbdef3a67bef722b7c80d99f9466e on abutterworth/colocation into 03daf192568d37a29b6b955158971438f002c95d on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix etherscan-verify error

When having ETHERSCAN_API_KEY in environment and verifying on Polygon
uses ETHERSCAN_API_KEY instead of  Polygon config ("polygon.verify.etherscan.apiKey")
then verification fails with bad API_KEY
just change the order of lines 817 and 818
(maybe even push to line 819 ?)

Thanks for the PR
Environment variable should have precedence over configuration
What scenario is it that you specify ETHERSCAN_API_KEY env variable but pick a network whose api key need to be different ?

Need to deploy and verify to multiple networks: so having ETHERSCAN_API_KEY and ETHERSCAN_API_KEY_POLYGON (plus others) defined at the same time, then use these ENV variables to populate verify/etherscan/apiKey configs

Environment variable should have precedence over configuration

Ok, ETHERSCAN_API_KEY should have precedence while you are on mainnet (or other network using the same apiKey than mainnet), but should not have precedence on other network (Polygon , Avax, ...) where it will fails for sure
So, with this assumption: moving to line 818 should be ok, to 819 should not
Anyway, there is another way to bypass this problem: I will just use ETHERSCAN_API_KEY_ETHEREUM instead of ETHERSCAN_API_KEY

Just my 2 gwei, but it seems wrong to have environment variables called ETHERSCAN_API_KEY_POLYGON, or similar, because etherscan only exists for Ethereum networks.  There is nothing called "etherscan" for Polygon, only polygonscan.  So I suggest making the code check for POLYGONSCAN_API_KEY instead.
A similar point holds for all other mentions of etherscan in the code and interface.


Make zeroing memory optional

Turns now that the other memory bugs are fixed that this doesn't seemed to be needed. In case I am wrong, I made a config to re-enable it. That way if an end user hits memory corruption, they can just turn on the flag.

Nice, this will be good to have. 👍


added argument in pdf_converter for line paragraphs

Hey @andrelmfarias, please let me know of the corrections needed.
Thanks

Hi @SuyashSrivastavaDel ,
I am taking a look at this right now. I am talking to my colleague who implemented the pdf_converter, I don't understand why he didn't add to the list the paragraphs with less than 200 characters.

@SuyashSrivastavaDel ,
Thanks for this PR!
I made some comments on it.
As a rule of thumb, I advise to always try to simplify the code and/or include comments when it's too complicated. Also, modularizing your code by avoiding repeated computations can be very useful to clean it and have a proper implementation.

Hey @andrelmfarias , thanks for the review. I'll keep in mind the advice you gave me. Since, I am still learning, sometimes you might have to bear with the messy codes and provide your reviews on it, which in-turn help me a lot.
I will get back to you on the changes you requested.
Thanks again for the time and patience.  :)

@SuyashSrivastavaDel
Thanks for your work on explaining the code. I understand it much better now!
I made some minor comments. Once you implement them I think it will be ok to merge!

Thanks for all this @SuyashSrivastavaDel !
Merging and closing now

Hey @andrelmfarias ! The pleasure is all mine.


Segmentation fault (core dumped)

Throws an Segmentation fault (core dumped) error when processing an empty file.

I received this error from creating an infinite loop of includes
I included a patterns listings scss file
within I accidently included patterns.scss instead of anotherfile.scss

This is a different issue. Please create a simple GitHub repo that shows this issue. Create a new node-sass issue with a link to that repo so we can this locally and debug.


WIP: route group events

Creating this PR early on so you can correct my mistakes, as I'm a rookie in express/TS.

I tested it with success on my side, but it would be great if someone else test it. Seeing how many silly mistakes I'm making today it would be wise.

Thew little things to change but otherwise I tested it and it works fine !


Model does not contain a head with name xxx, but I really don't want a head

Environment info

adapter-transformers version:3.0.1
Platform:Ubuntu 18.04
Python version:3.8.10
PyTorch version (GPU?):GPU

Details
I want the stacked adapter output hidden states and use them as encoder memory and output to decoder. How can I do this?
error always raise: Model does not contain a head with name xxxx
self.encoder = AutoAdapterModel.from_pretrained(model_name_or_path)
lang_adapter_config = AdapterConfig.load("pfeiffer", non_linearity="relu", reduction_factor=2)
lang_adapter_name = self.encoder.load_adapter(adapter_name_or_path, config=lang_adapter_config)
task_adapter_config = AdapterConfig.load("pfeiffer", non_linearity="relu", reduction_factor=2)
self.encoder.add_adapter("dg_task_adapter", config=task_adapter_config)
self.encoder.active_adapters = composition.Stack(lang_adapter_name, "dg_task_adapter")

Hey @ZeguanXiao, thanks for bringing this up. This is indeed an issue of our implementation, the model should not attempt to activate a prediction head if none is added. Should be resolved by #377.


Rewrites OCST-1.1.1 as a feature file

The feature file begins with comments containing metadata about the threat (it's just YAML). The change also includes:

An update to the threat file tester which now parses the YAML out of the feature files
A new script that just dumps the yaml from a feature file.
A new location for the threat and control stories for AWS EC2

Doing a sneaky self-merge to keep things going.


Creating the body of the page

[x] Install bootstrap dependence
[x] Create a navbar
[ ] Fix a bug where I can't href to a different page
[ ] Choose a theme for the webpage
[ ] Create a icon

To fix the bug where I couldn't refer to a page I had to

import Link from "next/link";
then change  to  using the common href="/example"


[GH-1003] Update Readme 'What are notifications?' section screenshot

Summary
This PR updates the screenshot in the  'What are notifications?' section which shows the recent location of the Jira actions at the Message actions button.
Ticket Link
Fixes https://github.com/mattermost/mattermost-plugin-jira/issues/1003

Hello @chriswachira,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e1430fa) 33.32% compared to head (25479a3) 33.29%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1005      +/-   ##
==========================================
- Coverage   33.32%   33.29%   -0.03%
==========================================
  Files          53       53
  Lines        7944     7944
==========================================
- Hits         2647     2645       -2
- Misses       5070     5072       +2
  Partials      227      227

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

@cwarnermm Thank you for your approval. Is it possible to retry the failed job from your end?

@mickmister - Are you open to helping address the failing checks on this PR?

@toninis Any ideas on if something may have changed about how plugin-ci sets up its linting or something similar? There are a lot of (seemingly incorrect) linting errors that have come up recently in all the plugin repos
https://github.com/mattermost/mattermost-plugin-jira/actions/runs/7214030852/job/19655859450?pr=1005
golangci-lint run ./...
Error: build/deploy/main.go:116:8: undefined: archiver (typecheck)
	err = archiver.Unarchive(bundlePath, targetPath)
	      ^
Error: server/webhook_jira.go:18:15: undefined: jira (typecheck)
	Issue        jira.Issue   `json:"issue,omitempty"`
	             ^
Error: server/webhook_jira.go:19:15: undefined: jira (typecheck)
	User         jira.User    `json:"user,omitempty"`
	             ^
Error: server/webhook_jira.go:20:15: undefined: jira (typecheck)
	Comment      jira.Comment `json:"comment,omitempty"`
	             ^
Error: server/client_cloud.go:[63](https://github.com/mattermost/mattermost-plugin-jira/actions/runs/7214030852/job/19655859450?pr=1005#step:4:65):27: connection.AccountID undefined (type *Connection has no field or method AccountID) (typecheck)
		"accountId": connection.AccountID,

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

Any updates on the CI issue?

/update-branch

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

@mickmister @cwarnermm Hello to you all!
I believe this PR is complete and can be merged. Kindly review.

Hi @chriswachira, I see this blank image in the "rich diff" view of the PR. Do you know why this may be the case? @cwarnermm Do you have any thoughts on this?


feat: rebuild theme-default

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
681

Relevant Lines:
1238

💛  - Coveralls

@Mister-Hope @meteorlxy
The new default theme is ready !
However, there seems to be a problem with the e2e tests; during the document build phase, it got stuck, and I couldn't find the source of the issue. Please help investigate and resolve it.

@pengzhanbo  Can you send a pr about onContentUpdate to the core repo?

@pengzhanbo Can you send a pr about onContentUpdate to the core repo?

Done. https://github.com/vuepress/core/pull/1620


Updated README.md to describe the repo

Add top navigation bar, portfolio page header and gallery page.

Took action on the above comments, to upload images and use javascript defer.
Added additional content to portfolio
Portfolio deployed to http://lyeo-sps-summer20.appspot.com/


Feat: Improve Dark Mode Consistency and Fix Typos

Issues to Address:

Dark Mode Consistency:

Ensure that if the home page is in dark mode, the classes page and all other pages should also be in dark mode for a consistent user experience.

Typographical Errors:

Correct the spelling like in the hero section spelling of "benefits".

Dark Mode Readability:

Improve the readability of testimonials in dark mode, as the current color scheme makes the text difficult to read.

Navigation Issue:

Fix the issue where clicking on the logo redirects to "/&". It should navigate to the home page or a specified valid route.

I can contribute to the issue with a clean and efficient code. Kindly accept my issue under GSSOC'24.

All are fixed up though now


UT2003 map fixes

Switched Unreal Tournament 2004 to Unreal Tournament 2003 in many maps made before 2004-03-16 (the release date of UT2004, source). The maps picked up, however, were those whose release date predates the release date of UT2003 (October 1, 2002, source)
Fixed release dates based on Readme and file info
Fixed some descriptions.

I have not been overly keen on breaking things into a UT2003 section since generally everything should be compatible with UT2004, and UT2004 was itself kind of intended to wipe out the missteps taken by UT2003.
However it seems appropriate for historical accuracy, and potentially people wanting to specifically play UT2003 that we do split things.
As something of a compromise for myself, I've updated the listing implementation so for the UT2004 section, it will incorporate UT2003 content - however UT2003 content is still able to be listed under its own section.
As a result, we can go wild moving things into the UT2003 section.
I will also try to bulk move things based on release dates as you suggest, however I don't have access to my usual tooling at the moment so that may only happen next month.
:rocket:

Excellent!


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/46297

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/57839

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/59854

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/82550

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83421

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/102100


Dump only specific files

Either by exact name: processID -filter bla.dll
or (if possible) by wildcard like: processID -filter *.dll
This avoids copying a lot of unnecessary files which then is also a lot faster.

Sounds like a good idea. Though at the moment there isn't a command-line-only way to run the dumper.
Passing in a regex expression to test the file paths against, and having the default be .+, sounds like a great addition though.

There is now a command-line-only way to run UWPInjector since this issue has been created and this might be much more possible now.
The design would be -f or -filter to pass a regex expression over to the injected process so that it only dumps files matching the target expression.

While I understand you added a -f or -filter argument, you've provided no examples to what "regex expressions" are supposed to be.
I've tried in every single way possible and UWP Dumper still dumps whatever it likes. I am trying to dump "Starfield.exe".
If I give it "Starfield.*exe" it dumps any file that has "Starfield" in its naming convention, disregarding the ".*exe" part completely. If I give it "exe", it dumps any file. With or without the "". So what's the proper formatting for this filtering?

Its not implemented yet. He only spoke about a possible design / solution.


Nested subquery forgets table

The code generator gives me following output:
Unknown table or view: p
ph.feature_id = p.feature_id

This is my boiled down query:
testQuery:
  SELECT
    (
      SELECT
        true
      FROM (
        SELECT
          'test' AS name
        FROM
          place_hierarchy ph
        where
          ph.feature_id = p.feature_id
      ) second_select
    ) first_select
  FROM place_name matches
  INNER JOIN place p ON p.feature_id = matches.feature_id;

I stripped everything unnecessary out of the query, it doesn't make sense anymore, but I validated that SQLite is still processing it. From what I have tested, I can almost say for sure this is caused by the nested subquery. I'm currently on up to date develop.

Very nice catch! Every time I think I have SQL's scoping rules figured out another peculiar edge case pops up :D
From a quick investigation, I think this because we hide all "outer" tables for nested subqueries appearing in a FROM clause. As sqlite3 does not support correlated queries, something like SELECT * FROM foo AS outer, (SELECT * FROM bar WHERE x = outer.y) is forbidden (as outer is not visible in the FROM clause).
However, the current logic is to just hide all outer tables for the inside of a FROM clause. It seems like we should just hide the ones from the immediately enclosing scope. As the broken reference appears via a chain from root -> subquery expression -> subquery in from, it should still be visible.

Fixed in 33c13e2422a9337d06d0435ea7d614897b822ad4.


Is it possible to use Custom HTML / SVG as edges?

I want to use this library in my React.js app and would like to render my own React components as edges.
Even custom HTML or SVG could work.
Or If it's possible to praise the coordinates of edges, I can use that to draw the graph.
Is either of this possible?

@assufsun, do you have an example of using just @msagl/core?

I wasn't able to figure it out from doc. It would be super helpful if someone can provide a working sample.

@B45i, can you describe in more details what you try to achieve? What do you mean by this: "I want to use this library in my React.js app and would like to render my own React components as edges."


How to call from Table Cell button action?

I have a UITableViewController and inside each cell is a button.
I am using an addTarget to attach a handler for the buttons, and inside the handler, I am using self.view.makeToast(), but the toast doesn't display.
I assume it is due to using self.view inside the handler.
Any ideas on how to get this to work?
Thanks!

Cell need handle action and pass to controller?


Sleep of 440min gets disrupted

Good morning,
I made the following observation, for the night time I have HA send an mqtt message to the inkplate-10 with a message action, content and a refresh of 440min. However I noticed that the inkplate only sleeps for about 10min and wakes up again.
I the device console it properly logged when I tested it the 440min as interval and also 10min is not configured anywhere (default is 20min). So I was wondering, since I am below the limit of 1 day as I looked through the code it should allow for that long period.
What am I missing?
Cheers
Tuxianer

Have you checked the serial logs when the device wakes from sleep? The boot reason should be one of the first few lines printed.

Could not check that so far (on the todo list) however the activity posted on MQTT states timer.
I did check on console when setting the sleep limit that at the end the 440min got properly printed (and thus also properly converted to minutes from the seconds I entered)

Do you have the Inkplate 10 v1 or v2? and do you have a RTC battery setup?
Sometimes, this can cause incorrect sleep times.

v2 is used here and I have an RTC battery setup. I have inserted the RTC battery (this little cell) at the back and pushed until it made a click. Is there a way to verify if it working properly or at least correctly equipped?


Secondary font created based on the same resource is not imported from Github

Added a TTF resource, created 2 fonts based on it i.e. MYFONT_30 & MYFONT_18, pushed commit to GitHub. When reimported as new project - only MYFONT_30 got created.

This is true of any import (ZIP upload included)
I just exported and imported a project (because I couldn't update image resources easily)

The beta pretty much fixed this. It is now possible to import multiple font IDs, so I'm going to close this.


Fix LoadRootBanksAsync not using inner asyncs

The LoadRootBanksAsync method isn't using LoadNodeBanksAsync internally which causes freezes when using UI frameworks.
See method

Closed by #72 and #73


Possibly add an config file for staking

It would be nice to have an config file for staking
Why?
With such a config file you would be able to send the staking income to an other address
Currently staking income tx doesnt cost a tx fee , but with enable reward moving u can set an low fee and
lower the coin supply a lil bit over the time
Main feature would be to have always the same coin amount and the same tx amount in an address
and in the address where the coins would be send to , there the people could collect them until they have the same amount then in the staking address
At the same time u can have a staking host , and u dont have to touch the coins  , tx amount, address by hand to get your income to an external address, from where u can trade
This enhancement is also implemented in the DASH repo, there they do that with the MasterNode rewards
The conf file there is the mn.conf

I found a fix for this in one of presstab's commits. It's called charity in one coin and then multisend I believe in others. TruckCoin has a good example.


Fix SelfDescribingJson type to allow optional keys in type parameter (close #1203 and #1304)

Record<keyof T, has the unfortunate side-effect of erasing the optional modifier for any properties in T, essentially mandating Required<T> instead of just T.
Explicitly using an index type removes this erasure while still being largely compatible with the rest of the interface expressed by Record.
An index type accepting only strings is preferable over plain {} because that allows arrays for data, which we don't support AFAIK outside of special cases like payload_data and contexts.
Should fix #1203 and #1304.

Sorry @jethron, you might need to rebase this branch as I rebased the release branch on top of master.

@jethron can you please merge this into the release branch? I think we can move forward with this.


Merge GO:0052559 induction by symbiont of host immune response and GO:0052166 positive regulation by symbiont of host innate immune response

Merge GO:0052559 induction by symbiont of host immune response and GO:0052166 positive regulation by symbiont of host innate immune response

Oups no - immune vs innate immune response
Changed the label GO:0052166 positive regulation by symbiont of host innate immune response -> induction


Changing to eager load for rails 5 compatibility

Also needed to check for capistrano availability since it is not loaded in production
This was tried on QA and solved the issues with FileSet download.  The lib classes are no longer getting loaded without this change.

Coverage decreased (-0.04%) to 61.439% when pulling 781cbc08ef2bcf846c6ebe8281d8e2b6c36f0013 on rails5.2 into bdbb0e59b1cb1be06004c8763ed01ce3e2be7680 on develop.


Any recomendation for this board ?

Hello, I'm working on a gps tracker based on A9G, we're planning to release this hardware and make some units soon.
Any suggestion about this design ? We're open to share ideas and experiences with the community. Best regards!.

As someone who made a gps tracker with this device i would advise against it. your schematic looks okay (you may want EMI potection on simcard to board)
The documentation for the SDK is terrible, the board only supports GPRS / 2G which is being phased out, the SDK / flashing tools are very buggy.
proceed at your own risk..

As someone who made a gps tracker with this device i would advise against it. your schematic looks okay (you may want EMI potection on simcard to board)
The documentation for the SDK is terrible, the board only supports GPRS / 2G which is being phased out, the SDK / flashing tools are very buggy.
proceed at your own risk..

Do you have a recommendation for a different product? Especially looking for something that has low power consumption, cell connectivity (2G or 4G), GPS, built-in accelerometer would be a plus...

As someone who made a gps tracker with this device i would advise against it. your schematic looks okay (you may want EMI potection on simcard to board)
The documentation for the SDK is terrible, the board only supports GPRS / 2G which is being phased out, the SDK / flashing tools are very buggy.
proceed at your own risk..

Poor documentation is a true, I'm working with this module from several months, I have designed the PCB and making it in production, lot's of issues with code but finally get an stable firmware, the flasher/debbuger is a bit buggy, yes, but it works.
The module seems robust, you need to keep attention to get vbat stable source with enough current to feed the device with current peaks demands.

As someone who made a gps tracker with this device i would advise against it. your schematic looks okay (you may want EMI potection on simcard to board)
The documentation for the SDK is terrible, the board only supports GPRS / 2G which is being phased out, the SDK / flashing tools are very buggy.
proceed at your own risk..

Do you have a recommendation for a different product? Especially looking for something that has low power consumption, cell connectivity (2G or 4G), GPS, built-in accelerometer would be a plus...

Also I'm looking for a 4G version of this module. I you have any clue please post it here!.

Here is the finished board, with some modifications from the original schematic posted in this thread. The 4.2v switching regulator has reemplaced with a LDO and the inductor has incorrect value, I't must be about 220uH+ for this design. Also this design has issues with the load switching between bat/dc input, exesive conmutation time when no DC input is present makes the module power down and restart.


TypeError: object with buffer protocol required

Hi I'm trying to use your wrapper with a library that uses the SMBus module. I have the following error:
Traceback (most recent call last):
  File "<stdin>", line 8, in <module>
  File "usmbus.py", line 50, in write_i2c_block_data
TypeError: object with buffer protocol required

When trying to run the following code in the same init.py file:
bus = SMBus(1)
bus.write_i2c_block_data(0x44, 0x2C, [0x06])

Any suggestions?

Hi - thanks for the report. Try either of these:
bus.write_i2c_block_data(0x44, 0x2C, 0x06)
or
bus.write_i2c_block_data(0x44, 0x2C, bytes([0x06]))
Basically you need to pass to write_i2c_block_data() either an integer or a bytes object. I could probably add support for passing it a list if you need that, though I don't have any way to test just now.

Thanks a lot for the quick response. That fixed it!

How to pass list

Hi there,
As above, we don't currently support calling with a list directly so, if you have a list of bytes, the easiest thing to do is to convert it to a bytes object when you pass it.
For example, if you have this list of bytes:
list_of_bytes = [0x06,0x05,0x04]
then you would pass it into write_i2c_block_data() like this:
# Write bytes to address 80 from offset 0
write_i2c_block_data(80, 0, bytes(list_of_bytes))


Tool to generate auth token no longer works.

In it's current state – the tool to generate the auth token is broken.
https://github.com/AngeloD2022/onhubauthhelper/issues/2
Are there any other ways to generate the auth token?

I too was unable to get the refresh token. The website nor the extension would work. I even tried manually making an api key in my developers console but that didnt work either. Anyone have the steps to make this key manually?

Same here

Same here

Same here

Was going to try out this addon for the first time, but I'm unable to get a refresh token too.
I don't know enough about how those tokens work, to try to get those manually somehow. Any idea?

PR was just merged on the auth token generator. We're back in business.

I still get the same error when trying out the webside to generate the token(website says version 1.1, which should be the new one?). And the chrome plugin is not yet updated on the extension store.
How do you use the newly merged code to generate a token?

I'm still getting the same message when logging in to generate a token. What gives?

It seems like the website and the chrome plugin is not yet updated with the new pr.
I got it to work by downloading the files from their repo, unpacking into a folder and adding that folder as an extension in chrome, by having developer mode enabled in the manage extension menu in chrome.

Any update on there token tool?

It seems like the website and the chrome plugin is not yet updated with the new pr. I got it to work by downloading the files from their repo, unpacking into a folder and adding that folder as an extension in chrome, by having developer mode enabled in the manage extension menu in chrome.

Thanks for this! Indeed that resolved it and generation of the token is possible again with latest Chrome plugin.
But it does require manual download (https://github.com/AngeloD2022/onhubauthhelper -> Get Code -> Unzip) and manual installation in Chrome (browse to:  chrome://extensions/ -> enabled developer mode and press button 'load unpacked' to manually load an unpacked Chrome extension).

Doesn't work anymore because of Error

Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.

It seems like the website and the chrome plugin is not yet updated with the new pr. I got it to work by downloading the files from their repo, unpacking into a folder and adding that folder as an extension in chrome, by having developer mode enabled in the manage extension menu in chrome.

Thanks for this! Indeed that resolved it and generation of the token is possible again with latest Chrome plugin. But it does require manual download (https://github.com/AngeloD2022/onhubauthhelper -> Get Code -> Unzip) and manual installation in Chrome (browse to: chrome://extensions/ -> enabled developer mode and press button 'load unpacked' to manually load an unpacked Chrome extension).

This worked for me, TY!

When I load the extension I get the error "Manifest version 2 is deprecated, and support will be removed in 2023"?

Same for me.
Doesn't work anymore because of Error
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.

Where does this issue lay today? What is the way to generate a token id?

came here wondering how to generate a token too...

Me too, anyone know how to get a refresh token now?


to_json() encodes Array of Vector3 as array of strings but PoolVector3Array as single string

Godot version:

3.2.3 stable
OS/device including version:

Ubuntu 20.04.2 LTS
Issue description:

I'm using JSON to save some custom data to a file. In my saving function, I'm creating a Dictionary containing all necessary data before using the to_json() function to convert it to a JSON string. Part of my data are a few arrays of Vector3. I was using PoolVector3Array, but those get converted to a single string, like so (backslashes because I'm copying directly from the file):
\"[(49.571899, 0, -49.146801),(-21.5655, 0, 1.20849),(26.958, 0, 61.223)]\"
Whereas a normal Array containing the same data converts to this:
[\"(49.571899, 0, -49.146801)\",\"(-21.5655, 0, 1.20849)\",\"(26.958, 0, 61.223)\"]
The values in the Array can be converted back to Vector3 using str2var("Vector3" + array_field), but for the PoolVector3Array the separate values cannot be accessed as it parses to a single string.
Steps to reproduce:
Open the attached project and run it, it will print {"normal_array":["(0, 0, 0)","(0, 0, 0)","(0, 0, 0)"],"pool_vector3_array":"[(0, 0, 0), (0, 0, 0), (0, 0, 0)]"} to the console.
It uses this script:
extends Node

func _ready():
	var pool_vector3_array = PoolVector3Array()
	pool_vector3_array.append(Vector3.ZERO)
	pool_vector3_array.append(Vector3.ZERO)
	pool_vector3_array.append(Vector3.ZERO)

	var normal_array = Array(pool_vector3_array)

	var dict = {
		"pool_vector3_array" : pool_vector3_array,
		"normal_array" : normal_array
	}

	print(to_json(dict))

Minimal reproduction project:

Arrays in json.zip

The thing is that JSON parser and writer don't have a one-to-one serialization mechanism currently in Godot. But I've previously worked on this in #33241 which would likely resolve the limitation you stumbled upon.
In your case, PoolVector3Array gets "stringified" (more for debugging purposes) rather than serialized. In either case, the behavior can also be modified so that to_json errors out when you attempt to serialize non-compatible datatypes to JSON.
Note that datatypes like PoolIntArray will be properly serialized as JSON array containing integers. But when you'll attempt to parse it back, then you'll get an Array rather than PoolIntArray, because that's not what JSON specification supports (it's specific to Godot).

@Xrayez the main issue I have is that str2var doesn't work at all, because it doesn't know how to parse a serialised Vector3 since it's serialised without the Vector3 keyword. So parsing the normal Array is possible by prepending the string "Vector3" to each entry, but parsing a full "stringified" array of Vector3 is impossible (well, not impossible, but harder) because the parser doesn't recognise the values in the array.


Incorrect href link being generated

https://github.com/keirbowden/LDNSCall2020Plugin/blob/bb742a3f039bc619f88fb01689115f029f7c9dbd/src/shared/processors/orderofexecution/orderofexecution.ts#L111
@keirbowden you incorrectly used the this.outputDir here instead of this.reportSubdir in all of your other processors.
This causes and error on the index.html that is generated:

Should be a simple fix

Great catch. I've published 4.0.2 with this fix in. Note to self - test with a different report directory to the current directory!


DOCS: Minor (but build breaking) docstring fix

Docstring for AnnualizedVolatility generated incorrectly formatted html. This should fix that.

Coverage remained the same at 87.139% when pulling 983d0e9829001c3cc2cbd6e60d654da1aee5b638 on fix-buildbreaking-docstring into f0692c82a4eb0a698735a946bbecda0c30296411 on master.


New Readme

nice! can we have a note in the main README linking to this file? So it's more visible to people using LocalMultiplayuerAgent?


Fits regions Binary table reader

https://fits.gsfc.nasa.gov/registry/region.html

@keflavich implemented the fits region table(in case if you have missed this)

How difficult will it be to implement the writer?  It would be extremely helpful to have access to that too, both for general use and for round-trip testing.

@keflavich the writer seems doable (will push the code sooner) creating a table  object and then use fits.BinTableHDU to write in the fits format.

@keflavich this is ready for a review!

@keflavich Ready for final review!

@bsipocz Can you point out why some tests are failing?

@bsipocz sorry to ping you again (incase it might have gone unnoticed)

@sushobhana - I'm sorry for not getting back to this sooner, but glad that you figured out that those pytest issues are unrelated and now fixed. If I don't get back to a PR ping in a few days, feel free to ping me on slack, too.

@migueldvb thanks for pointing out the issues. Seems alright now?


Save/ Publish actions don't reflect state of modified block page

Overview
The Publish action is not correctly reflecting the state of a 'modified' block page.
Here's my attempt at showing the flow (✅ = expected behaviour; ❌ = unexpected behaviour):

Action/ state
Save/ Publish actions

New page is created in DRAFT state ✅

Content block is added to the page and the state of the block page is altered by adding some content ✅

The Save button is selected and the new content is applied to a 'Draft' page version ✅

The Publish button is selected and the new 'draft' content is applied to a 'Published' page version ✅

The state of the block page is altered by adding some new content ✅

The Save button is selected and the new content is applied to a 'Modified' page version ❌
 Expected:

The (broken) 'Published' button is selected and the new 'modified' content is applied to a 'Published' page version ✅

The state of the block page is again altered by adding some new content ✅

Other notes
At the point of the unexpected behaviour, the site tree also is not correctly reflecting that the block page is in a 'Modified' state, see:

However, the block status icon highlights the modified state correctly, see:

Versions:
CMS 4.5.0
Elemental 4.3.0
Potential workaround
See: https://github.com/silverstripe/silverstripe-elemental/issues/790#issuecomment-805456644

I actually thought that this was an existing issue, as I expect it's been around for sometime. However I couldn't find an open issue, so have raised this!

@brynwhyman  I can confirm that this is a missing feature. I'm familiar with a solution from one of the large projects that I worked on. I will outline the solution here to kick off a discussion. Happy to create a follow up PR for it if needed ;-)
Non-technical description
We implemented a feature which allows each block to provide the block page with information if it needs to be published or not. The block page collects this information from all its blocks and renders correct publish button state based on that. This also covers objects which are under the blocks, i.e. Carousel block will contain carousel items which also may require publishing.
This feature is very useful because we can't expect the content author to go through all objects which are under a block page and publish them individually. In fact, most projects I worked on did not even have the option to publish individual objects, the only option was to publish the whole page. This makes this feature even more valuable.
Technical description
The feature consists of multiple parts. Note that these code snippets are meant to be used as examples only.

block page loops through each block and checks the published state
a block can declare a NestedBlockObjectsInterface in which case a method which is expected to return publish state of the nested objects is called
this is done in resource-efficient manner, i.e if something needs publishing the process bails out early as the result is already clear
we also considered other approach which would not require an interface - using owns and owned_by, this approach has such problems as not having enough flexibility to specify which object needs to be published or not (for example a block can own an image, but this is a shared resource so we may not want to indicate that the page needs publishing based on the owned image)

Performance considerations

in memory cache for list of all block objects for block page (especially useful with deep nesting)
publish state could be cached in DB record of the block page as we have a performant way to traverse up the object tree (see TopPage)

Interface
/**
 * Interface NestedBlockObjectsInterface
 *
 * Provides a way to extract the information if nested non-block objects need to be published
 * this is used to determine block page button states
 *
 * @package App\Interfaces
 */
interface NestedBlockObjectsInterface
{
    public function checkNeedPublishNestedObjects(): bool;
}

Helper
/**
 * Class PublishStateHelper
 *
 * functionality which is related to detecting the need of publishing nested objects within a block page
 *
 * @package App\Helpers
 */
class PublishStateHelper
{
    /**
     * @param DataObject|Versioned $item
     * @return bool
     */
    public static function checkNeedPublishingItem($item): bool
    {
        /** @var Extensible $class */
        $class = get_class($item);

        if ($class::has_extension(Versioned::class)) {
            /** @var $item Versioned */
            return !$item->isPublished() || $item->stagesDiffer();
        }

        return false;
    }

    /**
     * @param SS_List $list
     * @return bool
     */
    public static function checkNeedPublishingList(SS_List $list): bool
    {
        /** @var $item Versioned */
        foreach ($list as $item) {
            if (static::checkNeedPublishingItem($item)) {
                return true;
            }
        }

        return false;
    }

    /**
     * @param SS_List $blocks
     * @return bool
     */
    public static function checkNeedPublishingBlocks(SS_List $blocks): bool
    {
        if (empty($blocks)) {
            return false;
        }

        /** @var $block Versioned */
        foreach ($blocks as $block) {
            // check if block itself is published
            $needsPublish = static::checkNeedPublishingItem($block);

            // check for if nested non-block objects need to be published
            if ($block instanceof NestedBlockObjectsInterface) {
                $needsPublish = $needsPublish || $block->checkNeedPublishNestedObjects();
            }

            if ($needsPublish) {
                return true;
            }

            // check if nested blocks are published
            if ($block instanceof ElementList) {
                if (static::checkNeedPublishingBlocks($block->Elements()->Elements())) {
                    return true;
                }
            }
        }

        return false;
    }

    /**
     * @param DataList $items
     * @param int $parentId
     * @return bool
     */
    public static function checkNeedPublishVersionedItems(DataList $items, int $parentId): bool
    {
        // check for differences in models
        foreach ($items as $item) {
            if (PublishStateHelper::checkNeedPublishingItem($item)) {
                return true;
            }
        }

        // check for deletion of a model
        $draftCount = $items->count();

        // we need to fetch live records and compare amount because if a record was deleted from stage
        // the above draft items loop will not cover the missing item
        $liveCount = Versioned::get_by_stage(
            $items->dataClass(),
            Versioned::LIVE,
            ['ParentID' => $parentId]
        )->count();

        if ($draftCount != $liveCount) {
            return true;
        }

        return false;
    }
}

Block page
public function getCMSActions()
{
    $fields = parent::getCMSActions();

    // You can't publish a page that is archived so we don't need to update the field
    if ($this->isArchived()) {
        return $fields;
    }

    if (PublishStateHelper::checkNeedPublishingBlocks($this->getBlocks())) {
        $this->setPublishButtonActiveState($fields);
    }

    return $fields;
}

Carousel block
public function checkNeedPublishNestedObjects(): bool
{
    foreach ($this->Items() as $item) {
        if (PublishStateHelper::checkNeedPublishingItem($item)) {
            return true;
        }

        if ((int) $item->CustomDealID === 0) {
            continue;
        }

        if (!$item->CustomDeal()->isPublished()) {
            return true;
        }
    }

    return false;
}

Hey @mfendeksilverstripe thank you for the in-depth comment, that definitely makes sense to me but I'll let others chime in on your suggested implementation before go ahead and raise a PR.
I vaguely recall that when the in-line editing functionality was developed that there was something built at the React/Redux level to kind of work around this limitation and force the change of the Save/Publish actions? For example, we can see that the block area is aware of the state of each block (modified in this case):

I could definitely be wrong though :)

I think this works only with blocks, but not with objects nested below the blocks @brynwhyman. I pointed out a need to have some block interface to indicate if block needs to be published or not possibly taking other objects in consideration.
For example, a very common block is a carousel block which has many items. Each item represents one slide of the carousel. If any of the carousel items need publishing the block should indicate that it needs publishing as well (even though the block model is already published).

Noting here that the modified state indicator colours are wrong here and were fixed in: https://github.com/silverstripe/silverstripe-admin/pull/1021

Noting that the workaround for this is to use the versioned-snapshots module which does a better job at recording versions of child objects of a page (like blocks and blocks within blocks).
There are migration issues to consider so it's not necessarily and easy workaround but it's definitely recommended.

The Snapshots module does a good job of indicating to an author that their page needs to be updated if/when they refresh the page. The trouble we still have is that inline editing does not trigger the same indication. EG: If you edit a block and save it using the inline editor tools, the page will lose the status.
For example, I edit this field of a block. The "save" and "publish" actions update.

But as soon as I use the inline editor to save.

The indicators disappear.

With the snapshots module, if I refresh the page, then the appropriate indicator is returned.

Hey @chrispenny thanks for reporting that issue. If you haven't already, do you mind please recording that as an issue over on the snapshots module as well?

Have you considered not storing blocks into a database table(s) and just serialising and storing them in Content field? Something like WordPress/Gutenberg does. I think it would be great even as a lower level option in Silverstripe to be able to decide whether has_one and has_many relations should be stored in parent data object field.
This would solve change tracking, search indexing (given a "good" serialisation is used - Gutenberg uses html with comments, I can imagine a second *_Index field where block would serialise only searchable content, etc.), performance (no need to do multilevel sql queries), page duplication, etc.
Generally I would recommend to study Gutenberg and take an inspiration from it.


[Extension] Link account to block explorer

Is your feature request related to a problem? Please describe.
As User I want to see my account in block explorer
Describe the solution you'd like
Add a button to open the account in block explorer
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Proof:


Controller failed to create ALB with WebIdentity Error

EKS 1.14 with ALB controller running in Faragte
Has necessary IAM permission setup via Service account annotation by following the doc here

Error:
E0212 16:35:00.619233       1 controller.go:217] kubebuilder/controller "msg"="Reconciler error" "error"="failed to build LoadBalancer configuration due to failed to get AWS tags. Error: WebIdentityErr: failed to retrieve credentials\ncaused by: RequestError: send request failed\ncaused by: Post https://sts.amazonaws.com/: dial tcp: i/o timeout"  "controller"="alb-ingress-controller" "request"={"Namespace":"default","Name":"simple-service-ingress"}
E0212 16:41:12.965621       1 request_pagination.go:105] Failed request: tagging/GetResources, Payload: {  ResourceTypeFilters: ["ec2"],  ResourcesPerPage: 50,  TagFilters: [{      Key: "kubernetes.io/role/internal-elb",      Values: ["","1"]    },{      Key: "kubernetes.io/cluster/examaple-eks-poc",      Values: ["owned","shared"]    }]}, Error: WebIdentityErr: failed to retrieve credentials
caused by: RequestError: send request failed

Run test container with awscli and service account to confirm successful  network and IAM access

Same error in both v1.1.4 & v1.1.5 version of ALB controller

My NACL was missing UDP access for DNS resolution. it is now working as expected.


Add notice for VS2013 without Update 5

Add notice to install VS2013 Update 5 to make sure it compiles properly.

Hi @gimmemoore, I'm your friendly neighborhood Microsoft Open Technologies, Inc. Pull Request Bot (You can call me MSOTBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSOTBOT;

@gimmemoore
thanks for the PR, it is now online https://github.com/MSOpenTech/redis/tree/3.0
Thank you.


[PROJECT PROPOSAL] Illustrated Children's Guide to Green Cloud Native Computing

Project details
Description

Just an idea coming up from in person meeting at KubeCon Paris. The "Illustrated" Guide series become an iconic landmark in the community. The simple format reduced down to the point could be a final simple summary of multiple activities as the WG green reviews or the K8s best practices.
Impact

It's a pure awareness topic, a starting point to go deeper into the green topic.
Scope
In Scope:

Might should highly the why
correlation of power and CO2e
cover practices like reduction, reuse, high density, better locations etc

Out of Scope:

doesn't describe solutions in depths

Goals and Non Goals
Create simple awareness about how compute resources have an effect on the nature and what we can do as cloud native community to reduce this effects.
...
Deliverables

Story Line
Conversations and Descriptions
Ideas about the illustration

Additional info and comments

Reference to supporting material:

Illustrated Childrens Guide to Kubernetes

TODO

[x] Project proposal / suggestion details added to this issue (all section above filled out)
[ ] Project Leads found (one or more)

Project Leads: link project leads here

[ ] Project proposal discussed in the TAG

Discussed in the TAG ENV meeting on XX-XX

[ ] Project proposal accepted / rejected by the TAG leads

Proposal: accepted / rejected

[ ] Project sponsor found (TAG Chair / TAG TL)
[ ] Project tracking issue opened

cc @cncf/tag-env-sustainability

That's a great idea! I would like to follow up :)

Cool proposal! I have some ideas already :).

I opened a Miro board, think that suits better the creative process :D
https://miro.com/app/board/uXjVKYwshxw=/?share_link_id=613213648092
Passcode the same as for Zoom just 8 times.


Plugins can't find Light api

Plugins can't find Light api.
But I think Light api work well.

What plugins are you using?

Aurora (can't find LightAPI)

This happens because Aurora itself disables this feature.
https://github.com/OpticFusion1/Aurora/blob/master/src/main/java/com/zenya/aurora/util/ext/LightAPI.java#L91

This is because StarLight is used and unsupported, removing it will just cause errors in console

oh, Can you update Aurora?

I can't update until LightAPI supports StarLight

@BeYkeRYkt
When do you think you will be able to complete the stable version?
There are a lot of things that I need to use LightAPI.
So, I need to set my server opening date close to the stable release date of LightAPI.
and Why dont you make your discord server?

When do you think you will be able to complete the stable version?

There's no need for that.


Question: should the chat sidebar be scrollable while minimized?

I have more chat bubbles that go down the page that I can't access. Obviously I can get them if I click a random bubble to expand the sidebar... but I'm wondering whether it can/should be scrollable? The only con is that have two scrollable elements so close to each other will get annoying.

Yes doesn't hurt to make it scrollable. I'll add this to the branch I'm
working on.
On Wed, Dec 2, 2015 at 10:02 PM, Dr Washington Sanchez <
<EMAIL_ADDRESS>wrote:

[image: image]
https://cloud.githubusercontent.com/assets/3887694/11551579/39be1754-99c6-11e5-9235-0c2d37b9ef87.png
I have more chat bubbles that go down the page that I can't access.
Obviously I can get them if I click a random bubble to expand the
sidebar... but I'm wondering whether it can/should be scrollable? The only
con is that have two scrollable elements so close to each other will get
annoying.
—
Reply to this email directly or view it on GitHub
https://github.com/OpenBazaar/OpenBazaar-Client/issues/252.

Completed.


Time: JSON and YAML serialization using ISO 8601. Fixes #3106

If in the mapping, only type: Time is specified, then ISO-8601 is used, right?
That is the only thing I didn't depict from the specs.

@bcardiff Yes, by default a mapping uses the to_json method, so if no converter is specified then ISO-8601 will be used. I think it's a good default, specially because then you can parse it in javascript, and it's also a standard :-)


Retrieve progress

Hello,
Is there any way to get the progress of the request being handled?
This is very useful when downloading a file using the proxy.
Thanks

That's not something we can implement. Because we don't know the expected length of download in many cases. For example when request/response is chunked there is no content-length header, we would just keep reading until chunk end is found.


Integrate fuzz testing

https://github.com/microsoft/onefuzz/blob/main/docs/getting-started.md provides documentation on how to use OneFuzz for fuzz testing

Blocked on #709

https://github.com/microsoft/onefuzz/issues/1957
Need to better understand how to write a libfuzzer harness.


Compatibility with Tasks Plugin

I'd like to specify that only tasks with the tag #task be affected by archiving operations.  This is a special case of issue https://github.com/ivan-lednev/obsidian-task-archiver/issues/15

I have submitted a pull request that enables this feature...  https://github.com/ivan-lednev/obsidian-task-archiver/pull/18

Addressed in 0.7.0.


Remove dependency on Microsoft.Extensions.PlatformAbstractions

It is only being used for netstandard1.3 (UWP1 etc.) for writing Application Assembly-version.
But it seems that it might get a bad treatment in the future.
See also: https://github.com/dotnet/corefx/issues/35068 + https://github.com/dotnet/corefx/issues/35068
Also curious how to handle NetCore1 being unsupported this year. Should one remove NetCore1 support from NLog?

Also curious how to handle NetCore1 being unsupported this year. Should one remove NetCore1 support from NLog?

Good question.
Dunno how Xamarin etc are on .NET Standard 2 yet.

Also curious how to handle NetCore1 being unsupported this year. Should one remove NetCore1 support from NLog?

I think it's wise to remove .NET COre 1 support if it's officially unsupported.

I guess there is a difference between NetCore1 (platform) and netstandard1 (api) other platforms than NetCore1 might like the support of Netstandard1. Maybe wait one year after NetCore1 end-of-life to consider removing netstandard1 support
Sent from my Sony Xperia
---- Julian Verdurmen wrote ----
Also curious how to handle NetCore1 being unsupported this year. Should one remove NetCore1 support from NLog?
I think it's wise to remove .NET COre 1 support if it's officially unsupported.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/NLog/NLog/issues/3407?email_source=notifications&email_token=ACXZ7HGJDZ7J2MZBGF5ITU3QCMZA5A5CNFSM4HN5NPFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3LTRTQ#issuecomment-517421262, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACXZ7HANPHEW53665LLIWCTQCMZA5ANCNFSM4HN5NPFA.

Good one! If .net standard 1 isn't deprecated, then it's another story indeed

Now the nuget-package have become obsolete, so guess a good time to remove it:
https://www.nuget.org/packages/Microsoft.Extensions.PlatformAbstractions/

isn't .NET standard 1 also obsolete?
So IMO remove .NET Standard 1 support = fix this issue

NetStandard1.X defines an API, and it is not obsolete. It is forever just like NET35
Sent from my Galaxy
-------- Original message --------
From: Julian Verdurmen @.>
Date: 12/08/2022 11:39 (GMT+01:00)
To: NLog/NLog @.>
Cc: Rolf Kristensen @.>, Author @.>
Subject: Re: [NLog/NLog] Remove dependency on Microsoft.Extensions.PlatformAbstractions (#3407)
isn't .NET standard 1 also obsolete?
So IMO remove .NET Standard 1 support = fix this issue
—
Reply to this email directly, view it on GitHubhttps://github.com/NLog/NLog/issues/3407#issuecomment-1212923024, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACXZ7HCNY7F5YPNNUZFEAS3VYYLVNANCNFSM4HN5NPFA.
You are receiving this because you authored the thread.Message ID: @.***>


Add Quiz Json

Each question, answer & correct answer needs to be encoded in Json format.
Ensure answer validation structure can support randomized order.

This was completed under: commit 7584203f71d505e1fd2fd7f756629656a30a40ab .


[BUG] BlobClient outbound port exhaustion

Describe the bug
I cannot find any clear documentation on how the SDK uses connections towards blob.core.windows.net but it is clear that there is no upper bound or re-use. I have some types in our app that have scoped lifetime on BlobContainerClient and frequent requests are made towards the scoped instance to download blobs via BlobContainerClient::GetBlobClient.
But it seems each client creates a new connection, so if I am to download 1000 blobs at the same time I DDoS my appservice. I understand that for optimal performance (in terms of download/upload) it makes sense to get a new connection but is there no way to control the number of connections created from the container client (or otherwise)?
Expected behavior
[0,N] Tasks executing blob download should not try to create more TCP connections than is passed into the transport of the BlobContainerClient, cloud environments have limited resources and port exhaustion on blob download causes cascading failures everywhere else.
Actual behavior (include Exception or Stack Trace)
Port exhaustion

Looking into the code, I see that there is a static shared instance of HttpClientTransport being passed into the BlobContainerClient which means the same HttpClient is shared regardless of what DI lifetime I have on my services, how is it then possible for the BlobClient to create a new connection when the shared client is created by this
private static HttpClient CreateDefaultClient()
    {
      HttpClientHandler httpClientHandler = new HttpClientHandler();
      IWebProxy proxy;
      if (HttpEnvironmentProxy.TryCreate(out proxy))
        httpClientHandler.Proxy = proxy;
      return new HttpClient((HttpMessageHandler) httpClientHandler);
    }

Where is the new connection being created exactly?

These are all towards <IP_ADDRESS>:443 which happens to be blob storage.

For reference, this is the implementation, it is the Get call that is causing connection exhaustion
public class BlobCache<T> : IColdCache<T>
    {
        private readonly BlobContainerClient _blobContainerClient;
        public string Container { get; }

        [Obsolete("Please use RBAC and TokenCredential constructor instead. Connection strings are evil.")]
        public BlobCache(string storageConnectionString, string containerName)
        {
            _blobContainerClient = new BlobContainerClient(storageConnectionString, containerName);
            Container = containerName;
        }

        public BlobCache(string storageAccountName, string containerName, TokenCredential credential)
        {
            var containerUri = new Uri($"https://{storageAccountName}.blob.core.windows.net/{containerName}");
            _blobContainerClient = new BlobContainerClient(containerUri, credential);
            Container = containerName;
        }

        public async Task<T> Get(string key)
        {
            try
            {
                var blob = _blobContainerClient.GetBlobClient(key);
                if (!await blob.ExistsAsync())
                {
                    return default;
                }

                using (Stream s = (await blob.DownloadAsync()).Value.Content)
                using (StreamReader sr = new StreamReader(s))
                using (JsonReader reader = new JsonTextReader(sr))
                {
                    var serializer = new JsonSerializer();
                    return serializer.Deserialize<T>(reader);
                }
            }
            catch (Exception ex)
            {
                throw new Exception($"Cannot load {key} from blob cache: {ex.Message}", ex);
            }
        }
}

Thank you for your feedback.  Tagging and routing to the team best able to assist.


TOOLS-230 barcode eval update

Works well for me! Helped narrow down the barcode issue I was seeing in Andrew's dataset to a few problematic donors.

Tested the following:

Used a standard dataset with mixed assays. It looks goods and the output barcode_df has a helpful output to narrow down any discrepancies.
Ran the 24bp Flex dataset and evaluate_10x_barcodes() reported all 24nt for all cells
Dropped the last 8bp of the 24bp Flex dataset, resulting in the 16bp cell barcodes for Flex. evaluate_10x_barcodes() reported the following.

Looks good to me! Thanks!


DEX: Deposit LP locks all pools, not just the pool you deposited into

When depositing into LP, only the pool you deposited into should be locked, not all LP positions. Currently, if you deposit into BALN / bnUSD, you can't withdraw from sICX / bnUSD

This was likely due to user confusion, will close this unless it can be reproduced


Reduce logging in the Neon extension

Problem
Currently, we have a high volume of repetative and otherwise meaningless logs. These cost money and resources to process, store, and query. We should reduce logging to only the bits that are useful during debugging.
Summary of changes
Reduce logging verbosity of WAL Proposer
The phase where we're acquiring a Safekeeper quorum is reduced to 2
log messages in the common case.  Furthermore, we only log the first time
we notice each unknown key (up to 8 distinct keys are tracked), so that
we still notice backward-compatible changes, but don't overwhelm the
logs with notices that show we're an old version.
Reduce logging verbosity of the Neon SMGR
We don't need to know for every backend when they connect to pageserver, we
only need to know when the connection fails. So, reduce all LOG lines in
connection start to DEBUG1.
Also do some stylistic conversions of existing log lines for improved filtering
on specific clauses.
Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

I'm not sure we should change LOG -> DEBUG1 in pgxn/neon/walproposer.c, these logs seem useful and they are not repeated unless safekeepers restart.

Wow, this is more than I expected. Made another query for better visibility.
https://neonprod.grafana.net/goto/jtfSCF8IR?orgId=1

It looks like:

one compute startup generates roughly 40 WP log lines
walproposer logs are 20% of all postgres logs
walproposer logs are 3% of all VM logs

My takes:

I would like to make WP log less, but for that it's probably better to start it less times. Currently we run 3 times: sync-sk on startup, normal walproposer during normal work, sync-sk on shutdown.
40 lines per compute startup doesn't sound like a big deal to me. I'd expect debugging costs outweigh cost savings from optimizing these logs.
We probably can have more useful postgres logs, then WP logs will take less than 20% of them

So I'm still not convinced we should switch to DEBUG1.

I don't think it's a good idea to increase logging in other systems just to make sure another system's logs are < 20%. I'd rather not add more logs when the current logging rate is already considered to be an issue.

This is probably the point where we disagree. IMO we can have much more useful postgres logs which we don't have now (to help to detect OOM early, give more insights into logical replication / read replicas, warn about storage issues by warning about long get_page request or stuck/slow safekeeper replication). Currently it's impossible to investigate some compute issues from compute logs.

the current logging rate is already considered to be an issue.

I'd argue that WP logging rate is not an issue. It's not expensive, it's useful (to me at least) and I don't have any issues with it.

~6 per compute start

We still start walproposer 3 times during the compute lifetime, this would still mean ~18 log lines from walproposer.

I find it really wasteful that we're logging all stages of SK connection startup.

I don't find it wasteful, it's extremely useful for debugging issues.

@petuhovskiy IMO it is possible to have to the same amount of information, reduce amount of logs and improve readability by putting most of that data (timing, destination, votes, etc) in some context structure and write it out once during the connection attempt. You can even dump it in json and route to cplane similarly to compute start json.
As for now let's keep whatever safekeepers do need and proceed with the rest.

IMO it is possible to have to the same amount of information, reduce amount of logs and improve readability by putting most of that data (timing, destination, votes, etc) in some context structure and write it out once during the connection attempt. You can even dump it in json and route to cplane similarly to compute start json.

It is possible but I don't see any benefit. Again, I don't see any issue with the current walproposer logs, so I'm not really sure what we're trying to achieve here.

I agree that we're spending too much on the logs, but I'm not buying this as a reason to change anything in the walproposer logs.
You can use this link to get total billable log volume. walproposer logs are just 0.4% of that amount.


Login problem

After replacing the credentials still i'm able to login into.
Please guide me

@shahkevin23,
Could you please enable full logs and send us this information?
[QBSettings setLogLevel:QBLogLevelDebug];
[QBSettings enableXMPPLogging];

@shahkevin23, Any updates?

Apology for late response


🐛 Bug Report: LCEL Runnables not supported in traces

Which component is this bug for?
All Packages
📜 Description
When a chain is built using LCEL, traces are not emitted.
👟 Reproduction steps

Create an LCEL chain
Run the application

👍 Expected behavior
Traces should be emitted for langchain blocks.
👎 Actual Behavior with Screenshots
Only traces emitted :
{
"name": "PATCH",
"context": {
"trace_id": "0x5d226499992625813276d417daf03aad",
"span_id": "0x52cf0fa0514c33a5",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:14.970928Z",
"end_time": "2024-01-29T11:06:15.404928Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "PATCH",
"http.url": "https://api.smith.langchain.com/runs/97d3bdd0-8a1e-4437-9401-84e2004f16d8",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
{
"name": "POST",
"context": {
"trace_id": "0xe6cf84bd7a5a72d6220d76528fc6fa32",
"span_id": "0x0aa04c6a4dbf1bfd",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:14.970581Z",
"end_time": "2024-01-29T11:06:15.430682Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "POST",
"http.url": "https://api.smith.langchain.com/runs",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
{
"name": "POST",
"context": {
"trace_id": "0xfa2c996295cfda4103f37090627791c7",
"span_id": "0x5c3d0c3dd6bd1d51",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:14.971143Z",
"end_time": "2024-01-29T11:06:15.441099Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "POST",
"http.url": "https://api.smith.langchain.com/runs",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
{
"name": "POST",
"context": {
"trace_id": "0xeff8835537de179427d32f928d2b244c",
"span_id": "0xa010e98b7ec99bc6",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:14.971049Z",
"end_time": "2024-01-29T11:06:15.471814Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "POST",
"http.url": "https://api.smith.langchain.com/runs",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
INFO:     HTTP Request: POST https://navira-poc-02.openai.azure.com//openai/deployments/gpt-35-turbo/chat/completions?api-version=2023-09-01-preview "HTTP/1.1 200 OK"
{
"name": "openai.chat",
"context": {
"trace_id": "0xa3b49a57b3990fdd94f44b647ab7f4fb",
"span_id": "0xe925e3010d0e482a",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:14.955512Z",
"end_time": "2024-01-29T11:06:15.976070Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"llm.request.type": "chat",
"openai.api_version": "2023-09-01-preview",
"llm.vendor": "OpenAI",
"llm.request.model": "gpt-3.5-turbo",
"llm.temperature": 0.0,
"llm.headers": "None",
"llm.prompts.0.role": "user",
"llm.prompts.0.content": "You are an AWS cloud consultant tasked with recognizing the intent of users' queries in the context of cloud cost governance. Pay close attention to the exact definitions of  allowed categories & services. DO NOT deviate from them STRICTLY.\n\nContext: \nThe intent consists of 2 parts : category and service.\n\nThe possible categories of user's intent. \n- RESOURCE_METADATA_DISCOVERY: Involves querying metadata or attributes of user provisioned AWS cloud resources. This can include details like configurations, provisioned capacity, tags and status.\n- RESOURCE_USAGE_DISCOVERY: Focuses on analyzing resource utilization metrics of the user's provisioned resources such as performance metrics and usage patterns across different metrics.\n- RESOURCE_COST_DISCOVERY: It involves evaluating cost-related data of user's provisioned resources to gain insights into expenditure patterns and identify cost drivers.\n- PRICING_DISCOVERY: Dedicated to exploring the general public pricing details of AWS services (not related to the user's data). This includes obtaining information about service rates and understanding different pricing models (e.g., on-demand, reserved instances).\n- RECOMMENDATION: Includes providing suggestions and actionable advice for optimizing AWS cloud resource usage, costs & performance.\n\nThe services related to the user's intent.\n- EC2: Amazon Elastic Compute Cloud\n- RDS: Amazon Relational Database Service\n- S3: Amazon Simple Storage Service\n- DYNAMODB: Amazon DynamoDB\n- EBS: Amazon Elastic Block Storage\n- OPENSEARCH_SERVICE: Amazon OpenSearch Service\n- CLOUDWATCH: Amazon CloudWatch\n- ELASTICACHE: Amazon ElastiCache\n- VPC: Amazon Virtual Private Cloud\n- ELB: Amazon Elastic Load Balancing\n- CLOUDFRONT: Amazon CloudFront\nOutput Format:The output should be formatted as a JSON instance that conforms to the JSON schema below.\n\nAs an example, for the schema {"properties": {"foo": {"title": "Foo", "description": "a list of strings", "type": "array", "items": {"type": "string"}}}, "required": ["foo"]}\nthe object {"foo": ["bar", "baz"]} is a well-formatted instance of the schema. The object {"properties": {"foo": ["bar", "baz"]}} is not well-formatted.\n\nHere is the output schema:\n\n{\"description\": \"Serializable base class.\", \"properties\": {\"category\": {\"description\": \"The category of the user's intent.\", \"allOf\": [{\"$ref\": \"#/definitions/IntentCategory\"}]}, \"service\": {\"description\": \"The service related to the user's intent.\", \"allOf\": [{\"$ref\": \"#/definitions/AmazonService\"}]}}, \"required\": [\"category\", \"service\"], \"definitions\": {\"IntentCategory\": {\"title\": \"IntentCategory\", \"description\": \"An enumeration.\", \"enum\": [\"RESOURCE_METADATA_DISCOVERY\", \"RESOURCE_USAGE_DISCOVERY\", \"RESOURCE_COST_DISCOVERY\", \"COST_DISCOVERY\", \"RECOMMENDATION\"], \"type\": \"string\"}, \"AmazonService\": {\"title\": \"AmazonService\", \"description\": \"An enumeration.\", \"enum\": [\"EC2\", \"RDS\", \"S3\", \"DYNAMODB\", \"EBS\", \"OPENSEARCH_SERVICE\", \"CLOUDWATCH\", \"ELASTICACHE\", \"VPC\", \"ELB\", \"CLOUDFRONT\"], \"type\": \"string\"}}}\n\nUser's query: how many ec2 instances\n",
"llm.response.model": "gpt-35-turbo",
"llm.usage.total_tokens": 735,
"llm.usage.completion_tokens": 20,
"llm.usage.prompt_tokens": 715,
"llm.completions.0.finish_reason": "stop",
"llm.completions.0.role": "assistant",
"llm.completions.0.content": "{\n  "category": "RESOURCE_METADATA_DISCOVERY",\n  "service": "EC2"\n}"
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
{
"name": "PATCH",
"context": {
"trace_id": "0xd95ec01e44229f05b4844ca8325c94c2",
"span_id": "0x9dc9086284294043",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:16.068286Z",
"end_time": "2024-01-29T11:06:16.367807Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "PATCH",
"http.url": "https://api.smith.langchain.com/runs/39ee576a-6e25-4260-9ba7-d6e080e65ec9",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
{
"name": "POST",
"context": {
"trace_id": "0x6e2c49a93463ceb0965582c405be317e",
"span_id": "0x9f801f0e5058c0ba",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:16.068165Z",
"end_time": "2024-01-29T11:06:16.398113Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "POST",
"http.url": "https://api.smith.langchain.com/runs",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
{
"name": "PATCH",
"context": {
"trace_id": "0x66442059532c14185b5da4b6c0e3e2a5",
"span_id": "0xf8da2f9a81d0d8e1",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:16.067977Z",
"end_time": "2024-01-29T11:06:16.398613Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "PATCH",
"http.url": "https://api.smith.langchain.com/runs/5260c5a9-68c0-4910-b206-5986e4244dac",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
{
"name": "PATCH",
"context": {
"trace_id": "0xa4309c9db74617d83e689ac2fcaeae3d",
"span_id": "0x52d896629a51553c",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2024-01-29T11:06:16.067677Z",
"end_time": "2024-01-29T11:06:16.402780Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"http.method": "PATCH",
"http.url": "https://api.smith.langchain.com/runs/3047f648-72af-4c4e-b223-dbb38c97002e",
"http.status_code": 200
},
"events": [],
"links": [],
"resource": {
"attributes": {
"service.name": "src/streamlit_main.py"
},
"schema_url": ""
}
}
🤖 Python Version
3.11.7
📃 Provide any additional context for the Bug.
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
None

I think the Runnables need to be enabled here : https://github.com/traceloop/openllmetry/blob/e81dada24d4a650d6466c6eb6a0a05444aa4740e/packages/opentelemetry-instrumentation-langchain/opentelemetry/instrumentation/langchain/init.py#L25C1-L78C2

@sidpan1 can you share the example of the program you used, and the langchain version? We were supporting some LCEL cases (see this example) so I want to see if I can reproduce it locally.

@sidpan1 checking if you saw my previous comment - can you share a snippet that's not working for you?

@sidpan1 I'm going to close this as I can't reproduce it. Please provide a snippet for this so we can address this if needed.

This was reported again and I was managed to find an example that reproduces it:
from langchain.prompts import ChatPromptTemplate
from langchain.output_parsers.openai_functions import JsonOutputFunctionsParser
from langchain_community.utils.openai_functions import (
    convert_pydantic_to_openai_function,
)
from langchain_community.chat_models import ChatOpenAI
from langchain_core.pydantic_v1 import BaseModel, Field

from traceloop.sdk import Traceloop

Traceloop.init(app_name="lcel_example")

class Joke(BaseModel):
    """Joke to tell user."""

    setup: str = Field(description="question to set up a joke")
    punchline: str = Field(description="answer to resolve the joke")

openai_functions = [convert_pydantic_to_openai_function(Joke)]

prompt = ChatPromptTemplate.from_messages(
    [("system", "You are helpful assistant"), ("user", "{input}")]
)
model = ChatOpenAI(model="gpt-3.5-turbo")
output_parser = JsonOutputFunctionsParser()

chain = prompt | model.bind(functions=openai_functions) | output_parser
result = chain.invoke({"input": "tell me a short joke"})

print(result)

Will issue a fix today


added license file to pypi bundle

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0%) to 98.851%

Totals

Change from base Build 523491551:
0.0%

Covered Lines:
172

Relevant Lines:
174

💛  - Coveralls


Review: required fields in Tenant resource

I would review the required fields in Tenant resource. Currently (v0.0.3), in capsule.clastix.io/v1alpha1, we have:

field
required
webhook
controller

owner
*
*

nodeSelector

*

namespaceQuota
*
*

namespacesMetadata

*

servicesMetadata

*

ingressClasses
*
*

storageClasses
*
*

containerRegistries

*

additionalRoleBindings

*

resourceQuotas

*

limitRanges
*

*

networkPolicies

*

To make Capsule more flexible and address more use cases, we can leave only the owner field as mandatory. All the other fields will be optional.
@prometherion @MaxFedotov @gdurifw what do you think? What prevents this from technical pov?

I couldn't agree more and, honestly, you got me in before: as you probably noticed, for some Tenant specification fields we're using the ,omitempty tags: this should allow us to avoid putting empty values during test cases as well, and, last but not least, increasing the Capsule flexibility.
Definitely, LGTM but eager to hear others' opinions.

@prometherion I would raise the priority of this issue. By rewriting the documentation with an "user stories" approach, I feel the Capsule user's experience will be improved by limiting the required field only to the ownership. This because, the user approaching Capsule, can easily become comfortable with it by just trying one feature at time.

There's still a blocker for 0.1.0 releae and it's #49.
That issue is quite tricky and haven't figured yet a way to solve it, so we could postpone it to 0.2.0 or any next patch version since it's just an enhancement.

I just realized we could have another blocker, namespaceQuota.
How should Capsule behave when this limit is not declared? Right now, we got also the additional printer column on kubectl get tnt -o wide, and last but not least, how to deal when a Cluster Admin assign a Namespace quota lower than the already registered Namespaces (I'd say we have to block that).
Any thoughts on this?

I just realized we could have another blocker, namespaceQuota

I got a feedback from customer, they are not to use this constraint leaving the tenants to create namespaces as much they want. Actual constraints will be resourceQuota. In such case they have to put namespaceQuota=999 for example  but this looks a bit ugly. My suggestion is to make this optional and show namespaceQuota=0 in the printed column where, by convention, zero means infinite. Sorry to my mathematicians friends :)

how to deal when a Cluster Admin assign a Namespace quota lower than the already registered Namespaces (I'd say we have to block that).

I just got a new test case :)

I totally agree with having only owner as required field in spec. As capsule is growing with new features, it becomes really hard for a new user to understand them all. So It will be much better to allow to start only with owner field in spec, and then if needed to update spec with additional features.

It seems we acquired a full RAFT consensus on this design! 🤣


Two columns bible class broken

I'm very new to Sile and I'm trying to get a 2-columns bible, but the HEAD usx example fail when I switch to 2 columns.

After fixing #328 , here's the error printed:
Error detected:
RequiredFailure {description=A required constraint cannot be satisfied}

It happens during the call to switchMaster.

I've fixed this particular bug with the Bible class. There are still two known issues outstanding. (One is about footnotes which appear in text in the right column, but that's a tricky issue, and that's why most two-column text doesn't have footnotes within the columns; one is the balanced column bug #118)

Thx, also, the grid layout does not seem to work on the same example usx 049EPH, the lines are not aligned in the two columns.  Do you want me to raise an issue for it ?

This is also the balanced column bug in disguise. If you comment out self:loadPackage("balanced-frames") in bible.lua, and uncomment the \grid[spacing=14pt] line in usx.sil, you'll get a grid-aligned Bible.


Bug on Grid View Group

Describe the bug
In grid View, when games are grouped, sometimes game image apperas on left side of the group
To Reproduce
Normally I can reproduce this grouping by series. Normally you have to scroll down, then it appears.
Screenshots
(notice the game image left to assasins creed chronicles series).

This is a bug in Playnite https://github.com/JosefNemec/Playnite/issues/2527

Thanks for the info!


Feature/dropdowns single selector

single selector
Overview
This PR creates a single-select dropdown.
It uses downshift library to ease accessibility functionality.
It has light and dark themes.

Designs
Figma prototype
Testing instructions
yarn && yarn storybook:dev

@mbarrenechea closing this PR in favor of https://github.com/Vizzuality/marxan-cloud/pull/30
I've implemented the changes suggested on the other PR and added the multi-select dropdown.

@mbarrenechea closing this PR in favor of https://github.com/Vizzuality/marxan-cloud/pull/30
I've implemented the changes suggested on the other PR and added the multi-select dropdown.


Running with Management Server doesn't exit on SIGTERM

What happened:
I was attempting to Ctrl+C out of running a quilkin instance that was attempting to connect to a non-existent management server, but it did nothing.
What you expected to happen:
The process to exit.
How to reproduce it (as minimally and precisely as possible):
./quilkin -c ./control-plane.yaml run

Interestingly, you can see the log message of "Shutting down" when I hit CTRL-C, but nothing happens.
➜  examples git:(examples/update-configs) ✗ ../target/build-image/x86_64-unknown-linux-gnu/release/quilkin -c ./control-plane.yaml run
{"timestamp":"2022-08-25T20:03:07.310987Z","level":"INFO","fields":{"message":"Starting Quilkin","version":"0.4.0-dev","commit":"578af871f825dc5ca79cfb8c78e1928f2d73ee1d"},"target":"quilkin::cli"}
{"timestamp":"2022-08-25T20:03:07.311644Z","level":"INFO","fields":{"message":"Starting","port":7001,"proxy_id":"my-proxy"},"target":"quilkin::proxy::server","span":{"name":"source::run"},"spans":[{"name":"source::run"}]}
{"timestamp":"2022-08-25T20:03:07.312056Z","level":"INFO","fields":{"message":"Retrying to connect","attempt":1},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}
{"timestamp":"2022-08-25T20:03:07.312111Z","level":"ERROR","fields":{"message":"Unable to connect to the XDS server","error":"tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError(\"tcp connect error\", Os { code: 111, kind: ConnectionRefused, message: \"Connection refused\" })))"},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}
{"timestamp":"2022-08-25T20:03:09.181735Z","level":"INFO","fields":{"message":"Retrying to connect","attempt":2},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}
{"timestamp":"2022-08-25T20:03:09.181826Z","level":"ERROR","fields":{"message":"Unable to connect to the XDS server","error":"tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError(\"tcp connect error\", Os { code: 111, kind: ConnectionRefused, message: \"Connection refused\" })))"},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}
^C{"timestamp":"2022-08-25T20:03:09.312348Z","level":"INFO","fields":{"message":"Shutting down"},"target":"quilkin::cli::run"}
{"timestamp":"2022-08-25T20:03:10.710620Z","level":"INFO","fields":{"message":"Retrying to connect","attempt":3},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}
{"timestamp":"2022-08-25T20:03:10.710709Z","level":"ERROR","fields":{"message":"Unable to connect to the XDS server","error":"tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError(\"tcp connect error\", Os { code: 111, kind: ConnectionRefused, message: \"Connection refused\" })))"},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}
{"timestamp":"2022-08-25T20:03:14.253729Z","level":"INFO","fields":{"message":"Retrying to connect","attempt":4},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}
{"timestamp":"2022-08-25T20:03:14.253849Z","level":"ERROR","fields":{"message":"Unable to connect to the XDS server","error":"tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError(\"tcp connect error\", Os { code: 111, kind: ConnectionRefused, message: \"Connection refused\" })))"},"target":"quilkin::xds::client","span":{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"},"spans":[{"name":"source::run"},{"servers":"[\"http://<IP_ADDRESS>:26000\"]","name":"connect"}]}

Several options:

Then hit CTRL+C to attempt to terminate.
kill the process and see that it is still running.

Anything else we need to know?:
Environment:

Quilkin version: dev
Execution environment (binary, container, etc): binary
Operating system:  Linux/Debian
Custom filters? (Yes/No - if so, what do they do?): No
Log(s): See above.
Others: N/A

This might be fixed by #574 but I'll check tomorrow

I think this might be fixed now.... Should double check.

Yep tested and this is fixed, just forgot to add closes to the PR.


(Fix):Added cluster_id for self connect cluster

Fetched the cluster_id
Created configmap for cluster id

Signed-off-by: Amit Bhatt<EMAIL_ADDRESS>
Exact application name that is under test.

Storage engine that is under test

OpenEBS version if required.
Assumptions of this PR

Notes to reviewer.

Anything else we need to know?

Versions:

$ Kubernetes version
$ Kubernetes platform
$ kubectl version

#289


get list of motors used for scan, put at front of list of counters

Hi Mauro, how's this for better finding motor names from the spec/bliss files.  Basically, it pushes the 'counters' that are also motor names to the front of the list.   I think it's better, but maybe not perfect.  Thoughts?

@maurov I'm going to merge, but if this is not yet good enough, let me know!

@newville thanks for looking into this, but I am afraid your change does not solve the problem with the correct selection of the X array in xas_viewer.
I propose to keep the bytes2str decoding and revert to previous by removing the get_scan_motors method. In fact, "motors" (= one value) and "counters" (= array) are not equivalent.
What I would like to achieve (not easy for me to dig into the Wx GUI part) is simply to choose as X array by default the one that is returned by the get_scan_axis method and keep in the combo box lists for the X and Y arrays selection those returned by get_counters.
If you could do this, it would be great, otherwise I will try doing it by myself and make a pull request. Please, let me know.

@maurov  OK.  Yeah, the bytes2str thing seemed necessary to me.
Would it be OK to make sure "axis" from "get_scan_axis" is first in the list of arrays?    I think that will do what you want and seems to be better (if still not perfect). I just pushed that change, and let me know if that's better.

Would it be OK to make sure "axis" from "get_scan_axis" is first in the list of arrays? I think that will do what you want and seems to be better (if still not perfect). I just pushed that change, and let me know if that's better.

OK, this seems to work, thanks!
Nevertheless, I have reached the following error at a certain point playing with the GUI (from the BLISS example file I sent, click on some ascan, including those with xes_en and then the fscan):
Traceback (most recent call last):
  File "/users/blissadm/local/xraylarch/larch/wxlib/specfile_importer.py", line 653, in onScanSelect
    self.set_energy_units()
  File "/users/blissadm/local/xraylarch/larch/wxlib/specfile_importer.py", line 594, in set_energy_units
    if xname.startswith('_index') or ix >= ncol:
UnboundLocalError: local variable 'ncol' referenced before assignment

I have not tried simply assigning ncol = None if the try: fails because actually it does not fail. Something going weird in the automatic keV->eV conversion.

@maurov I see this too with one H5 BlissSpec scans that you sent. But for that, I see inconsistent data in the HDF5 file too:
>>> import h5py
>>> p = h5py.File('ESRF_ID26-Fe2O3_0001.h5')
>>> p['68.1/measurement'].keys()
<KeysViewHDF5 ['I00', 'I00_raw', 'I01', 'I01_raw', 'I02', 'I02_bot', 'I02_bot_raw', 'I02_top', 'I02_top_raw', 'I04', 'I04_raw', 'I0t', 'I0t_raw', 'ICR', 'IF2', 'IF2_raw', 'IFt', 'IFt_raw', 'OCR', 'apd', 'det_dtc_ICR', 'det_dtc_apd', 'det_dtc_ketek', 'elapsed_time', 'hdh_angle', 'hdh_enc', 'hdh_enc_start', 'hdh_enc_stop', 'hdh_energy', 'ketek', 'mono_angle', 'mono_enc', 'mono_enc_start', 'mono_enc_stop', 'mono_energy', 'sec', 'tau', 'time_start', 'time_stop', 'wbvd_raw', 'zaptime']>
>>> p['68.1/measurement/I00'].shape
(17,)
>>> p['68.1/measurement/ketek'].shape
(20,)
>>> p['68.1/measurement/mono_enc'].shape
(12,)
>>> p['68.1/measurement/mono_energy'].shape
(12,)
>>> p['68.1/measurement/I0t'].shape
(17,)
>>>

With an inconsistent number of measurement points (perhaps an aborted scan?), I think the array data is converted to an "object array" which is basically useless.
Perhaps it is necessary to include a test in get_scan() of the number of points in each data array and select the smallest number -- perhaps that would salvage some of the data?

@newville good catch! OK, I put this test on the list of tasks.


Camera permission not requesting

This works great with picking a file from gallery, but when i use camera, it would crash due to no camera permission. I am using api Android N api 24.

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.secreds/com.mlsdev.rximagepicker.HiddenActivity}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.oneplus.camera/.OPCameraServiceActivity clip={text/uri-list U:content://media/external/images/media/22405} (has extras) } from ProcessRecord{e60a080 21306:com.secreds/u0a189} (pid=21306, uid=10189) with revoked permission android.permission.CAMERA

same issue.

It is asking about gallery permission when camera is selected! Fix please

Fixed in PR https://github.com/MLSDev/RxImagePicker/pull/39
Also, you can use fixed version via jitpack
compile 'com.github.ReginFell:RxImagePicker:b10033d507'


add interval datatype

Is your feature request related to a problem? Please describe.
apache arrow has an interval type that would be helpful for various date operations.
Unlike duration, which is an absolute time, the interval models types that don't necessarily have a precise duration without the context of a base timestamp (e.g. days can differ in length during day light savings time transitions, or years for leap year)
ex: 1 year, 1 month, ...
Describe the solution you'd like
df.select(
  (col("date") + daft.interval('1 year')).alias('date_add_year'),
  (col("datetime") + daft.interval('1 year')).alias('datetime_add_year')
)

Describe alternatives you've considered
no alternatives come to mind.
Additional context
Interval type is needed to properly support tpch q5

closed with https://github.com/Eventual-Inc/Daft/pull/3018


Adding Hover on Footer button #729

🛠 Fixes Issue
#729
👨💻 Changes proposed

change in css file adding some styles for footer buttons
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Your deployment have multiple bugs.

i don't understand where is the bug , i only changed the style on the footer