OneLogin SAML Instructions

Hello All,
Does anyone have instructions on how to setup OneLogin authentication?
I've made what I think are the correct changes to the config.py file, however, the site does not prompt for SSO credentials and local authentication still works.
What I did notice in the config.py file is "{BASE}api/1/auth/onelogin?acs" which when I try to access that URL I receive 404 error. So wondering if I'm missing something in my deployment.
Searched around a bunch but the only reference I've found is to the config file.
Any help would be appreciated.
Thanks,
Fred

OK doing a little more poking around and realized I need https://github.com/onelogin/python-saml
And got to the point of successfully doing the "pip install python-saml"
What I'm not clear on is this section:
Copy the core of the library (src/onelogin/saml2 folder) and merge the setup.py inside the python application. (each application has its structure so take your time to locate the Python SAML toolkit in the best place).
Any help would be appreciated.
Thanks,
Fred

Hey @fstuck37 - The python-saml is an optional dependency we define in setup.py
https://github.com/Netflix/security_monkey/blob/93092a630072900f4e5eeb9c0729f53a7bc52eea/setup.py#L70
However, your pip install should also work just fine.  The python-saml module requires a couple dependencies that must be installed with something like apt-get
sudo apt-get install libxml2-dev
sudo apt-get install libxmlsec1-dev

I don't believe these instructions are necessary:

Copy the core of the library (src/onelogin/saml2 folder) and merge the setup.py inside the python application. (each application has its structure so take your time to locate the Python SAML toolkit in the best place).

Make sure your config has the ACTIVE_PROVIDERS set:
ACTIVE_PROVIDERS = ['onelogin']

If you're still having trouble, see if the onelogin_import_success bool is set to True in this file:
https://github.com/Netflix/security_monkey/blob/813a0c69958f803f7eefa4e7da246325dde593ce/security_monkey/sso/views.py#L361
Maybe change this:
if onelogin_import_success:
    api.add_resource(OneLogin, '/auth/onelogin', endpoint='onelogin')

to this:
if onelogin_import_success:
    api.add_resource(OneLogin, '/auth/onelogin', endpoint='onelogin')
    current_app.logger.debug('onelogin should be good to go')
else:
    current_app.logger.debug('onelogin import failure')

And check the logs to see if onelogin imported correctly.

Thanks for the info I think I'm getting further however it's still not working.
So I get this error:
File "/usr/local/src/security_monkey/venv/lib/python2.7/site-packages/Flask_RESTful-0.3.3-py2.7.egg/flask_restful/init.py", line 473, in url_for
endpoint = resource.endpoint
which tracing that down points to the file you suggested since it won't set the endpoint if the import isn't successful.
So I guess I'm back to, I know I'm missing an install step for OneLogin to get that working.
I'm thinking I need to do a python setup.py for OneLogin with some parameters but really not clear what's needed to tie it in with Security Monkey.
Any suggestions would be appreciated.
Thanks again,
Fred
P.S. My thanks to the entire Security Monkey team for releasing this great tool!

Did you run the apt-get install commands I pasted?
Were you in your virtualenv when you ran the pip install ?
When in your virtualenv, can you run a pip freeze and make sure both python-saml and security_monkey show up?

This is how you might tell setup.py to install the extras, but it literally does the same thing as your pip install.
python setup.py develop
pip install .[onelogin]

Here's the code that actually imports the library:
https://github.com/Netflix/security_monkey/blob/813a0c69958f803f7eefa4e7da246325dde593ce/security_monkey/sso/views.py#L18
try:
    from onelogin.saml2.auth import OneLogin_Saml2_Auth
    from onelogin.saml2.utils import OneLogin_Saml2_Utils
    onelogin_import_success = True
except ImportError:
    onelogin_import_success = False

so maybe open python up interactively and try to import the onelogin stuff:
 $ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from onelogin.saml2.auth import OneLogin_Saml2_Auth
>>> from onelogin.saml2.utils import OneLogin_Saml2_Utils

OK That helped and lead me to a segmentation fault with the import.
This was part of the fix:
https://github.com/4teamwork/ftw.saml2auth/issues/3
--- /usr/bin/xmlsec1-config.orig
+++ /usr/bin/xmlsec1-config
-the_flags="$the_flags  -D__XMLSEC_FUNCTION__=FUNCTION -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_XKMS=1 -DXMLSEC_DL_LIBLTDL=1 -I/usr/include/xmlsec1   $the_xml_flags $the_xslt_flags $the_crypto_flags"
+the_flags="$the_flags  -D__XMLSEC_FUNCTION__=FUNCTION -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_XKMS=1 -DXMLSEC_DL_LIBLTDL=1 -DXMLSEC_NO_SIZE_T -I/usr/include/xmlsec1   $the_xml_flags $the_xslt_flags $the_crypto_flags"
So I kept poking around and found this:
https://github.com/onelogin/python-saml/issues/30
And found this in the thread and stopped getting the seg fault during the import.
pip uninstall dm.xmlsec.binding
pip install dm.xmlsec.binding
Still looking to see if there is a cleaner fix, however, this did the job.
I'm now seeing the OneLogin button when I go to the login page!!!!
I'll confirm that it works tomorrow as I have to have the OneLogin team make a change.
Thanks for all the help!
Fred

Success!
Had to make some OneLogin and config.py changes but with the above, I was able to get OneLogin working with Security Monkey.
Thanks again to the Security Monkey team for releasing this publicly.
What a great tool!!
Thanks,
Fred

@monkeysecurity - I was going to write a doc on how to do various things like setting up OneLogin etc.
Would it be a Pull Request or some other method

@fstuck37 Can you elaborate on what changes you made to config.py and on the OneLogin side?
I've faced the previous issues that you've encountered, but now I'm getting authentication errors. I have a SAML Test Connector (IdP w/attr) set up, so I can access the app via the OneLogin portal, but the IdP isn't sending the correct response to the SP.
Error from log file:
ERROR: Error processing invalid_response
Error message from webpage:
{"message": "OneLogin authentication failed."}

@EmptyLaughter Unfortunately I had it working in our development environment and got side tracked with the deployment. When I returned and tried to deploy to production it no longer worked.
I need to find time to get it working again but here is what I was doing:
ONELOGIN_APP_ID = OneLogin Application ID
ONELOGIN_X509CERT = OneLogin Certificate
sed -i "s/<APP_ID>/${ONELOGIN_APP_ID}/" /usr/local/src/security_monkey/env-config/config.py
sed -i "s#<ONELOGIN_APP_CERT>#${ONELOGIN_X509CERT}#" /usr/local/src/security_monkey/env-config/config.py
sed -i "s/User.email/User.email/" /usr/local/src/security_monkey/env-config/config.py
sed -i "s/'View'/'View'/" /usr/local/src/security_monkey/env-config/config.py
Thanks,
Fred


Upgrade bridge UI to work with latest fuel-core v0.20

this was already done in other PR. fuel-core RN is in 0.20.5


Na n check

[x] Do you understand how this feature / bug fix works?
[x] Are you confident that the feature / bug fix doesn't cause a regression.
[x] Are new public methods and properties documented.
[x] Is code maintainable (D.R.Y., no magic numbers, well named methods and variables)
[x] Does code adhere to the design pattern adopted by the project? MVVM for example: Controllers / views only communicate with ViewModels, never models directly.
[x] Code Style: does code adhere to objective-clean / NYTimes Style guide for objc. Ray Wenderlich style guide for Swift?
- [ ] Unit tests cover the full scope of the feature
- [ ] Unit tests run in "Airplane Mode" and pass locally or on Travis CI (if tests pass locally but not on travis we can spin open a chore to fix the build for Travis)

[x] Do you understand how this feature / bug fix works?
[x] Are you confident that the feature / bug fix doesn't cause a regression.
[x] Are new public methods and properties documented.
[x] Is code maintainable (D.R.Y., no magic numbers, well named methods and variables)
[x] Does code adhere to the design pattern adopted by the project? MVVM for example: Controllers / views only communicate with ViewModels, never models directly.
[x] Code Style: does code adhere to objective-clean / NYTimes Style guide for objc. Ray Wenderlich style guide for Swift?
- [ ] Unit tests cover the full scope of the feature
- [ ] Unit tests run in "Airplane Mode" and pass locally or on Travis CI (if tests pass locally but not on travis we can spin open a chore to fix the build for Travis)


