Feature/3: Add multi-value support

This PR merges in changes that allow the Zabbix output plugin to send multiple values per event (but only to the same host).
Much work was done to improve the Docker-based integration testing, resulting in https://github.com/untergeek/longshoreman
With unit and integration tests, this plugin is being re-versioned as 1.0.0
closes #3

LGTM


encrypt/decrypt without JCE Unlimited Strength error could be improved

$ spring encrypt "cli encrypted value" --key foobar
Unable to initialize due to invalid secret key

It would be nice to have a better error message suggesting to the user that they need to deal with JCE Unlimited Strength policy files. Or don't use JCE at all and build up an equivalent TextEncryptor using the Bouncy Castle implementations instead.

According to https://golb.hplar.ch/2017/10/JCE-policy-changes-in-Java-SE-8u151-and-8u152.html unlimited strength can enabled by a single line of code without any additional downloads:
Security.setProperty("crypto.policy", "unlimited");

Alternatively you can also uncomment #crypto.policy=unlimited in <jre_home>/lib/security/java.security.
Since Java 8 update 162 no changes are required, since from that update unlimited strength is enabled by default.


Fix Buffer Overrun on aarch64

Current simdutf failes the tests on aarch64 environments like below:
96% tests passed, 2 tests failed out of 48

Total Test time (real) =  30.80 sec

The following tests FAILED:
         24 - convert_utf16be_to_utf8_tests (Subprocess aborted)
         34 - convert_valid_utf16be_to_utf8_tests (Subprocess aborted)

This PR fixes this.

Thanks.


Issue #104 - Add integration tests for Che addon

Migrated original PR from minishift repo to this repository. Tests works now.
I have tried to clean it up a little bit, but it is possible it was not enough, let me know your opinion in review.
The feature add package Che, which drives most of the Che feature file. In the feature M is started and several workspaces are started, some example project is deployed on them and they are deleted, at the end M is deleted.
What I do not like that gherkin steps are little bit cryptic in this PR, but we might just live with it. Tried to make visible as much as was possible, more visibility would need considerable refactor.
To test this PR run:
make clean
make vendor
make integration ADDON=che

Let me know your ideas, @minishift/minishift-dev.

@budhrg Removed the extra comments.


Added progress bar recipe

As suggested on gitter.

Looking good! Just one thing, I think we should emphasize that this only works for LALR. Right now, it might seem like it works for both parsers.

Aha true.


UP-4542 Fix for AM/PM not appearing in auto publish/expiration time dropdown

https://issues.jasig.org/browse/UP-4542

+1 merging.  Thanks Jonathan!


Remove PROGRAM_CARD_IMAGES flag

Description
The PROGRAM_CARD_IMAGES flag has been enabled in production for a month with no issues, so we can remove it! 🎉
Release notes
Checklist
General
Read the full guidelines for PRs here

[x] Added the correct label: < feature | enhancement | bug | under-development | dependencies | infrastructure | ignore-for-release | database >
[x] Assigned to a specific person, civiform/developers, or a more specific round-robin list
[x] Added an additional reviewer from outside your organization as FYI (if the primary reviewer is in the same organization as you)

Issue(s) this completes
Fixes #5919

Also, I'm not ready either!!


857 sms model overhaul

Great work. Just a few changes. I can handle these myself when merging, so no more work needed on your end. Thanks!

Cool, thanks!


Completed the tests for nosql_execution_store_util.go

What changed?
This is the final diff for the tests for nosql_execution_store_util.go
The coverage is somewhere around 90. There are some missing lines containing logs and errors and documentation.
All the main test logic is completely covered now.

Why?
To increase code coverage.

How did you test it?
unit tests

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018eaf79-ad7d-4866-8311-802ce6df4bf0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
34 unchanged lines in 9 files lost coverage.
Overall coverage increased (+0.04%) to 66.619%

Files with Coverage Reduction
New Missed Lines
%

common/task/weighted_round_robin_task_scheduler.go
2
88.56%

common/task/fifo_task_scheduler.go
2
87.63%

service/history/task/transfer_active_task_executor.go
2
72.7%

common/util.go
2
91.78%

common/persistence/historyManager.go
2
66.67%

service/history/queue/timer_gate.go
3
95.83%

common/persistence/statsComputer.go
3
96.79%

service/history/task/fetcher.go
3
86.6%

service/history/execution/mutable_state_task_refresher.go
15
64.56%

Totals

Change from base Build 018eae75-8edb-4580-9ce6-f18a0f6bd028:
0.04%

Covered Lines:
97477

Relevant Lines:
146320

💛  - Coveralls


Reflection: support "sparse" serialization / deserialization, that only includes changed values

What?
We should have a ser/de implementation that can "diff" against a "base instance" of a struct (could be a user-provided instance, or Default, ...).
The serializer should only encode fields whose values differ from the "base instance".
The deserializer should take an existing instance, and just update the values of any fields it encounters.
Why?
This has many applications:

networking: send "sparse" messages that only contain data that has changed
saving/loading settings, user preferences: only put values that were customized into the config files
scenes, game saves: save space by only encoding things that are different from the defaults

#944 was an early attempt at this.


[Rust] Persist graph using lance file format.

We are going to use lance to persist a graph, because lance offers good random access already, which is good for graph access.
This PR writes a graph as a two column table:
struct<
   vertex: FixedSizeBinary(...),
   neighbours: list<u32>,
>

It requires the vertex struct to be able to serialized to fixed size binary.
It will be the GraphBuilder's responsibility to re-orgnize the graph vertex in a way that it preserves certain locally.

Please add some comments indicating what the vertex bytes and neighbors integers indicate. I feel they will easily be forgotten without some explicit instructions

Done


281 - Added missing tests for CardHeader, Badge, and WithLink components.

Tests update for Badge:


[BUG] navigation bar elements are showing hovering effect

Description
When we are not hovering on the about element in the navigation bar also it is showing the hovering property
Describe the bug:
When we are not hovering on the about element in the navigation bar also it is showing the hovering property
it is due to padding we can remove it by adding white-space property.
Expected behavior:
A clear and concise description of what you expected to happen.

Actual behavior:

A clear and concise description of what actually happened.
Reproduction Steps
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected result:
A clear and concise description of what you expected to happen at each step.
Actual result:
A clear and concise description of what actually happened at each step.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional Information
Device (please complete the following information):

OS: [e.g., Windows, macOS, Linux]
Browser [e.g., Chrome, Safari, Firefox]
Version [e.g., 22]

Additional context:
Add any other context about the problem here.

please assign this issue to me i am contributing first time to open source

@ankitjt can i please work on this issue

@akshitagupta15june can i please work on this issue

Specify the page, is it the homepage?

yes it is in the homepage that is index.html page

do a new fetch request, homepage has been updated.


fix(tablekit-modal-dialog): correctly forward on data-testid prop

Forward on the data-testid prop so we can target a dialog correctly when there are multiple displayed.

📦 Published PR as canary version: Canary Versions

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

:rocket: PR was released in<EMAIL_ADDRESS>:rocket:


Don't add _ to name

It's a bit of a weird convention to have the _ in base/sensor. I'd just use the name.

The base classes have to be processed by the spec tool before regular ones. I do that now with files.sort() (with the _ coming first). Otherwise I will have to explicitly list these classes, or do some topo-sort.
Also the services with underscores should probably not be handled the same was as ones without (eg they have no class identifier).


GitHub actions vcpkg-4.1.1 failing since two years

Current Behavior
Since two years the GitHub action vcpkg-4.1.1 always fails. @Shreeshrii, can this action be removed?

I am wandering if we need workflow in GitHub action for vcpkg (there are 2)...
vcpkg is maintained outside of tesseract project and we can not influence it directly.
AFAIK vcpkg it is using cmake for building tesseract&leptonica, so if cmake build is ok, also vcpkg should work too.

Regarding vcpkg-4.1.1, I suggest to remove it.

Thanks. It's now removed.


installation didn't show success and use of alarm example in mlnlearn shows parsing error

This is the result i got.
Please let me know how to correct the error.

Thank you for getting back to me so quick.
I followed the instructions on the site pracmln.org.
My system is Ubuntu 16 and I've anaconda installed version3.6.3
I ran the installation in virtual environments in anaconda python 2.7.15 and python 3.5.5 and got the same results.
here are the steps i followed:
1.) sudo apt-get install python-tk
2.)git clone https://github.com/danielnyga/pracmln.git
3.)pip install pyparsing tabulate psutil==0.4.1 networkx (I did this only in my last few trials as i thought it was only for windows)
4.) cd pracmln/
5.)python setup.py install
6.)libpracmln-build
Also, i installed libboost but i can't find libpython-dev ( You can see it here:https://docs.anaconda.com/anaconda/packages/py2.7_linux-64/)
After this i didn't find any apps or get an output for mlnlearn in the output terminal.

