ImportError: No module named 'Cookie'

django-cookies-samesite version: 0.1.2
Django version: 2.0.7
Python version: 3.5.2
Operating System: ubuntu 16.04

Description
Installing django-cookies-samesite and running the local server results in an error
importing the "Cookies" package
What I Did
$> pip install django-cookies-samesite
$> python manage.py runserver
Traceback (most recent call last):
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/servers/basehttp.py", line 44, in get_internal_wsgi_application
    return import_string(app_path)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/utils/module_loading.py", line 17, in import_string
    module = import_module(module_path)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/vagrant/portal/config/wsgi.py", line 29, in <module>
    application = get_wsgi_application()
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
    return WSGIHandler()
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/handlers/wsgi.py", line 140, in __init__
    self.load_middleware()
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/handlers/base.py", line 37, in load_middleware
    middleware = import_string(middleware_path)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/utils/module_loading.py", line 17, in import_string
    module = import_module(module_path)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django_cookies_samesite/middleware.py", line 1, in <module>
    import Cookie
ImportError: No module named 'Cookie'

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

Traceback (most recent call last):
  File "/vagrant/portal/manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/management/base.py", line 335, in execute
    output = self.handle(*args, **options)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django_extensions/management/utils.py", line 59, in inner
    ret = func(self, *args, **kwargs)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django_extensions/management/commands/runserver_plus.py", line 258, in handle
    self.inner_run(options)
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django_extensions/management/commands/runserver_plus.py", line 304, in inner_run
    handler = get_internal_wsgi_application()
  File "/home/vagrant/.virtualenvs/portal/lib/python3.5/site-packages/django/core/servers/basehttp.py", line 49, in get_internal_wsgi_application
    ) from err
django.core.exceptions.ImproperlyConfigured: WSGI application 'config.wsgi.application' could not be loaded; Error importing module.

I'm guessing either this package is ment for python2.7, or there is a missing requirement in the requirements file?

@jvlomax Hi!
For unknown reason I haven't see this issue (haven't received any notification from Github.
I'll fix this today!

@jvlomax I noticed that you've created a fork with the patch for this issue -> feel free to create a PR. I'll gladly accept it!

@jotes No worries. I have created a PR with a fix, though I have not got around to testing it just yet. I'd be happy to test it tomorrow and report back.

Hey @jvlomax ,
The 0.2.0 version is out, could you download it and check if it works for you?
It's tested against python 2.7, 3.6 and 3.7 (only locally, because travis-ci supports only 2.7 and 3.6)

I can confirm that it works


Naked bridge

Minor update to allow fully isolated virt environments which we use for our CI setup.
With this patch we can specify the following in the hosts: -> vm_host1 section.
          network_config:
            interfaces:
              - type: linux-bridge
                name: "{{ cluster_name }}-br"
                addresses:
                  ipv4:
                    - ip: "{{ vm_bridge_ip }}"
                      prefix: "{{ machine_network_cidr | ipaddr('prefix') }}"
                bridge:
                  stp: True

An Isolated virt env's are probably not what people are aiming for most of the time. So I feel like there should be a validation check here still. Perhaps with an option to turn it off but I think it should be a concious thing.
Maybe we could use something like setting the port to None or false as the trigger for an isolated network.

Not sure if you realized or not, but this doesn't change the default behavior.  You have to pass in a network_config for the vm_host and even then you have to omit the port entry.  So I think if one does that then it's a pretty conscious decision.
You allow for customization by allowing for the network_config (nmstate) to be passed in, but force that customization.  This patch simply allows you more customization.
Thanks

Good point :+1: As you say this is pretty deliberate.


Firefox warning message

In firefox, the console has a warning message
"This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”.".
Please change CSS zoom property to transform,  transform-origin.

which version is this on?

78.0.2

oh sorry meant bootstrap too. could you provide that version too?

3.4.1

3.4.1 is end of life, please look at upgrading to bootstrap 4.5.0

Yup, what @isteiger said. Afraid we're not going to touch/address old versions of bootstrap.


Co-debugging features on MacOS not working

Describe what happened:
Co-debugging with a MacOS host didn’t work at all, but was recently fixed with 1.0.1947 (see #3348). However, several features still seem to be broken, namely:

“Variables” and “call stack” windows now populate appropriately, but tooltip variable inspection (hovering over the variable) doesn’t seem to work on guests.

Guests can set / remove breakpoints, but can’t step through the debugger (continue, step over, step into, etc. don’t seem to do anything)

Participants don’t seem to be joined to the debugging session until after the first breakpoint is passed. In other words, when the first breakpoint hits participants can’t see call stack, variables, etc. until after the host continues.

What was your system configuration?
Product and Version [VS/VSCode]: VSCode 1.44.1
OS Version[macOS/Windows]: MacOS 10.15.4 host (tested with Mac and Windows guests)
Live Share Extension Version: 1.0.2000
Target Platform or Language [e.g. Node.js]: Tested with Python
Steps to Reproduce / Scenario:

Start debugging session while in a Live Share session from MacOS host
Hit first breakpoint
Guests don’t see variables/call stack, etc.
Continue on host and hot second breakpoint
Guests can now see populated call stack, variable, etc. windows, but cannot hover over variables to see their state or control debugging (step, continue, etc.)

@x30n: thanks for filing this issue! I'll create a bug and have our test team try to reproduce these problems. I think they might be specific to Python. Are you also hitting these issue when debugging in other languages?

this issue happen to me for ruby as well

Thi issue working with me on C/C++ code  and gdb debugger.

@greatday4april, @jorpilo: thanks for the info! Will add this to the item

I'm also seeing an issue like this. Co-debugging is not working from a Mac host to a linux guest, or mac guest. When I connect to the session from the guest I get a "Python is not installed. Please download and install Python before using the extension." error. Even when connecting from the same computer.

I'm seeing nothing at all from the guest side. Can't even tell a debug session is going on.

@jramsay Is this issue distinct from #3620? I'm not able to get co-debugging to work at all.

Please let us know if you're still experiencing this issue. I'm going to close this out but if you are still running into issues, please feel free to re-open it!

Please let us know if you're still experiencing this issue. I'm going to close this out but if you are still running into issues, please feel free to re-open it!


Preloader need to be updated

Won't download nimbus, fen, fenlight and there are some other errors. I believe the repository for the script need to be updated

Won't download nimbus, fen, fenlight and there are some other errors. I believe the repository for the script need to be updated

I opened a PR with a simple fix, you can zip this branch and install it using the local zip.


Move https tests as unit tests under client

Addresses #12255
Signed-off-by: Srini Brahmaroutu<EMAIL_ADDRESS>Please note that the fixtures are only used by the client test and I moved it into that directory for convenience. Also same is true with the methods like spawnLegitHttpsDaemon, spawnRogueHttpsDaemon. If you think we can reuse that code at some place I can move it under utils package or pkg/unit-test-utils or something.

@jfrazelle @cpuguy83 Please review this porting integration tests effort.

Needs gofmt.

Also, I'd rather handle these in the daemon tests in integration-cli, and that should also reduce the need for so much boiler plate.

@cpuguy83 Thanks for the suggestion, I made the changes, please review.

@LK4D4 I hope I addressed all the comments from you. I removed testings function calls from inside go routines.

Updated tests to use docker cli.Please review.

@cpuguy83 Please review, I moved the const decls and removed unwanted variables.

LGTM

LGTM


route with default parameters and null for generate

What steps will reproduce the problem?
For the code below, I would expect to use the default value when I use NULL when generating.
        $routes = [
            Route::get('/view/{null:\w+}')->name('view')->defaults([
                'test' => 'test'
            ]),
        ];
        $routerCollector = $this->createRouterCollector($routes);

        $url = $routerCollector->generate('view', ['test' => null]);

        $this->assertEquals('/view/test', $url);

this would be particularly useful for the following uses:
$url = $routerCollector->generate('view', ['name' => $any->name ?? null]);

What is the expected result?
success
What do you get instead?
RuntimeException: Route `view` expects at least parameter values for [null], but received [test]

Additional info

Q
A

Version
3.0.x-dev

PHP version
-

Operating system
-

The error is expected. You've named parameter null but provided value for test. How about
   $routes = [
            Route::get('/view/{test:\w+}')->name('view')->defaults([
                'test' => 'test'
            ]),
        ];
        $routerCollector = $this->createRouterCollector($routes);

        $url = $routerCollector->generate('view', ['test' => null]);

        $this->assertEquals('/view/test', $url);

How about the following?

sorry, i typed the parameter name incorrectly.
        $routes = [
            Route::get('/view/{test:\w+}')->name('view')->defaults([
                'test' => 'test'
            ]),
        ];
        $routerCollector = $this->createRouterCollector($routes);

        $url = $routerCollector->generate('view', ['test' => null]);

        $this->assertEquals('/view/test', $url);

1) Yiisoft\Router\FastRoute\Tests\FastRouteTest::testRouteWithParameterNull
RuntimeException: Route `view` expects at least parameter values for [test], but received [test]