Expecting to have a collection of objects with sql query requests

Describe the feature: When working with query I want to have opportunity to expect an exact typed object or collection of objects.
Currently I'm doing this with the reflection:
            var res = new List<T>();
            var q = new QuerySqlRequest()
            {
                Query = req,
                Format = "json"
            };
            var resp = await _elasticClient.Sql.QueryAsync(q);
            var type = typeof(T);
            for (int i = 0; i < resp.Rows.Count; i++)
            {
                var newObj = new T();
                for (int j = 0; j < resp.Columns.Count; j++)
                {
                    var defaultCol = resp.Columns.ElementAt(j).Name;
                    var column = defaultCol.Substring(0, 1).ToUpper()[0] + defaultCol.Substring(1);
                    if (type.GetProperties().Any(el => el.Name == column))
                    {
                        type.GetProperty(column).SetValue(newObj, resp.Rows.ElementAt(j).ElementAt(i));
                    }
                }
                res.Add(newObj);
            }
            return res as List<T>;

Hi @Nastya-Scherbakova, thank you for raising this issue.
You are right in detailing that this API returns a collection of columns and rows (https://github.com/elastic/elasticsearch-net/blob/7.x/src/Nest/XPack/Sql/QuerySql/QuerySqlResponse.cs)
...this is as per the API endpoint: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-rest-format.html#_json
Your approach to use reflection to set properties on a new instance seems reasonable.
We could consider implementing some kind of helper method in NEST to achieve the same outcome - although I suspect it may be tricky to cater for all cases.
Thoughts @Mpdreamz @russcam ?

Another option over using reflection would be to:

Use the translate SQL API to get the respective Elasticsearch query DSL for a SQL query, using the low level client
Execute the query using the low level client, returning the response as a high level SearchResponse<T>, where T is your document type.

For example
var client = new ElasticClient();

// use high level translate SQL request type
var request = new TranslateSqlRequest
{
	Query  = "SELECT title, score from posts where type = 'Question' order by score DESC LIMIT 10"
};

var sqlResponse = client.LowLevel.Sql.Translate<StringResponse>(PostData.Serializable(request));
var queryDsl = sqlResponse.Body;
var searchResponse = client.LowLevel.Search<SearchResponse<Question>>("posts", queryDsl);

foreach (var hit in searchResponse.Hits)
{
	var question = hit.Source;

	// returned as doc value field
	var score = hit.Fields.ValueOf<Question, int>(f => f.Score);

	Console.WriteLine($"{question.Title}: {score}");
}

which yields
Why is it faster to process a sorted array than an unsorted array?: 23057
How do I undo the most recent local commits in Git?: 19640
How do I delete a Git branch locally and remotely?: 15249
What is the difference between 'git pull' and 'git fetch'?: 11008
What is the correct JSON content type?: 9701
What does the "yield" keyword do?: 9246
What is the "-->" operator in C++?: 8305
How to undo 'git add' before commit?: 8144
How do I redirect to another webpage?: 7729
How to modify existing, unpushed commit messages?: 7673

Note, some fields may come from source filtering, whilst others may be doc value fields in the translated SQL request.

With the above, you would only need to translate the query once, and then re-use the translated version multiple times.
Interesting approach!

Closing due to age/inactivity. Please let us know if this issue is still a relevant priority for your usage?


WIP - Integrate folding with IVC

This was merged in a PR train culminating with https://github.com/o1-labs/proof-systems/pull/2386


Appstudio update hacbs-test-project-qm0x

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: hacbs-test-project-qm0x-on-pull-request-
creating pipelinerun hacbs-test-project-qm0x-on-pull-request- in namespace rhtap-demo-hbru-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


text format cluster output for make_tall_trees.py

Hi!dear team,
Using the tcr-dist plug-in find a surprise result that i really care about,especially the result of make_tall_trees.py,but make_tall_trees.py just output a figure output,as shown below:

in this fingure , the seq-logo sub-cluster result in the left is really i want , Can this result be output to text cluster by cluster? Looking forward to your reply,thanks

Hi there @xf78 thanks for your interest in tcr-dist! Can you clarify-- what information from the boxed image would you like? Is it the actual clones that are present in those boxed clusters whose logos are being shown? Or the CDR3 amino acid frequencies? Or the v-gene frequencies?

Thank you for your reply@phbradley, yes, those showing logos subcluster present actual clones ,so i want each showing logos subcluster's information,especially,  which TCR ids included in each showing logos subcluster,can output this information to text file,just like below(just an example):

Looking forward to your reply,thanks!


[Bug]  model.chat spend too much time

Describe the bug

from modelscope import snapshot_download, AutoTokenizer, AutoModelForCausalLM
import torch
# model_dir = snapshot_download('Shanghai_AI_Laboratory/internlm-chat-7b-v1_1', revision='v1.0.0')
import time

model_path = '/home/user/Shanghai_AI_Laboratory/internlm-chat-20b'

tokenizer = AutoTokenizer.from_pretrained(model_path, device_map="auto", trust_remote_code=True,torch_dtype=torch.float16)
model = AutoModelForCausalLM.from_pretrained(model_path,device_map="auto",  trust_remote_code=True,torch_dtype=torch.float16)
model = model.eval()

print('######################')
time1 = time.time()
response, history = model.chat(tokenizer, "hello", history=[])
print(response)
time2 = time.time()

print('######################22222222222222#######################')
response, history = model.chat(tokenizer, "please provide three suggestions about time management", history=history)
print(response)
time3 = time.time()

print("Dtime1: ", time2 - time1)
print("Dtime2: ", time3 - time2)

(xtuner) ➜  xtuner git:(main) ✗ python infer.py
2023-10-23 05:14:02,099 - modelscope - INFO - PyTorch version 2.0.1 Found.
2023-10-23 05:14:02,100 - modelscope - INFO - Loading ast index from /cpfs01/user/huwenxing/.cache/modelscope/ast_indexer
2023-10-23 05:14:02,187 - modelscope - INFO - Loading done! Current index file version is 1.9.3, with md5 14869bb8671bb512c48170a356071b67 and a total number of 943 components indexed
[2023-10-23 05:14:02,953] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████| 5/5 [00:17<00:00,  3.47s/it]
######################
Hello! How can I assist you today?
######################22222222222222#######################
Sure, here are three suggestions for time management:

1. Prioritize your tasks: Make a list of all the tasks you need to complete and prioritize them based on their importance and urgency. This will help you focus on the most important tasks first and avoid wasting time on less important ones.

2.  This will help you stay organized and ensure that you don't miss any important deadlines.

3. Take breaks: It's important to take breaks throughout the day to recharge and avoid burnout. Try taking short breaks every hour or two to stretch, walk around, or do something that relaxes you. This will help you stay focused and productive throughout the day.
Dtime1:  22.712210416793823
Dtime2:<PHONE_NUMBER>7059937

Environment
(xtuner) ➜  xtuner git:(main) ✗ pip show transformers
Name: transformers
Version: 4.34.1

(xtuner) ➜  xtuner git:(main) ✗ pip show torch
Name: torch
Version: 2.0.1

Other information
No response

Solved. Problem caused by users (e.g., using CPU for inference)


Template tags result in JSON Parse error when used as number

Describe the bug
Sorry if this is a duplicate of an existing issue. This issue is related to https://github.com/Kong/insomnia/issues/973 but with a JSON body instead of a Query.
In my case I'm attempting to send a POST request to API that requires time to be provided as a number and not a string. If I use CTRL+Space and select the Unix Timestamp tag, the query correctly sends but the JSON parser will have an error due to the template syntax not being valid json.
For example:
[
	{
		"name": "blah",
		"interval": 10,
		"value": 100,
		"time": {% now 'unix', '' %}
	}
]

Results in this parse error:

Is pre-evaluating Template tags before the string is passed to the linter at all an option, or would that be dangerous/slow? I can see how for very large bodies with lots of tags that could be slow since the linter might run every time you make a change.
Desktop (please complete the following information):

OS: Windows 10
Installation Method: Download from Website
App Version:

Additional context
Add any other context about the problem here.

Hey @JohannesMP , just try to enclose the template tag inside double quotes. It works for me just fine in Insomnia v2021.2.2.

This may be possible by extending the linting logic to accept template tag syntax (that's already done for a separate use-case here but it seems like a fairly complex approach.
If it suits, for now I suggest wrapping your template tag in double-quotes to make it valid JSON as described in a comment above!

+1 for this issue, in my use case the JSON data is validated and cannot be enclosed in quotes:


Effectiveness of attack on Cloudflare protected site

I see that app attacking https://www.pravda.ru for many hours. The response is always 403 OK. This site is protected by Cloudflare.
I am curious about effectiveness of app work for such target (I assume it's useless).

Does somebody have an idea?

Its effective when we have enough proxies. We have a lot of successful examples on targets channel in our discord community.
https://media.discordapp.net/attachments/948172643989880933/951488160976748624/unknown.png
https://media.discordapp.net/attachments/948172643989880933/950079071738544198/unknown.png?width=1440&height=441
we are working on CF punch through :)

Got it, thanks!


Automata Core .digBlock() doesn't respect sides

Describe
When using the .digBlock() function of the Automata core it doesn't break blocks from the side that the turtle would be interacting with. As an example this is a problem when using tools that dig 3x3 or 5x5 areas.
It should also be noted that the .digBlock() function has one extra reach when it breaks blocks which is inconsistant with vanilla ComputerCraft .dig() where the block has to be against the turtle's nose.
Steps to reproduce

Make turtle.
Equip Automata Core.
Give a hammer that digs larger sizes.
lua
auto = peripheral.wrap("left")
auto.digBlock()

Multiplayer?
No
Version
1.18.2-0.7.23r
Minecraft, Forge and maybe other related mods versions
Minecraft 1.18.2 - Forge 40.1.92
Screenshots or Videos
https://clips.twitch.tv/VastZanyAardvarkNinjaGrumpy-GOCZDA493yvF-eLB
Crashlog/log
No response

Well, digBlock is supposed to emulate player left click, so extra range is fine, I guess..

I was unaware that digBlock was supposed to be the generic left click action, some things to consider when making digBlock the defacto left click.
Sometimes you want to emulate a simple left click. eg. Turtle touching monitors without breaking them. Swinging swords without breaking blocks. Using tools that have left click actions in general, and some that can be accessed with a shift left click if your fake player can access them.
Possibly a use case for adding automata.swing(shift)?
digBlock having one extra reach compared to vanilla dig means you can't drop it into programs that are designed around only having one range.
Example: Lets say you found a script on the ComputerCraft forums and you wanted it to have silktouch with your fancy Automata upgrade, The script digs a zig zag through a wall.
-- Start
-- #########
-- #########
-- #########
-- #########

-- Desired
-- #####  ##
-- ####  ###
-- ###  ####
-- ##  #####
while true do
  turtle.dig()
  turtle.forward()
  turtle.turnRight()
end

If you're attempting to upgrade a program that doesn't account for empty spaces all of a sudden the zigzag would break extra blocks if runs into a hole.
-- Start
-- #########
-- #########
-- ### #####
-- #########
-- uh oh
-- #####  ##
-- ###   ###
-- ###  ####
-- ##  #####

For a small program retrofitting in an extra detect before every dig isn't too bad, but for large programs it's definitely a bigger problem when two dig functions don't work the same.

Currently thinking about how I could do that without a breaking change
Something like an optional parameter would be the best, I guess
I also found a bug(?) where some "harder" blocks do not get destroyed instantly.
Tested with an iron pickaxe and an iron block. The block only gets destroyed after the second time digBlock gets called
Not sure if Edvin made that on purpose - but I need to look into that

The most of this logic comes from original Plethora logic. So, Plethora has logic that tries to care about tool performance (harded block mines faster with better tools), I migrated this code as much as I can.
But in any case, you can just change this method in way that you would think will be best. This also the reason, why this will not work for retrofitting, it was supposed to be used in pair with look method.

digBlock having one extra reach compared to vanilla dig means you can't drop it into programs that are designed around only having one range.

In my case it was designed to retrofit into plethora code, I hope.

Something like an optional parameter would be the best, I guess

I guess, you can just add optional "mode" parameter

for the parameter, maybe is the yaw and pitch relative to the heading?

dup IntelligenceModding/Advanced-Peripherals-Features#43

No sorry, it's not


fixed the response code when copying the file from shares to personal space

Related Issue #9482

From an API test point-of-view, I think test coverage is related to issue https://github.com/owncloud/ocis/issues/8428
API tests have not been added yet for this case. And I think that we have been asked not to add test scenarios that fail (for example, due to a known reported bug like this). So there won't be an API test scenario that starts passing.
To verify the fix at the API level, someone would need to add a test scenario to the ocis API tests, then make that test run here (an extra PR from here that uses the new branch in ocis as the source for the tests).
But maybe you are just referring to unit tests? @fschade I am not sure what level of test you mean.

From an API test point-of-view, I think test coverage is related to issue owncloud/ocis#8428 API tests have not been added yet for this case. And I think that we have been asked not to add test scenarios that fail (for example, due to a known reported bug like this). So there won't be an API test scenario that starts passing.
To verify the fix at the API level, someone would need to add a test scenario to the ocis API tests, then make that test run here (an extra PR from here that uses the new branch in ocis as the source for the tests).
But maybe you are just referring to unit tests? @fschade I am not sure what level of test you mean.

Yes exactly, not a logic test, more like a behavior test :)
thanks for the detailed explanation

We have a PR #9437 to cover the behavior but not merged because it was not fixed yet. We will test and report if the fixes worked with the new test scenarios.

Also, we do not have secure-view role test scenarios in coreApi tests (test suites running for reva). Secure view tests only runs in ocis ci because we do not run ocis api test suites in reva.

LGTM, one thing, since there was no red ci, i expect we have not tested this code path in the past... could you add some tests for  httpDownloadRes.StatusCode == http.StatusForbidden.
just in case, why do you return nil instead of the err?
THANKS 🤗

We return the nil because the error will be handled as a 500


Installing from .vsix not clear for Mac

 Issue by samisawso2
Monday May 07, 2018 at 16:35 GMT
Originally opened as https://github.com/ballerina-lang/plugin-vscode/issues/57

The commands does not work on Mac. Need better instructions.

@samisawso2 The option 2 from here should work on any platform.

Please reopen if the updated linked instructions are not clear enough or not accurate.


Snowflake ALIAS_QUOTE_CHAR seem to be wrong

Hi all,
we at Joyn have recently started using pypika and we love it. There is only one issue, the SnowFlakeQueryBuilder alias quote char seem to be wrong as it leads to queries that snowflake does not accept. As an example
from pypika.dialects import SnowflakeQuery
from pypika import Table
t = Table("tbl")
q = SnowflakeQuery().from_(t).select(t.name.as_("aliased_name"))
print(q)
### outputs
SELECT name "aliased_name" FROM tbl

Expected output would be
SELECT name aliased_name FROM tbl

To fix that, we have to set
SnowFlakeQueryBuilder.ALIAS_QUOTE_CHAR = None in every file and project. Not sure if this is something that could be fixed directly in the lib

There was a similar issue with Postgresql recently, fixed in https://github.com/kayak/pypika/pull/411.
If you have time to fix this feel free to raise a PR against the repo!

@Shawe82 I am going to roll back the fix for this, as there are use cases where double quotes around alias' are required, e.g. if a special character such as a $ is used in the alias.
If you provide more info as to what the snowflake error is, we can look at supporting all the valid use cases.

Thanks for letting me know. I just got the info from a colleague so I had to recheck. The issue is I think rather in joins. So for example
from pypika import Table
from pypika.dialects import SnowflakeQuery
t1 = Table("data1")
t2 = Table("data2")
q1 = SnowflakeQuery.from_(t1).select(t1.b).as_("q1")
q2 = SnowflakeQuery.from_(t2).select(t2.b).as_("q2")
q3=SnowflakeQuery.from_(q1).join(q2).on(q1.b==q2.b).select("*")

would result in
SELECT * FROM (SELECT b FROM data1) "q1" JOIN (SELECT b FROM data2) "q2" ON q1.b=q2.b  which doesn't work. What would work is either
SELECT * FROM (SELECT b FROM data1) q1 JOIN (SELECT b FROM data2) q2 ON q1.b=q2.b  so no quote chars around query aliases, or
SELECT * FROM (SELECT b FROM data1) "q1" JOIN (SELECT b FROM data2) "q2" ON "q1".b="q2".b so using the quote chars when referring to the aliases.


Added some docs to simplify getting started

Require('meme')

Description
Added the fields from the defaults objects used in the constructors of the two network types documented in the example section - to an object which is not documented currently but appears to allow networks to be configured quite easily. This makes it much easier for people to get up and running.
Motivation and Context
For those who want to get up and running quickly and only read the monospace fonts - it should be immediately apparent both how to configure the networks and how they behave by default.
How Has This Been Tested?
Spellcheck.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Author's Checklist:

[ ] My code focuses on the main motivation and avoids scope creep.
[ ] My code passes current tests and adds new tests where possible.
[ ] My code is SOLID and DRY.
[x] I have updated the documentation as needed.

Reviewer's Checklist:

[ ] I kept my comments to the author positive, specific, and productive.
[ ] I tested the code and didn't find any new problems.
[ ] I think the motivation is good for the project.
[ ] I think the code works to satisfies the motivation.

Nice work!


Don't include chopped blocks when calculating number of supported blocks

...they've already been broken, they don't need to be broken again. When there are contiguous chopped blocks, this will also stop lower blocks from requiring more total chops than higher blocks.

Actually, maybe chopped logs should be counted. Either way, if a chopped block adds its chops to a lower chopped block, the support size of the lower block should be used.


OCPBUGS-15609: docs - add AWS CLI commands for STS instructions

This PR updates the documentation about the manual configuration for STS clusters. The main goal is to provide AWS CLI commands as alternative to ccoctl commands because the latter

is not available on some OSes (Mac, Windows)
doesn't provide a convenient way for the installation
not transparent about the AWS permissions it takes from the user's AWS credentials

Makefile's generate target is updated to generated the missing permission policy for the operator. This permission policy is required by AWS to create IAM role.
Manual test on ROSA STS cluster:
$ oc get awsloadbalancercontroller cluster -o yaml | yq .spec
credentials:
  name: aws-load-balancer-controller-cluster
ingressClass: alb
subnetTagging: Auto

$ oc -n aws-load-balancer-operator get pods
NAME                                                            READY   STATUS    RESTARTS   AGE
aws-load-balancer-controller-cluster-64697c78bf-chdkn           1/1     Running   0          16m
aws-load-balancer-operator-controller-manager-c67f6b5cf-gvxgs   2/2     Running   0          166m

$ oc -n aws-load-balancer-operator get pods aws-load-balancer-controller-cluster-64697c78bf-chdkn -o yaml | yq .spec.volumes
- name: aws-credentials
  secret:
    defaultMode: 420
    secretName: aws-load-balancer-controller-cluster

$ oc -n aws-load-balancer-operator get pods aws-load-balancer-operator-controller-manager-c67f6b5cf-gvxgs -o yaml | yq .spec.volumes
- name: aws-credentials
  secret:
    defaultMode: 420
    items:
      - key: credentials
        path: credentials
    secretName: aws-load-balancer-operator

$ oc -n aws-load-balancer-operator get secret aws-load-balancer-operator -o yaml | yq .data.credentials | base64 -d
[default]
sts_regional_endpoints = regional
role_arn = arn:aws:iam::269733383066:role/albo-operator
web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token

$ oc -n aws-load-balancer-operator get secret aws-load-balancer-controller-cluster -o yaml | yq .data.credentials | base64 -d
[default]
sts_regional_endpoints = regional
role_arn = arn:aws:iam::269733383066:role/albo-controller
web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token

/jira refresh

/jira refresh

/jira refresh

/assign

Remove unnecessary diff  introduced by a wrong indent in docs/prerequisites.md.

After created a  rosa  sts cluster and followed the steps, both the aws lb operator pods and aws lb controller pod are created successfully.
`
1.
sh-3.2# rosa list cluster
ID                                NAME      STATE  TOPOLOGY
25vfjt0bu7pb59famhcql5q5a3ibai36  sdli0901  ready  Classic (STS)
sh-3.2#
2.
sh-3.2# oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.13.9    True        False         7h52m   Cluster version is 4.13.9
sh-3.2#
3.
sh-3.2# oc -n aws-load-balancer-operator get all
NAME                                                                 READY   STATUS    RESTARTS   AGE
pod/aws-load-balancer-controller-cluster-64df4bfdb5-drkxv            1/1     Running   0          13m
pod/aws-load-balancer-operator-controller-manager-85795d888f-gslh5   2/2     Running   0          48m
NAME                                                                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
service/aws-load-balancer-controller-cluster                            ClusterIP   <IP_ADDRESS>           9443/TCP,8080/TCP   13m
service/aws-load-balancer-operator-controller-manager-metrics-service   ClusterIP   <IP_ADDRESS>           8443/TCP            48m
service/aws-load-balancer-operator-controller-manager-service           ClusterIP   <IP_ADDRESS>           443/TCP             48m
service/aws-load-balancer-operator-webhook-service                      ClusterIP   <IP_ADDRESS>            443/TCP             48m
NAME                                                            READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/aws-load-balancer-controller-cluster            1/1     1            1           13m
deployment.apps/aws-load-balancer-operator-controller-manager   1/1     1            1           48m
NAME                                                                       DESIRED   CURRENT   READY   AGE
replicaset.apps/aws-load-balancer-controller-cluster-64df4bfdb5            1         1         1       13m
replicaset.apps/aws-load-balancer-operator-controller-manager-85795d888f   1         1         1       48m
sh-3.2#
`
/lgtm
thanks

/docs-approved


early out if pattern array is empty

While testing Vite beta with Astro, I noticed that if passed an empty patterns array, tinyglobby is still crawling all the files even though the result will always be empty. The result seems to be the same with fast-glob.
This PR creates a fast path to early out if so. I'm not sure if this is the right place to put it, or if you'd consider this an edge case not worth handling.
I'm happy to fix this on Vite side too. It was happening in this Vite code where we passed an empty patterns array without an ignore config, so it's crawling everything including node_modules stalling the process. (I think Vite should probably add some ignores there anyway otherwise if patterns have any value, it's still going to be slow. I'll fix this)

thanks for the pr, wouldn't this break the following usecase? due to returning a sync value
glob([]).then(files => whatever)

Oh you're right. Need to check the sync option and optionally wrap with Promise.resolve I think


Final pytest migration

WIP

Just two files left
test_idaklu_jax.py : remove parameterized dependency.
test_solution.py : problem with converting assertLogs to pytest

Unfortunately, there's no standard way to replace self.assertLogs() as far as I could find. I think the best way is to hack into PyBaMM's logger and retrieve the result you want, which is okay since we have just one test that uses this. For example,
import io
import logging
log_capture = io.StringIO()
handler = logging.StreamHandler(log_capture)
handler.setLevel(logging.ERROR)
logger = logging.getLogger('pybamm.logger')
logger.addHandler(handler)

and then, if you run the code that should produce the logger warning: pybamm.Solution(ts, bad_ys, model, {}), you can check the output using log_capture.getvalue() and check if "exceeds the maximum" string is in there. Later, you can destroy the handler using logger.removeHandler(handler) and clean it up, so that it doesn't affect any other tests. This worked for me as a quick experiment, could you try and see how it holds up in the test suite?

@prady0t, how is this going? The tests are all already passing here, and the approach I suggested should be okay in general – it works on my machine. Please let me know if you need additional help with this.

Hi. I've updated the files. Lets wait for CI to run.


Decryptor problem with AES-GCM

Hi, I hope my message finds you well.
I'm currently having some problems when updating Ligh4J from version 2.1.9 to a newer one. I'm encrypting my passwords using AES-GSM(256), but I'm no longer able to decrypt them. I've checked the past PRs and I saw this one: https://github.com/networknt/light-4j/pull/1687
The regex to mark a string as a CRYPT changed and my passwords don't match it anymore (special characters are gone, for instance). As far as I know, AES-GCM doesn't use salt, but initialization vectors. However, it's true that I'm not an expert in cryptography. My question here is about the fact that we can't use our own decryptors as they were before. Should we change our encryption?
Thank you very much and best regards.

@AdrianGDuarte Yes. In the newer version, we have removed AESDecryptor as many users are using it, which is unsafe. It was a reference implementation to showcase how to implement customized Decryptor, but many users don't want to implement their own. To address this security vulnerability, we have to remove it and replace it with a safe implementation AESSaltDecryptor.
Also, the Config module is updated to automatically load the decryptor from the startup.yml (built-in) so you don't need to have the Decryptor interface and implementation defined in the service.yml anymore.
What you need to do is to re-encryptor your secret with https://github.com/networknt/light-encryptor repo. You need to choose your own password for encryption and pass the password as an environment variable to the light-4j instance.
Let me know if you have any questions. Thanks.

@stevehu thank you very much for your reply.
However, there's still something I don't fully understand: can we still use our own Decryptor implementation or is it mandatory to use the built-in one?
Thanks!

Hi @stevehu , we've been impacted by this change as well. In our case, we were using our own decryptor, so it's a relief reading that we can keep using it. However, with the regex mentioned by @AdrianGDuarte, our own decryptor no longer works.
Is there a way to use a customised regex for that case, something that could be parametrized from a config file? We understand the rationale behind the commit ,  but also changing the encryption system from one version to the other is probably too tough for many Light4j users (including ourselves). Allowing us to keep the previous regex, even if not secure as should be, would allow us to jump into a better encryption system in the future, without forcing us to be stuck on an older version of Light4j until the required changes are applied.

@ForwardKeys and @AdrianGDuarte I am guessing your encryptor and decryptor using a different format that is not passing the regex validation, which starts with CRYPT. At the moment, I don't see the changes for the String validation, and both the new format and the old format are the same in the generated secret. I am wondering if you could elaborate a little bit more or pin point the problematic line of code. We can resolve the issue easily if I understand it. Thanks.

Sorry @stevehu, I didn't explain myself. Prior to the commit in 1687, the regex was:
 public static final Pattern CRYPT_PATTERN = Pattern.compile("^CRYPT:([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$");
However, after that commit, the pattern is now:
 public static final Pattern CRYPT_PATTERN = Pattern.compile("CRYPT:[a-f0-9]+:[a-f0-9]+");
The new CRYPT regex expects a salt, and also the allowed values are more restrictive. That change has rendered all of our passwords invalid, because the customised decryptor we were using has adapted to that regex. That's why we were asking if there is any way of using the old regex pattern, like allowing a config file to set a customised one, so we can use the former pattern.
Changing all of the encrypted passwords in production environment to be adjusted to this new regex pattern would be delicate and time consuming.

@ForwardKeys @AdrianGDuarte Could you please review the PR and let me know if this should work for your use case?

Much appreciated @stevehu, it will indeed fix it


completed the issue

I solved the issue on the broken download section in the terms and conditions screen.

Solved


Binary in releases

First of all... Why did I not find this earlier??? Such a great tool! Rust and cross platform, best combo!
I know this project is in its early steps and also only you, @volllly , develop it, so I guess you dont have the time to package it to all platforms. As a temporary solution can you add a step to github actions to build binaries for several platforms? Also add some example one-liner to curl / wget / Invoke-WebRequest them to ~/.bin or something. It would be much easier to not install rust on every computer.

Hey, glad you like it 😁
You have a very good point it should be easier to install Rotz.
There is already a draft PR to add binaries to the releases (#98). I just have not yet gotten around to finish it.
The next steps would then be to provide oneliners to install Rotz or small install scripts (like rustup curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh or scoop irm get.scoop.sh | iex have).

Later I would like to add Rotz to scoop and winget for windows as well as homebrew on macos and im thinking nix, snap or flatpak for linux.

@ADIX7 The latest release now includes binaries 😁🎉


Contributing as part of Hacktoberfest 2022!

**You're one step away of starting your contribution and becoming our HacktoberHero :heart_eyes: **.
Before you start, check out our article and please follow these rules:

Choose any issue labeled with https://github.com/process-analytics/process-analytics.dev/labels/hacktoberfest.
Add a comment :pencil2: on the chosen issue to express your desire to work on it. In principle, the issue should not be assigned to someone else. We will try to respond to you as quickly as possible, to give you any required information and to assign you the issue.
Please commit :pushpin: to the assigned issue, and in case of unavoidable change, let us know as early as possible.
Read carefully :scroll: the issue description and follow the general contribution guidelines, in addition to any specific guideline mentioned in the issue. In any doubt, contact us directly via Github or on our discord channel.
Once done, create your PR request :fire: and 🤞

Hacktoberfest 2022 is over, see you next year!


fix(electric,elixir-client): Write static version string to mix.exs prior to publishing

Fixes #2179

I'm not against this approach, but in elixir-client it's solved just by including package.json in published filies. Maybe it's easier to just do that here too?


Feature request: custom message

It would be great to be able to display one or more custom messages from homeassistant via mqtt.
Further showing select sensors from homeassistant such as room temperature, currently playing music and so on

I like that idea to send a simple custom string to picframe via MQTT. We could use the same setup like the clock string?
But for more complex layouts, I'm still not convinced this should be part of picframe. For that I'm using picframe-overlay. Using html + css you could render the most complex overlays.

Sound like a plan. MQTT messages would be great for status messages but could potentially also be used for simple measurements such as room temp or similar

I have problems getting picframe-overlay to work on my raspberry pi as picframe stops working as soon as I enable the fake gl driver. Is there a way to overlay something else e.g. conky on top of the picframe?

What kind of Pi do you have? I'm using picframe on a pi 3B+ with G1 legacy driver. But on Pi4 the recommendation for picframe is G2 GL Fake KMS.
If you boot to a graphical desktop, you could put any program on top of picframe. But the problem is, how to control it. picframe-overlay based on electron is simply spoken just a full screen transparent chrome browser, which could remotely be controlled. So you would be able to load any webpage you like. In default, it shows an empty (transparent background) page, so picframe is visible.

I have a raspberry pi zero w running the picframe. The picframe seems to be running "above" the desktop. It is for example not visible when connecting using x11vnc and everything I run runs "below" it. Maybe it is because it is launched using systemd according to the guide here https://www.thedigitalpictureframe.com/how-to-add-crossfading-slide-transitions-to-your-digital-picture-frame-using-pi3d/#Automatically_start_the_Pi3D_slideshow_at_boot
Create a new service file
mkdir ~/.config/systemd/user/ -p && nano ~/.config/systemd/user/picframe.service
and paste the following text into the file
[Unit]
Description=PictureFrame on Pi3

[Service]
ExecStart=/home/pi/.local/bin/picframe ~/picframe_data/config/configuration.yaml
#Restart=always

[Install]
WantedBy=default.target

It's been a while since I set it up.
On raspi you need to run a composite manager to get a transparent window. By default it's xcompmgr. Unfortuantely activation of xcompmgr over raspi-config is not working. Instead append @xcompmgr in file /etc/xdg/lxsession/LXDE-pi/autostart. This will start xcompmgrwhen user piis logged in to the desktop.
You have to enable fake KMS GL driver in raspi-config
There is no default hook to run the services at login, so you must trigger it yourself. I do it from my ~/.config/autostart folder. If it does not exist. Create the folder autostart.
My ~/.config/autostart/xsession_tartget.desktop
[Desktop Entry]
Type=Application
Name=xsession.target
Exec=/bin/systemctl --user start xsession.target

My ~/.config/systemd/user/xsession.target file
[Unit]
Description=Xsession running
BindsTo=graphical-session.target

My ~/.config/systemd/user/picframe.service
[Unit]
Description=Pi3D on Pi3

[Service]
ExecStart=/home/pi/.local/bin/picframe ~/picframe_data/config/configuration.yaml
Restart=always

[Install]
WantedBy=xsession.target

This means that picframe ist only started, if user is logged in to the graphical session!
My ~/.config/systemd/user/picframe-overlay
[Unit]
Description=overlay for picframe

[Service]
WorkingDirectory=/home/pi/dev/picframe-overlay
ExecStart=/usr/bin/npm start
Restart=always

[Install]
WantedBy=xsession.target
```

Don't forget to enable your services picframe and picframe-overlay

I think the pi zero will struggle to run a desktop. On the earlier pi versions pi3d uses the dispmanx broadcom display driver, which does have layers - pi3d defaults to 128 (top) and x defaults to middle (0). You can make pi3d display on other layers but then you have the issue of making the x desktop and window transparent. Not possible in my experience. So you probably have to display the picframe in an x window underneath a window with transparency. (i.e. as Helge did) But you will need to use the fake GL driver and I'm pretty sure that doesn't work on < pi 3.
So, TLDR; It would be relatively easy to show text as per the time or picture name boxes. The main issues are 1) A system for updating the text and/or switching with time display 2) I haven't got round to doing anything yet!


Remove usage of 'using namespace std' and add motion

Usage of 'using namespace std' is considered bad practice, so I have
removed all instances of it.
Added a new motion type that reads in periodic motions from a file.
Updated how class StateVector handles time.
The Oseen example in the example directory does not work when ngrid>1,
so I set ngrid=1. This issue is not critical but should be explored.
Perhaps this problem arises because the Oseen example does not have a
body.

These changes all look good to me.  Daniel, could you break these into several different commits?  Probably four different commits makes sense:

Remove 'using namespace std'
Add a new motion type for periodic motions
Update how StateVector handles time
Fix Oseen example

Done!


Add hidden class to tooltip

When tooltip is initially 'hidden' by removing the 'in' class, it can still prevent elements underneath the hidden tooltip from interactivity. Adding the bootstrap 'hidden' class solves that problem.

Going to fix tooltip positioning and resubmit


[docs-only] Fixes the content of extended_envars.yaml

This PR fixes the content of the extended_envars.yaml file based on recent changes in the micro registry setup.
Question to the defaults of OCIS_BASE_DATA_PATH and OCIS_CONFIG_DIR:
Hasn't there recently been a change in the path defaults with respect to the home dir usage?
Would affect: $HOME/.ocis/ and $HOME/.ocis/config
Should be clarified before merging.

Found the PR: #8229 (change ocis basepath from home to)


MP under tRNA processing

tRNA 3' trailer cleavage should be a descendant of
GO:1905267 endonucleolytic cleavage involved in tRNA processing
I would question the need for
GO:1905267 endonucleolytic cleavage involved in tRNA processing
because it  is really  a grouping term for an activity rather than a process. tRNA splicing (intron removal) OR 3' end cleavage could both involved endonucleoitic cleavage.
It does not have any annotations so it could just be removed perhaps?

tRNA 3' trailer cleavage should be a descendant of
GO:1905267 endonucleolytic cleavage involved in tRNA processing

Not according to the def:
rdfs:label "tRNA 3'-trailer cleavage"
definition "Cleavage of the 3'-end of the pre-tRNA as part of the process of generating the mature 3'-end of the tRNA; may involve endonucleolytic or exonucleolytic cleavage, or both."^

But isn't "cleavage" always endonucleolytic?
If you nibble away at the ends, that isn't cleavage is it?

According to Google, it is:
Exonucleases are enzymes that work by cleaving nucleotides one at a time from the end (exo) of a polynucleotide chain. A hydrolyzing reaction that breaks phosphodiester bonds at either the 3' or the 5' end occurs.
And I think I remember biochemist colleagues happily using "cleavage" to describe the activities of both endo- and exo-nucleases.

OK!


Create index.d.ts to constants

I have created a index.d.ts module to typescript.

I have created a index.d.ts module to typescript.


improve AR

This code don`t work
        return CarGeneration::find()->select(['name'])->where([
            'id_car_model' => $this->model_id,
            ['>', 'year_begin', $this->year],
            ['<', $this->year, 'year_end']
        ])->scalar();

or
        return CarGeneration::find()->select(['name'])->where([
            'id_car_model' => $this->model_id,
            ['and', ['>', 'year_begin', $this->year],
            ['<', $this->year, 'year_end']]
        ])->scalar();

but this code work great
        return CarGeneration::find()->select(['name'])
            ->where(['id_car_model' => $this->model_id])
            ->andWhere(['>', 'year_begin', $this->year])
            ->andWhere(['<', 'year_end', $this->year])
        ->scalar();

I mean that is wrong because these codes are same

As I understand, the proposal is to allow mixing hash-conditions and array conditions.

@yiisoft/core-developers any cons of allowing it?

Documentation for the where() method is clear enough on this matter:
https://github.com/yiisoft/yii2/blob/master/framework/db/QueryInterface.php#L79
You can use either hash format or condition format, nut not both at the same time.
Different conditions should be united via AND or OR operation explicitely. So you can still use single where() call for all your conditions:
return CarGeneration::find()->select(['name'])->where([
    'and' =>
        [
            'id_car_model' => $this->model_id,
            ['and', ['>', 'year_begin', $this->year],
            ['<', $this->year, 'year_end']]
        ]
    ])->scalar();

Implemeting of the feature will overcomplecate QueryBuilder.

Documentation for the where() method is clear enough on this matter:
https://github.com/yiisoft/yii2/blob/master/framework/db/QueryInterface.php#L79
i know it, I offer to do AR better

I am against this. it is mixing different syntax flavors without clear semantics.
It works in even simpler way than shown by @klimov-paul:
        return CarGeneration::find()->select(['name'])->where(['and',
            ['id_car_model' => $this->model_id],
            ['>', 'year_begin', $this->year],
            ['<', $this->year, 'year_end']
        ])->scalar();

@cebe @klimov-paul agree

ok what about it
        return CarGeneration::find()->select(['name'])
            ->where(['and',
                ['id_car_model' => $this->model_id],
                [
                'and',
                ['<=', 'year_begin', $this->year],
                [
                    'or',
                    ['>=', 'year_end', $this->year]],
                    ['is', 'year_end', null]
                ]
            ])
        ->scalar();

why last expression AND but must be OR

why dont work
$subdomains = Alias::find()->select(['subdomain', 'description'])->where(['and', ['not', 'subdomain', 'msk'], ['path' => '^/$']])->groupBy(['subdomain'])->asArray()->all();

It's by design. This method inverts an SQL expressions with NOT operator
http://www.yiiframework.com/doc-2.0/yii-db-querybuilder.html#buildNotCondition()-detail

thats right
Alias::find()->select(['subdomain', 'description'])->where(['and', ['not', ['subdomain' => 'msk']], ['path' => '^/$']])->groupBy(['subdomain'])->asArray()->all();


Cleanup billing functions

There are functions in progress for calculating usage for billing. These are in progress and need to be finished, cleaned up and organized. Ideally the core algorithms could be organized in one module. If possible leverage pluggy to make things pluggable were it makes sense.
Note this will be affected by changes to the config file structure.
In question:

get_max_usage
get_average_usage
get_billable_usage
get_bulk_dimensions
get_billing_dimensions

https://github.com/SUSE-Enceladus/csp-billing-adapter/blob/devel/csp_billing_adapter/csp_cache.py

Once cleaned up the same applies: doc strings, unit tests, fault tolerance and etc.

We can split up the functions into separate tickets as we pickup them up since they should all be independent to some degree.

The average calculation uses math.ceil() this may not be what we want. I have started a conversation with PM about the behavior we expect. The current implementation would put a user into the next category along a tiered pricing structure even if the user barely used more then the category, for example if the tier level is 15 and we calculate 15.000000000009 as the average the count would be pushed to the next tier. Making such decisions in code without comment or communication is concerning.

Always rounding up is OK, confirmed with PM 04/14/23, please make sure there is a comment in the final code.


chore!: shrink interface of x/mint expected keepers

Closes https://github.com/celestiaorg/celestia-app/issues/2066

Codecov Report

Merging #2216 (bc15455) into main (0c55a6e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2216   +/-   ##
=======================================
  Coverage   24.86%   24.86%
=======================================
  Files         127      127
  Lines       14326    14326
=======================================
  Hits         3562     3562
  Misses      10397    10397
  Partials      367      367

out of curiosity, are these methods used in the standard mint module? if so, what for?

They're also not used by the mainline SDK. I think it's legacy from an older refactor


Chain docker build action with integration tests

Similar to https://github.com/celestiaorg/ethermint/issues/22
We should chain the existing docker build action to then standup a cluster and run integration/rpc/contract tests against it.
The bulk of the integration tests are in the ethermint repository so we'll need to have a checkout for that.

Resolved in https://github.com/jbowen93/evmos/pull/8 which was merged to celestiaorg in https://github.com/celestiaorg/evmos/pull/32


M3-2044 Feature: import groups global settings

Description
For users that have dismissed the CTA on the Dashboard inviting them to import their CF manager display groups as tags, the import drawer will also be available from account/settings.
Note to Reviewers
This is a lot of expansion panels that no one will ever collapse. We'll probably be asked to replace them with Papers at some point

Coverage decreased (-0.02%) to 32.746% when pulling 1ea44cb5329598282c8f8d5cfa1e0c83ceac2cd5 on Jskobos:M3-2044-import-groups-global-settings into a639817717eca4f03932f4ae271b078d19faffea on linode:feature/group-tags.


[SQL] Support MySQL IF & IFNULL function.

What would you like to be added:
Why is this needed:
ref #459
official document:
https://dev.mysql.com/doc/refman/5.6/en/flow-control-functions.html#function_if
https://dev.mysql.com/doc/refman/5.6/en/flow-control-functions.html#function_ifnull
code:
https://github.com/arana-db/arana/tree/master/pkg/runtime/function/scripts/if.js
reference code:
https://github.com/arana-db/arana/tree/master/pkg/runtime/function2/abs.go

/assign


Align event hooks with to datalabels plugin

TODO:

[ ] add migration guide

Size Change: +176 B (1%)
Total Size: 14.2 kB

Filename
Size
Change

dist/chartjs-plugin-annotation.esm.js
5.26 kB
+85 B (1%)

dist/chartjs-plugin-annotation.js
5.39 kB
+81 B (1%)

dist/chartjs-plugin-annotation.min.js
3.55 kB
+10 B (0%)

I was expecting a bit smaller bundle though.


Created version for Lepton 3 and Raspberry Pi. Used SPI 1!

Created version for Lepton 3 and Raspberry Pi. Used SPI 1!

Created version for Lepton 3 and Raspberry Pi.

Hello,
i have tried your code and it principle works. But i have the problem, that the camera hangs after 2-3 minutes. Even when i press the fcc button the frezzed image is still on the screen.
do you have any advices for me? Could it be for example the frame buffer? I have tried this with a raspberry 3.
Thanks for help.
christian jungwirth

Hello.
My lepton 3 works for a long time.
You may have long wires.
I used Raspberry Pi B.

Hello danie,
i think i have found the Problem, i have compiled the code from the Folder raspberry_video but your Version is that one in the Folder raspberrypi_lepton3_video.
When i start your Version i only get a black window with a red square in the upper left Corner. I have debugged your code a little bit and everytime in lepton_conroll.cpp at line 39 it Returns "NO_SEGMENT".
I have attached a Screenshot on which Position i mean.

Could you Support me a little bit please? i have also tried your Suggestion with the wires, but that was not the solution. Which wires do you are using?
Could be the kernel the Problem?
Thank you for your Support.
best regards
Christian Jungwirth

Version in the Folder raspberry_video used lepton with resolution 80x60.
My version in the Folder raspberrypi_lepton3_video used lepton3 with resolution 160x120.
What lepton module do you have?
Apparently, you have 80x60.

I'm pretty sure that i have a lepton 3 with Resolution 160x120.
My lepton Module ist 500-0726-01-ND
and my breakout board is 250-0587-00-ND
The raspberry_video from novacoast (https://github.com/novacoast/Lepton-3-Module) works pretty well for me, but i am very interested in your code because it Looks very interinsting.

I correctly understood that the my program "raspberrypi_lepton3_video" does not work for you? The image was not created always? Or the image was sometimes?
Hm.
My programm used spi 1!  In library SPI.cpp:
novacoast:
`
if (spi_device)
spi_cs_fd = &spi_cs1_fd;
else
spi_cs_fd = &spi_cs0_fd;
if (spi_device)
	*spi_cs_fd = open(std::string("/dev/spidev0.0").c_str(), O_RDWR);
else

*spi_cs_fd = open(std::string("/dev/spidev0.0").c_str(), O_RDWR);
`
My:
`
if (spi_device)
	spi_cs_fd = &spi_cs1_fd;
else
	spi_cs_fd = &spi_cs0_fd;

if (spi_device)
	*spi_cs_fd = open(std::string("/dev/spidev0.1").c_str(), O_RDWR);
else

*spi_cs_fd = open(std::string("/dev/spidev0.0").c_str(), O_RDWR);
`
Maybe, you used not spi1? You used spi0? Try in my program to use SPE.cpp from novacoast.


github: Void Linux only has a current release

There doesn't seem to be any 23.11 release: https://mirrors.servercentral.com/voidlinux/live/
It has 2 variants (default (glibc) and musl) but we only provide the default one.

Should we also include musl?

Should we also include musl?

I thought of this but there doesn't seem to much demand for Void Linux images.


Fix/test and lint fixes

Description
Lint, prettier and test cases fixes for catalyst
Link to Jira Issue or relevant doc
Dev
Any explanation for the devs that will review your implementation/code.
Qa
Any guidance or important information for the team that will be testing your solution.

Note: you can add any additional information you think is important for giving context to your PR.

Checklist and Markdown

[ ] Remember you could add any type of formatting to enhance your PR.
[ ] Like this checklist
[ ] And with this markdown format

LGTM!


fix(plugins/plugin-core-support): add alt attribute to image in About Sidecar

Part of #2507

Description of what you did:

My PR is a:

[ ] 💥 Breaking change
[x] 🐛 Bug fix
[ ] 💅 Enhancement
[ ] 🚀 New feature

Please confirm that your PR fulfills these requirements

[x] Multiple commits are squashed into one commit.
[x] The commit message follows Conventional Commits, which allows us to autogenerate release notes; e.g. fix(plugins/plugin-k8s): fixed annoying bugs
[x] All npm dependencies are pinned.

this should use settings.productName

Fixed, thanks!


Imperfect rollup in native ingestion when using integer dimensions and replacing nulls with default value

Affected Version
0.18.0
Description
During native ingestion RollupFactsHolder structure is used for maintaining a sorted list of intermediate rows. It treats missing integer values as nulls and puts them before any other value. Although later when an incremental persist is created, by default null values get replaced with 0. This breaks the sorted ordering of rows which prevents merging of identical rows as the next stage algorithm in RowCombiningTimeAndDimsIterator relies on incremental persists being sorted when performing the merge.
Steps To Reproduce
Import two files below with the given ingestion spec (replacing <path to data>).
The expected result is 3 rows total, although 4 rows are produced.
Input file 1:
{"time":<PHONE_NUMBER>, "dim": -101, "value": 1}
{"time":<PHONE_NUMBER>, "dim": -100, "value": 2}

Input file 2:
{"time":<PHONE_NUMBER>, "dim": null, "value": 10}
{"time":<PHONE_NUMBER>, "dim": -100, "value": 20}

Ingestion spec:
{
  "type": "index_parallel",
  "spec": {
    "ioConfig": {
      "type": "index_parallel",
      "inputSource": {
        "type": "local",
        "filter": "*",
        "baseDir": "<path to data>"
      },
      "inputFormat": {
        "type": "json"
      }
    },
    "tuningConfig": {
      "type": "index_parallel",
      "partitionsSpec": {
        "type": "hashed",
        "numShards": 1,
        "partitionDimensions": [
          "dim"
        ]
      },
      "forceGuaranteedRollup": true,
      "maxNumConcurrentSubTasks": 2,
      "splitHintSpec" : {
        "type" : "maxSize",
        "maxSplitSize" : 1
      }
    },
    "dataSchema": {
      "dataSource": "int_rollup_issue",
      "granularitySpec": {
        "type": "uniform",
        "queryGranularity": "HOUR",
        "rollup": true,
        "intervals": [
          "2020-05-15/2020-05-16"
        ],
        "segmentGranularity": "DAY"
      },
      "timestampSpec": {
        "column": "time",
        "format": "posix"
      },
      "dimensionsSpec": {
        "dimensions": [
          {
            "type": "long",
            "name": "dim"
          }
        ]
      },
      "metricsSpec": [
        {
          "name": "count",
          "type": "count"
        },
        {
          "name": "sum_value",
          "type": "longSum",
          "fieldName": "value"
        }
      ]
    }
  }
}

We've verified that this issue is still occurring in 0.23.0.
In our case, we are ingesting Avro and actually expect all dimensions to be treated as strings by Druid. According to the ingestion docs:

Each dimension in the dimensions list can either be a name or an object. Providing a name is equivalent to providing a string type dimension object with the given name, e.g. "page" is equivalent to {"name": "page", "type": "string"}.

However this appears to not be the case, as fields that are a long/integer in the Avro get treated as a long/integer by Druid during ingestion. Some of these fields can be null, and when they are the column-ordering defaults to lexicographical and the rollup becomes extremely imperfect.
In our case we worked around this by explicitly specifying that these affected columns are of type "string". For example, a dimensionSpec that was previously like this:
{"dimensions":
    [
        "dim1",
        "dim2"
    ]
}

Has been changed to this:
{"dimensions":
    [
        {
            "type": "string",
            "name": "dim1"
        },
        {
            "type": "string",
            "name": "dim2"
        },
    ]
}

This forces Druid to treat the dimensions as strings, and then rollup occurs as expected. However, this means that hashed partitioning seems to be broken if you actually want integer-type dimensions for some reason. In our case we are lucky that we don't.


Changes in for.md

This updated example looks more appropriate. Do you know why it's not merged?
And @ericwindmill, I also want to know if you are accepting PRs. If yes, I would like to add more examples as well.

@MD-REHMAN i don't think this repo is active any more


Performance issue with PyOpenCL > 2015.2

This is due to the migration from Boost -> CFFI
Same as https://github.com/silx-kit/pyFAI/issues/670

has been addressed


Invalid values received if bms also connected to PC

I am using this with Seplos 10E V2 bms, via RS485, however, if I connect the BMS to BatteryMonitor via the other RS485 port, the values fluctuate out of range:

Could you try to provide some logs too? Do you see CRC errors here or does the BMS really push faulty measurements?

Closed because of inactivity.


feat(validator-vest): add vest validator

Closes #76
I am not sure I did the docs right plz let me know if I missed something 😨
Also, I have tested this with Svelte but not Solid (I am not very familiar with it sorry). But I can try if you think this is going the right direction.

Codecov Report

Merging #77 (6ca1557) into main (e324a45) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #77      +/-   ##
==========================================
+ Coverage   99.32%   99.33%   +0.01%
==========================================
  Files          38       39       +1
  Lines         885      905      +20
  Branches      285      284       -1
==========================================
+ Hits          879      899      +20
  Misses          5        5
  Partials        1        1

Impacted Files
Coverage Δ

packages/validator-vest/src/index.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Thanks @pablo-abc for the review and this great library 😄


Update parsedargs to reflect user-defined archiver

This makes extract-bc's archiving behavior consistent with linker for user defined args

Could you comment a bit more on the idea behind this?  What sort of flags do you need to pass to extract-bc?

The patch simply aligns behaviour with expectation since the --archiver
option is exposed to the user. I would either not expose the option at all
or align behavior with user expectation.
The reason I am using non-default value for archiver is that several times
I simply want linked bit code from a native archive file for analysis;  a
bit code archive is not useful in such cases. But the patch for this needs
more thought.
On Apr 10, 2015 4:32 AM, "Tristan Ravitch"<EMAIL_ADDRESS>wrote:

Could you comment a bit more on the idea behind this? What sort of flags
do you need to pass to extract-bc?
—
Reply to this email directly or view it on GitHub
https://github.com/travitch/whole-program-llvm/pull/27#issuecomment-91406227
.

@bshastry  I agree that this is a  bug in extract-bc, wouldn't another use be when llvm-ar is not
called llvm-ar, like on ubuntu where the get version suffixes, like llvm-ar-3.4.

I got a feeling that I  fixed this over in SRI's fork, so it probably has been "pulled" in.
If you, @bshastry, wanna check this I can close this.

This got pulled either by hook or by crook.


Verify signatures of toolchains before installing

Closes #11

@swift-server-bot test install please

@swift-server-bot test install please

@swift-server-bot test please

@swift-server-bot test install please

@swift-server-bot test install please

If you don't have any of the requirements to check the toolchain signature, you get an error message after downloading the tar ball. You do as suggested and then have to download the tar ball again. Perhaps we should verify for the existence of gpg and that the swift PGP keys have been imported before we do the download.

Also RHEL and AL2 are failing

@swift-server-bot test install please

Yeah Swift have stopped supporting 18.04
https://forums.swift.org/t/dropping-support-for-ubuntu-18-04/69561


Announcements

This issue contains announcements about this project.
(Note that times are in timezone GMT+8 unless otherwise stated)
List of announcements

19 December 2018 - Project is blocked on minor issue
20 December 2018 - Issue is regressing
21 December 2018 - Issue has been fixed
22 December 2018 - All other issues fixed; new release when?
24 December 2018 - New release by end of December
1 January 2019 - New release!

20 December 2018
I'm currently working on trying to fix the minor issue.
However, it seems that I may have reached a dead end.
Here's the error log if anyone's interested:
BUILD ERROR
projects/ngx-ytd-api-lib/src/lib/public_api.ts(7,15): error TS2307: Cannot find module 'ngx-ytd-api/comments'.
projects/ngx-ytd-api-lib/src/lib/public_api.ts(8,15): error TS2307: Cannot find module 'ngx-ytd-api/core'.
projects/ngx-ytd-api-lib/src/lib/public_api.ts(9,15): error TS2307: Cannot find module 'ngx-ytd-api/search'.
projects/ngx-ytd-api-lib/src/lib/public_api.ts(10,15): error TS2307: Cannot find module 'ngx-ytd-api/videos'.

Error: projects/ngx-ytd-api-lib/src/lib/public_api.ts(7,15): error TS2307: Cannot find module 'ngx-ytd-api/comments'.
projects/ngx-ytd-api-lib/src/lib/public_api.ts(8,15): error TS2307: Cannot find module 'ngx-ytd-api/core'.
projects/ngx-ytd-api-lib/src/lib/public_api.ts(9,15): error TS2307: Cannot find module 'ngx-ytd-api/search'.
projects/ngx-ytd-api-lib/src/lib/public_api.ts(10,15): error TS2307: Cannot find module 'ngx-ytd-api/videos'.

    at Object.<anonymous> (/Users/edricchan/Desktop/Projects/angular/ngx-ytd-api/node_modules/ng-packagr/lib/ngc/compile-source-files.js:40:68)
    at Generator.next (<anonymous>)
    at /Users/edricchan/Desktop/Projects/angular/ngx-ytd-api/node_modules/ng-packagr/lib/ngc/compile-source-files.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (/Users/edricchan/Desktop/Projects/angular/ngx-ytd-api/node_modules/ng-packagr/lib/ngc/compile-source-files.js:3:12)
    at Object.compileSourceFiles (/Users/edricchan/Desktop/Projects/angular/ngx-ytd-api/node_modules/ng-packagr/lib/ngc/compile-source-files.js:17:12)
    at Object.<anonymous> (/Users/edricchan/Desktop/Projects/angular/ngx-ytd-api/node_modules/ng-packagr/lib/ng-v5/entry-point/ts/compile-ngc.transform.js:31:32)
    at Generator.next (<anonymous>)
    at /Users/edricchan/Desktop/Projects/angular/ngx-ytd-api/node_modules/ng-packagr/lib/ng-v5/entry-point/ts/compile-ngc.transform.js:7:71
    at new Promise (<anonymous>)

This occurs when compiling the library with ng build ngx-ytd-api-lib --watch.

24 December 2018 (18:45)
Expect a new release by the end of December!

1 January 2019 (12:43)
1.0.0-alpha.4 has been released!
Check out the changelog for what's new in 1.0.0-alpha.4.

16 February 2019 (16:02)
Support for schematics has been temporarily removed.

12 January 2020
The library has been deprecated in favour of the JavaScript gapi library.


Output parsing variation allowance

Output parsing variation allowance for self-ask with search
This change makes self-ask with search easier for Llama models to follow, as they tend toward returning 'Followup:' instead of 'Follow up:' despite an otherwise valid remaining output.
Who can review?
Community members can review the PR once tests pass. Tag maintainers/contributors who might be interested:
@vowelparrot
Thank you for considering this small change!

thanks @dibrale!


Refactor the filter kernels into filters.kernels.py

Done in https://github.com/arraiyopensource/kornia/pull/198