Thank you.
It's a little difficult for me to parse the screenshots you have uploaded, but I assume you are able to go through steps 1-4 without any problems. If this is indeed the case, perhaps you could copy and paste the output from step 5: python setup.py install into pastebin or a gist and post the link here.
From a cursory glance at the images you've posted, it seems that you're using python2 on python3 code. The following snippet should illustrate this more simply than any descriptions I can provide:
kaivalya@kaivalyarawal ~ $ python2
Python 2.7.12 (default, Dec  4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'hello'
hello
>>> print('hello')
hello
>>> print('hello', end='')
  File "<stdin>", line 1
    print('hello', end='')
                      ^
SyntaxError: invalid syntax
>>>
kaivalya@kaivalyarawal ~ $ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello')
hello
>>> print('hello', end='')
hello>>>

My guess is to use python3 setup.py install instead of python setup.py install.
Additionally, please note that step 6: libpracmln-build is required only if you wish to use pracmln from C++. That is, running steps 1-5 correctly is enough to be able to use the mlnlearn and mlnquery tools.
Hope this helps!

I ran python3 setup.py install and it worked without errors.
however, I can't start mlnlearn directly by just typing mlnlearn in the terminal.
I have to go to path "pracmln/python3/pracmln" and then run "python3 mlnlearn.py" manually

mln file:
student = {S1, S2, S3, S4}
course = {C1, C2, C3, C4}
gradeValue = {A,B,C,D,None}
intval = {High,Low}
diffval = {High,Low}
//predicate
int(student, intval)
diff(course, diffval)
takes(student,course)
grade(student,course,gradeValue)
greater(gradeValue,gradeValue)
sameCourse(course,course)
diffStud(student,student)
//Formulae
Exist g grade(s,c,g).
grade(s,c,g) ^ (g=/= g') =>!grade(s,c,g').
// Student 'S' doesn't take course 'C' if and only if Grade of Student given Course is "None"
!takes(s,c) <=> grade(s,c,None).
/student 's1' takes course 'c1' and gets grades 'g1' AND student 's2' takes course 'c2' and gets grade 'g2' AND value of grade 'g1' is greater than 'g2' AND student 's1' and 's2' are different AND they take same course 'c1' AND student 's1' takes course 'c1' and student 's2' takes course 'c2' MPLIES intelligence of Student 's1' is High AND Intelligence of student 's2' is low/
(grade(s1,c1,g1)^grade(s2,c2,g2)^greater(g1,g2)^diffStud(s1,s2)^sameCourse(c1,c2)^takes(s1,c1)^takes(s2,c2)) =>( int(s1,High)^int(s2,Low))
(int(s3,High)^int(s4,Low)^!sameCourse(c3,c4)^grade(s3,c3,g3)^grade(s4,c4,g4)^diffStud(s3,s4)^takes(s3,c3)^takes(s4,c4)) => (diff(c3,High)^diff(c4,Low))
/* if intelligence of a student is high and intelligent of a different studetn is low and they don't take the same course-- the rest of the predicates same as above -- implies difficulty of course 1 is high and course 2 is low*/
(int(s,i) ^ diff(c, d)) => grade(s,c,g)
// intelligence and difficulty define grade of a person

database file:
greater(A,B)
greater(A,C)
greater(A,D)
greater(B,C)
greater(B,D)
greater(C,D)
!greater(B,A)
!greater(C,A)
!greater(D,A)
!greater(C,B)
!greater(D,B)
!greater(D,C)
!greater(A,None)
!greater(None,A)
!greater(B,None)
!greater(None,B)
!greater(C,None)
!greater(None,C)
!greater(D,None)
!greater(None,D)
sameCourse(C1,C1)
sameCourse(C2,C2)
sameCourse(C3,C3)
sameCourse(C4,C4)
!sameCourse(C1,C2)
!sameCourse(C1,C3)
!sameCourse(C1,C4)
!sameCourse(C2,C1)
!sameCourse(C2,C3)
!sameCourse(C2,C4)
!sameCourse(C3,C1)
!sameCourse(C3,C2)
!sameCourse(C3,C4)
!sameCourse(C4,C1)
!sameCourse(C4,C2)
!sameCourse(C4,C3)
diffStud(S1,S2)
diffStud(S1,S3)
diffStud(S1,S4)
diffStud(S2,S1)
diffStud(S2,S3)
diffStud(S2,S4)
diffStud(S3,S1)
diffStud(S3,S2)
diffStud(S3,S4)
diffStud(S4,S1)
diffStud(S4,S2)
diffStud(S4,S3)
!diffStud(S1,S1)
!diffStud(S2,S2)
!diffStud(S3,S3)
!diffStud(S4,S4)
grade(S1,C1,A)
grade(S2,C1,C)
grade(S1,C2,B)
grade(S2,C3,B)
grade(S3,C2,B)
grade(S4,C3,B)
grade(S1,C3,None)
grade(S2,C2,None)
grade(S1,C4,None)
grade(S2,C4,None)
takes(S1,C1)
takes(S2,C1)
takes(S1,C2)
takes(S2,C3)
takes(S3,C2)
takes(S4,C3)
//takes(S3,C4)
//takes(S4,C4)
!takes(S1,C3)
!takes(S1,C4)
!takes(S2,C4)
!takes(S2,C2)
diff(C1,High)
diff(C2,Low)
diff(C3,High)
int(S1,High)
int(S2,Low)

i'm using ml learn to learn weights of the formula.
It works on alchemy but it shows an error on the pracmln toolbox.

This is what i get as the output.

This is what i get after commenting out "Exist g .." and the line after it.

this is what i get after removing the brackets.
Your site says the package is compliant with Alchemy syntax.
EXIST g grade(s,c,g).
This is the output that i get from the Alchemy software for learning

We plan on learning of weights for data and using inference on our robots...we are looking for a ROS package for it to work on.

Glad to know that your installation is successful. You are having to call python3 ~/ ... /pracmln/python3/pracmln/mlnlearn.py explicitly because the location pracmln/python3/pracmln has not been added to your pythonpath. I don't use anaconda myself, and am thus not sure of the procedure for automatically including this in your pythonpath for your particular case.
If you are only planning to call the pracmln API, and not make any changes to it, then perhaps an automatic pip install pracmln would be easier than manually cloning the repo from GitHub and running setup.py. However, if you wish to use the latest version of pracmln from GitHub, or wish to modify the code before use, then perhaps you can follow the additional steps mentioned here after manual installation. Note that the latest version of pracmln already has the symlink, so step 3 (ln -s _version python3/pracmln/_version) mentioned here has since become redundant. You only need to run the subsequent commands declaring and exporting the complete pythonpath.

thank you..
can you tell me why parsing through the mln that i've created in alchemy shows error?
what convention is incorrect.. is the mutually exclusive property used correctly?

lnlearn.py: l.1073: update_config
PRAC LEARNING TOOL
loaded 1 database(s).
Parameter:                   Value:

db                           1 Databases
discr_preds                  0
epreds
grammar                      PRACGrammar
ignore_unknown_preds         0
ignore_zero_weight_formulas  0
incremental                  0
logic                        FirstOrderLogic
method                       DBPLL_CG
mln                          <pracmln.mln.base.MLN object at 0x7fea89eab0f0>
multicore                    1
output_filename              learnt.dbpll_cg.student-new-train-student-new-2.mln
params
pattern
prior_mean                   0
prior_stdev                  5
profile                      0
qpreds
save                         1
shuffle                      0
use_initial_weights          0
use_prior                    0
verbose                      1
grounding...
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
2018-10-31 03:14:21 -  ERROR   - Error in child process. Terminating pool...
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 34, in call
raise e
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "mlnlearn.py", line 1165, in learn
result = learning.run()
File "mlnlearn.py", line 404, in run
mlnlearnt = mln.learn(dbs, self.method, **params)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/base.py", line 426, in learn
wt = learner.run(**params)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/learning/common.py", line 183, in run
self._prepare()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/learning/bpll.py", line 203, in _prepare
for _ in grounder.itergroundings(): pass
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/default.py", line 108, in itergroundings
gf = next(self.grounder)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 198, in _itergroundings
raise e
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 188, in _itergroundings
for gndresult in pool.imap(with_tracing(create_formula_groundings), self.formulas):
File "/home/anuj/anaconda3/lib/python3.6/multiprocessing/pool.py", line 735, in next
raise value
AttributeError: module 'psutil' has no attribute 'virtual_memory'
mlnlearn.py: l.1073: update_config
PRAC LEARNING TOOL
loaded 1 database(s).
Parameter:                   Value:

db                           1 Databases
discr_preds                  0
epreds
grammar                      StandardGrammar
ignore_unknown_preds         0
ignore_zero_weight_formulas  0
incremental                  0
logic                        FirstOrderLogic
method                       DBPLL_CG
mln                          <pracmln.mln.base.MLN object at 0x7fea92901eb8>
multicore                    1
output_filename              learnt.dbpll_cg.student-new-train-student-new-2.mln
params
pattern
prior_mean                   0
prior_stdev                  5
profile                      0
qpreds
save                         1
shuffle                      0
use_initial_weights          0
use_prior                    0
verbose                      1
grounding...
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
Traceback (most recent call last):
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
AttributeError: module 'psutil' has no attribute 'virtual_memory'
2018-10-31 03:14:40 -  ERROR   - Error in child process. Terminating pool...
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/anuj/anaconda3/lib/python3.6/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 34, in call
raise e
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 27, in call
result = self.func(*args,**kwargs)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 47, in create_formula_groundings
checkmem()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/utils/multicore.py", line 67, in checkmem
if float(psutil.virtual_memory().percent) > 75.:
AttributeError: module 'psutil' has no attribute 'virtual_memory'
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "mlnlearn.py", line 1165, in learn
result = learning.run()
File "mlnlearn.py", line 404, in run
mlnlearnt = mln.learn(dbs, self.method, **params)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/base.py", line 426, in learn
wt = learner.run(**params)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/learning/common.py", line 183, in run
self._prepare()
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/learning/bpll.py", line 203, in _prepare
for _ in grounder.itergroundings(): pass
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/default.py", line 108, in itergroundings
gf = next(self.grounder)
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 198, in _itergroundings
raise e
File "/home/anuj/anaconda3/lib/python3.6/site-packages/pracmln/mln/grounding/bpll.py", line 188, in _itergroundings
for gndresult in pool.imap(with_tracing(create_formula_groundings), self.formulas):
File "/home/anuj/anaconda3/lib/python3.6/multiprocessing/pool.py", line 735, in next
raise value
AttributeError: module 'psutil' has no attribute 'virtual_memory'


Elite Log Agent not updating INARA CMDR profile

I cannot for the life of me get the program to work. API key has been set and after playing the game and refreshing my Commander section on INARA nothing happens. Any ideas?

Greetings! Couple of things I'd suggest to check:

If you open settings, INARA section, and click "Validate" - does the API key highlight in green?
Do you start the game after app has been started?

Good day DarkWanderer,

Yes it does, when I boot up the program or come back to that screen it does not stay green. Is it always supposed to be green all the time?
I am testing by running the game first then opening the app. I will travel to another system to see if I get any update and refresh my CMDR page on INARA. Still shows nothing (no credits, no ships, pledge)

Test complete - Need to run agent before starting game

Yes, indeed. Currently, you do need to start agent before the game (may change that later).
As for badges, some INARA data (badges, global 'score') can only be updated using Frontier data import - to prevent 'cheating' using API. Naturally they won't work if that import doesn't work (which is probably the case with 'keyless' accounts)


update google images to nougat

issues which block this from being merged:

we're missing the flag-us and flag-no images. not sure where they've gone
nougat does not have all the same family ligatures as marshmallow had. need to find where they're gone and re-map them
after that, need to do a full optimization, data rebuild and sheet rebuild

missing flags are:

flag-no 1F1F3-1F1F4
flag-us 1F1FA-1F1F8

i've fixed the family ligature mappings in extract.pl, but it's giving me errors every other time i run it now. it seems like it's failing to clear state or something

I noticed the same issue when trying this myself. A random subset of the family sequences are missing each run, though there's always the same number of extracted images (before the additional moving/copying). The non-deteministic behavior is likely caused by Perl's random ordering of keys from a hash, and my guess is that not all of them are being iterated over somewhere (though I'm not sure where).
I'm not really familiar enough with Perl to fix it (just happened to choose Python long ago :P), but I thought it might be a better idea to just use the images straight from the source, noto-emoji, instead. I wrote some quick scripts to use those and the gaps in google's sprite sheet finally seem to be filled. I can clean this up a little and make a pull request if you'd like.

i'm going to keep this branch around for a while to understand why the perl extractor was failing, but this has now been superseded by pulling the images from the noto repo

@iamcal after 5 years, maybe this PR should be closed

you know, i think you're right 😂


Let the picker occupy space, not be a popup

Hello friends!
Thanks for this amazing package!
I just wanted to know if there was a better way to display the picker calendar as an element that doesnt go away. I've tried hacky css styles but I don't like very much the result!
Thanks!
Mike

Hi @miguelalche, I think it would be useful to have an inline calendar, even if changing the view after selection could be quite annoying.
Anyway this sounds like an easy to code feature, stay tuned. :)

Hi @indrimuska  that would be amazing!!
let me expand
Right now I only managed to disable the "position:absolute" so i have this:

but I can't get rid of the input that I marked with red.  Also if I click away the calendar closes.
I managed to get just the calendar also by passing format="DD" in the directive, but it also doesn't feel very good.
I'm quite a beginner, but if I can help with something please tell me!
Thanks!

Well the picker closes because of the directive ng-show that hides the picker after selection.
At the moment you can force displaying the picker every time by setting this rule:
.moment-picker-container {
    display: block !important;
}

Latest release v0.9.8 is now out.

you are amazing!!! thanks!!!


Manual cherry pick of fix blackhole and passthrough for telemetry v2 …

…(#22693)

Fix blackhole and passthrough for telemetry v2

VirtualHost was being set, not the name of the route. By changing the
name of the route it is possible to check in the telemetry v2 filter
the route name to see if it is sending it to Blackhole/Passthrough and
setting the destination_service_name appropriately.

Consolidate virtualhost and route name into a single variable

@googlebot I consent

Corresponding PR https://github.com/istio/proxy/pull/2793

@googlebot I consent

@jacob-delgado: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio_release-1.5
aa3ff726933e8e1d64d76a04f8cabf84a56892c6
link
/test lint_istio_release-1.5

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jacob-delgado: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio_release-1.5
d8b32d2d41db9d0c4fdef70c2fb74bd72fbf509d
link
/test lint_istio_release-1.5

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Css import

Does anyone know what issue is this ? I have copied the CSS file into my project folder.

New to react. I fixed it by adding bootstrap3 package.


[qhull] fix missing symbols

I need this fix for https://github.com/microsoft/vcpkg/pull/17423
It contains upstream fix https://github.com/qhull/qhull/pull/93

What does your PR fix?
Fixes #18854

Which triplets are supported/not supported?
Yes

glad you are still working on open3d here on vcpkg!!

glad you are still working on open3d here on vcpkg!!

it's slow going, but getting there

yeah but the byproduct is many ports finally working and not just appearing here on vcpkg (in the past there was a rush to add ports but usually people didn’t even tried them or used them, with the obvious result). Just look at the sequence of PR extracted from my original one and how many ports you already helped fixing and made working.
this is another very good one (and qhull was a mess with static/dynamic cmake targets too in the past, i don’t know current status)


Handle wkt format

I noticed this code would not work:
import hvplot.xarray
import rioxarray as rxr

# Downloaded from: https://oin-hotosm.s3.amazonaws.com/5d7dad0becaf880008a9bc88/0/5d7dad0becaf880008a9bc89.tif
cog_url = "/home/shh/Downloads/5d7dad0becaf880008a9bc89.tif"
da = rxr.open_rasterio(cog_url)
plot = da.hvplot.rgb(x="x", y="y", rasterize=True, tiles=True, crs=3857)
plot

And would give the following traceback:
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
Exception: It does not make sense to provide both "scale_factor" and "latitude_true_scale".

The above exception was the direct cause of the following exception:

ValueError                                Traceback (most recent call last)
File ~/Repos/holoviz/hvplot/hvplot/converter.py:662, in HoloViewsConverter._process_crs(self, data, crs)
    661 try:
--> 662     return process_crs(_crs)
    663 except ValueError:
    664     # only raise error if crs was specified in kwargs

File ~/Repos/holoviz/hvplot/hvplot/util.py:274, in process_crs(crs)
    272     return crs
--> 274 raise ValueError("Projection must be defined as a EPSG code, proj4 string, cartopy CRS or pyproj.Proj.") from Exception(*errors)

ValueError: Projection must be defined as a EPSG code, proj4 string, cartopy CRS or pyproj.Proj.

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
Cell In[1], line 8
      5 cog_url = "/home/shh/Downloads/5d7dad0becaf880008a9bc89.tif"
      7 da = rxr.open_rasterio(cog_url)
----> 8 plot = da.hvplot.rgb(x="x", y="y", rasterize=True, tiles=True, crs=3857)
      9 plot

File ~/Repos/holoviz/hvplot/hvplot/plotting/core.py:2016, in hvPlot.rgb(self, x, y, z, bands, **kwds)
   2014 if bands is not None:
   2015     kwds["bands"] = bands
-> 2016 return self(x, y, z=z, kind="rgb", **kwds)

File ~/Repos/holoviz/hvplot/hvplot/plotting/core.py:92, in hvPlotBase.__call__(self, x, y, kind, **kwds)
     89         plot = self._get_converter(x, y, kind, **kwds)(kind, x, y)
     90         return pn.panel(plot, **panel_dict)
---> 92 return self._get_converter(x, y, kind, **kwds)(kind, x, y)

File ~/Repos/holoviz/hvplot/hvplot/plotting/core.py:99, in hvPlotBase._get_converter(self, x, y, kind, **kwds)
     97 y = y or params.pop("y", None)
     98 kind = kind or params.pop("kind", None)
---> 99 return HoloViewsConverter(self._data, x, y, kind=kind, **params)

File ~/Repos/holoviz/hvplot/hvplot/converter.py:401, in HoloViewsConverter.__init__(self, data, x, y, kind, by, use_index, group_label, value_label, backlog, persist, use_dask, crs, fields, groupby, dynamic, grid, legend, rot, title, xlim, ylim, clim, symmetric, logx, logy, loglog, hover, subplots, label, invert, stacked, colorbar, datashade, rasterize, row, col, debug, framewise, aggregator, projection, global_extent, geo, precompute, flip_xaxis, flip_yaxis, dynspread, hover_cols, x_sampling, y_sampling, project, tools, attr_labels, coastline, tiles, sort_date, check_symmetric_max, transforms, stream, cnorm, features, rescale_discrete_levels, **kwds)
    399 self.dynamic = dynamic
    400 self.geo = any([geo, crs, global_extent, projection, project, coastline, features])
--> 401 self.crs = self._process_crs(data, crs) if self.geo else None
    402 self.project = project
    403 self.coastline = coastline

File ~/Repos/holoviz/hvplot/hvplot/converter.py:666, in HoloViewsConverter._process_crs(self, data, crs)
    663 except ValueError:
    664     # only raise error if crs was specified in kwargs
    665     if crs:
--> 666         raise ValueError(
    667             "'{}' must be either a valid crs or an reference to "
    668             "a `data.attr` containing a valid crs.".format(crs))

ValueError: '3857' must be either a valid crs or an reference to a `data.attr` containing a valid crs.

This is cool! I'd use this; I found import cartopy.crs as ccrs tedious every time I needed a non ccrs.PlateCarree crs.
By the way, does this support projection=3857 too?

By the way, does this support projection=3857 too?

No. Not right now. I don't know if there is a technical reason for this.

It'd also be cool to support crs="Mercator" or projection="Robinson"

This seems to work already.


[NT-1682] Update instances of Kickstarter logo

📲 What
We are in the process of replacing our old color scheme with a new palette. We're implementing the changes to the various instances of the Kickstarter logo within the app to reflect these updates.
🤔 Why
Most of the changes here are specifically updating instances of a particular shade of green we are currently using. We've consolidated our greens to a set of new ones and will be applying them over the course of a few PRs.
🛠 How

Updated assets.
Apply tint color for each of these instances.

👀 See

✅ Acceptance criteria
All instances of the Kickstarter logo in the app are a PDF file with the color controlled using code, to make future updates easier

[ ] Discovery screen
[ ] Tab bar
[ ] Sign up / Login screen
[ ] All instances of the Kickstarter logo in the app have been updated to KDS-create-500

⏰ TODO

[ ] Merge after PR that adds KDS colors and update.

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger


Swap in .env, sqlite for config.json,pysqlite3

Added a env.example and updated python code to load env vars instead of via config.json.  Definitely could refactor this more but this is pretty lightweight change with lots of benefits.
Run on: Apple M1 MBP Sonoma 14.1.1
Testing Notes:
Functional testing (see video)
https://github.com/OS-Copilot/FRIDAY/assets/61345237/765585ad-9524-4099-8c77-2cea3e441a02

Hi sidmohan0,
Thank you so much for your pull request on the FRIDAY project! Implementing environment configuration using .env files is indeed more universal. We are still using pysqlite3 instead of sqlite3. The previous issue might have been due to the absence of pysqlite3 in the requirements.txt, this has now been fixed. Your contribution is greatly appreciated.
P.S.: Your demo is quite interesting! We are planning to create a community demo section on our project website, and we would like to feature your demo there. Thank you~


Add an animating profile card

A profile card with links to the users social accounts and the card tilts in 3D when hovered upon

Hi, there's no plan of adding a profile seciton as of now. But I'm planning a website improvement window in near future. I will open this issue if it is considered in the plans then. Thanks!


fix #41 error when user of lastMessage left the room

This pull request will be fixing #41
What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

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

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing

@aubrydario The issue with this PR is that you are forced to add username to room.lastMessage.
We can keep the current automatic logic, and add room.lastMessage.username as a fallback:
if (room.lastMessage.username) {
	return `${room.lastMessage.username} - ${content}`
} else if (!user || user._id === this.currentUserId) {
	return content
}

return `${user.username} - ${content}`

You can update your PR and test those changes and I'll review it.

Yeah makes sense. I updated the PR.


Need English support

Would you please describe the problem more specifically?
If you mean the english version of this repo, you can see here(https://github.com/Avik-Jain/100-Days-Of-ML-Code).


Volvo Index no functions

Hello, I remember reading to contact you if using a Valve Index. So here I am.
No matter what I configure I got no function at all. With Oculus everything works :)

Same issue on my end too, I can configure any settings of the mod but nothing works by changing any of the settings

following this guide should fix it: https://www.youtube.com/watch?v=Bb4YKwmYvWk


Accessing Object Property through a Parameter as the property name

I have read through this page a few times, but I am not sure that an important and powerful piece of functionality about accessing Object properties is discussed.
I was looking to pass in a parameter to an ARM template to specify the key in the key:value pair in my object parameter.  I found that this is documented on this page.
Specifically the syntax I needed was:
"value": "[variables('objects')[parameters('propertyName')].color]"

I also had to modify the structure of my key:value object parameter and for every key:value pair I had to put it under a "heading" so that it could be called with this syntax.
If this isn't discussed specifically on this page, can it be added?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 928f1651-0e7e-9389-add5-120cf6ccf0dd
Version Independent ID: 5399b529-92c2-ac3c-0f66-7cbcfef25c91
Content: Use an object as a parameter in an Azure Resource Manager template - Azure Architecture Center
Content Source: docs/guide/azure-resource-manager/advanced-templates/objects-as-parameters.md
Service: architecture-center
Sub-service: azure-guide
GitHub Login: @Petertaylor9999
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 427600


New Palomaswap UI

WELCOME

[ ]  As a user that arrives at Paloma Swap we should show a Welcome Message with a 2 call of action.

https://www.figma.com/file/ClniQyKFqN1hSpWizV5O4A/Paloma?node-id=5659%3A12944&t=4ghRTHvYM7sd36Su-4

[ ] The user can either “Earn Tokenback now” and be redirected to the Swap View (app) or
https://www.figma.com/file/ClniQyKFqN1hSpWizV5O4A/Paloma?node-id=5892%3A10795&t=4ghRTHvYM7sd36Su-4

[ ] If the user presses on the second call of action “Join the Community” we should redirect the user to the Discord community: https://discord.gg/tNqkNHvVNc

SELECT DEX AND CHAIN

[ ] When the user lands on the Paloma Swap app they will need to select a Chain and a DEX where they want to SWAP.

https://www.figma.com/file/ClniQyKFqN1hSpWizV5O4A/Paloma?node-id=5860%3A10791&t=4ghRTHvYM7sd36Su-4

[ ] On this view the user will see the Connect Wallet button disabled until they select a DEX and Chain.

[ ] After selection both DEX and Chain the button will enable to the user be able to Connect their EVM wallet on the selected chain.

CONNECT WALLET
When user presses Connect Wallet, will be redirected to the Connect Wallet flow that has 2 simple steps:

[ ] First the user will connect a Wallet using Metamask or Wallet Connect on the chain they already select.

[ ] Second, if the user has installed Paloma Nest Wallet will open the Chrome Extension to connect to Paloma Swap via Nest.

[ ] If the user doesn’t have Nest installed, the button will say Download Paloma Nest Wallet and will be redirected to Chrome Store to download it.

SWAP

[ ] After connects wallet the user will be redirected to the Swap view. Where they will be able to see the DEX where are they swapping, the chain and select the tokens.

Closing as we will not be focused on this to focus on the bots.


Document how to create simple launch files

This PR updates the ROS 2 launch system documentation by providing an example on how to write your own launch file as well as setting up your package.
It outlines specifically what to change when you have a Python or C++ package, as well as sample setup and usage.

@wjwwood all changes resolved.


Add a scrollbar

I use VerticalGridView to replace RecycleView in Android TV app and set scrollbar for VerticalGridView in xml as below. But in the end the scrollbar is not showing.
android:scrollbarSize="@dimen/sw_3dp" android:scrollbarStyle="outsideInset" android:scrollbarThumbVertical="@color/white" android:scrollbarTrackVertical="@color/color_B0B0B0" android:scrollbars="vertical"
After I added the following code, the scroll bar can be displayed. But the scrollbar only shows the track but not the thumb.
android:fadeScrollbars="false" android:background="@color/transparent" android:scrollbarAlwaysDrawVerticalTrack="true"
Can help me?

Have you managed to resolve the issue?


Enable jsx-key rule

It enforces to check that all arrays within JSX tree have defined key property.
From Twitter thread: https://twitter.com/boriscoder/status/779312554996822016

@gaearon, hello!
Are you still interested in merge this?

Yes, I was just busy with #89 and couldn’t take a look at this. I think it’s good to go, but I’ll need to see how useful the message generated by that plugin is, as well as if its docs do a good job at explaining the issue. I’ll tag this with a milestone and get back to it whenever we cut the next version. I plan to take a break from CRA now as it’s relatively stable, so I think next release may happen in a couple of weeks.

Well, then I can just share my experience after ~1 month of having this option in my code.
The warning looks pretty well, I am using ESLint within Intelij IDEA:

As far as I can use it, I didn't find any missed keys or false-positives.
I also wondering why this rule is not part of react:recommended preset from eslint-react-plugin, because this is a really must have thing.

One thing I’m not very happy about is that we have double logging now:

We want people to read the warnings, so if they get duplicated, it’s more likely people will ignore them in the future and miss important issues.
Also, React built-in warning contains a link to an explanation whereas the linter warning does not.
Do you have any ideas for how to solve this?

Well, these warnings have different source:
React warning appears only in runtime when render function was called.
Webpack warning is always visible, even if the module was not called on the page load.
I prefer to see eslint warning because it shows error as early as possible. I believe that link with explanation can be added into eslint plugin too.
Also, I don't have this issue in my use-case because I don't use eslint-loader. My point is that linting should be run as pre-test step, but not as a part of the build. What do you think about that?

Also, I don't have this issue in my use-case because I don't use eslint-loader.

Well, we have it 😄 . We use it because we only enable lint warnings for things that are common errors (and not for style), and so we display them as soon as possible (including the browser console).

Well, then this rule is not for you, once we already have user warned.
I am closing this PR, but I'd like to continue the discussion about "eslint-loader" vs "eslint as pre-test step". For me, it makes some sense, because lining errors are possible bugs, but you can still create a build with buggy code. As far as there is also npm test -- --watch command, I'd like to see lint errors there as well, rather than push this into user browser where it will be irrelevant IMO.


Error occurred when try casting null to List

JSON:
{
"list": ["1", "2", "3"],
}

generated dart code:
list = json['list'].cast<String>()

Boom if json['list'] is null
Workaround:
list = json['list']?.cast<String>()

This issue has been fixed and is now under review. You can download the link below
https://github.com/zhangruiyu/FlutterJsonBeanFactory/blob/master/FlutterJsonBeanFactory.zip


Add Transformers model and Completion sequence generation

Some notes on sequence generation
If we note $\boldsymbol{t} = (t_1, \dots, t_n)$ a sequence of $n$ tokens that represent a string, then we can define the next token $t_{n+1}$ in the sequence as the following random variable:
$$
\begin{align*}
\boldsymbol{\alpha} &= \mathrm{LM}(\boldsymbol{t}, \boldsymbol{\theta})\
t_{n+1} &\sim \mathrm{Categorical}({\boldsymbol{\alpha}})
\end{align*}
$$
where $\boldsymbol{\theta}$ is the set of trained parameters. This random variable's support is the entire token vocabulary $\mathcal{V}$ (~ $10^3$ to $10^4$ tokens). In the following, the $\mathrm{LM}$ function will typically refer to a deep neural network trained on next-token-completion tasks, but it does not need to be and can be as simple as a function that returns a constant vector with equal values.
This random variable is the basic building block that allows us to sample text sequences. Representing these random variables explicitly is thus the first step in an effort to refactor the generation process in Outlines to make it more flexible, to allows a larger variety of sequence-generating processes and ways to sample them.
Using the same model call we can define many other random variables by manipulating the output logits $\boldsymbol{\alpha}$, randomly or deterministically. A particularly interesting example is when one applies a boolean mask $m$ to restrict the support of the distribution like so:
$$
\begin{align*}
\boldsymbol{\alpha} &= \mathrm{LM}(\boldsymbol{t}, \boldsymbol{\theta})\
\tilde{\boldsymbol{\alpha}} &= m \odot \boldsymbol{\alpha}\
t_{n+1} &\sim \mathrm{Categorical}({\tilde{\boldsymbol{\alpha}}})
\end{align*}
$$
This mask can encode some a priori knowledge about what the support should be. For instance:

We want the random variable to represent a digit;
We want to exclude the <EOS> (end-of-sequence) token from the support;
We want the random variable to match the [a-zA-Z] regular expression.

We can summarize the above in the following notation:
$$
t_{n+1} \sim \mathrm{Token}_m(\boldsymbol{t})
$$
where $\mathrm{Token}_m$ is a random variable with support $\mathcal{V} \backslash \left\{ i | m_i = 0 \right\}$ and parametrized by $\boldsymbol{t}$.
In practice
Generating a text sequence using language models requires:

A language model that returns next-token logits given an input sequence;
A model that describes how a sequence is to be generated

Models
In this PR we introduce the Transformers object which is responsible of initializing and calling the model. This implicitly defines the interface that models have with the rest of the library (a parent class will be added). In particular:

Models accept a NumPy array of token ids and return a NumPy array that contains the logits. The NumPy interface simplifies the rest of the library, and we make the assumption that transferring these arrays back-and-forth between the CPU and the device is not the limiting factor in performance.
Caching is handled at the model level. We need to cache and persist input ids to logit calls (for repeating call of the same workflow during development), and the model's k-v cache for repeated calls with overlapping prompts.

The k-v cache will require some careful thought, and will likely have to be customized to the particular class of models for which it is implemented (transformers, llama.cpp, etc.). My initial though is to build a trie that we query each time the model is called; this cache is attached to the model instance.
Another difficulty arises when the workflow uses different local models, since we cannot hold all of the models' weights in memory. We may need a process that supervises the models so that when a model is called we know whether it is currently loaded in memory.
We don't necessarily need to solve both these problems now, and they can be turned into issues.
Sequences
Sequences are objects that represent a sequence-generation model; when called with a prompt or a list of prompt they generate the sequence(s). Here we implement the simplest possible sequence, completion until an EOS token is found. The proposed API is as follows:
import outlines.models as models
import outlines.text as text

model = models.transformers("gpt2")
completion = text.completion(model)("say something")
new_completion = text.completion(model)(completion)

When sampling generations we can simply return a (list of) string(s), but for more advanced generation mechanisms we will need to return a state object that contains both the completion and the corresponding probabilities. This also means that we will need to unpack/repack the state when calling python functions in the middle of a chain.
Local model and API calls
Models based on API calls are less flexible; for instance we cannot shape the proposals completely (when we can) and don't have access to the logits. They have a different interface and will thus need to inherit from a different base class.
This also means that the Sequence implementation needs to be different; to make this transparent to the user we implement completion function which dispatches to Completion when the logits are available, and to a custom implementation when it is not. It can possibly fail when some generation constraints cannot be applied when calling the API.

Left to implement:
Models

[ ] Adding cache to the __call__ method and persist to disk
[ ] Add cache for kv values
[ ] Abstract tokenizer calls to unify interface and add TransformersTokenizer class

Completion

[ ] Add Sequence parent class, which contains the step and __call__ implementations
[ ] Test vectorized_choice
[ ] Test Completion with mock model and tokenizers
[ ] Test is_finished in isolation

The k-v cache will require some careful thought, and will likely have to be customized to the particular class of models for which it is implemented (transformers, llama.cpp, etc.). My initial though is to build a trie that we query each time the model is called; this cache is attached to the model instance.

It might be easier to allow the user to handle the caching. That way the model doesn't have to save all the text it has ever been prompted with. E.g.
prompt = "Here's a bunch of examples"
_text, kv_cache = model.generate(prompt, tokens=0, return_kv=True)  # Don't generating any text, just return the kv-cache
output1 = model.generate("", context=kv_cache)  # Use kv-cache from previous generation
output2 = model.generate("", context=kv_cache)  # Use kv-cache from original generation

I think this is a bit similar to how Hugging Face handles kv-caches right now.
It would also allow using a kv_cache that has been "learned" by fine-tuning, rather than representing an actual prefix.
At some point we'd like to give the model access to a vector db of "external" key-value pairs. I wonder if you are interested in having such a feature in outlines as well.

It might be easier to allow the user to handle the caching. That way the model doesn't have to save all the text it has ever been prompted with. E.g.

It will be easier across generation calls, I agree. In which case I'd just return a state that contains more than the completion, or a tuple (state, extra) by default. We'd need to do this to return extra info about the generation process, e.g. with SMC sampling. To be refined but something like:
import outlines.models as models
import outlines.text as text

model = models.transformers("gpt2")

completion, extra = text.completion(model)(prompt)
_ = text.completion(model, kv_cache=extra.kv_cache)(completion)

We will still need to manage the k-v cache internally when sampling a single sequence, however.

I think this is a bit similar to how Hugging Face handles kv-caches right now.

Not sure HF returns the kv cache with the generate method, not that it really matters.

It would also allow using a kv_cache that has been "learned" by fine-tuning, rather than representing an actual prefix.
At some point we'd like to give the model access to a vector db of "external" key-value pairs. I wonder if you are interested in having such a feature in outlines as well.

All valid use cases which justify allowing external cache management.
I won't implement the k-v cache in this PR, which is getting too big already, but will open an issue instead. I will copy over these comments and add a reference to that vLLM paper as well.

Left to implement:
Models

[ ]  Add cache to the __call__ method and persist to disk
[ ]  Add cache for kv values

This is almost ready for review. I just want to do some extra cleanup, in particular the __call__ code could be a tad cleaner. I won't implement the other model-related items, and will open issues instead. Same for the re-implementation of stop_at,  Choice, Integer, Float, the OpenAI integration and SMC sampling.

I added integration tests for Completion using a transformers model, and allowed fine-grained control over the RNG states in Sequence. In my opinion, making Sequence a python generator requires more thinking, and can always be done later once this PR is merged.
I am also unsure about the naming, but this can be changed before the next release once we're at feature parity with the current API. Addressing #162 may also impact the naming down the line.
This is ready for another review.

Hi all,
I couldn't find documentation for this code. Is there any way to generate the docs? Nevertheless, I played around with this branch.
import outlines.models as models
import outlines.text as text
import outlines.text.sequences as sequences

model_name = "gpt2"
llm = models.transformers(model_name, device="cuda")

outs=sequences.completion(llm, max_tokens=200)("Say something")

print(outs)

I am trying to figure out the right way to use the API correctly. This snippet shows the model is indeed loaded in the GPU, but a 0% gpu-util. And its over 3mins but no output. I observe a non-zero gpu-util on MPS, but still takes forever.

I couldn't find documentation for this code. Is there any way to generate the docs?

It's not documented yet, API might still change.

I find a large difference in native hf generation vs this api generation. Is it because of the constant device-cpu tensor-NDArray conversions?

Could be, or I'm doing something wrong with the arrays. Given the size of token id arrays I didn't think it would make a huge difference, but I will need benchmark this.

Can we also provide a warning message if no. of tokens is not specified, this would not terminate the while True loop, if a stopping_criterion is also not mentioned.

The default stopping criterion is EOS, which I think GPT2 does not have? It may be a good idea to set a default value for max_tokens or a warning as you suggested.

I timed Outlines and transformers using the following code. I include encoding/decoding for a fair comparison:
def test_time_outlines():
    import time
    import outlines.models as models
    from outlines.text.sequences.completion import completion

    now = time.time()
    model = models.transformers("gpt2")
    sequence = completion(model, max_tokens=100)("This is a prompt")
    print(f"Outlines: {time.time()-now:.2f}")

def test_time_hf():
    import time
    from transformers import AutoModelForCausalLM, AutoTokenizer

    now = time.time()
    model = AutoModelForCausalLM.from_pretrained("gpt2")
    tokenizer = AutoTokenizer.from_pretrained("gpt2")
    inputs = tokenizer(["This is a prompt"], return_tensors="pt")
    out = model.generate(**inputs, do_sample=True, max_new_tokens=100)
    sequence = tokenizer.batch_decode(out)
    print(f"HuggingFace: {time.time()-now:.2f}")

On CPU it is a wash, and I am yet to try this on GPU. Is that where you saw the difference? Could you post the code you used and some measurements?

What is the intuition here? How can outlines be faster than native, considering we do a lot of work on top? Are we avoiding extra boilerplate code that HF has inside their generate function?

We do less things than native in completion, I don't use the generate method models but call their forward method to get the logits and then do the sampling myself. Several benefits:

To draw several samples, transformers duplicates the input as many times as there are samples and then does the forward pass with this batched input. outlines run the forward pass with the single input and then draws several samples using the logits;
When doing inference in batch transformers keeps feeding finished sequences to the model. Outlines only feeds the unfinished sequences.

I see, that makes sense.

The reason I decouple the model call / sampling this way is to be able to support different model providers and sampling methods (like SMC) in the future.

I like this design decision,  of de-coupling the model and the generation process.
Question: Why does outlines code not load the model in GPU automatically? According to the code I see, if device=None, it should be auto inferred right? Instead of device=None, maybe we can keep the default as device='auto', which would imply the meaning correctly.
I also ran your test cases and I can confirm that outlines is faster on cuda for gpt2 however I cannot say the same for any other model.
# model_name = "gpt2"
model_name = "togethercomputer/RedPajama-INCITE-Instruct-3B-v1"
prompt = "This is a prompt"

def test_time_outlines():
    import time

    import outlines.models as models
    from outlines.text.sequences.completion import completion

    now = time.time()
    model = models.transformers(model_name)
    sequence = completion(model, max_tokens=100)(prompt, samples=10)
    print(f"Outlines: {time.time()-now:.2f}")

def test_time_hf():
    import time

    from transformers import AutoModelForCausalLM, AutoTokenizer

    now = time.time()
    model = AutoModelForCausalLM.from_pretrained(model_name)
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    inputs = tokenizer([prompt], return_tensors="pt")
    out = model.generate(**inputs, do_sample=True, max_new_tokens=100, num_return_sequences=10, use_cache=False)
    sequence = tokenizer.batch_decode(out)
    print(f"HuggingFace: {time.time()-now:.2f}")

def test_time_outlines_cuda():
    import time

    import outlines.models as models
    from outlines.text.sequences.completion import completion

    now = time.time()
    model = models.transformers(model_name, 'cuda')
    sequence = completion(model, max_tokens=100)(prompt, samples=10)
    print(f"Outlines: {time.time()-now:.2f}")

def test_time_hf_cuda():
    import time

    from transformers import AutoModelForCausalLM, AutoTokenizer

    now = time.time()
    model = AutoModelForCausalLM.from_pretrained(model_name).to('cuda')
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    inputs = tokenizer([prompt], return_tensors="pt")['input_ids'].to('cuda')
    out = model.generate(inputs, do_sample=True, max_new_tokens=100, num_return_sequences=10, use_cache=False)
    sequence = tokenizer.batch_decode(out)
    print(f"HuggingFace CUDA: {time.time()-now:.2f}")

The times show that HF is faster than Outlines on both cuda and cpu (for use_cache=False)
HuggingFace CUDA: 31.83
Outlines CUDA: 47.30
HuggingFace: 88.90
Outlines: 230.86

Thanks! Are those average times over several runs? I'm asking because with any other model than GPT2 the sequence is likely to terminate before max_tokens is reached (when EOS is found).
A possibility is that with a bigger vocabulary we're paying for the memory transfer, which may be avoided by delegating next-token-sampling to the model class as well. This way we're only transferring a few tokens instead of the full logits. The reason for keeping NumPy is to keep as much generality as we can if we want to include llamacpp, or even JAX or TF transformers models.

Thanks! Are those average times over several runs? I'm asking because with any other model than GPT2 the sequence is likely to terminate before max_tokens is reached (when EOS is found).

No, these are not average numbers, but I ran this multiple times, and its similar.

PS: do you need an A100 for a 3B model?

Not really, but I am experimenting with upto 13B models, and sometimes I need a lot of GPU-RAM cuz of batchsizes (vLLM requirements, etc)

Question 2: Why are we moving back and forth torch and numpy arrays? I modified this branch to only use torch.tensors and it can be drop in replacement (except MPS devices because torch.searchsorted is not implemented for MPS)

I have thought more about this, and there's probably no good reason to not be using PyTorch as the default. This would allow to keep a strict separation between model calls and logit manipulation without moving memory around. Arrays output by llamacpp can be converted into torch.Tensor at virtually no cost, and apparently so can JAX and TF arrays (although that's slightly more complicated).

Because HF models are loaded on cpu by default, and you need to explicitly move them to another device. I'm following their conventions as much as I can. Do you think we should do differently?

No, this is good. We should stick to HF wherever we can for defaults. The correct and fastest way to load model to device, is to use config.device_map = 'auto' which HF also expects as **kwargs.


[Feature] Add YOLO v8

We need to add YOLO v8 and prerequisites to the pyproject.toml .
Links:

https://docs.ultralytics.com/quickstart/#use-ultralytics-with-cli
https://github.com/ultralytics/ultralytics/blob/main/requirements.txt

I am currently trying out this in a separate script, as it is my first time experimenting with this model.

Dataset: GolfDB
Model: yolov8n-pose.pt

I plan to give some updates soon and hopefully be able to help on the integration with the main project.


Updating the regex to accept multiple semi colon parsing. Added tests…

… to support new functionality.

Haha all good now. Merge it! 📽


Add NLP and Parsing modules

NLP :
Wit AI (Facebook) SDK
API AI SDK
Luis (Microsoft) SDK

Parsing :
busboy
body-parser

you need an individual pull request for each different addition.


feat: configure Semantic Pull Requests bot

I believe that the bot has now been activated for this repo, so we can do exactly what we did in:
https://github.com/liferay/liferay-frontend-guidelines/pull/70

I believe it works and I tested extensively in liferay-frontend-guidelines, so going to merge this.


Confusion about training and validation when pretraining

When pretraining with the crossentropy, you set a validation dataset. It's consistent with training a classification network.
However, when pretraining with the supcon loss, you used all the dataset as training set. I wonder why you didn't split them to training and validation set, just like pretraining with crossentropy? Is it because supcon will not face the risk of overfitting?

Hi, @XiHuYan,
I think your concern is valid. We could use the same validation set (used for cross-entropy) to check supcon loss. But I suppose this way is not as informative as I validate it by checking the follow-up linear classification performance on the val set since this is real task we care about.
Ideally or legitimately, we should have another test set for reporting performance.


custom stopwords are not being removed

With the new SpaCy implementation, the custom stopwords I import are not being removed.  Specifically the word "patient" and "patients".
I tried to pull this code out and it looks like it is working within the function, however, when the phrases are pulled out the word "patient" appears in a lot of them and it should not.

nevermind....seems to be working now.  I think it was not finding the stopwords file.


The new affiliations should be visible within the next 7 days.


AJAX requests and Access-Control-Allow-Origin

Our server expects a certain Origin header to match Access-Control-Allow-Origin for both our hosted application and our Electron app.
So far, I have not seen a way to set the Origin on the Browser-window object. Also, manually altering the Origin header as below will generate an error 'Refused to set unsafe header "Origin"'
$.ajax({
        type: 'POST',
        url: req_url,
        data: data_value,
        dataType: 'json',
		beforeSend: function(xhr, settings) {
          xhr.setRequestHeader('Origin', req_origin);
        }
      }

We have also tried setting web-security settings on the browser-window
"web-preferences" : {
    "web-security" : false
},

We are willing to fork Electron if this is a feature that is not wanted in the main branch, but I have been looking through source and not seen a way to work around this yet.
Is there a solution to this as I expect many users would come up against this problem

"web-preferences" : {
    "web-security" : false
}

Should work. As a test, try making a request using a Node.js module in the renderer... say using something like request.

I'm merging this to #2223, Chromium doesn't provide a good way to disable web requests security for now, the best choice is to use Node.js modules.

This is a 3 year old issue but I wanted to say I had the same issue.
What I ended up doing was actually overwriting XMLHttpRequest with a custom one that used node in the back end, and didn't conform to spec by allowing all headers to be set and all HTTP methods to be used.
That library is here

@jonluca How did you get this to work? I tried this with your library but I am still getting an error:
const XMLHttpRequest = require('xhr2-unsafe');
window.XMLHttpRequest = XMLHttpRequest;

Are you using it with another front end library that uses it behind the scenes or are you invoking a new XMLHttpRequest() yourself?
Try renaming it and using the renamed one, like
const XMLHttpRequestUnsafe = require('xhr2-unsafe');
window.XMLHttpRequestUnsafe = XMLHttpRequestUnsafe;
let xhr = new XMLHttpRequestUnsafe();

It's probably still defaulting to the Chrome XHR rather than the unsafe one.


Adding Footer and Login/Sign up Page in "Villa Hotel Website" Project #867

🛠 Issue (Number)

Closes #
Description
Please include a summary of the change. Please also include relevant motivation and context. List any dependencies that are required for this change.
Type of change
Login page,
signup page,
footer

[ ] 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)
[ ] This change requires a documentation update

Checklist:

[ ] I have made this from my own
[ ] I have taken help from some online resourses
[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] The title of my pull request is a short description of the requested changes.

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

#867 done issue Adding Footer and Login/Sign up Page in "Villa Hotel Website" Project #867 fixed
login and signup page

footer is :


Checking EXT4_FS_SECURITY for overlay

strace:
[pid  8769] lgetxattr("/var/lib/docker/overlay/511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158/root", "security.capability" <unfinished ...>
[pid  8769] <... lgetxattr resumed> , 0xc2086c5b80, 128) = -1 EOPNOTSUPP (Operation not supported)

docker logs:
Error pulling image (latest) from busybox, operation not supported

I was running overlayfs on top of ext4.
cc @jfrazelle.

LGTM

Are we sure that this really is only necessary for overlay users?  Do we have an easy way to test that and make sure it's not necessary elsewhere?  Also, what about people who aren't using ext4, but are still using overlay?

hmm yes that is true I always forget about the other FS's
On Wed, Jan 28, 2015 at 11:24 AM, Tianon Gravi<EMAIL_ADDRESS>wrote:

Are we sure that this really is only necessary for overlay users? Do we
have an easy way to test that and make sure it's not necessary elsewhere?
Also, what about people who aren't using ext4, but are still using overlay
?
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/pull/10418#issuecomment-71897882.

Maybe docker should warn about missing kernel features on start like it fails with overlay on top of btrfs. Even a little hint in error message would help a lot for systems where kernels are compiled from who knows what.

Based on https://github.com/unclejack/boot2docker/commit/0108e1f3ea3e4d9f5672a483299487349576ca95, CONFIG_EXT4_FS_POSIX_ACL might also be required.

@bobrik Do you want to update this to include CONFIG_EXT4_FS_POSIX_ACL as well?

@unclejack updated!

@bobrik Thank you!
LGTM

ping @tianon

Are we sure that this really is only necessary for overlay users?  Do we have an easy way to test that and make sure it's not necessary elsewhere?  Also, what about people who aren't using ext4, but are still using overlay?

I'm still not sure I'm 100% comfortable with hard-coding EXT4 bits in our check-config script as "required" no matter which FS you're using underneath.  It's a reasonable assumption right now, but likely won't continue to be.
Any ideas for how we can reconcile this sanely, @jfrazelle? :disappointed:

@tianon ext4 is a file system known to work with overlay. Perhaps these flags could be listed for each file system? (e.g. overlay+ext4 -> all deps are there, overlay+xfs -> missing xfs config option and so on)

Do we have anyone testing graph drivers on XFS right now?
So, you're thinking something like this, right?
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: missing
      (note that some kernels include AUFS patches but not the AUFS_FS flag)
    - ext4:
      - CONFIG_EXT4_FS_POSIX_ACL: enabled
      - CONFIG_EXT4_FS_SECURITY: enabled
    - xfs:
      - CONFIG_XFS_...: missing
 ...

@tianon Yes, that's what I had in mind. I'm not sure what's the status for overlay on xfs in the kernel or if it needs some special options, but I know there are a lot of people waiting to use overlay on xfs.
Having those file systems written down with their names also sends a clear message: these are the file systems you need for overlay, everything else might not work and might eat your data TM.

Ok, that sounds fair. :+1:

soooo what was the verdict here?

oh nm it became a discussion of xfs so merging


[#PLAT-696]Add preprints and registrations to user profile page

Purpose
Update user's profile page by adding public registrations and preprints. Remove public components.

Changes
Before change:

After change:
User with projects, registrations, preprints and quickfiles view his own profile page:

Another user view a user's profile page who has projects, registrations, preprints and quickfiles

User without any projects, registrations, preprints or quickfiles view his own profile page

Another user view a user's profile page who has no projects, registrations, preprints or quickfiles

QA Notes

checkout user's profile page.
things to check:

If user has no preprints, preprints widget will still show up but saying "The user has no preprints"

If user has no public registrations, registrations widget will still show up but saying "The user has no public registrations"

If user has no quickfiles, quickfiles widget will disappear

Side Effects

Ticket
https://openscience.atlassian.net/browse/PLAT-696

Looks good 👍 , but you have a single test failing, https://travis-ci.org/CenterForOpenScience/osf.io/jobs/357552537... There's also a typical elasticsearch fail, but this one is separate.

@chennan47 You still have a test failure but it's appears to be out of date, and no longer part of your PR, so it really should pass. I'm passing this along to @sloria, because it seems like a travis problem.


Feature/evaluate

Handle greater variety of PDE coefficient inputs. Mainly, dolfin functions and expressions can be used for coefficients, meaning that the coefficients can come from solutions of previously solved PDEs or previous iterates of a computed solution.

What is the role of strict? Why not if expression is None then we return 0 vector?

Strict avoids using the default function (zeros), since this would cause the eafe_assembly to divide by zero.  That's why it's set to True for the diffusivity and is False (by default) for the convection and reaction terms.

We could add float, int, array or np.ndarry which are the classic ones.
I tried to add:
    if isinstance(expression, float) or isinstance(expression, float) \
        or isinstance(expression, np.ndarray) or isinstance(expression, list):
        return expression

At the begning but it gives an error.

I get some weird error and warnings:
Testing variously defined coefficients...
Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
--- Instant: compiling ---
Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
--- Instant: compiling ---
Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
--- Instant: compiling ---
Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
--- Instant: compiling ---
*** Warning: Degree of exact solution may be inadequate for accurate result in errornorm.
*** Warning: Degree of exact solution may be inadequate for accurate result in errornorm.
Errors for various PDE coefficient representations are acceptable
Success!
Done.

We could remove the dolfin warnings. Also I don't see in evaluation_test.py, a test if diffusivity is a float and not an Expression.

We can suppress those errors. The exact solution is constant so there won’t be any accuracy issues with quadrature.
Also, diffusivity is a float (see line 15 in eval_test.py).

Yeah, but you don't use it with assemble_eafe.
pyeafe.eafe_assemble(mesh, 1E-2, np.zeros(2))

@arthbous
I'm a little confused.  These two lines show using a float to construct the eafe matrix:
https://github.com/thepnpsolver/pyeafe/blob/feature/evaluate/pyeafe/tests/evaluation_test.py#L15
https://github.com/thepnpsolver/pyeafe/blob/feature/evaluate/pyeafe/tests/evaluation_test.py#L103

My bad. It works.
in pyeafe/tests/init.py : we need to add "evaluate_test"
in pyeafe/tests/evaluate_test.py we shoud add something like
import logging
logging.getLogger('FFC').setLevel(logging.WARNING)

In evaluate I don't see where it takes into account floats?
Also, what is the difference between defining a class and function inside a function?

@arthbous we don't add any tests individually to the pyeafe/__init__.py; so i don't think it's necessary for the evaluate_test.
In evaluate.py, see this line that checks if the function passed into create_safe_eval is callable.  If it is not callable, it is considered a float, list, or numpy array.  A function returning the constant value passed in is here.
Regarding classes vs defining functions within a function, we don't create instances of create_safe_eval that require inheritance or common class of methods. It dynamically creates a function each time it is called; this is like a constructor except that it only returns a function and not an object with methods and attributes.  That's why I went ahead and made this a function that returns a function based exclusively on the arguments.  Maybe in the future, this may need common methods or attributes across all safe_functions, but I do not think that is needed here and will only add an extra layer of complexity.

👍


docs: commit message convention

even better would be for the commit to be something along the lines of update commit message convention

@LKuechler Adjusted commit message, please approve again.


Run istio-ca always, fix grafana template

Run the istio-ca always this will be used for mtls with mixer and pilot.
Release note:

NONE

/approve

/lgtm

/assign @andraxylia

/lgtm

/approve

Please update branch and run updateVersion.sh. I would like to review before this gets merged.

BTW, what does istio-ca consume in terms of resources?

istio-ca is one go process that sleeps most of the time, pretty light weight I would say

with this change, is it correct that mTLS won't be used with mixer and pilot until this flag authPolicy: MUTUAL_TLS is enabled in istio.yaml?  Thanks.

I will be adding a different flag for mixer and pilot mtls, and not using authPolicy flag.
@kyessenov @andraxylia please
/lgtm
/approve

@rkpagadala: you cannot LGTM your own PR.

In response to this:

I will be adding a different flag for mixer and pilot mtls, and not using authPolicy flag.
@kyessenov @andraxylia please
/lgtm
/approve

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/approve

/lgtm

/lgtm

tickle

/lgtm
(based on above, not reviewed myself)


Make a env var-based execution mode

Frankly, I love this tool but I find it so limited by the fact it's interactive.
That would be so much simpler if we could just define options as variables before executing it, so that we could run scans in scripts and store results in files.
At the moment, the only solution for this is to use pipes |, echo and wait instructions but that's really unconvenient.
Tell me what you think !

Makes a lot of sense, but dude this project is wayyy too obsolete and I honestly can't even be arsed to work on it anymore.


Xamarin: Error MSB4018: The "LinkAssemblies" task failed unexpectedly.

Hi,
Today I updated the Xamarin.Forms and System.Net.Http nugets from

<package id="Xamarin.Forms" version="<IP_ADDRESS>" targetFramework="monoandroid70" />
   <package id="System.Net.Http" version="4.3.0" targetFramework="monoandroid70" />

to
<package id="System.Net.Http" version="4.3.1" targetFramework="monoandroid71" />
  <package id="Xamarin.Forms" version="<IP_ADDRESS>" targetFramework="monoandroid71" />

and the VSTS build failed with that error:

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): Error MSB4018: The "LinkAssemblies" task failed unexpectedly.
Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Reference to metadata item 'Mono.Security.Cryptography.SymmetricTransform' (defined in 'System.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e') from 'System.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' could not be resolved. ---> Mono.Cecil.ResolutionException: Failed to resolve Mono.Security.Cryptography.SymmetricTransform
at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
at Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type)
at Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly)
at Mono.Linker.Steps.MarkStep.Initialize()
at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.Process(LinkContext context)
at MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context)
at Xamarin.Android.Tasks.LinkAssemblies.Execute()
--- End of inner exception stack trace ---
at Java.Interop.Tools.Diagnostics.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args)
at Xamarin.Android.Tasks.LinkAssemblies.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()
Process 'msbuild.exe' exited with code '1'.