What would happen if you won't specify test at all?


Proposal: Include 'combinatorial' argument to t-test functions

Proposal
Add a new argument - combinatorial - in order for all combinations of the input ndarray to be compared to one another:
stats.ttest_ind(ndarray, combinatorial=True,...)
If the ndarray contains 5 vectors (np.array([array1, array2...array5)]) then the function would calculate 1vs2, 1vs3, 1vs4...2vs3, 2vs4,...4vs5.
Current Limitations
Currently the ttest_ind function requires that you pass in two array like variables, a & b, and compares one vector to the next:
>>> import numpy as np
>>> from scipy import stats
>>> array1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> array2 = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1])
>>> stats.ttest_ind(array1, array2)
Ttest_indResult(statistic=4.3817804600413295, pvalue=0.00046449025177634345)

or as an ndarray
>>> stats.ttest_ind(np.array([array1, array2]).T, np.array([array2, array1]).T)
Ttest_indResult(statistic=array([ 4.38178046, -4.38178046]), pvalue=array([0.00046449, 0.00046449]))

Due to the structure of the arguments it means that only 1 comparison can be made: Thus requiring some combination, potentially using the itertools library to compare multiple groups (i.e. 1 vs 2, 2 vs 3 & 1 vs 3):
>>> import itertools as it
>>> array3 = np.array([7, 7, 7, 7, 7, 7, 7, 7, 7])
>>> ndarray = np.array([array1, array2, array3])
>>> [ stats.ttest_ind(ndarray[x[0], :], ndarray[x[1], :]) for x in it.combinations(range(0, ndarray.shape[0]), 2)]
[Ttest_indResult(statistic=4.3817804600413295, pvalue=0.00046449025177634345),
Ttest_indResult(statistic=-2.1908902300206647, pvalue=0.04360954625650814),
Ttest_indResult(statistic=-inf, pvalue=0.0)]

or this way:
>>> stats.ttest_ind(np.array([array1, array2, array1]).T, np.array([array2, array3, array3]).T)
Ttest_indResult(statistic=array([ 4.38178046,        -inf, -2.19089023]), pvalue=array([0.00046449, 0.        , 0.04360955]))

However, it's not immediately obvious how to construct the input variables when doing combinations and suppose the dimensions become very large: It would require very large input ndarrays to be constucted, with large amounts of duplicated data. It therefore seems sensible that the arguments would support a general combinatorial case.
Internally I wrote a series of functions for the different t-tests that do support this input using matrix broadcasting and thus removing the need for python looping external to the function or constucting large input ndarrays:
>>> p_values, score = t_test_(ndarray, None, {'paired': False, 'equal_variance': True})
>>> p_values
array([[1.00000000e+00, 4.64490252e-04, 4.36095463e-02],
       [4.64490252e-04,            nan, 0.00000000e+00],
       [4.36095463e-02, 0.00000000e+00,            nan]])
>>> score
array([[ 0.        ,  4.38178046, -2.19089023],
       [-4.38178046,         nan,        -inf],
       [ 2.19089023,         inf,         nan]])

Internal function:
def t_test_(v, weights, opts):
    base = np.nansum(~np.isnan(v)*1, axis=1)
    mean = np.nanmean(v, axis=1)
    t_nom = mean[:, np.newaxis] - mean
    s = np.nanvar(v, axis=1, ddof=1)
    if opts['equal_variance']:
        sp = ((base - 1) * s + (base[:, np.newaxis] - 1) * s[:, np.newaxis]) / (base + base[:, np.newaxis] - 2)
        score = t_nom / (np.sqrt(sp) * np.sqrt(1 / base + 1 / base[:, np.newaxis]))
        dof = base + base[:, np.newaxis] - 2
    else:
        s_n = s / base
        score = t_nom / np.sqrt(s_n + s_n[:, np.newaxis])
        dof_denom = (s_n**2 / (base - 1)) + (s_n[:, np.newaxis]**2 / (base[:, np.newaxis] - 1))
        dof = (s_n + s_n[:, np.newaxis])**2 / dof_denom
    return stats.t.sf(np.abs(score), dof) * 2, score

Benchmark
>>> array4 = np.array([11, 3, 2, 1, 5, 2, 1, 3, 6])
>>> array5 = np.array([11, 3, 2, 1, 5, 2, 1, 6, 6])
>>> ndarray = np.array([array1, array2, array3, array4, array5])
>>> def test_current():
...     return [ stats.ttest_ind(ndarray[x[0], :], ndarray[x[1], :], nan_policy='omit') for x in it.combinations(range(0, ndarray.shape[0]), 2)]
>>> def test_new():
...     return standard_t_test_(ndarray, None, {'paired': False, 'equal_variance': True})
>>> print(timeit.timeit("test_current()", "from __main__ import test_current", number=100000))
202.31119344299987
>>> print(timeit.timeit("test_new()", "from __main__ import test_new", number=100000))
20.02507360100026

This demonstrates that the new function is around 10 times faster when comparing 5 groups with one another when comparing to the python looping way.
Summary
What are the implications for adding a feature such as this? Statistically running multiple tests would affect the p-value performance as it would permit p-hacking/mining - however I'd argue that that decision rests with the statistician, not the statistical library.
I'd like to know people's thoughts on a feature such as - or similar to - this.

stats.ttest_ind(ndarray, combinatorial=True,...)

that changes the function signature, which breaks backwards compatibility - so that's a no go. the way to do it would be stats.ttest_ind(a, b=None, ..., combinatorial=True), where a can then be a single array or a 2-D array or a sequence of arrays. It's a bit ugly.

Statistically running multiple tests would affect the p-value performance as it would permit p-hacking/mining - however I'd argue that that decision rests with the statistician, not the statistical library.

It would be a bit weird to return a p-value from this function, and then tell the user that they need to modify it (or, not use 0.05/0.95). So either we support it properly, with the return values needed to let the user easily do the right thing without increasing type I errors, or we just point them to f_oneway (ANOVA is the better way to do this I think).

Hi @rgommers. yes, it is ugly because you effectively halve the desired required inputs and accommodate for that by passing a new argument set to true. Furthermore the type of ‘a’ can’t then be a single array if you have combinatorial set to true, which further confuses the arguments to the function.
I couldn’t think of a better way to do it, however, save for defining a new method. I’ll have a look elsewhere in the library and see if there are potentially some indicators of how better to potentially handle this use-case (of mutually antagonistic argument sets)
Wrt ANOVA, yes, that would be the proper way to test if there are any differences between the groups but it doesn’t tell you what those differences are which would require further investigation (an anova would be the first step, potentially).

return values needed to let the user easily do the right thing without increasing type I errors

Do we need to modify p values (or return other modified p values) for the multiple comparisons? If you pass ndarrays as a & b, the function doesn’t aim to alter the p values in that case does it? I wouldn’t assume it would be the job of the function to do this, as we are aware that we need to apply a correction (usually bonferonni) after running these multiple comparisons.
In short, do you see a benefit to incorporating this methodology into scipy (or publishing it elsewhere) or should I just keep it internally?

The combination of the keyword combinatorial and axis will be very confusing in my view. While combinatorial would speed up the computation compared to looping over the different combinations, I am not sure whether adding this functionality is a good choice.

Agreed!


strict key property in input

sometimes we want to strict key property in input,
by that we remove the unused key validation issue
and you can fix
    TypeError: Expected a number but received a undefined at maxLength property
when using min or max config in array or string

working

done


Speed improvements and multiple projection networks

This pull request contains a range of performance improvements including

calling the GNN class with batched input
performance tweaks all over the place (e.g. removing for loops with optimized numpy operations)
a unit test that allows to monitor execution speeds and where execution time is spent

Additional changes:

a new unit test covering the observation to features and edge mapping
adding multiple projection networks to the actor network
support for the parameter server in the GraphObserver

Sorry, this PR is a bit large because all our branches diverged a bit far. All of is has mostly been seen by all of you already.

@lesilvan There has been a few unintended changes made by the automatic merge. I resolved them as far as I know.


Merging rel 1.15.2 rel 2.0.0

Codecov Report

Merging #510 into release-2.0.0 will decrease coverage by 1.15%.
The diff coverage is 10.63%.

@@                 Coverage Diff                 @@
##             release-2.0.0     #510      +/-   ##
===================================================
- Coverage            40.04%   38.88%   -1.16%
+ Complexity             775      759      -16
===================================================
  Files                  111      111
  Lines                 7767     7777      +10
  Branches               880      881       +1
===================================================
- Hits                  3110     3024      -86
- Misses                4317     4422     +105
+ Partials               340      331       -9

Impacted Files
Coverage Δ
Complexity Δ

...va/org/sunbird/common/models/util/ProjectUtil.java
72.28% <ø> (ø)
38 <0> (ø)
:arrow_down:

...ain/java/org/sunbird/common/ElasticSearchUtil.java
52.56% <10.63%> (-0.21%)
71 <0> (ø)

...c/main/java/org/sunbird/helper/ServiceFactory.java
0% <0%> (-80%)
0% <0%> (-3%)

...sunbird/helper/CassandraConnectionManagerImpl.java
0% <0%> (-61.43%)
0% <0%> (-13%)

Continue to review full report at Codecov.

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


add "script" to cmdargs processing

allow a class to define the script's name via nomnom's "script" method for help output (necessary for static docs generator output...)

https://github.com/carbon-io/atom/blob/v0.3.5/lib/atom.js#L526


Storybook doesn't run when --dont-track flag is included

We added --dont-track to our storybook script:
start-storybook --dont-track -p 9001 -c /path-to/storybook-dir

Result:
Storybook starting...
Storybook would not send anonymous usage stats anymore.

And the process exits.

Looking through the tracking patch, it looks like this is the intended behaviour. Really confusing decision IMO.

Actually, you need to do this only once. After that, there's no need to use dont track command.
May be we can just print a log to run storybook command again or simply ignore sending data when there's the flag.

Oh I see. So you'd expect storybook to be installed globally in that case? In my case we have a tool like create-react-app that bundles storybook and wraps commands. So the storybook script now runs 2 start-storybook commands. No problem

@necolas ah nope. It's the same command you install in your project. Anyway, this is confusing.
I'll change it as you expected it to work.
That makes sense.

Thanks!


Enable File selection/download for bulk data files

Definition of Ready

[x] Does this meet the INVEST criteria?
[x] Does this have a clearly defined user?
[x] Does this have an estimate?
[x] Does this have acceptance criteria?
[x] Does this have sufficient context for the specific functionality being developed (design, business rules, etc.)
[x] Does this have a dev link been provided in the design?
[x] Is this traceable to a feature, epic, or PI?

User Story
As a CAMPD bulk data files user I want to select and downloads files criteria so that I conduct analysis
Acceptance Criteria
Given that a user has selected one or multiple files in the data table
When the functionality is displayed
Then the system displays the number of files selected and the total size of the file(s)
And the functionality renders in accordance with the  wireframes
Given that a user has navigated to the bulk data files functionality
When the download functionality is displayed
Then the download is disabled until at least one file is selected
Given that a user has selected at least one file
When the download functionality is selected
Then the system generates a file download of the selected file(s)
Given that a user has selected one or multiple files
When the file size exceeds the configurable limit
Then the system displays an alert will the following message:
Your file selection exceeds the download limit of 50 GB. Modify your selected files to reduce the total file size to proceed.
And the download functionality is disabled (see context for wireframes)
Given that a content manager has accessed the EASEY content management system
When the functionality is displayed
Then the content manager has the ability to edit the bulk data files download alert
Development Notes

set configurable limit to 50 gb for testing purposes

for the total file size display the selected file size until the total reaches 1 GB then display the sum on the file size in GB

scope of this ticket includes giving the EPA the ability to edit the download alert in the EASEY content management system

update the select all tool tip to display: "Selecting All" will select all files in all pages of the table

update the select all functionality to select all files with in the data table. As a user selects files from page to page on the data table the selected files should be maintained

Does this Story require 508 Testing?

[ ] Implementing a new authoring tool that will produce code / content for the application
[ ] Implementing a 3rd party widget that will be part of the application
[x] Adding new / updating custom functionality
[ ] Adding new / updating a page template
[ ] Adding new / replacing existing functionality (unless the replacement has already passed 508 testing)
[ ] Full Site Review prior to a scheduled EPA 508 review
[ ] Planning a video that will appear on the application
[ ] Producing a video that will appear on the application
[ ] Producing Training materials
[ ] Producing documents

Context
wireframes
File Selection/ Download:
The system will display the number of file(s) a user has selected and the total file size
User will have the ability to select and download multiple files
No need for a Download manager. The system will generate multiple downloads
Download functionality will be disabled until at least one file is selected
If the number of files selected is greater than 50 gb (configurable limit) then the system will display an alert to notify the user that the number of files selected exceeds the download limit and the download functionality will be disabled
Testing
Test Case: TC649
Tester: @JanellC
Definition of Done

[ ] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[ ] Has the code been unit tested and peer reviewed?
[ ] Have the functional tests been executed?
[ ] Have all defects been reviewed and dispositioned, resolved, or deferred?
[ ] Is the user story ready to be deployed to the test/staging environments?

updated tooltip text: "Selecting All" will select all files in all pages of the table. @AbuFofanah

TC649 passed @tlageman-epa  . For testing purposes we set the download limit to 5 gb. The download limit is now 50 gb.

@aprematta this ticket is ready for 508 testing


Portus PORTUS_BACKGROUND=true and database empty