The previous builds worked.
The first I saw in file compare that the new nugets target monoandroid71.
hope someone can help me. In the meanwhile I revert to the previous versions that target monoandroid70
best
Eric

@ericbrunner; Xamarin Android 7,1 and required Android SDK build tools are not fully installed on the hosted build VMs. @thechrisjohnson has an update in progress which once complete should resolve your issue.

@ericbrunner: All the planned updates to the Hosted build VMs are completed. Please try and let us know if you are still seeing issues.

Please open new issue if you continue seeing issues. All planned updates have been deployed to "Hosted" and "Hosted VS2017" pools.


StyleComponents to CSS-like

Every Widget with style components contains other Widgets that do the designs.
Would it not better when Style is coded like CSS? It would not create new Objects, the Widget-Tree would be much smaller, the performance would gain and the app-sizes would smaller.
For Example (copied from Flutter documentation):
Text(   'Hello, $_name! How are you?',   textAlign: TextAlign.center,   overflow: TextOverflow.ellipsis,   style: TextStyle(fontWeight: FontWeight.bold), )
You see the Tree would get a Text Widget that has a TextStyle children.
Would not it be better to integrate the Style methods as properties directly in the text? Like:
Text(   'Hello, $_name! How are you?',   textAlign: TextAlign.center,   overflow: TextOverflow.ellipsis,   style: [     fontWeight: bold,     fontSize: 42px,   ] )
and so on...
Correct me if I'm wrong, but each property creates a new object that needs to be processed in the tree, which also has its own headers and other content.

Hi @bayezid75
I'm not sure to understand what is the target of the change you are proposing,
in the example seems you are proposing to change the TextStyle class,
but in the description you are referring to widgets in general,
could you clarify your proposal?
You are mentioning better performance, can you offer an example?
thank you

An graphic for example:
https://ibb.co/rbjRgzQ
I have still a Scaffold, Column and many Text Widgets. All of them has a TextStyle Widget that contains any properties.
Every Object (Widgets also) has their footprint informations that need space and CPU usage too.
So what you can do are two options.
You can do the Styles if they are the same with const.
Or another option would be like in CSS that they styles are not external new Objects, they are properties of the Text Widgets for example. You can do this for every Widget too. Borders, Paddings, Colors etc.
@iapicca answer on my other thread too :)


explicitly disallow else. fixes #123

Codecov Report
Patch coverage: 33.33% and no project coverage change.

Comparison is base (6a0c187) 79.11% compared to head (8b31c5d) 79.11%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #175   +/-   ##
=======================================
  Coverage   79.11%   79.11%
=======================================
  Files          49       49
  Lines        4731     4731
=======================================
  Hits         3743     3743
  Misses        988      988

Impacted Files
Coverage Δ

src/FinchNotation/syntax.jl
77.57% <33.33%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Prevent Ctrl-Tab from triggering tab completion