Hi All:
I enabled the background process with env PORTUS_BACKGROUND=true.
The problem is when the database are empty  and NOT READY because PORTUS on bootstrap does not create the database yet, so, error:
[Database] Not ready yet. Waiting...
/srv/Portus/lib/portus/db.rb:40:in `wait_until': Timeout reached for 'ready' status
[Database] Timeout reached, exiting with error. Check the logs...

Database are not ready because PORTUS launch background proccess before the database creation on bootstrap.
How I could solve this?
Regards

You need to run two containers, one without the worker setting and one with it set to true. If you just run the worker you won't actually have a Portus server running to init the DB.

This issue sadly slipped through...

You need to run two containers, one without the worker setting and one with it set to true. If you just run the worker you won't actually have a Portus server running to init the DB.

Exactly :+1:
I'll close this issue now, but feel free to leave more comments if you have further doubts on this issue.

What flag should I use to docker run Portus in server mode so that it will bootstrap the database.

@anandr781 no flag, actually. See this examples


Disable kebab-case rule not working

I want to pass camelCase and snake_case in my api endpoint, but it is not working with the following configuration file.
$ vacuum lint -d api.yaml

rules:
    component-description:
        category:
            description: Documentation is really important, in OpenAPI, just about everything can and should have a description. This set of rules checks for absent descriptions, poor quality descriptions (copy/paste), or short descriptions.
            id: descriptions
            name: Descriptions
        description: Component description check
        formats:
            - oas3
            - oas3_1
        given: $
        howToFix: Components are the inputs and outputs of a specification. A user needs to be able to understand each component and what id does. Descriptions are critical to understanding components. Add a description!
        id: component-description
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasComponentDescriptions
        type: validation
    description-duplication:
        category:
            description: Documentation is really important, in OpenAPI, just about everything can and should have a description. This set of rules checks for absent descriptions, poor quality descriptions (copy/paste), or short descriptions.
            id: descriptions
            name: Descriptions
        description: Description duplication check
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Descriptions are only useful, if they are meaningful. If a description is meaningful, then it won't be something you copy and paste. Please don't duplicate descriptions, make them deliberate and meaningful.
        id: description-duplication
        recommended: true
        severity: info
        then:
            function: oasDescriptionDuplication
        type: validation
    duplicated-entry-in-enum:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: Enum values must not have duplicate entry
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Enums need to be unique, you can't duplicate them in the same definition. Please remove the duplicate value.
        id: duplicated-entry-in-enum
        recommended: true
        severity: error
        then:
            function: duplicatedEnum
        type: validation
    info-description:
        category:
            description: The info object contains licencing, contact, authorship details and more. Checks to confirm required details have been completed.
            id: information
            name: Contract Information
        description: Info section is missing a description
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $.info
        howToFix: The 'info' section is missing a description, surely you want people to know what this spec is all about, right?
        id: info-description
        recommended: true
        resolved: true
        severity: error
        then:
            field: description
            function: truthy
        type: validation
    no-$ref-siblings:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: $ref values cannot be placed next to other properties (like a description)
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: $ref values must not be placed next to sibling nodes, There should only be a single node  when using $ref. A common mistake is adding 'description' next to a $ref. This is wrong. remove all siblings!
        id: no-$ref-siblings
        recommended: true
        severity: error
        then:
            function: refSiblings
        type: validation
    no-ambiguous-paths:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Paths need to resolve unambiguously from one another
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Paths must all resolve unambiguously, they can't be confused with one another (/{id}/ambiguous and /ambiguous/{id} are the same thing. Make sure every path and the variables used are unique and do conflict with one another. Check the ordering of variables and the naming of path segments.
        id: no-ambiguous-paths
        recommended: true
        resolved: true
        severity: error
        then:
            function: ambiguousPaths
        type: validation
    no-eval-in-markdown:
        category:
            description: Validation rules make sure that certain characters or patterns have not been used that may causeissues when rendering in different types of applications.
            id: validation
            name: Validation
        description: Markdown descriptions must not have `eval()` statements'
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Remove all references to 'eval()' in the description. These can be used by malicious actors to embed code in contracts that is then executed when read by a browser.
        id: no-eval-in-markdown
        recommended: true
        resolved: true
        severity: error
        then:
            function: noEvalDescription
            functionOptions:
                pattern: eval\(
        type: validation
    no-http-verbs-in-path:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Path segments must not contain an HTTP verb
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: When HTTP verbs (get/post/put etc) are used in path segments, it muddies the semantics of REST and creates a confusing and inconsistent experience. It's highly recommended that verbs are not used in path segments. Replace those HTTP verbs with more meaningful nouns.
        id: no-http-verbs-in-path
        recommended: true
        severity: warn
        then:
            function: noVerbsInPath
        type: style
    no-script-tags-in-markdown:
        category:
            description: Validation rules make sure that certain characters or patterns have not been used that may causeissues when rendering in different types of applications.
            id: validation
            name: Validation
        description: Markdown descriptions must not have `<script>` tags'
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Remove all references to '<script>' tags from the description. These can be used by malicious actors to load remote code if the spec is being parsed by a browser.
        id: no-script-tags-in-markdown
        recommended: true
        resolved: true
        severity: error
        then:
            function: noEvalDescription
            functionOptions:
                pattern: <script
        type: validation
    oas2-anyOf:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: "`anyOf` was introduced in OpenAPI 3.0, cannot be used un OpenAPI 2 specs"
        formats:
            - oas2
        given: $
        howToFix: You can't use 'anyOf' in Swagger/OpenAPI 2 specs. It was added in version 3. You have to remove it
        id: oas2-anyOf
        recommended: true
        severity: error
        then:
            function: oasPolymorphicAnyOf
        type: validation
    oas2-api-host:
        category:
            description: The info object contains licencing, contact, authorship details and more. Checks to confirm required details have been completed.
            id: information
            name: Contract Information
        description: OpenAPI `host` must be present and a non-empty string
        formats:
            - oas2
        given: $
        howToFix: The 'host' value is missing. How is a user supposed to know where the API actually lives? The host is critical in order for consumers to be able to call the API. Add an API host!
        id: oas2-api-host
        recommended: true
        severity: info
        then:
            field: host
            function: truthy
        type: style
    oas2-api-schemes:
        category:
            description: The info object contains licencing, contact, authorship details and more. Checks to confirm required details have been completed.
            id: information
            name: Contract Information
        description: OpenAPI host `schemes` must be present and non-empty array
        formats:
            - oas2
        given: $
        howToFix: Add an array of supported host 'schemes' to the root of the specification. These are the available API schemes (like https/http).
        id: oas2-api-schemes
        recommended: true
        severity: warn
        then:
            field: schemes
            function: schema
            functionOptions:
                forceValidation: true
                schema:
                    items:
                        minItems: 1
                        type: string
                    type: array
                    uniqueItems: true
        type: validation
    oas2-discriminator:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: discriminators are used correctly in schemas
        formats:
            - oas2
        given: $
        howToFix: When using polymorphism, a discriminator should also be provided to allow tools to understand how to compose your models when generating code. Add a correct discriminator.
        id: oas2-discriminator
        recommended: true
        resolved: true
        severity: error
        then:
            function: oasDiscriminator
        type: validation
    oas2-host-not-example:
        category:
            description: The info object contains licencing, contact, authorship details and more. Checks to confirm required details have been completed.
            id: information
            name: Contract Information
        description: Host URL should not point at example.com
        formats:
            - oas2
        given: $.host
        howToFix: Remove 'example.com' from the host URL, it's not going to work.
        id: oas2-host-not-example
        recommended: true
        severity: warn
        then:
            function: pattern
            functionOptions:
                notMatch: example\.com
        type: style
    oas2-host-trailing-slash:
        category:
            description: The info object contains licencing, contact, authorship details and more. Checks to confirm required details have been completed.
            id: information
            name: Contract Information
        description: Host URL should not contain a trailing slash
        formats:
            - oas2
        given: $.host
        howToFix: Remove the trailing slash from the host URL. This may cause some tools to incorrectly add a double slash to paths.
        id: oas2-host-trailing-slash
        recommended: true
        severity: warn
        then:
            function: pattern
            functionOptions:
                notMatch: /$
        type: style
    oas2-oneOf:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: "`oneOf` was introduced in OpenAPI 3.0, cannot be used un OpenAPI 2 specs"
        formats:
            - oas2
        given: $
        howToFix: You can't use 'oneOf' in Swagger/OpenAPI 2 specs. It was added in version 3. You have to remove it
        id: oas2-oneOf
        recommended: true
        severity: error
        then:
            function: oasPolymorphicOneOf
        type: validation
    oas2-operation-formData-consume-check:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: "Operations with `in: formData` parameter must include `application/x-www-form-urlencoded` or `multipart/form-data` in their `consumes` property."
        formats:
            - oas2
        given: $
        howToFix: When using 'formData', the parameter must include the correct mime-types. Make sure you use 'application/x-www-form-urlencoded' or 'multipart/form-data' as the 'consumes' value in your parameter.
        id: oas2-operation-formData-consume-check
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasOpFormDataConsumeCheck
        type: validation
    oas2-operation-security-defined:
        category:
            description: Security plays a central role in RESTful APIs. These rules make sure that the correct definitionshave been used and put in the right places.
            id: security
            name: Security
        description: "`security` values must match a scheme defined in securityDefinitions"
        formats:
            - oas2
        given: $
        howToFix: When defining security definitions for operations, you need to ensure they match the globally defined security schemes. Check $.securityDefinitions to make sure your values align.
        id: oas2-operation-security-defined
        recommended: true
        resolved: true
        severity: error
        then:
            function: oas2OpSecurityDefined
        type: validation
    oas2-parameter-description:
        category:
            description: Documentation is really important, in OpenAPI, just about everything can and should have a description. This set of rules checks for absent descriptions, poor quality descriptions (copy/paste), or short descriptions.
            id: descriptions
            name: Descriptions
        description: Parameter description checks
        formats:
            - oas2
        given: $
        howToFix: All parameters should have a description. Descriptions are critical to understanding how an API works correctly. Please add a description to all parameters.
        id: oas2-parameter-description
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasParamDescriptions
        type: style
    oas2-schema:
        category:
            description: Validation rules make sure that certain characters or patterns have not been used that may causeissues when rendering in different types of applications.
            id: validation
            name: Validation
        description: OpenAPI 2 specification is invalid
        formats:
            - oas2
        given: $
        howToFix: The schema isn't valid Swagger/OpenAPI 2. Check the errors for more details
        id: oas2-schema
        recommended: true
        severity: error
        then:
            function: oasDocumentSchema
        type: validation
    oas2-unused-definition:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: Check for unused definitions and bad references
        formats:
            - oas2
        given: $
        howToFix: Orphaned components are not used by anything. You might have plans to use them later, or they could be older schemas that never got cleaned up. A clean spec is a happy spec. Prune your orphaned components.
        id: oas2-unused-definition
        recommended: true
        severity: warn
        then:
            function: oasUnusedComponent
        type: validation
    oas2-valid-schema-example:
        category:
            description: Examples help consumers understand how API calls should look. They are really important forautomated tooling for mocking and testing. These rules check examples have been added to component schemas, parameters and operations. These rules also check that examples match the schema and types provided.
            id: examples
            name: Examples
        description: Examples must be present and valid for operations and components
        formats:
            - oas2
        given: $
        howToFix: Examples are critical for consumers to be able to understand schemas and models defined by the spec. Without examples, developers can't understand the type of data the API will return in real life. Examples are turned into mocks and can provide a rich testing capability for APIs. Add detailed examples everywhere!
        id: oas2-valid-schema-example
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasExample
        type: validation
    oas3-api-servers:
        category:
            description: Validation rules make sure that certain characters or patterns have not been used that may causeissues when rendering in different types of applications.
            id: validation
            name: Validation
        description: Check for valid API servers definition
        formats:
            - oas3
        given: $
        howToFix: Ensure server URIs are correct and valid, check the schemes, ensure descriptions are complete.
        id: oas3-api-servers
        recommended: true
        severity: error
        then:
            function: oasAPIServers
        type: validation
    oas3-operation-security-defined:
        category:
            description: Security plays a central role in RESTful APIs. These rules make sure that the correct definitionshave been used and put in the right places.
            id: security
            name: Security
        description: "`security` values must match a scheme defined in components.securitySchemes"
        formats:
            - oas3
            - oas3_1
        given: $
        howToFix: When defining security values for operations, you need to ensure they match the globally defined security schemes. Check $.components.securitySchemes to make sure your values align.
        id: oas3-operation-security-defined
        recommended: true
        resolved: true
        severity: error
        then:
            function: oasOpSecurityDefined
            functionOptions:
                schemesPath: $.components.securitySchemes
        type: validation
    oas3-parameter-description:
        category:
            description: Documentation is really important, in OpenAPI, just about everything can and should have a description. This set of rules checks for absent descriptions, poor quality descriptions (copy/paste), or short descriptions.
            id: descriptions
            name: Descriptions
        description: Parameter description checks
        formats:
            - oas3
            - oas3_1
        given: $
        howToFix: All parameters should have a description. Descriptions are critical to understanding how an API works correctly. Please add a description to all parameters.
        id: oas3-parameter-description
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasParamDescriptions
        type: style
    oas3-schema:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: OpenAPI 3 specification is invalid
        formats:
            - oas3
        given: $
        howToFix: The schema isn't valid OpenAPI 3. Check the errors for more details
        id: oas3-schema
        recommended: true
        severity: error
        then:
            function: oasDocumentSchema
        type: validation
    oas3-unused-component:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: Check for unused components and bad references
        formats:
            - oas3
            - oas3_1
        given: $
        howToFix: Unused components / definitions are generally the result of the OpenAPI contract being updated without considering references. Another reference could have been updated, or an operation changed that no longer references this component. Remove this component from the spec, or re-link to it from another component or operation to fix the problem.
        id: oas3-unused-component
        recommended: true
        severity: warn
        then:
            function: oasUnusedComponent
        type: validation
    oas3-valid-schema-example:
        category:
            description: Examples help consumers understand how API calls should look. They are really important forautomated tooling for mocking and testing. These rules check examples have been added to component schemas, parameters and operations. These rules also check that examples match the schema and types provided.
            id: examples
            name: Examples
        description: Examples must be present and valid for operations and components
        formats:
            - oas3
            - oas3_1
        given: $
        howToFix: Examples are critical for consumers to be able to understand schemas and models defined by the spec. Without examples, developers can't understand the type of data the API will return in real life. Examples are turned into mocks and can provide a rich testing capability for APIs. Add detailed examples everywhere!
        id: oas3-valid-schema-example
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasExample
        type: validation
    operation-description:
        category:
            description: Documentation is really important, in OpenAPI, just about everything can and should have a description. This set of rules checks for absent descriptions, poor quality descriptions (copy/paste), or short descriptions.
            id: descriptions
            name: Descriptions
        description: Operation description checks
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: All operations must have a description. Descriptions explain how the operation works, and how users should use it and what to expect. Operation descriptions make up the bulk of API documentation. so please, add a description!
        id: operation-description
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasDescriptions
            functionOptions:
                minWords: "1"
        type: validation
    operation-operationId:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Every operation must contain an `operationId`.
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Every single operation needs an operationId. It's a critical requirement to be able to identify each individual operation uniquely. Please add an operationId to the operation.
        id: operation-operationId
        recommended: true
        severity: error
        then:
            function: oasOpId
        type: validation
    operation-operationId-unique:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Every operation must have unique `operationId`.
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $.paths
        howToFix: An operationId needs to be unique, there can't be any duplicates in the document, you can't re-use them. Make sure the ID used for this operation is unique.
        id: operation-operationId-unique
        recommended: true
        resolved: true
        severity: error
        then:
            function: oasOpIdUnique
        type: validation
    operation-operationId-valid-in-url:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: OperationId must use URL friendly characters
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $.paths[*][*]
        howToFix: An operationId is critical to correct code generation and operation identification. The operationId should really be designed in a way to make it friendly when used as part of an URL. Remove non-standard URL characters.
        id: operation-operationId-valid-in-url
        recommended: true
        resolved: true
        severity: error
        then:
            field: operationId
            function: pattern
            functionOptions:
                match: ^[A-Za-z0-9-._~:/?#\[\]@!\$&'()*+,;=]*$
        type: validation
    operation-parameters:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Operation parameters are unique and non-repeating.
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $.paths
        howToFix: Make sure that all the operation parameters are unique and non-repeating, don't duplicate names, don'tre-use parameter names in the same operation.
        id: operation-parameters
        recommended: true
        resolved: true
        severity: error
        then:
            function: oasOpParams
        type: validation
    operation-success-response:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Operation must have at least one `2xx` or a `3xx` response.
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Make sure that your operation returns a 'success' response via  2xx or 3xx response code. An API consumer will always expect a success response
        id: operation-success-response
        recommended: true
        resolved: true
        severity: warn
        then:
            field: responses
            function: oasOpSuccessResponse
        type: style
    operation-tag-defined:
        category:
            description: Tags are used as meta-data for operations. They are mainly used by tooling as a taxonomy mechanism to build navigation, search and more. Tags are important as they help consumers navigate the contract when using documentation, testing, code generation or analysis tools.
            id: tags
            name: Tags
        description: Operation tags must be defined in global tags.
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: This tag has not been defined in the global scope, you should always ensure that any tags used in operations, are defined globally in the root 'tags' definition.
        id: operation-tag-defined
        recommended: true
        resolved: true
        severity: error
        then:
            function: oasTagDefined
        type: validation
    operation-tags:
        category:
            description: Tags are used as meta-data for operations. They are mainly used by tooling as a taxonomy mechanism to build navigation, search and more. Tags are important as they help consumers navigate the contract when using documentation, testing, code generation or analysis tools.
            id: tags
            name: Tags
        description: Operation `tags` are missing/empty
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Operations use tags to define the domain(s) they are apart of. Generally a single tag per operation is used, however some tools use multiple tags. The point is that you need tags! Add some tags to the operation that match the globally available ones.
        id: operation-tags
        recommended: true
        resolved: true
        severity: warn
        then:
            function: oasOperationTags
        type: validation
    path-declarations-must-exist:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Path parameter declarations must not be empty ex. `/api/{}` is invalid
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $.paths
        howToFix: Paths define the endpoint for operations. Without paths, there is no API. You need to add 'paths' to the root of the specification.
        id: path-declarations-must-exist
        recommended: true
        resolved: true
        severity: error
        then:
            function: pattern
            functionOptions:
                notMatch: "{}"
        type: validation
    path-keys-no-trailing-slash:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Path must not end with a slash
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $.paths
        howToFix: Paths should not end with a trailing slash, it can confuse tooling and isn't valid as a path Remove the trailing slash from the path.
        id: path-keys-no-trailing-slash
        recommended: true
        resolved: true
        severity: warn
        then:
            function: pattern
            functionOptions:
                notMatch: .+\/$
        type: validation
    path-not-include-query:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Path must not include query string
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $.paths
        howToFix: Query strings are defined as parameters for an operation, they should not be included in the path Please remove it and correctly define as a parameter.
        id: path-not-include-query
        recommended: true
        resolved: true
        severity: error
        then:
            function: pattern
            functionOptions:
                notMatch: \?
        type: validation
    path-params:
        category:
            description: Operations are the core of the contract, they define paths and HTTP methods. These rules check operations have been well constructed, looks for operationId, parameter, schema and return types in depth.
            id: operations
            name: Operations
        description: Path parameters must be defined and valid.
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Path parameters need to match up with the parameters defined for the path, or in an operation that sits under that path. Make sure variable names match up and are defined correctly.
        id: path-params
        recommended: true
        resolved: true
        severity: error
        then:
            function: oasPathParam
        type: validation
    typed-enum:
        category:
            description: Schemas are how request bodies and response payloads are defined. They define the data going in and the data flowing out of an operation. These rules check for structural validity, checking types, checkingrequired fields and validating correct use of structures.
            id: schemas
            name: Schemas
        description: Enum values must respect the specified type
        formats:
            - oas3
            - oas3_1
            - oas2
        given: $
        howToFix: Enum values lock down the number of variable inputs a parameter or schema can have. The problem here is that the Enum defined, does not match the specified type. Fix the type!
        id: typed-enum
        recommended: true
        resolved: true
        severity: warn
        then:
            function: typedEnum
        type: validation

did you get it working?


Add IntelliJ IDEA Community (EAP)

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Yes, I want to merge it

Are you saying about this?

@jedieaston I think there is no issue in manifest. Please recheck it as it is working on my computer.

@jedieaston I think there is no issue in manifest. Please recheck it as it is working on my computer.

It works, but upgrades will not since WinGet thinks it is IntelliJ Stable due to the simularity in the PackageNames (at least, as it is recognized on my local system).

@ItzLevvie I have committed the changes.


Improve error message for bootstrapper if download of Paket.exe fails…

…; added hint to look at 'mozroots' tool for users of Mono.
This is in relation to this issue: https://github.com/fsprojects/Paket/issues/1072

thanks


raycast: 1.75.2 -> 1.76.0

Changelog: https://www.raycast.com/changelog/1-76-0
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 317767 run on aarch64-darwin 1

1 package built:

raycast


Wallet disconnects if connected from the explorer page or when switching to a different DAO

Steps to reproduce:

Start from the DAO explorer page
Click on "Connect Wallet" to connect your wallet
Click on any DAO on the explorer page
Wallet is now disconnected

or

Start from any DAO
Click on "Connect Wallet" to connect your wallet
Click on the Homebase logo to return to the DAO explorer page
Notice that the wallet is still connected
Click on any DAO on the explorer page
Wallet is now disconnected

Fixed in #264


Ability to use custom TLS secret

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets
fixes #781

License
Apache 2.0

What's in this PR?

We can define existing secret contains TLS certificate (accepted secret type: kubernetes.io/tls)
If it is set, generating certificate will be disabled

@bonifaido : Just a suggestion: you should consider squashing commits in PRs before merging if you want to keep your Git history clean.


Fishing frenzy isn't working

The one that says ''setWeight'' i make a multiplayer game and joined with 2 alts, then i tried to use that script but didn't work
only the SetLure is working, can u fix it?

Does it ban the alts?


Varadero assets v2

About the PR
Added components for New Varadero mapping.
Added new Varadero.
Needs:
APCs.
Light fixtures.
Areas.
Semiotics.
Mapping REVIEW!!!
Why / Balance
PARITY BABY!!!
Requirements

[x] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog
Added New Varadero
Added New Varadero mapping components.
Make sure to take this Changelog template out of the comment block in order for it to show up. Changelog must have a :cl: symbol, so the bot recognizes the changes and adds them to the game's changelog.
:cl:

add: New Varadero.

rmc14 beach episode real

Funny YAML Linter Issues: I have to remove the suffixes from tiles (Upstream issue)
As for the test debug, I think I forgot to remove the collisions from the plants when I removed the physics, although I kind of have no clue how to fix this, lol.

System.Collections.Generic.KeyNotFoundException : The given key 'RMCWood' was not present in the dictionary.

  1) Prototype BonsaiTree02 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  2) Prototype StalkyBush03 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  3) Prototype FernyBush03 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  4) Prototype FernyBush02 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  5) Prototype FernyBush01 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  6) Prototype BonsaiTree01 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  7) Prototype StalkyBush02 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  8) Prototype BonsaiTree04 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  9) Prototype StalkyBush01 modifies component on spawn: Physics. Modified yaml:
canCollide: False
...

  10) Prototype BonsaiTree03 modifies component on spawn: Physics. Modified yaml:
canCollide: False

I'm assuming that the build test is failing because of the Orion cat spawner; I'm assuming we can ignore that?

It occurred to me that i should note this is still a grid and not a map.


Rename the repo

It's pretty clear "gitjection", won't be acceptable under the Git trademark guidelines.  Better find another name early.
https://git-scm.com/about/trademark

you may not use any of the Marks as a syllable in a new word or as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for a third-party product or service without Conservancy's written permission. For the avoidance of doubt, this provision applies even to third-party marks that use the Marks as a syllable or as part of a portmanteau to refer to a product or service's use of Git code.

(and here I'm not even using Git code, it just refered loosely to injecting unreleased unmerged code directly from some version control...)

I'm considering some kind of tent made of branches, because "building from several branches coming together"...

https://en.wikipedia.org/wiki/Tipi picture look closest to what I have in mind, but already used by too many projects.
TP, standing for "Test Patches"??
https://en.wikipedia.org/wiki/Chum_(tent), https://en.wikipedia.org/wiki/Lavvu, https://en.wikipedia.org/wiki/Goahti, https://en.wikipedia.org/wiki/Wigwam / Wickiup are somewhat related.

patchfork?!  Cute but not really descriptive, and used by http://git.joshuawise.com/patchfork.git/

pass-the-fork[-please] ?!

pass-the-fork it is


PacketTunnel Crashes Due to EXC_RESOURCE (Memory Exceeded)

Problem Description
The PacketTunnelProvider crashes unexpectedly with the following details:

Crash Reason: EXC_RESOURCE due to memory usage exceeding the limit for active hard (50 MB).
Observation: The process was terminated by the kernel (memstatus), indicating insufficient available memory.

The issue seems to occur after applying tunnel settings and starting the SOCKS5 tunnel.

Logs
[kernel] EXC_RESOURCE -> PacketTunnel[1072] exceeded mem limit: ActiveHard 50 MB (fatal)
[kernel] memorystatus: killing process 1072 [PacketTunnel] (per-process-limit 100) 51201KB
[kernel] memorystatus: Available pages: 54505

Code
private let tunnelQueue = DispatchQueue(label: "com.example.PacketTunnel")
override func startTunnel(options: [String: NSObject]?, completionHandler: @escaping (Error?) -> Void) {

    if self.isRunning {
        completionHandler(NSError(domain: "PacketTunnelProvider", code: -1, userInfo: [NSLocalizedDescriptionKey: "Tunnel is already running."]))
        return
    }

    let port = 2080

    // Configure network settings
    let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "<IP_ADDRESS>")
    networkSettings.ipv4Settings = NEIPv4Settings(addresses: ["<IP_ADDRESS>"], subnetMasks: ["<IP_ADDRESS>"])
    networkSettings.ipv4Settings?.includedRoutes = [NEIPv4Route.default()]
    networkSettings.ipv6Settings = {
        let settings = NEIPv6Settings(addresses: ["fd6e:a81b:704f:1211::1"], networkPrefixLengths: [64])
        settings.includedRoutes = [NEIPv6Route.default()]
        return settings
    }()
    networkSettings.dnsSettings = NEDNSSettings(servers: ["<IP_ADDRESS>", "<IP_ADDRESS>"])
    networkSettings.mtu = NSNumber(value: 9000)

    // Apply network settings and wait for confirmation
    self.setTunnelNetworkSettings(networkSettings) { [weak self] error in
        guard let self = self else { return }

        if let error = error {
            completionHandler(error)
            return
        }

        // Network settings applied successfully, now start the SOCKS5 tunnel
        self.startSocks5Tunnel(port: port, completionHandler: completionHandler)
    }
}

private func startSocks5Tunnel(port: Int, completionHandler: @escaping (Error?) -> Void) {
    let socks5Config = """
    tunnel:
      mtu: 9000

    socks5:
      port: \(port)
      address: <IP_ADDRESS>
      udp: 'udp'

    misc:
      task-stack-size: 24576
      tcp-buffer-size: 4096
      log-file: stdout
      log-level: debug
    """

    guard let fileDescriptor = self.tunnelFileDescriptor else {
        completionHandler(NSError(domain: "PacketTunnelProvider", code: -1, userInfo: [NSLocalizedDescriptionKey: "Failed to get tunnel file descriptor."]))
        return
    }

    // Start the SOCKS5 tunnel in a background thread
    DispatchQueue.global(qos: .userInitiated).async {
        socks5Config.withCString { configCString in
            let result = hev_socks5_tunnel_main_from_str(configCString, UInt32(socks5Config.count), fileDescriptor)
            DispatchQueue.main.async {
                if result != 0 {
                    completionHandler(NSError(domain: "PacketTunnelProvider", code: Int(result), userInfo: [NSLocalizedDescriptionKey: "Failed to start SOCKS5 tunnel with error code: \(result)."]))
                } else {
                    self.isRunning = true
                    completionHandler(nil)
                }
            }
        }
    }
}

Steps to Reproduce

Start the PacketTunnelProvider using the provided code.
Apply NEPacketTunnelNetworkSettings.
Start the SOCKS5 tunnel with the given configuration.
Observe the crash just a few seconds after tunnel initialization.

Expected Behavior
The tunnel should initialize and run within the resource limits set by iOS.

Observed Behavior
The PacketTunnel process is killed by the kernel due to exceeding the 50 MB active memory limit.

Environment

iOS Version: 18.2
HevSocks5Tunnel: Latest

Have you marked the outgoing socket of socks5 as protected? You need to prevent the outgoing connection of socks5 proxy from entering the hev-socks5-tunnel again.

Yeah, everything is fine on Android but on iOS with the same configuration it's not working and crashes so the VPN profile stays on connecting, and no traffic is being transferred
also, the routes to <IP_ADDRESS>(<IP_ADDRESS>) are excluded.

It is not enough to exclude only <IP_ADDRESS>, the local socks5 upstream server also needs to be excluded. Or, exclude all outgoing connections of current app.


blitzpaper - 2.7in e-paper utility scripts

The good
This pull request contains some marginal progress towards making a 2.7in e-paper display (one with 4 buttons) useful for the Raspiblitz, per discussions in #1394 It does not do much, but it at least has some python scripts that allow you to:

sudo python3 epapersay.py "Reckless Raspiblitz!!!" and such text will be displayed on the e-paper screen.
sudo python3 paperblitz.py "<cmd1>" "<cmd2>" "<cmd3>" "<cmd4>" will execute <cmd1> when button 1 is pressed, <cmd2> when button 2 is pressed, and so on.
The commands above could be anything, including calls to sudo python3 epapersay.py
See the README in the BlitzPaperUI directory for more.

The bad
This by no means is in a read-to-merge state yet. There are a lot of things to fix. For example, right now text is printed to the display in some (arbitrary?) default font at a hard-coded coordinate on the screen. So this needs to be cleaned up considerably.
The ugly
Never developed in python before. At the moment these lines of code barely pass as "software development," but had to start somewhere. Recommendations on the "idiomatic" way to do this both with regard to the python and shell scripts, and also with regard to the Raspiblitz itself are most welcome.
The goal
In the end, the goal is to have a nice clean API that others can use to customize their blitz or, more likely, that apps or the blitz itself could use to provide a nice sat stacking user experience!

Before I continue too much more on this, when you have a chance (@rootzoll, @openoms, @frennkie ) will you let me know whether this level abstraction is the right amount for the project in your opinion? Essentially, I am trying to figure out whether this should end up Raspiblitz/specific in a very opinionated way such that the buttons are essentially hard-coded to specific Raspiblitz functionality, or whether we want to keep it general (how it is now) so that anybody (or blitz software/apps) can interact with it from the CLI, set the buttons up to do specific things, etc.
Regardless, the code will of course need to be cleaned up, but just trying to gauge whether I am headed in the right direction.
Thanks in advance for your feedback.

I think this is a good start :) Making some smaller scripts to try out basics like out putting texts or using the buttons.
I dont think you need an API - but putting all needed functions into a python module (subfolder) can make sense so later the background running script can put it all easy togerher.

Ok, great. Thanks for the feedback. I will put some more work into it this coming week. So far, all of this has not been using the PaperTTY library. I lean towards pulling in the PaperTTY library to handle the displaying/printing of things on the e-paper display. The advantage of this is primarily two-fold:

Customization - It will allow for easy accommodation of any e-paper display which is supported by PaperTTY (there are quite a few). It also uses the same underlying drivers that I was playing with, so there is no real downside risk here I can think of.
Maturity - PaperTTY is a much more mature library, with more contributors, etc, yet still just a light weight tool/service

What PaperTTY does not do, from what I can tell, is anything whatsoever with the buttons on the left. That functionality is something unique to the 2.7inch display itself. So, next week, I will try to primarily focus my efforts on:

switching to PaperTTY so as to not re-invent the wheel on the printing/display side
creating a decent utility script(s)/service for reacting to the buttons

All in all though, I am definitely enjoying having a little e-paper display. The buttons are a nice addition since they could be programmed to send arbitrary commands. For example, coding one of the buttons to trigger a graceful reboot of the blitz might be nice (for those times when logging in via SSH is not working, networking issues, etc).

Just a quick note/update here: unfortunately I have not had the time to dedicate to this particular e-paper feature and I am not sure when I will have the time, so it is doubtful that it will be ready in time for any 1.7 release.

@philbertw4 thats absolutly fair to mention, thanks - I will leave the issue as a reminder within the v1.7 milestone so that the refactoring that is planed for v1.7 will be done with the ePaper "in-mind" even if we might push it then later into the future-release collector.

The UI refactors are shiftet to 1.8 .. good things take time

Good news - with the v1.7.2 release all system information that is displayed on the LCD comes now from a cache system that can be called with /home/admin/_cache.sh .. so that way an ePaper Display script can import those values also very easy with example source <(/home/admin/_cache.sh get hddGotMigrationData hddBlocksBitcoin hddBlocksLitecoin hddCandidate). What values are available can be seen if you call on terminal cache export

Sent with GitHawk


Remove "Off" from second currency in settings

Leave only 2 options: USD (Default) and BTC.
https://zpl.io/2E17kon

Make according to the design:https://app.zeplin.io/project/5ba9be48f029d520c456f395/screen/5d5fd55d754cd99aeffdde83

checked


Join forces?

Hi @jeffkaufman @taymonbeal 👋🏼 ,
@iamnewton and I have been working on a similar project to provide a pure JS implementation of the fledge spec.   I don't see any value in having two versions of what will eventually be a throwaway library. Do. you want to collaborate together on this effort?

Hey @jeffkaufman, I'm Newton, the other developer.  I've looked at your repo as well and it appears we're doing similar things.  We're going to be using postMessage on an iframe.  There is a tech spec and some discussion around the matters that should hopefully help you get a look at to what we were thinking.

Thanks for offering to help! We're still working on getting our basic framework together, but once we have it working we'd be happy to take PRs?

That sounds great @jeffkaufman.  Can we keep this issue open until such time you're ready to accept PRs?

Sure!

While I'm finishing the last couple parts of the basic framework, one question I'm interested in is what kinds of bidding and scoring algorithms people are thinking of using—bearing in mind that the code would have to be checked into this repo (at least in the case where multiple vendors are using a single hosting domain). If you have any thoughts or plans along these lines, feel free to share.

would have to be checked into this repo

More explanation: https://github.com/google/fledge-shim/issues/31#issuecomment-827139348


Updated web3 wallet connect design

Fixes # .
Changes proposed in this pull request:

Add Portis
Update the wallet connect modal design
Fix some loose ends

@1saf I'm sure you're aware, but this is failing to compile. Let me know when the previews are working and I'll check it out.

@1saf I'm sure you're aware, but this is failing to compile. Let me know when the previews are working and I'll check it out.

Yup, went to eat dinner. It was an untracked file which I forgot to push


pull request for e2e test at 12/06/2016 00:15:01

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

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


Add Link Formatting as well as other Slack Formatting stuff

Fixes #23
Note: Don't merge without my upcoming PR to the site.
Note 2: I don't have yarn or npm installed on my computer (school refuses to give me admin permissions so ya), could someone run the commands to update all the package things. I tried repl.it but that was acting all weird today.

Needs this to be merged: https://github.com/hackclub/summer-scrapbook/pull/15

I reimplemented link formatting (along with user & channel formatting). Is there a good case for xss prevention and Slack markdown support (if I understand this PR correctly)?

not really seems to have been implemented else where


Set OpenID support on by default when installing new instance (#3010)

Backport to 1.3

LGTM

LGTM


[Bug]: TableHeaderCell has incorrect props type

Tremor Version
3.14.1
Link to minimal reproduction
(See repro steps)
Steps to reproduce
This code:
<TableHeaderCell colSpan={3} /> // ❌ Property 'colSpan' does not exist

Produces this error:

Property 'colSpan' does not exist on type 'IntrinsicAttributes & HTMLAttributes & RefAttributes'.

What is expected?
The TableHeaderCell component extends React.ThHTMLAttributes<HTMLTableCellElement>.
The interface ThHTMLAttributes has the missing props for colSpan and similar
interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
    align?: "left" | "center" | "right" | "justify" | "char" | undefined;
    colSpan?: number | undefined;
    headers?: string | undefined;
    rowSpan?: number | undefined;
    scope?: string | undefined;
    abbr?: string | undefined;
}

What is actually happening?
The TableHeaderCell component only extends React.HTMLAttributes<HTMLTableCellElement>
https://github.com/tremorlabs/tremor/blob/bd6566b814d907e130b6827194def10b5bc3661f/src/components/list-elements/Table/TableHeaderCell.tsx#L5-L10
What browsers are you seeing the problem on?
Chrome
Any additional comments?
Unrecognised props (like colSpan here are passed through to the underlying <th>, so it does currently work; but Typescript isn't happy.

Thanks @BenJenkinson! Added to the next release. The quality of your issue reports is what open-source maintainers dream of ✨


How to configure routes it?
What is the need of lazy loading?
Explain with syntax/example
Reference :- https://angular.io/guide/router

(Week 5 Issue)
Note:-

Don't copy paste, we would be merging after reviewing the PR.
Changes should be made inside "Frontend_Web_Development_React_Angular_Vue/Angular/Week5" directory
Tasks would be assigned on First Come First Serve Basis

Domain
Frontend Dev React/Angular/Vue
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

@mukeshmjn  I have created a PR Kindly review it
https://github.com/girlscript/winter-of-contributing/pull/8899

@RIYANSHGARG done!