Fixes #529
This is probably the simplest workaround for Firefox sending a keydown event when switching browser tabs via Ctrl-Tab

Yeah, this is a pretty cheap fix, but we don't have a key bind on that so that's 👍 for now until we can get a better library I guess.
I see that preventDefault was used, I wonder why that doesn't work with the new textarea...

Before validating this, I would like to understand why this was working just fine on an input element but not a textarea. It may be browser weirdness because it's fine on Chrome (what about IE/Edge and Safari?), but it may also be our code that doesn't work well with textareas...
@hho, did you investigate a little bit there by any chance?

@astorije 2.0.0-pre.4 doesn't even have a <textarea> yet, does it? It seems to be only a Firefox bug, and an old one at that. I actually don't know how this ever worked in FF…  ¯\_(ツ)_/¯

Indeed, and that's why I was willing to investigate why it works fine with an input but not with a textarea.
But if you found that it's a bug specifically on textareas...

I'm sorry, but I don't understand:
2.0.0-pre.4 uses <input> and it doesn't work correctly with Firefox (this PR fixes that).
To me, this doesn't seem to have anything to do with textareas at all?

Woosh, my bad! When I tested, I could trigger this bug on <textarea> elements but not <input> elements, which is why I had marked this as a regression, but I guess it's not.
Thanks for sticking with my slowness 😅

👍 and merging, but let's open this to https://github.com/erming/tabcomplete to avoid monkey-patching libraries.


Routing?

I don't know if it makes sense, but maybe I should integrate some sort of routing, eg.:
function PageStart() {
	return [
		node_dom('h1[innerText=Hallo, Welt!]'),
		node_dom('p', null, [
			node_dom('a[href=#/blah][innerText=Blah]')
		])
	];
}

function PageBlah() {
	const [sdl, sdl_set] = hook_route();
	return [
		node_dom('h1', {
			innerText:
				sdl !== ''
				?	`Seite ${sdl}`
				:	'Sinnlose Seite'
		}),
		node_dom('input[type=number]', {
			value: sdl,
			onchange: event => {
				const value = parseInt(event.target.value);
				!isNaN(value) &&
					sdl_set(value)
			}
		})
	];
}

init(() => {
	return[
		null,
		[
			node_route({
				blah: PageBlah
			}, PageStart)
		]
	];
});

With this approach, there would be a hook_route that behaves like hook_state but is bound to the matching url part. A node_route(Object<string, Component>, Component, props=) could be used to handle pagination, including a default route.

Pro

Required for TodoMVC
Could be very useful

Contra

Would increase file size by about 0.3k

A router is a basic requirement for larger web applications, it shouldn't fail because of a size of ~0.3k

Have not considered that, thanks for your valuable input!


Release Logging 2.2.0 and KMS 1.0.0-beta02

Should log4net and nlog be updated to depend on this new version of logging, and also released?

Unless they need the new features, I don't think they really need updating/releasing. Next time we want to do a release of them for some other reason, it might be worth updating their dependencies.


Having the option to define an integer column in Zend\Db\Sql\Ddl\Column\Integer unsigned and auto_increment

Hello Everyone,
For the namespace Zend\Db\Sql\Ddl\Column\Integer or just Zend\Db\Sql\Ddl\Column, I was wondering if the issue has been brought up about how to make a integer unsigned? Also, for the Zend\Db\Sql\Ddl\Constraint namespace, making a primary key constraint auto increment? I have not found a answer to this and looking over the code in Zend Framework 2, I had no luck seeing anything that might address this, so I thought I would post something on here that others may see and could address or help me come to a solution.
Thanks!

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html


"Discarded unknown attribute" problem flagged on events

Overview
Events in Sentry have a problem flagged that says Discarded unknown attribute.
On iOS the problem will be

sdkProcessingMetadata: Discarded unknown attribute

On Android the problem will be

unknown: Discarded unknown attribute

This occurs on hybrid iOS and hybrid Android which use the native SDKs to process and send the event (might be relevant). It is not an issue on Web wherein it works fine (it also works fine using @sentry/browser directly).
A repro can be found here.
Environment
How do you use Sentry?
Sentry SaaS (sentry.io)
Which SDK and version?
Sentry Capacitor - 0.4.2
Steps to Reproduce
See Steps to Reproduce.
Expected Result
The event from hybrid iOS and Android appears in Sentry without a problem being flagged.
We normally do not have problems flagged on our events from production builds. If the red problem banner were to be accepted as always appearing due to this issue, I think people would initially think something is really wrong. After being told to ignore it due to this issue, I think they then would start to ignore the problem banner altogether which would make it less likely for people to notice different, more actionable problems.
Actual Result
The event from hybrid iOS and Android appears in Sentry with a problem being flagged.
Final Thoughts
Thank you so much for taking the time to investigate and/or work on this issue! 😀

It seems like both are related to the field called sdkProcessingMetadata we'll keep investigating on how to solve this, thanks for reporting this issue :D

Thank you for the fix! 😀


highResolutionImage Doesn't seem to load (chrome)

I can't get the data-high-res-src to work, nor does it seem to work in the demo.

Seems to be a mixup in the documentation. Use "data-high-res-img" instead:

This is fixed. Closing this.