Fixed undefined behaviour in pcrcopy plugin that cause real issue with label processing

Related issue (if any):
no related issue
Affected components:
pcrcopy plugin
Brief description of the proposed changes:
If --reference-label is not set by user, then _ref_label sets to 32 (TSPacketLabelSet::MAX+1)
by ts::PCRCopyPlugin::getOptions().
ts::PCRCopyPlugin::processPacket() calls pkt_data.hasLabel(_ref_label) that calls
CompactBitSet::test() that uses 'int_t(1)<<pos' code, where int_t is uint32_t and pos=32
1<<32 is undefined by C++ standard for 32-bit unsinged integer. In real world 1<<32 usually
equals to 1 so it means that pkt_data.hasLabel(32) is equal to pkt_data.hasLabel(0)
Real issue can be caused by the following command (reproduces on macos arm64 clang-15 and
linux x86_64 gcc-12):
% tsp --verbose -I file ../tsduck-test/input/test-092.ts -P filter -p 0x140 --set-label 0 -P pcrcopy -r 0x78 -t 0x82 -O drop
* file: initial input bitrate is 24,047,795 b/s
* pcrcopy: using PID 0x0140 (320) as PCR reference
* pcrcopy: using PID 0x0140 (320) to insert copied PCR

In this example, user asks pcrcopy plugin to copy PCR values from pid 0x78 to 0x82, but tsduck copies from
0x140 to 0x140 because label 0 was set by filter plugin.
Minimal example to check the behaviour on different systems and compilers:
% cat undef.cpp
#include <iostream>
#include <sstream>

int main(int argc, char *argv[]) {
    std::cout << (uint32_t(1) << size_t(32)) << std::endl;
    std::stringstream argv1(argv[1]);
    size_t exp;
    argv1 >> exp;
    std::cout << (uint32_t(1) << exp) << std::endl;
    return 0;
}

% clang++ undef.cpp
% ./a.out 32 # on macos arm64, clang-15
1796978288
1
% ./a.out 32 # on macos arm64, second try
1842411120
1

$ g++ undef.cpp
$ ./a.out 32 # on linux x86_64, gcc-12
0
1
$ ./a.out 32 # on linux x86_64, second try
0
1

This issue was found during tsduck-test/test-093 with UBSAN enabled:
    > libtsduck/base/types/tsCompactBitSet.h:214:66: runtime error: shift exponent 32 is too large for 32-bit type 'int_t' (aka 'unsigned int')
    >     #0 0x1048eb140 in ts::PCRCopyPlugin::processPacket(ts::TSPacket&, ts::TSPacketMetadata&) tsplugin_pcrcopy.cpp:169
    >     #1 0x1078bf8f4 in ts::tsp::ProcessorExecutor::processIndividualPackets() tstspProcessorExecutor.cpp:173
    >     #2 0x1078becf0 in ts::tsp::ProcessorExecutor::main() tstspProcessorExecutor.cpp:74
    >     #3 0x10774a3d0 in ts::Thread::mainWrapper() tsThread.cpp:345
    >     #4 0x107749f98 in ts::Thread::ThreadProc(void*) tsThread.cpp:389
    >     #5 0x18b9a5030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
    >     #6 0x18b99fe38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
    >
    > SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior libtsduck/base/types/tsCompactBitSet.h:214:66 in

Regarding to test-131 on "Build on macos-latest with clang, C++17". Looks like, it was some CI issue, e.g. macos host was too slow.

Hi @svlobanov
Thanks for reporting this. I find this amazing. After forty years of programming and writing several millions of lines of code, I was fully convinced that shifting more than the size of the type resulted in zero, at least in C/C++. I probably took this from assembly code because this is how most ISA behave. Then, I considered C as some kind of super-assembler. I fully adopted C++ after years of programming in Ada and Java. I was very well aware of the concept of "undefined behavior" in those high-level languages. Going back to C++, I probably made the mistake to consider it as a super-high-level object-oriented assembler.
I learnt something today.
I assume that the generated code first computes "shift-count modulo int-type-size" and then use this value as shift count. I will verify in the generated code. The weird result is that, depending on the amount of shift, the operation is either a shift or a rotate.
My small test:
#include <iostream>
#include <iomanip>
int main(int argc, char* argv[])
{
    uint32_t n = argc < 2 ? 1 : std::atoi(argv[1]);
    int shift  = argc < 3 ? 0 : std::atoi(argv[2]);
    std::cout << std::hex << std::setfill('0') << std::setw(8) << (n << shift) << std::endl;
}

Test below. See how the shift becomes a rotate, probably because of the modulo.
$ for s in 28 29 30 31 32 33; do ./shift 15 $s; done
f0000000
e0000000
c0000000
80000000
0000000f
0000001e

But I have a very bad feeling now. How many times did I write code based on the assumption that shifting more than the type size resulted in zero? How many latent bugs are sleeping there, waiting to blow up?

I'm glad that you learned something new from this PR.
Undefined behaviour in C and C++ (be careful, the C and C++ standards define different things undefined) is a concept that allows using the fastest CPU instructions. You know that you can disasm my or your example and see why shifting becomes rotating. BTW, you can play with compiler flags to specify cpu microarchicture, the result may be different.
The most important thing that you should think that any undefined operation MAY produce any kind garbage (like it happens in my example on macos arm64, clang-15)

How many times did I write code based on the assumption that shifting more than the type size resulted in zero? How many latent bugs are sleeping there, waiting to blow up?

This is not just a rhetorical question, but a solvable one. There are three ways to find undefined behaviour issues:

unsuppress compiler warnings related to undefined behaviour and change it to 100% deterministic, e.g. https://github.com/tsduck/tsduck/blob/b8adb67a1a53072e6206b7617b40f17835b2aa11/src/libtsduck/base/types/tsIntegerUtils.h#L855-L859 (yes, negative shift is undefined behaviour in C++, but so many application developers use this operations so compiler developers usually don't optimize it, but some day on some specific hardware and compiler you will catch an issue)
check static analyzers warnings regarding undefined behaviours (if you don't suppress it). more advanced analyzers can find more potential issues
Use UBSAN (https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html ), it will find undefined behaviour even if data is passed from external world (argv[], .ts file, etc). Compilers (and some static analyzers) don't generate warnings if data is external.

How many times did I write code based on the assumption that shifting more than the type size resulted in zero? How many latent bugs are sleeping there, waiting to blow up?

This is not just a rhetorical question, but a solvable one. There are three ways to find undefined behaviour issues:

Agreed if we can reproduce the invalid values, possibly dynamically, using external values. That is how you found that bug.
My fear is more about constructs such as "non-zero-value << shift" where "shift" is always below the size limit with valid input. If I based error processing on the assumption that the result would be zero on invalid input, we have a problem. In your PR, the input was valid and the error was in the processing of valid input. With invalid input, fuzzing may help of course. But the coverage cannot be 100% (it is infinite).

My fear is more about constructs such as "non-zero-value << shift" where "shift" is always below the size limit with valid input.

According to C++ standards, even "-1 << 5" is undefined behaviour (you can find exact references here: https://stackoverflow.com/a/3785121/21113842 ), but in real world it works as you expected, at least it works as you expected on x86_64 and arm64 linux and macos, gcc and clang.

even "-1 << 5" is undefined behaviour

Yeah but I was thinking about injecting incorrect "shift" in expression "value << shift".
If "value" is incorrect, then "value << shift" will be as bad as "value". However, if you anticipate that "value << shift" will be zero in case of invalid (too large) "shift", then your error processing is incorrect. Anyway, let's see if fuzzing will help.


Editing Page and Adding new Page option is not Working

Editing a Wiki Page and adding new Wiki Page is not working with version Update in Frappe Cloud
Commit: 0da2e15de2fbad3eac2ce0b7cb4ccc081323ebd2
Wiki Version: frappe/wiki:master
Frappe Version: v14.31.0

I'm also seeing this problem.  To reproduce:
Visit any Wiki page in the new UI
Click on the "Edit" button.
The wiki page panel goes blank.
  This can cause any number of problems.
is it possible to get a "version-14" branch of frappe/wiki that is stable and works on that production version?

The issue was caused by Vue version incompatibilty (it was used for the editor). So I've rewritten the editor using vanilla js so it'll work on both develop and v14 from now.

is it possible to get a "version-14" branch of frappe/wiki that is stable and works on that production version?
I've setup a legacy branch for now.


filecache: on Windows files are written with invalid names

The filecache on windows is writing invalid file names which in turn makes it so tegola can't find the cached tiles.

This has been fixed in the v0.7.0 branch.


Update PHP constraints to allow v8.3

Q
A

Documentation
no

Bugfix
no

BC Break
no

New Feature
no

RFC
yes

QA
no

Description
Refs #175

The "QA Checks' failure seems to be due to a bug in psalm which is addressed here https://github.com/vimeo/psalm/pull/10186 but hasn't been released yet.

I reverted the changes and then ran compose update --lock, not sure why it downgraded the version for plugin-api-version.

I reverted the changes and then ran compose update --lock, not sure why it downgraded the version for plugin-api-version.

TIL: The value for plugin-api-version in composer.lock depends on the composer version used. I had used an older 2.0.4 version of composer hence plugin-api-version was set to 2.0.0.


Prepare pytest removal

Refactor test functions to unittest classes.
Add RAISE_LOG_OUTPUT in test project

Also remove this warning:
UserWarning: `sections` setting includes EXTERNAL, but no known_external is defined. The following
known_SECTION config options are defined: .

because we have to remove the obsolete .isort.cfg (The config was added into pyproject.toml in the past)

Codecov Report

Merging #83 (6af5af4) into master (8897ca4) will decrease coverage by 0.38%.
The diff coverage is 95.58%.

@@            Coverage Diff             @@
##           master      #83      +/-   ##
==========================================
- Coverage   94.99%   94.61%   -0.39%
==========================================
  Files         104      104
  Lines        3798     3806       +8
==========================================
- Hits         3608     3601       -7
- Misses        190      205      +15

Impacted Files
Coverage Δ

bx_django_utils_tests/test_project/settings.py
90.00% <25.00%> (-10.00%)
:arrow_down:

bx_django_utils/__init__.py
100.00% <100.00%> (ø)

.../admin_extra_views/tests/test_admin_extra_views.py
100.00% <100.00%> (ø)

...django_utils_tests/tests/test_admin_extra_views.py
100.00% <100.00%> (ø)

bx_django_utils_tests/tests/test_assert_queries.py
96.52% <100.00%> (-3.48%)
:arrow_down:

bx_django_utils_tests/tests/test_html_assertion.py
93.10% <100.00%> (-6.90%)
:arrow_down:

bx_django_utils_tests/tests/test_readme.py
100.00% <100.00%> (ø)

..._django_utils_tests/tests/test_test_utils_cache.py
100.00% <100.00%> (ø)

...ango_utils_tests/tests/test_test_utils_datetime.py
100.00% <100.00%> (ø)

... and 1 more

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


Multiple cron jobs firing the function multiple times

My goal is to post the message in the code below to a channel once on Tuesday at 3pm and once on Thursday at 3pm. It's getting the day and time right but it's posting the message twice each time. Is there something incorrect about the following code or is this out of the scope of this package?
# Description:
#   Defines periodic executions

HubotCron = require 'hubot-cronjob'

module.exports = (robot) ->
  tuesdays = '10 15 * * 3'
  thursdays = '10 15 * * 4'

  timezone = 'America/Chicago'

  fn = ->
    robot.messageRoom 'design-feedback', 'Hey @channel, take a minute and post some work!'

  new HubotCron tuesdays, timezone, fn
  new HubotCron thursdays, timezone, fn

I am using similar pattern for posting lunch menus every weekday. The pattern is 0 11 * * 1-5. It works well.
Judging by your code snippet it looks good and should work.
I think you have several options:

Try to change your cron pattern to 10 15 * * 3,4 and see if it works
Try to debug: is it that a Tuesday function is called twice? Or is it because the cron pattern is parsed badly?

This package is using https://github.com/ncb000gt/node-cron behind the curtains so you might find some information there too.


Add EmptyArrayTag to CSTML

Change CSTML to add a new type of tag to streams and trees:
{ type: 'EmptyArrayTag', value: undefined }

It should print like this:
<List>
  items: []
  items[]: <ListItem />
</>

From the perspective of the consumer of the CSTML, it should never be possible to receive an array element reference (like items[]: ...) before you have seen an empty array declaration (like items: []).

The EmptyArrayTag tokens should transfer back and forth between streams and trees (in treeFromStream and streamFromTree).

And it should be possible to yield i`eat([], 'list')`

Generally making a change like this is interesting because it's a bootstrapped change. You have a system defined in terms of itself, and you need to change the terms.
Doing the work will almost always break down into two parts:

Getting the output of BABLR to be in the new terms
Getting BABLR to accept input defined in the new terms

It doesn't seem to matter much which you do first. You should be able to complete each one independently (and without handling the other) because of the presence of @bablr/boot.
In terms of generating the new input for BABLR, you'll need to touch the existing places where it emits reference tokens here, here and here
In terms of the output you'll need to define the printer cases obviously, but those should crash right away when they see an unknown tag type making them easy to find and fix from the debugger


Node idea

Hey,
Using the image comparer (great node btw) gave me an idea, below is a mock-up:

Like tabs for your prompt, you can switch between them, and whatever tab you have active will output on execution. Maybe with an option to add more tabs via properties?
I've been using note nodes to save prompts and swap between them. A node like this would be great.

You can do something like this now, though it's not a single node nor as elegant.
But, three separate text nodes (representing A1 A2 A3) could be hooked up to an Any Switch and then it's just un-muting the one you want (similar to selecting the "tab" would be in the mock).
With that said, I was thinking of an even more powerful Power Prompt that had several composer-like features in it for some point down the line. Thanks for the suggestion.


Can't run tests on macOS 10.12.1

Node Version: v6.5.0
Protractor Version: 4.0.8
Angular Version: 1.5
Browser(s): Chrome  54.0.2840.71 (64-bit)
Operating System and Version macOS 10.12.1
Your protractor configuration file

exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['./*.spec.js'],
    chromeOnly: true,
    jasmineNodeOpts: {
        defaultTimeoutInterval: 30000
    },
    allScriptsTimeout: 25000
};

A relevant example test

it('button disabled enabled state and redirect', function() {
        browser.get(`https://${TEST_MACHINE_IP}:8457/#!/login`);
        var loginButton  = browser.driver.findElement(by.css('[type=submit]'));
        element(by.model('login.credentials.username')).sendKeys('admin');
        expect(loginButton.isEnabled()).toBe(false);
        element(by.model('login.credentials.password')).sendKeys('admin');
        expect(loginButton.isEnabled()).toBe(true);
        loginButton.click();
        expect(browser.getCurrentUrl()).toMatch(/\/#!\/list/);
    });

Output from running the test

MacBook-Pro-David:protractor david$ protractor --troubleshoot
[14:43:27] D/launcher - Running with --troubleshoot
[14:43:27] D/launcher - Protractor version: 4.0.8
[14:43:27] D/launcher - Your base url for tests is undefined
[14:43:27] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[14:43:27] I/launcher - Running 1 instances of WebDriver
[14:43:29] D/runner - WebDriver session successfully started with capabilities Capabilities {
  'applicationCacheEnabled' => false,
  'rotatable' => false,
  'mobileEmulationEnabled' => false,
  'networkConnectionEnabled' => false,
  'chrome' => { chromedriverVersion: '2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1)',
  userDataDir: '/var/folders/4v/vfdbkd6x76v1l6d__whf4szr0000gn/T/.org.chromium.Chromium.uzv0cZ' },
  'takesHeapSnapshot' => true,
  'pageLoadStrategy' => 'normal',
  'databaseEnabled' => false,
  'handlesAlerts' => true,
  'hasTouchScreen' => false,
  'version' => '54.0.2840.71',
  'platform' => 'MAC',
  'browserConnectionEnabled' => false,
  'nativeEvents' => true,
  'acceptSslCerts' => true,
  'webdriver.remote.sessionid' => '4e919372-05ee-4b55-bf00-d3a204be7cb5',
  'locationContextEnabled' => true,
  'webStorageEnabled' => true,
  'browserName' => 'chrome',
  'takesScreenshot' => true,
  'javascriptEnabled' => true,
  'cssSelectorsEnabled' => true }
[14:43:29] D/runner - Running with spec files /Users/david/WebstormProjects/Fusion/clientSrc/fusion/protractor/dp.spec.js
Started
A Jasmine spec timed out. Resetting the WebDriver Control Flow.
F

Failures:
1) Data Protection page button disabled enabled state and redirect
  Message:
    Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
  Stack:
    Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
        at tryOnTimeout (timers.js:232:11)
        at Timer.listOnTimeout (timers.js:202:5)

1 spec, 1 failure
Finished in 100.05 seconds

MacBook-Pro-David:~ david$ webdriver-manager start
[14:42:35] I/start - java -Dwebdriver.chrome.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.25 -Dwebdriver.gecko.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0 -jar /usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar
[14:42:35] I/start - seleniumProcess.pid: 17846
14:42:36.137 INFO - Launching a standalone Selenium Server
14:42:36.211 INFO - Java: Oracle Corporation 9-ea+140
14:42:36.212 INFO - OS: Mac OS X 10.12.1 x86_64
14:42:36.236 INFO - v2.53.1, with Core v2.53.1. Built from revision a36b8b1
14:42:36.297 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{ensureCleanSession=true, browserName=internet explorer, version=, platform=WINDOWS}] does not match the current platform MAC
14:42:36.297 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{browserName=MicrosoftEdge, version=, platform=WINDOWS}] does not match the current platform MAC
14:42:36.297 INFO - Driver class not found: com.opera.core.systems.OperaDriver
14:42:36.298 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
14:42:36.299 INFO - Driver class not found: org.openqa.selenium.htmlunit.HtmlUnitDriver
14:42:36.300 INFO - Driver provider org.openqa.selenium.htmlunit.HtmlUnitDriver is not registered
14:42:36.354 INFO - RemoteWebDriver instances should connect to: http://<IP_ADDRESS>:4444/wd/hub
14:42:36.355 INFO - Selenium Server is up and running
14:42:39.600 INFO - Executing: [new session: Capabilities [{count=1, browserName=chrome}]])
14:42:39.612 INFO - Creating a new session for Capabilities [{count=1, browserName=chrome}]
Starting ChromeDriver 2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1) on port 35341
Only local connections are allowed.
14:42:40.664 INFO - Done: [new session: Capabilities [{count=1, browserName=chrome}]]
14:42:40.680 INFO - Executing: [set script timeout: 11000])
14:42:40.686 INFO - Done: [set script timeout: 11000]
14:42:40.783 INFO - Executing: [delete session: 00199c53-eb4b-4638-af94-220da4347223])
14:42:40.858 INFO - Done: [delete session: 00199c53-eb4b-4638-af94-220da4347223]
14:43:02.814 INFO - Executing: [new session: Capabilities [{count=1, browserName=chrome}]])
14:43:02.816 INFO - Creating a new session for Capabilities [{count=1, browserName=chrome}]
Starting ChromeDriver 2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1) on port 36785
Only local connections are allowed.
14:43:03.538 INFO - Done: [new session: Capabilities [{count=1, browserName=chrome}]]
14:43:03.550 INFO - Executing: [set script timeout: 11000])
14:43:03.553 INFO - Done: [set script timeout: 11000]
14:43:03.651 INFO - Executing: [get: data:text/html,])
[0.859][SEVERE]: Bad inspector message: {"method":"Page.loadEventFired","params":{"timestamp":28898,065881}}
[0.859][SEVERE]: Bad inspector message: {"method":"Page.domContentEventFired","params":{"timestamp":28898,066301}}
[11.152][SEVERE]: Unable to receive message from renderer
14:43:14.012 INFO - Done: [get: data:text/html,]
^C[14:43:17] I/start - Staying alive until the Selenium Standalone process exits
[14:43:17] I/start - Selenium Standalone has exited with code 130
MacBook-Pro-David:~ david$ clear

MacBook-Pro-David:~ david$ webdriver-manager start
[14:43:25] I/start - java -Dwebdriver.chrome.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.25 -Dwebdriver.gecko.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.9.0 -jar /usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar
[14:43:25] I/start - seleniumProcess.pid: 17889
14:43:26.102 INFO - Launching a standalone Selenium Server
14:43:26.138 INFO - Java: Oracle Corporation 9-ea+140
14:43:26.138 INFO - OS: Mac OS X 10.12.1 x86_64
14:43:26.163 INFO - v2.53.1, with Core v2.53.1. Built from revision a36b8b1
14:43:26.223 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{ensureCleanSession=true, browserName=internet explorer, version=, platform=WINDOWS}] does not match the current platform MAC
14:43:26.224 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{browserName=MicrosoftEdge, version=, platform=WINDOWS}] does not match the current platform MAC
14:43:26.224 INFO - Driver class not found: com.opera.core.systems.OperaDriver
14:43:26.224 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
14:43:26.226 INFO - Driver class not found: org.openqa.selenium.htmlunit.HtmlUnitDriver
14:43:26.226 INFO - Driver provider org.openqa.selenium.htmlunit.HtmlUnitDriver is not registered
14:43:26.282 INFO - RemoteWebDriver instances should connect to: http://<IP_ADDRESS>:4444/wd/hub
14:43:26.282 INFO - Selenium Server is up and running
14:43:28.010 INFO - Executing: [new session: Capabilities [{count=1, browserName=chrome}]])
14:43:28.022 INFO - Creating a new session for Capabilities [{count=1, browserName=chrome}]
Starting ChromeDriver 2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1) on port 24621
Only local connections are allowed.
14:43:29.060 INFO - Done: [new session: Capabilities [{count=1, browserName=chrome}]]
14:43:29.076 INFO - Executing: [set script timeout: 11000])
14:43:29.082 INFO - Done: [set script timeout: 11000]
14:43:29.178 INFO - Executing: [get: data:text/html,])
[0.946][SEVERE]: Bad inspector message: {"method":"Page.loadEventFired","params":{"timestamp":28923,586737}}
[0.946][SEVERE]: Bad inspector message: {"method":"Page.domContentEventFired","params":{"timestamp":28923,587042}}
14:45:09.230 INFO - Executing: [delete session: 4e919372-05ee-4b55-bf00-d3a204be7cb5])

The URL you are running your tests against (if relevant)
<IP_ADDRESS>

When I run tests, chrome opens and hangs

Tried reinstalling selenium, protractor, latest version of protractor nothing helped

@davoam In my team we just had a similar issue that we resolve thanks to https://bugs.chromium.org/p/chromedriver/issues/detail?id=1552#c38

@Akaryatrh Thank you very much!!! I spent whole day trying to fix it

Np :) Still, it's not related to OS version while my collegues had the same problem with OSX 10.11. We're not really sure what brought this issue, maybe a webdriver update (we automatically update it before launching tests)


Dependency project status is not updated if its build is triggered by main project API call

Right now the project dependency will not update the build status when it is triggered by parent project, so there is sync issue between client with backend.
If the build of a dependent project is not triggered by API call of itself, but by build flow of main project in backend, the build status of the dependent project is not passed to UI proactively, and we need to manually refresh the page to get latest config/recipe/status.

Close as completed


Efficiency: use generator expressions for any(), all(), sum()

When using the any() and all() Python built-in functions, it's more efficient to pass the parameters as generator expressions than as list comprehensions.
We can take out the brackets as Raymond Hettinger suggests and enjoy the lazy evaluation of logic conditions. :-)

Coverage remained the same at 83.346% when pulling 5a0139db97f8d77aefbeba6924661f0e68f80878 on pietrodn:any-all-generators into b84ea1668a2abcf1ee23abc12c32354f73628798 on cvxgrp:1.0.

Superseded by #458.


[feature-1] Added Find_pairs_with_given_sum. in CPP

Related Issues

Finding whether a pair with a given sum in the Array exists or not, implemented in CPP

Closes: #233
Describe the changes you've made
I have completely implemented a CPP program that takes the input of array elements from the user and prints the true if aPair with given sum exists else prints false
Type of change

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

How Has This Been Tested?
This has been tested by generating a set of random inputs using a generator and verified the outputs manually.
Describe if there is any unusual behavior of your code(Write NA if there isn't)
NA
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] New and existing unit tests pass locally with my changes.

@ankitapuri Please have a look at it

@ankitapuri The problem works fine and I have tested it. I hope you would have entered the inputs in unsorted order, but the inputs for this question must be in sorted order to use the Two Pointer concept.

see this

@ankitapuri It's correct, there are pairs with sum 5, that is 1,4 and 2,3. The question is to return true or false about whether a pair is found or not, and not to print the pair found.


feat(payment): PI-2090 Zip (Quadpay) - Change Checkout Button Language

What?
Update the “Pay in 4 installments” language to “Pay in installments” (removing the 4) for US merchants at checkout
Testing / Proof
before:

after:

@bigcommerce/team-checkout

How come we are changing the text for all the languages? Maybe we can change only for English and wait for translation team to provide for rest of the languages?

@animesh1987 Since it's just a removal of one number, we thought it's ok to remove it in other languages too. But I modified the PR so that now it's only the English translation


[WIP] Enable adaptive index granularity by default

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category (leave one):

Backward Incompatible Change

Short description (up to few sentences):
Enable adaptive_index_granularity=10MB by default. Check old tables for mrk format to detect fixed granularity.

Do not merge.


AWS management or standalone cluster fails to be provisioned existing hardware

Bug Report
Attempting to perform management-cluster with CLI tanzu management-cluster create --ui  Results in the following error in pod deployment.apps/capa-controller-manager -n capa-system manager.
E1101 20:27:48.232928       1 controller.go:257] controller-runtime/controller "msg"="Reconciler error" "error"="failed to create classic load balancer: \u0026{tce-cluster-01-apiserver  Internet-facing [] [] [sg-0272373de31f992cf] [0xc000829f20] 0xc000829f50 {10m0s false} map[Name:tce-cluster-01-apiserver sigs.k8s.io/cluster-api-provider-aws/cluster/tce-cluster-01:owned sigs.k8s.io/cluster-api-provider-aws/role:apiserver]}: ValidationError: Either AvailabilityZones or SubnetIds must be specified\n\tstatus code: 400, request id: b875eec8-c495-49b6-a616-35da63101313" "controller"="awscluster" "name"="tce-cluster-01" "namespace"="tkg-system"

We are attempting to reuse existing hardware that does not have an internet gateway or NAT.  Both facilities are provided through an existing transit gateway provided to the subnet.
We have attempted to follow the advice documented here for tagging resources.
Expected Behavior
All load balancers created for standalone and management clusters will need to be internal.
Steps to Reproduce the Bug
Use existing AWS hardware with tags described here with subnets with out internet gateway or nat gateway.  Instead, make use of a transit gateway.  Truely not sure if that is necessary.
Screenshots or additional information and context
E1101 20:27:48.232928       1 controller.go:257] controller-runtime/controller "msg"="Reconciler error" "error"="failed to create classic load balancer: \u0026{tce-cluster-01-apiserver  Internet-facing [] [] [sg-0272373de31f992cf] [0xc000829f20] 0xc000829f50 {10m0s false} map[Name:tce-cluster-01-apiserver sigs.k8s.io/cluster-api-provider-aws/cluster/tce-cluster-01:owned sigs.k8s.io/cluster-api-provider-aws/role:apiserver]}: ValidationError: Either AvailabilityZones or SubnetIds must be specified\n\tstatus code: 400, request id: b875eec8-c495-49b6-a616-35da63101313" "controller"="awscluster" "name"="tce-cluster-01" "namespace"="tkg-system"

Environment Details

Build version (tanzu version): v0.2.1
Deployment (Managed/Standalone cluster): management and standalone
Infrastructure Provider (Docker/AWS/Azure/vSphere):  AWS
Operating System (client): Ubuntu 20.10

Diagnostics and log bundle
N/A

I have also reached out on this slack

hey @xyloman was this resolved in slack? if you still need help, please drop a line here and we will get someone to help you

@dvonthenen I think I was able to figure this out by leveraging the TKG documentation to configure the overlay to use an internal NLB.  If the content can be pulled from the TKG documentation and added to Community Edition that would help someone next time for sure.

adding @kcoriordan to take a look at this

@xyloman if you happen to still have the link that helped you, if you could paste that here that could really help anyone in the future that runs into the same situation if they search around and come across this issue. If it's not readily available for you anymore, no worries.
cc @kcoriordan

@stmcginnis took me a bit of time to find this in my notes but here is the link that was the key for me: https://docs.vmware.com/en/VMware-Tanzu-Kubernetes-Grid/1.3/vmware-tanzu-kubernetes-grid-13/GUID-mgmt-clusters-airgapped-environments.html#step-5-initialize-tanzu-kubernetes-grid-9

Thanks a ton for taking the time to look that up @xyloman - really appreciate that!

thanks @xyloman, I'll work on getting this into TCE doc

related to: #https://github.com/vmware-tanzu/community-edition/issues/862

This would be nice to have, but not a blocker for v0.11.0. Moving out to v0.12.0. It can still be completed asap.

Starting work on this, but will not get a PR in for v0.12.0 timeframe, moving to v0.13.0


Replace deepcopy of Topology with _append_topology for openmm 7.1.0 compatibility

Fixes #296.

Unintended. Not sure what went wrong.
I'll try again in a separate PR.


Test my own data

When I test my own data,should I resize image to (1640,590)?

Yes. I found much better results that way.

@virajdeokar Can you please help with details on how you test your own dataset?
I tried specifying the new image file paths in the ./data/CULane/list/test.txt, but was unsuccessful in running the code.

I have the same misunderstanding, as described above.

@nykabhishek  So , i have solved this problem.  Firstly, you need to change your "data" folder in test.sh. In this file, you should link to yours testing images and new test.txt file, which should contain all your testing image links.


Switch to dataclasses to represent database tables

Using methods is fine and all but it just gets tiring and lot of bloat. Also, using dataclass/attrs class to represent records of table will help with better typing.

Probably stale for now due to the decoupling rewrite #4


Fix typos and grammatical errors in README.md

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for contributing, however I'm afraid I'm going to close this. It's a duplicate of several other low effort PRs we have received recently, presumably the result of an automated script. Please check existing PRs before contributing.
I would also direct you towards the quality standards section of the Hacktoberfest website (which I assume this is part of): https://hacktoberfest.digitalocean.com/details#quality-standards

Although this is not the output of an automated script, it is low-effort. As I have not done many contributions in the past, I thought that this would be a good way to start and earn free stuff as part of Hacktoberfest. I now recognize that something which is as low-effort and clearly non-unique as this on a project that depends upon real, meaningful contributions is only a burden on the maintainers with no clear benefit. I use CyberChef for CTFs and other challenges and am looking into features that I can add. Again, sorry for the spammy request and I am planning to make up for it as best I can.


create zauberkugel tutorial

@simonbray
Computational chemistry training

Thank you @aurelienmoumbock, I'll have a look

@aurelienmoumbock, overall this looks great. Thanks a lot! It is really nice to have a tutorial covering pharmacophores. I pushed a few minor changes and also have a few comments (see below).
One general thing which needs to be fixed is the scale of the analysis. It is supposed to be a tutorial, introducing some basic concepts to beginners, so running a tool over a collection with 5000 elements is way too much. Can you use a subset of the ePharmaLib with maybe 5 to 10 pharmacophores, and generate maybe 5 conformers instead of 100? Of course, you can mention that in a 'real' analysis the full set can be used.

Thanks again @aurelienmoumbock! This is a really nice tutorial.
Could you also write a blog post here (https://github.com/usegalaxy-eu/website/tree/master/_posts) briefly introducing your workflow and tutorial?

@simonbray Thanks for the collaboration. Yes, the blog post is ready.

@simonbray I noticed a display error in our training material. Could you kindly have a look?


Do not select root node for constraints

The root node is always selected.
Previously, constraints would add incoming edges to the root node if the constraint was on the same module as the root node There is a deprecation warning to ensure no dependencies select the root node. We avoid that deprecation warning for this case, since we do not need to add edges to the root node
This behavior was seen on the AndroidX build.
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

The merge queue build has started. Click here to see all failures if any.


Publish sass.js compiled with exceptions

Hey, could you publish a compiled version of sass.js with exceptions enabled?
Thanks!

I'm not sure what you want me to do here. The Makefile patch already includes -s DISABLE_EXCEPTION_CATCHING=0.

What I meant is, the bower artifact contains a libsass compiled without exceptions: https://github.com/medialize/sass.js/blob/master/dist/sass.js
With that copy (that is also deployed in http://medialize.github.io/sass.js/) when a compilation fails all we get is:
Unknown Error: you need to compile libsass.js with exceptions to get proper error messages
Thanks.

I see what you mean. You're saying that you're not getting the actual error messages as returned by libsass exposed in JS.
When compiling invalid scss:
Sass.compile(".m { width: $foobar; }");

internally the following error is raised and caught:
"TypeError: Cannot read property '0' of null
    at Object.Sass.compile (http://test.dev/medialize/sass.js/src/sass.js:149:47)
    at <anonymous>:2:6
    at Object.InjectedScript._evaluateOn (<anonymous>:777:140)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:710:34)
    at Object.InjectedScript.evaluate (<anonymous>:626:21)"

externally you get the following error object:
{
  line: null,
  message: "Unknown Error: you need to compile libsass.js with exceptions to get proper error messages"
}

The culprit is within sass.js itself. When originally written, errors were returned in a different format than they are now. Line 148 was responsible for cleaning the error message. An it is now the reason things are failing.
What was added originially because I did not fully understand what emscripten was doing with the C++ Exceptions, was now conceiling an error in my own code because libsass changed the syntax of its errors.
The is fixed and released as v0.6.3

Oh, thanks! I was really mislead by the error plus had the version hardcoded at 0.6.2.


Remove version: Jackett.Jackett version 0.21.352

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.352/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


http parser implementation based on http-parser

added c-based http parser, cython code is based on https://github.com/MagicStack/httptools
it gives ~15-25% increase

Codecov Report

Merging #1626 into master will decrease coverage by -0.82%.
The diff coverage is 76.84%.

@@            Coverage Diff             @@
##           master    #1626      +/-   ##
==========================================
- Coverage   96.38%   95.56%   -0.82%
==========================================
  Files          31       31
  Lines        7362     7403      +41
  Branches     1281     1290       +9
==========================================
- Hits         7096     7075      -21
- Misses        163      190      +27
- Partials      103      138      +35

Impacted Files
Coverage Δ

aiohttp/web_ws.py
94.92% <100%> (-0.41%)
:x:

aiohttp/web.py
98.74% <100%> (ø)
:white_check_mark:

aiohttp/web_reqrep.py
99.06% <100%> (-0.39%)
:x:

aiohttp/errors.py
100% <100%> (+3.07%)
:white_check_mark:

aiohttp/client_reqrep.py
97.28% <100%> (-0.19%)
:x:

aiohttp/protocol.py
92.21% <100%> (-0.39%)
:x:

aiohttp/signals.py
100% <100%> (ø)
:white_check_mark:

aiohttp/client_proto.py
86.55% <100%> (ø)
:white_check_mark:

aiohttp/web_urldispatcher.py
99.61% <100%> (-0.2%)
:x:

aiohttp/streams.py
93.17% <100%> (-0.39%)
:x:

... and 17 more

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 c00f538...6c93669. Read the comment docs.

added http-parser's url parsing functionality.
on my mac i get ~14.3k rps, ~7k was on 1.3

1.2 is slightly faster than 1.3, ~7.3k rps

with all latest changes i could get ~16.2rps
interestingly, new method add huge overhead.

cool, i didn't know about purest_addoption

@samuelcolvin added --fast option

great!

i modified gunicorn worker to disable access log if access log is not configured
on my mac i got ~60k rps
t_srv.py:
async def intro(request):
    resp = Response(status=200)
    return resp

def init():
    app = Application()
    app.router.add_get('/', intro)
    return app

app = init()

gunicorn command:
>>> python -OO -m gunicorn.app.wsgiapp --worker-class aiohttp.worker.GunicornUVLoopWebWorker t_srv:app --workers 6 -b <IP_ADDRESS>:8080

and wrk command:
wrk -t12 -c400 -d10s http://<IP_ADDRESS>:8080/ -s pipeline.lua --latency -- / 16

merged to master
@kxepal if you want to modify cython code, just modify on master


BUG: Blogs page alignment and text visiblity problem

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
The text in blog page is not visible in dark mode and alignment is not proper.
![image](https://github.com/PatilHarshh/Kaam-Do/assets/118552563/b9586ecf-c9fe-4527-9ca6-24357903c64
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Please assign me this task so that I can work on it as soon as possible under GSSOC'24.


Ionic 4 support?

Anyone got this working on Ionic 4?
I'm taking the photo but the result of the scan is not returned.

This package is not actively maintained at the moment, so I am not 100% sure. However it doesn't look like something changed for Ionic Native modules. Are you using the Ionic Native module in combination with the @ionic-native/camera module?
I think your problem is not related to Ionic, but to the OpenALPR settings. Can you share more about your usecase / config?

Hi iMicknl,
I'm using this plugin in ionic v4. Plugin installed successfully but got error while making the build for android. Here are the errors:
BUILD FAILED in 2s
27 actionable tasks: 5 executed, 22 up-to-date
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/gradlew: Command failed with exit code 1 Error output:
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:10: error: package com.openalpr.jni does not exist
import com.openalpr.jni.Alpr;
^
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:11: error: package com.openalpr.jni does not exist
import com.openalpr.jni.AlprException;
^
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:12: error: package com.openalpr.jni does not exist
import com.openalpr.jni.AlprPlate;
^
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:13: error: package com.openalpr.jni does not exist
import com.openalpr.jni.AlprPlateResult;
^
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:14: error: package com.openalpr.jni does not exist
import com.openalpr.jni.AlprResults;
^
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:15: error: package com.openalpr.util does not exist
import com.openalpr.util.Utils;
^
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:149: error: cannot find symbol
private Alpr initAlpr(JSONObject options, CallbackContext callbackContext) {
^
symbol:   class Alpr
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:184: error: cannot find symbol
private JSONArray buildResponse(AlprResults results, JSONArray array) throws JSONException {
^
symbol:   class AlprResults
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:79: error: cannot find symbol
Alpr alpr = initAlpr(options, callbackContext);
^
symbol:   class Alpr
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:80: error: cannot find symbol
AlprResults results = null;
^
symbol:   class AlprResults
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:85: error: cannot find symbol
} catch (AlprException e) {
^
symbol:   class AlprException
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:114: error: cannot find symbol
Alpr alpr = initAlpr(options, callbackContext);
^
symbol:   class Alpr
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:115: error: cannot find symbol
AlprResults results = null;
^
symbol:   class AlprResults
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:120: error: cannot find symbol
} catch (AlprException e) {
^
symbol:   class AlprException
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:164: error: cannot find symbol
Utils.copyAssetFolder(context.getAssets(), "runtime_data",
^
symbol:   variable Utils
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:170: error: cannot find symbol
Alpr alpr = new Alpr(country, conf_file, runtime_dir); //Make new ALPR object with country EU and the config files from assets.
^
symbol:   class Alpr
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:170: error: cannot find symbol
Alpr alpr = new Alpr(country, conf_file, runtime_dir); //Make new ALPR object with country EU and the config files from assets.
^
symbol:   class Alpr
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:185: error: cannot find symbol
for (AlprPlateResult result : results.getPlates()) {
^
symbol:   class AlprPlateResult
location: class OpenALPR
/Users/developer/Documents/Rahulmaurya_projects/vipark/vipark/platforms/android/app/src/main/java/org/apache/cordova/openalpr/OpenALPR.java:186: error: cannot find symbol
for (AlprPlate plate : result.getTopNPlates()) {
^
symbol:   class AlprPlate
location: class OpenALPR
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
19 errors
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Get more help at https://help.gradle.org

BUILD FAILED in 2s
Please suggest something to solve this issue.
thank you in advance.

Anyone got this working on Ionic 4?
I'm taking the photo but the result of the scan is not returned.

Did you successfully installed the plugin and made build successfully? Because After plugin installation in ionic v4 I'm not able to make the build.


Consider replacing the chrono crates with security

ref:https://github.com/baoyachi/shadow-rs/issues/71

use time crates replace with chrono

although its not really a security issue, this is slightly annoying because it fails the CI check. time 0.3.11 does not trigger any security advisory atleast.

Solution: Consider the following two creates

https://docs.rs/time
https://docs.rs/tz-rs

Close now, and reopen it if there is a problem.


Experimental Linux support

Some minor fixes to make it compile on Linux. Don't know if it compiles on Windows. Also added build instructions to the readme.
convert_path doesn't work on Linux because of path separators, so many apps will just crash.

Try these fixes

The path still doesn't work, like before, it gives me something like this:
--vm_file_mkdir-- called
terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: Cannot convert character sequence: Invalid or incomplete multibyte or wide character
Aborted (core dumped)

It crashes at IO.cpp line 19: fs::path path = (wchar_t*)str, res = ".\\fs\\";

The problem is that wchar_t on Linux is 4 bytes, which makes it incompatible with mre application strings, which means Linux support will appear only after adding the string conversion library (I'm thinking about libiconv)

libiconv was added to the main branch, and conversions between UTF-8 and UCS2 were made, and now there seem to be no problems on Linux


[Suggestion] path

for future reference.
change dir name of includes and redirects
dirname(__FILE__)

for next release


Download large file from S3 cause memory rise in the init container

Is this a BUG REPORT or FEATURE REQUEST?:
BUG REPORT
What happened:
demo argo yaml:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: demo-
spec:
  entrypoint: start

  templates:
    - name: start
      dag:
        tasks:
          - name: demo
            template: demo

    - name: demo
      inputs:
        artifacts:
        # models is 48G
        - name: models
          path: /s3/models
          s3:
            endpoint: ***
            bucket: ***
            key: ##
      container:
        image: demo:beta
        imagePullPolicy: Always
        resources:
          requests:
            cpu: "15"
            memory: "60G"
          limits:
            cpu: "15"
            memory: "65G"

we download a big directory(/s3/models) of 48G from s3, we find that the memory of init container is increate to 50G!

What you expected to happen:
the memory of init container is not very high.
Anything else we need to know?:
No
Environment:

Argo version: v2.2.0
Kubernetes version : Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.6", GitCommit:"a21fdbd78dde8f5447f5f6c331f7eb6f80bd684e", GitTreeState:"clean", BuildDate:"2018-07-26T10:04:08Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

S3 is implemented using the minio go-client. We can explore if theres way to curtail memory usages with that client. This issue seems to indicate it's possible (at least with Put):
https://github.com/minio/minio-go/issues/1081

I found a method to reduce memory use with go-client, I will try and submit a PR 😄

Thank you!

I'm not sure we can fix this because of the Go client we use does not support streaming, only reading and writing files.

See #3376

We could try upgrading the Minio Go client and see if that helps.

See #2748

https://github.com/argoproj/pkg/pull/24

Can we un-stale this?  Probably just removing the memory overcommit in the init container would be enough to mostly fix it.

This is causing a lot of issues for us when dealing with large artifacts and it forces us to use really high memory limits on init containers when 99% of the time they don't need them.

@sirakav  which argo version are you using? can you provide the what issues you are facing?

Currently, I am using the v3.2.0-rc2 version, but this issue was also present when I used v3.1.9.
The main issue is high init container memory usage which is caused by large artifacts.
For eg. today I had a workflow that generated more than 200GB of output artifacts in 4096 files.
All of these files had to end up in a reduce type task that would simply join them together.
This task immediately fails because of the init container's high memory usage when downloading inputs artifacts from S3.
In fact, the init container used more than 2Gi of RAM and even received OOM kill when given 3Gi limits.
This is a deal-breaker for me when using Argo Workflows for certain DAG's because I feel uncomfortable giving away the huge amounts of resources to init containers just to download files from S3.
I know this could be solved by using volume mounts, but this should also work while using the whole artifact system backed by S3 without using up a lot of resources.
This original issue sums up everything pretty well, but if you need I can provide more specific details like monitoring information or manifests.

FWIW, as I think of it, as long as the sum of the resources of the init containers is less than the sum of the resources of the regular containers, you're not wasting anything.

@akloss-cibo I would agree but in my case, the init container resources would be a lot higher than the main container's.
This would also waste resources because the executor resource configuration is global and I run a lot of small workflows (small artifacts) in the same namespace.

This is a deal-breaker for me when using Argo Workflows for certain DAG's because I feel uncomfortable giving away the huge amounts of resources to init containers just to download files from S3.

Isn't an easy workaround for this just limit memory to the argo exec container? The executor: setting in the controller:
https://argoproj.github.io/argo-workflows/workflow-controller-configmap.yaml

Is it possible to add custom init container which will for curl go aws and get the file for main container?
Instead of Argo init container
Sent from my iPhone

On Sep 17, 2021, at 11:19 AM, Jesse Suen @.***> wrote:

This is a deal-breaker for me when using Argo Workflows for certain DAG's because I feel uncomfortable giving away the huge amounts of resources to init containers just to download files from S3.
Isn't an easy workaround for this just limit memory to the argo exec container? The executor: setting in the controller:
https://argoproj.github.io/argo-workflows/workflow-controller-configmap.yaml
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Is it possible to override the argo wait container resource limits on a per-workflow basis? This would remove the wastage. +1 for this issue

You can use PodSpecPatch to change the wait container resources on each workflow.
Sent from my iPhone

On Jun 1, 2022, at 12:26 AM, Helena Brewster @.***> wrote:

Is it possible to override the argo wait container resource limits on a per-workflow basis? This would remove the wastage. +1 for this issue
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

i think this is similar to https://github.com/argoproj/argo-workflows/issues/9525 i'm facing


NPC skills do not show until sheet is closed and reopened

https://app.roll20.net/forum/permalink/3267793/

Roll20 will address it. See https://app.roll20.net/forum/post/3272115/some-text-in-a-span-with-an-attr-name-does-not-show-until-sheet-is-closed-and-reopened


Differentiated ISO refs and "other" refs in Norm Refs section

Notice that the ISO refs are not indented but the other refs are. They should all be indented since it's a list.

I am not getting that behaviour in my instance, because i've updated the stylesheet to render NormRef and Biblio identically. I am noticing that non-ISO references under Normative references are being styled as Biblio; that's wrong, and I'm fixing it in isodoc.
Please confirm you're running gem version 0.3.2.

Fixed isodoc: I was styling non-ISO references under Norm Ref as "Biblio", but whatever the motivation for that was, it's obsolete.
(I remember what the motivation was: to have hanging indent numbers for non-ISO references, like they appear in Biblio. But that turned out to be wrong: non-ISO references under NormRef in ISO standards are rendered the same way as ISO references, by presupposing that they are standards and have a distinctive prefix.)


Write response headers only once

write the response headers only one
Fire the response event only after extracting the preload headers.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c93b659). Click here to learn what that means.
The diff coverage is 100%.

@@           Coverage Diff            @@
##             master    #145   +/-   ##
========================================
  Coverage          ?   92.3%
========================================
  Files             ?      13
  Lines             ?     507
  Branches          ?      89
========================================
  Hits              ?     468
  Misses            ?      39
  Partials          ?       0

Impacted Files
Coverage Δ

lib/request-handler.js
96.96% <100%> (ø)

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 c93b659...a7530c8. Read the comment docs.


chore: Typography improvements and cleanup

Summary | Résumé
Typography improvements:

Correct font rendering
More consistent styling for headings
Remove/replace custom classes in favour of Tailwind defaults where possible

Adds a Typography page to help visualize default typography options: https://pyxb7mcnfu32vsio6udq72jun40whmqq.lambda-url.ca-central-1.on.aws/admin/typography

@dsamojlenko Looking good overall -- dropped you a couple of small notes via Slack.
@samsadasivan I'll look to you on this one for approval once you've had a chance to fully review on the staging URL.

Found this interesting so thought I would add as a comment here ... just some info about "noto"
https://www.youtube.com/watch?v=AAzvk9HSi84


Fix build with GopherJS

Fixes build with "gopherjs build ." by excluding proc_maps.go from the build.

GopherJS sets both "js" and "linux" - that file references "golang.org/x/sys/unix" which can't be referenced from GopherJS.
As for why, I'm running the Prometheus client and metrics generator in the browser. :)


[455] Add UserPermission model structure

Context

This trello ticket

Changes proposed in this pull request

Add UserPermission and set up temporary relationship

Guidance to review
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Add UserPermission model structure


Similar features

Q: "show 10 genes similar to ML25764a in jellyfish whole"

Probably algorithmic, needs a little care


Flatten links embedded within links

Use a regex to replace embedded links with their content.
Fixes 18F/atf-eregs/issues/258.

A surprisingly legible regex, well done! A few thoughts:

This needs to be hooked into the html_builder to close that ticket, yes?
Mind adding a test for multiple levels of nested s? like

A B C D E

Embarrassed that I forgot to check in the actual call. :-(

Excellent


Research Tigris performance in tests

What should be done?
Research why Tigris tests started taking too much time, see this issue number mentioned in the code.
Where?
Integration and compat tests for Tigris
Definition of Done
We fixed the problem or at least understood the reason.

#1507


Static placeholder recursion

You could drag'n'drop plugin into static placeholder. If this plugin contains that very static placeholder in template, you will get infinite recursion.
The similar trick could be possible with common placeholders, were it not for another bug: placeholders in plugins are not displayed correctly in edit mode.

Any kind of placeholders into a plugin it's not a supported feature.
The same use case can be solved with nested plugins.


Thoughts on how to improve Linux kernel maintenance a bit

Motivation
I'm one of the folks who are currently testing/merging/backporting Linux kernel updates. All in all, this is quite a smooth process thanks to @TredwellGit who tirelessly files update PRs in the first place and an existing updater-script.
However there are a few minor issues I have that I'd like to discuss here before submitting any code.
Topics
Hardened Kernel
We have all active Kernel releases packaged and - if available - also linux-hardened which provides a few additional security properties. However these releases lag behind the upstream Kernel usually, on a few occasions we had to wait for about a week[1][2].
However, Kernel updates are quite relevant usually, either because of important bugfixes or because of CVEs to be fixed. Because of that, we decided to ignore outdated hardened patches at some point[3] and right now the hardened kernel is broken rather regularly[4]. Another issue is what's supposed to happen if a kernel minor-release gets EOL and no hardened patches are available for the next higher minor release (that's also _latest)[5].
IMHO neither the "old" approach (awaiting hardened patches and thus delaying kernel updates for everyone) nor the current one (ignoring build failures) is optimal. Current ideas I have are:

Drop all hardened kernels. With Nix it isn't very hard to re-add packages via an overlay.
Use older versions of a Kernel for hardened variants (i.e. let's say we are at Linux 5.14.5 and want to upgrade to 5.14.6, but no hardened patch is available yet. Now we upgrade to 5.14.6, but use continue to use 5.14.5 for the hardened kernel).

Maintainer team
This is a rather trivial one :sweat_smile:
I noticed that I get pinged rather inconsistently on Kernel PRs which is totally understandable, I also wouldn't want to keep track of everyone I have to ping for each PR I open, especially because this is automatable.
Currently we seem to have a single person listed as maintainer for Kernels:
$ nix-instantiate -A linuxPackages.kernel.meta.maintainers --eval --strict
[ { email =<EMAIL_ADDRESS>github = "thoughtpolice"; githubId = 3416; name = "Austin Seipp"; } ]

My suggestion is rather simple - we should for a maintainer team with both a team in the NixOS GH org and an entry in maintainers/team-list.nix. I'd nominate

@NeQuissimus
@TredwellGit
@mweinelt
@alyssais
myself - if everyone's OK with that

and make sure the members are requested for a review on each Kernel bump.

[1] https://github.com/NixOS/nixpkgs/pull/119543
[2] https://github.com/NixOS/nixpkgs/pull/125469
[3] https://github.com/NixOS/nixpkgs/pull/134692
[4] https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.linuxPackages_hardened.kernel.x86_64-linux/all
[5] https://github.com/NixOS/nixpkgs/pull/133587#pullrequestreview-728312140

Since we are using the hardened kernels on our infrastructure, I'm a big fan of changing the way it currently works. I don't know how many people other than us use the hardened kernels, but I don't think it's fesible for everybody to overlay in the hardened kernel and keep it up to date, especially for new users who are switching from other Distros and want to keep their kernels. For this reason, I tend to prefer your second idea.
I did this for OpenSSH in #114012 as well and I think most of the user base who are using the stock ssh benefit from this change with the others having to accept the less maintained packages.

Just one more detail. For zfs, there is the latestCompatibleLinuxPackages = linuxPackages_5_14; to track the latest kernel version compatible with zfs. It would be really nice to have something like latestCompatibleHardened.
I don't use hardened yet, but I am interested in it, the second choice would be amazing.

Just one more detail. For zfs, there is the latestCompatibleLinuxPackages = linuxPackages_5_14; to track the latest kernel version compatible with zfs. It would be really nice to have something like latestCompatibleHardened.

Yeah, I'm aware of that, but I don't think this is useful here. linuxPackages_latest_hardened isn't a good idea because this can lead to "silent" downgrades as mentioned in the OP.
Also, this doesn't help when trying to update the "latest compatible version" in question, if no hardened patch is available for a new patch-release we can either delay the upgrade or ignore the hardened kernel.

I have not had as much time to do this maintenance as I used to. I would go with the "keep a specific version for the hardened kernels"-approach.

To chime in, I support decoupling hardened kernel bumps from vanilla kernel bumps. Adopting the the hardening patches takes time and testing, so hardened kernels will often be delayed by a few days.
For minor version bumps the upgrade script should attempt to apply the patchset from the previous version, if no matching patchset is available. If it applies cleanly and compiles, fine. If not: simply delay the Kernel update.
Another thing that we should take care of before 21.11 are the other Kernel flavours, e.g. Xanmod. While the version in unstable is pretty up-to-date, 21.05 is currently stuck with 5.12.13-xanmod.
Maybe the update-script can be extended to ensure that backports are taken care of and we should provide linuxPackages_xanmod_latest and linuxPackages_xanmod_lts.
ping @fortuneteller2k @lovesegfault for their view on this

If someone who uses -stable wants to take up the maintenance of xanmod backports I'll happily help merge PRs. I live on unstable-small in all my systems, so I don't have time or a host to test the backports properly.

I've been switching around Kernel versions on -stable a lot lately (because of issues with nouveau, not NixOS specific) and it always worked like a charm.
Given that Xanmod is targeted towards desktop use, where a rollback is just a reboot away I think we are fine with a "no guarantees" approach. The user base on stable seems to be rather small, given that no one noticed the outdated kernel for quite some time.

Maybe the update-script can be extended to ensure that backports are taken care of and we should provide linuxPackages_xanmod_latest and linuxPackages_xanmod_lts.
ping @fortuneteller2k @lovesegfault for their view on this

I'm fine with a stable version of xanmod if there's enough demand of it, personally I use the latest available, as I don't use ZFS and the like.

I use xanmod latest and zfs

Hardened plan sounds fine to me.  I'm happy to be in the maintainer team
so I get pinged if I'm around, as long as everybody has the expectation
going in that I don't often find the time to do kernel patch releases.

Splendid! I'll file PRs for both the hardening topic and the maintainer team during one fo the next days :)


All metrics are showing 0%

I am looking at the logs from dynamic-dynamodb and all of a sudden all metrics are showing as 0% for all tables so no actions are taken.  Trying to figure out issues.

Had lookback-window-start set to 5 and it never got any data from cloudwatch.  Stats were all zero.  Removed it and now getting stats.


Import/export account from keystore

[ ] import geth account from keystore
[ ] export keystore file

[ ] import transaction from json file


Can video be downloaded into specific path so that it is easier to find?

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.05.09. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.05.09

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[x] Feature request (request for a new functionality)
[x] Question
[ ] Other

Description of your issue, suggested solution and other information
When I download using your tool, why doesn't the video appear in the folder 'Downloads'? If this is not intended functionality, can it be? My computer is a mess and it's quite hard to find videos just from the apparent title.
So for example:
[youtube] 0Mj4DJ_NMQo: Downloading webpage
[youtube] 0Mj4DJ_NMQo: Downloading video info webpage
[youtube] 0Mj4DJ_NMQo: Extracting video information
[download] Destination: Talked About Scene - Episode 711 - Mad Men - Time & Life-0Mj4DJ_NMQo.mp4
[download] 100% of 18.50MiB in 00:03
It could also say:
[download] Location: path/to/video (or something of the sort)
This way users can immediately go thru path directly in terminal and streamline this process even more!

https://github.com/rg3/youtube-dl#output-template-examples

@Hrxn - Can't it state it, regardless of whether I hard code the command in? (by default)
Much easier for newbies such as myself.
Also, this info is hidden under a tab called 'Output template examples' - why not go for something that is more understandable and specific command?

Say... 'Set Path of Download'
In all honesty, your documentation is A++++++ but it should just be broken down into parts where newbies like me can Cmd+F and be re-directed easily :)
Just my opinion btw - love your app and just getting into open source


Update libgit2 to a5cf255

Hold off on merging this; it looks like nuget.org isn't happy with the resultant package.  Investigating...


Modal script adds margin-right and padding-right for .sticky-top

Windows 7
Firefox 61.0.2
Why modal script adds margin-right and padding-right for .sticky-top?

Ok I made this CodePen to demonstrate the issue: https://codepen.io/Johann-S/pen/KxKpOR

Fixed it with this
<script type="text/javascript">

    $('body').on('show.bs.modal', function () {
        $('.sticky-top').css('margin-left', '-=0px');
    });

    $('body').on('hidden.bs.modal', function () {
        $('.sticky-top').css('margin-left', 'auto');
    });

</script>

@mdo I'm a bit lost here, I understand the issue, I know how to fix it but I'm not sure what I'll do is the right fix.
My fix will not add margin-right or padding-right if the element have our container class (.container), but I'm not sure if it's the right things to do 🤔
My fix replace those lines :
https://github.com/twbs/bootstrap/blob/v4-dev/js/src/modal.js#L432-L433
By:
        const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))
          .filter((elem) => !elem.classList.contains('container'))
        const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))
          .filter((elem) => !elem.classList.contains('container'))

/CC @XhmikosR if you have any ideas, @zalog because you worked on that too

Now you can see the problem on the site:
http://agnevy6d.beget.tech
Click "ЗАКАЗАТЬ ЗВОНОК" under phone numbers.
Pay attention to file "main.css", line 38.
Empirically, I realized that setting these properties solves the problem.
If uncomment line 38 (and reload the page), there will be no problem.

I too see the issue for sure. @Johann-S's fix seems OK, do we have a PR for this?

Nope because I'm not sure my fix is correct and won't create side effects

This is still not fixed so this is my solution:
$('body').on('show.bs.modal', function () {      $('.sticky-top').addClass("fixModal"); });    $('body').on('hidden.bs.modal', function () {      $('.sticky-top').removeClass("fixModal"); });
And the css class .fixModal
.fixModal {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

@XhmikosR I still have problems with this issue. It will be solved on the next release?

As you can see, the issue is still open and it even has the label help wanted added, so I'd say no :P
Any PRs which might fix this are welcome as usual :)

I just ran into this problem when migrating from v3 to v4. Looks like it might have been fixed in #30621, but it's still waiting on a fix for a test conflict issue

Having the same issue. Steps to reproduce in my web app:

Open any modal dialog with sticky panel inside.
This dialog have a button, that opens another dialog (it temporary hide the first dialog in bs.shown event)
Close the second dialog (first dialog will be shown again)
Close the first dialog.
Re-open the first dialog. Now sticky panel have extra "margin-right: -17px;"

This issue unfortunately persists if you are using offcanvas menu in BS5.

@rob101 please make a new issue with all the needed info.


[API] [BERT] Add option to return intermediate results at each layer

Currently the BERTModel API only returns the encoding of the last layer. We should support returning intermediate encoding at each layer like ELMo. To do this, we can just add an extra argument to BERTModel to configure the model.
https://github.com/dmlc/gluon-nlp/blob/master/src/gluonnlp/model/transformer.py#L480-L484

@Ishitori just curious if you have started this task? @kenjewu is working on a segmentation task and also wants this option. Just to check here to avoid duplicate work

@eric-haibin-lin, yep, I am working on that

The PR is merged. Thanks @Ishitori and @kenjewu

@eric-haibin-lin I see this PR is merged. Is there any example of how to use it?

There is not specific example just for this. You can just set the output_attention or output_all_encodings to be True when you use the gluonnlp.model.get_bert_model API, and additional tensors will be returned as outputs

@Ishitori I remember you were working on a tutorial to visualize the intermediate attention weights for BERT, is that already done? Any plan to contribute it back to gluonnlp?

Unfortunately, I haven't finished working on that due to lack of time. As soon as it is ready, I will contribute it back in a form of a tutorial.


psycopg-binary and psycopg-pool

Comment:
If upstream requires both psycopg-binary and psycopg-pool, are these currently provided by this feedstock at all implicitly?
Ref here:

My understanding is that the psycopg conda package should be equivalent in functionality to psycopg-binary.  psycopg-binary (which should be installed as ``psycopg[binary]` is only a useful concept on PyPI, where it contains statically linked versions of all the dependency libraries.  We don't do that on conda-forge, we provide the dependencies as shared libraries.
See: https://www.psycopg.org/psycopg3/docs/basic/install.html
My understanding is that psycopg-pool is a separate package with its own development cycle.  If you would like to have that package, it will need to be added via https://github.com/conda-forge/staged-recipes.  If you do add it, I would be happy to be a maintainer.
See: https://github.com/psycopg/psycopg/?tab=readme-ov-file#hacking

The psycopg_pool directory contains the connection pools implementations. This is kept as a separate package to allow a different release cycle.

I think trying to get psycopg_pool up might be a bit much for me given how involved it is to get pyscopg itself up, but hopefully someone else feels inspired to do so!

Okay, I can put it on my to-do list.  Not sure when it might actually happen, maybe this weekend?

@xylar no rush at all! Appreciate it

Adding the recipe here.  It's pretty straightforward compared with psycopg and psycopg-c.
https://github.com/conda-forge/staged-recipes/pull/24993

This is complete so I'll close the issue.  @thewchan, let me know if you run into trouble.


start_ocean.sh: home folder should be system agnostic

I would assume startup script in combination with e.g. developing on pleuston would fail right now on all non-Unix systems, cause there's no ~/ in those systems, like Windows. Or is there when you have the unix subsystem installed? Completely out of touch with latest Windows developments :-)
On pleuston I'm using the Node.js environment to detect that, like:
const homeFolder = process.env.HOME || process.env.USERPROFILE

For now docker-images is not compatible with Docker for Windows. If somebody needs us please open a new issue.


nvm ins not compatible with replace-registry-host config option

Operating system and version:
Ubuntu-20.04
nvm debug output:

nvm --version: v0.39.3
$SHELL: /bin/bash
$SHLVL: 1
whoami: 'root'
${HOME}: /root
${NVM_DIR}: '/usr/local/lib/nvm'
${PATH}: ${NVM_DIR}/versions/node/v18.2.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/lib/sonar-scanner-cli/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: 'https://.../artifactory/node-dist-remote'
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)'
uname -a: 'Linux <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Wed Mar 2 00:30:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux'
checksum binary: 'sha256sum'
OS version: Ubuntu 20.04.6 LTS
random-funcs:       srandom/random
regex-funcs:        internal
compiled limits:
sprintf buffer      8192
maximum-integer<PHONE_NUMBER>
awk: /usr/bin/awk, mawk 1.3.4 20200120
curl: /usr/bin/curl, curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
wget: /usr/bin/wget, GNU Wget 1.20.3 built on linux-gnu.
git: /usr/bin/git, git version 2.25.1
grep: /usr/bin/grep (grep --color=auto), grep (GNU grep) 3.4
sed: /usr/bin/sed, sed (GNU sed) 4.7
cut: /usr/bin/cut, cut (GNU coreutils) 8.30
basename: /usr/bin/basename, basename (GNU coreutils) 8.30
rm: /usr/bin/rm, rm (GNU coreutils) 8.30
mkdir: /usr/bin/mkdir, mkdir (GNU coreutils) 8.30
xargs: /usr/bin/xargs, xargs (GNU findutils) 4.7.0
nvm current: v18.2.0
which node: ${NVM_DIR}/versions/node/v18.2.0/bin/node
which iojs:
which npm: ${NVM_DIR}/versions/node/v18.2.0/bin/npm
npm config get prefix: ${NVM_DIR}/versions/node/v18.2.0
npm root -g: ${NVM_DIR}/versions/node/v18.2.0/lib/node_modules

nvm ls output:

       v14.19.3
       v16.15.0
->      v18.2.0
default -> 18 (-> v18.2.0)

How did you install nvm?

Manual installation
env
NVM_DIR="/usr/local/lib/nvm"
ENV BASH_ENV="/etc/bash-custom.bashrc"

/etc/bash-custom.bashrc
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

What steps did you perform?

generate package-lock.json using "npm install" ant simple package.json example.
in .npmrc define a private repository
in .npmrc set replace-registry-host=never
By default, npm replaces package URLs from registry.npmjs.org to the configured repository.
execute npm ci

package.json

{
  "name": "demo-arti-authentication-npm",
  "version": "0.0.0",
  "private": true,
  "dependencies": {
    "@angular/animations": "^13.0.2"
  }
}

.npmrc

registry=https://.../artifactory/api/npm/npm-remote/
replace-registry-host=never

What happened?
npm replaces the resolved URLs with the configured registry even if the replace-registry-host option is set to "never".
What did you expect to happen?
With the replace-registry-host=never I want npm to keep the original URLs. This is needed to ensure that my GitLab pipelines(behind a proxy without direct access to "registry.npmjs.org") will fail if a developer commits a package-lock.json with resolved URLs that include  "registry.npmjs.org".
If I try to do the same with an npm, that was installed directly (without nvm), it works without problems.

I'm not sure why using nvm would affect this.
What do you mean installed directly? npm should never be installed by itself, it only ever comes with node.

I'm not sure why using nvm would affect this.
What do you mean installed directly? npm should never be installed by itself, it only ever comes with node.

I can not say for sure that the problem lies on nvm, but I have this problem only when node is installed via nvm. I tested it a lot and came to this assumption. With the ticket I was hoping, that you could at least give me a hint where to look, maybe I missed something during the vnm install.
with "installed directly", I meant together with node (via 'apt' from Ubuntu repository)

I will check the issue again this week and will add a comment if I find any additional information.
It would be great if the problem was solvable so I can use the nvm.

Definitely do not ever install node from apt, it's broken. I'd suggest fully removing anything node or npm you installed from apt.

Closing for lack of followup.


unbind 'blur' in cancelValidation()

I think, obj.commonObj.elm.unbind('blur'); in cancelValidation() is wrong.
cancelValidation() calling from
// if field is not required and his value is empty, cancel validation and exit out
      if(!self.commonObj.isFieldRequired() && (value === "" || value === null || typeof value === "undefined")) {
        cancelValidation(self);
        return value;
      }

FE, I have a angular-strap tooltip, which triggered on blur event. When i have input field with  validation="max_len:50" and empty value when lost focus blur does not work and tooltip does not disappear, because blur is unbind.

The biggest reason of the cancelValidation() is that I don't want to annoy the user on an empty form, not doing this would mean showing all errors directly at start, which is the reason of the cancelValidation()
You should perhaps try using the checkFormValidity(), that would trigger all the errors while also checking the form validity. If that is not what you are trying to do, then I might have misunderstood your question.

Also by the way, the error messages are only showing if the element is $dirty, $touched or if the form has been submitted.

Ok, i've created http://plnkr.co/edit/x6AI9U8mGF0P4NMVmzvR?p=preview
see second input , tooltip does not disappear, because blur is unbind by cancelValidation(). but in first input all ok, because "required".

@ghiscoding
btw, you wrote "unbind onBlur event, if not it will fail when input become dirty & empty".
may be we can use ($setPristine())[https://docs.angularjs.org/api/ng/type/ngModel.NgModelController]; instead unbind?

renew this comment
@ghiscoding
you wrote "// unbind onBlur event, if not it will fail when input become dirty & empty"
I could be wrong, but may be we can something like: add "watch" and when input empty set $setPristine(); for input.
?

This should fix it...

it is does not help, see http://plnkr.co/edit/x6AI9U8mGF0P4NMVmzvR?p=preview with 1.3.19

Well I am not doing a full unbind anymore so I don't think it comes from my end, you could even remove the unbind from my code and it would still work. Try debugging it and see what can cause it...  You could try commenting out that line (unbind) and see if that really is your problem. I still need to unbind it somehow because I might end up with 50 calls at the end.

http://savepic.net/6756572.png

we have "elm.bind('blur', blurHandler = function() {" on 85 line, but "cancelValidation();" is call on 72 line in one function "function attemptToValidate(value) {".
so, we call "elm.unbind('blur', blurHandler); " with undefined blurHandler.

You could try commenting out that line (unbind) and see if that really is your problem.

it's really my problem
https://github.com/ghiscoding/angular-validation/issues/28#issuecomment-94828994

Could you try the following
// replace this line
elm.unbind('blur', blurHandler);

// with these lines
if(typeof blurHandler !== "undefined") {
  elm.unbind('blur', blurHandler);
}

I am at work and I cannot really test it, it would help if you can test it with your code too.

@ghiscoding
seems, it is works, thank you!

Ok I will make more tests tonight and will also fix another open issue at the same time. You should expect to see the new code and the minified code on the next version 1.3.20 later tonight.
Thanks

As promised, I push the code after testing... Hopefully that works for you


Send 404 immediately for known public requests

Instead of further handling requests to public which causes issues like https://github.com/go-gitea/gitea/issues/11088, immediately terminate requests to directories js, css, fomantic if no file is found which is checked against a hardcoded list. Maybe there is a way to retrieve the top-level entries below public in a dynamic fashion.
I also added fomantic to the reserved usernames and sorted the list.
Fixes: https://github.com/go-gitea/gitea/issues/11088

Codecov Report

Merging #11117 into master will decrease coverage by 0.01%.
The diff coverage is 36.36%.

@@            Coverage Diff             @@
##           master   #11117      +/-   ##
==========================================
- Coverage   43.44%   43.43%   -0.02%
==========================================
  Files         600      600
  Lines       85008    85018      +10
==========================================
- Hits        36934    36926       -8
- Misses      43520    43533      +13
- Partials     4554     4559       +5

Impacted Files
Coverage Δ

models/user.go
49.66% <ø> (ø)

modules/public/public.go
69.79% <36.36%> (-4.63%)
:arrow_down:

services/pull/check.go
52.43% <0.00%> (-3.05%)
:arrow_down:

modules/git/command.go
86.95% <0.00%> (-2.61%)
:arrow_down:

modules/queue/unique_queue_disk_channel.go
53.84% <0.00%> (-1.93%)
:arrow_down:

modules/notification/webhook/webhook.go
39.61% <0.00%> (-0.59%)
:arrow_down:

models/issue.go
51.48% <0.00%> (-0.47%)
:arrow_down:

services/pull/pull.go
33.20% <0.00%> (-0.20%)
:arrow_down:

modules/git/repo.go
51.88% <0.00%> (+0.83%)
:arrow_up:

modules/git/utils.go
70.14% <0.00%> (+4.47%)
:arrow_up:

... and 2 more

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 6034f8b...3765761. Read the comment docs.


Multiple instances cannot be started

The prebuilt binary for MacOS cannot start multiple instances of the GUI. When attempting to open a second one the first instance comes into focus and no new instance is started.

This seems to be the default behaviour for applications on macOS and not something you can choose when building your application. The general workaround approach is to start the application from a terminal with open -n <application>


Warn/Inform users about new time metrics

What is the expected enhancement?
With the new consumption model updates, the metrics endpoint will have a new usage field that will replace the bss property. We should add some sort of deprecation message to inform users that a few attributes under result will have different names/values. Something similar will likely have to be done in qiskit-ibm-runtime

Closing, as the bss field was never exposed to the end user in circuit-runner jobs


(feat): add support for cloudflare ai gateway openai endpoints

This PR adds support for Cloudflare AI Gateway endpoints in the API Host field of the advanced OpenAI model configuration.
Cloudflare AI Gateway endpoint URLs are intended to be used as a base path but big-agi expects a host name. I have added a block to detect if a gateway URL is entered in the API Host field (or set via the OPENAI_API_HOST env var) and re-format the host and path accordingly.
This enables simply copy-pasting your cloudflare gateway endpoint from the Cloudflare dashboard into the API Host field.
Before:

After:

Thanks for the PR. Do you feel like there should be a separate "Vendor" that has a simple configuration for the cloudflare IDs, or do you prefer the way it's in this PR (i.e. assuming people will use OpenAI > Advanced)
For similar efforts (OpenRouter, LocalAI, Oobabooga, and Azure), we have it as a Vendor.
Also, there's a newer branch which I'll merge Monday and brings some cleanup to the llms module - not a big deal as I can port your PR over.

Update: how can we apply your changes to the new code (in particular the llms framework) that's on main ?


Emmet in typescript styled plugin

Use vscode-emmet-helper to get emmet completions at the right places
Add tests based on current completion tests
Add emmet configurations

Fixes #34

Awesome! Thank you for the great work
I'll publish a 0.6 of this plugin shortly and submit a PR back to the vscode-styled-componnets extension to pick up the new version of the plugin


PDF site auto linking opens "save file" dialog

Linking to raw PDF files opens Obsidian's browser-like save file dialog. Here's a link example: https://raw.githubusercontent.com/mozilla/pdf.js/master/test/pdfs/160F-2019.pdf

Hm, realistically I should restrict a number of filetypes as we aren't going to crawl meaningful information out of a picture or exe either.
Thanks for the report!

Another thing to note is

not all URLs ending in .pdf are "raw pdfs", see https://github.com/mozilla/pdf.js/blob/master/test/pdfs/160F-2019.pdf
not all raw PDFs or especially raw images induce the download dialog

This should be fixed in the latest release!

Unfortunately due to CORS this solution only works for some websites.
Attempting to use
    window.webContents.session.on('will-download', function(e: Event, item: any, webContents: any) {
      if (item.getMimeType() !== "text/html") {
        e.preventDefault()
        console.log("Prevented download of non-html file");
      }
    })

logs the attempt to prevent the download but does not actually prevent the popup.
More research required!


After using match I get xCode error: A valid provisioning profile for this executable was not found.

New Issue Checklist

[X] Updated fastlane to the latest version
[X] I have read the Contribution Guidelines

Issue Description
I've set up my provisioning using match, now I see this error when trying to build one of my targets for a local device (strangely, the other target works fine).
"A valid provisioning profile for this executable was not found."
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

A valid provisioning profile for this executable was not found.
Environment
🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.12.1

Ruby
2.3.1

Bundler?
true

Git
git version 2.9.3 (Apple Git-75)

Installation Source
/Users/sam/.rbenv/versions/2.3.1/bin/fastlane

Host
Mac OS X 10.12.1 (16B2555)

Ruby Lib Dir
/Users/sam/.rbenv/versions/2.3.1/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# More documentation about how to customize your build
# can be found here:
# https://docs.fastlane.tools
fastlane_version "1.109.0"

# This value helps us track success metrics for Fastfiles
# we automatically generate. Feel free to remove this line
# once you get things running smoothly!
generated_fastfile_id "ca14a13e-c7da-4b5a-8941-95ba1f3da241"

default_platform :ios

desc "Submits a new Beta Build to Apple TestFlight"
lane :beta do
  # cocoapods

  # increment_build_number

  # build your iOS app
  gym(
    scheme: ENV['SCHEME'],
    use_legacy_build_api: false
  )

  # upload to Testflight
  pilot(
    skip_waiting_for_build_processing: true,
    app_identifier: ENV['APP_IDENTIFIER'],
    ipa: "#{ENV['SCHEME']}.ipa"
  )
end

desc "Deploys a new version to the App Store"
lane :deploy do
  cocoapods
  gym(configuration: "Release")
  deliver(force: true)
end

lane :refresh_dsyms do
  download_dsyms                  # Download dSYM files from iTC
  upload_symbols_to_crashlytics   # Upload them to Crashlytics
  clean_build_artifacts           # Delete the local dSYM files
end

`./fastlane/Appfile`
app_identifier ENV["BUNDLE_ID"]
apple_id ENV["APPLE_ID"]

fastlane gems

Gem
Version
Update-Status

credentials_manager
0.16.2
✅ Up-To-Date

fastlane_core
0.57.1
✅ Up-To-Date

spaceship
0.38.1
✅ Up-To-Date

cert
1.4.4
✅ Up-To-Date

deliver
1.15.1
🚫 Update availaible

frameit
3.0.0
✅ Up-To-Date

gym
1.12.1
✅ Up-To-Date

sigh
1.11.2
🚫 Update availaible

match
0.11.0
✅ Up-To-Date

pem
1.4.0
✅ Up-To-Date

pilot
1.12.1
✅ Up-To-Date

produce
1.3.1
✅ Up-To-Date

scan
0.14.2
✅ Up-To-Date

screengrab
0.5.6
✅ Up-To-Date

snapshot
1.16.4
✅ Up-To-Date

supply
0.7.1
🚫 Update availaible

fastlane
1.110.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

bundler
1.12.5

io-console
0.4.5

CFPropertyList
2.3.4

i18n
0.7.0

json
1.8.3

minitest
5.9.1

thread_safe
0.3.5

tzinfo
1.2.2

activesupport
<IP_ADDRESS>

public_suffix
2.0.4

addressable
2.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander
4.4.0

security
0.1.3

credentials_manager
0.16.2

excon
0.54.0

gh_inspector
1.0.2

multi_json
1.12.1

plist
3.2.0

rubyzip
1.1.7

terminal-table
1.4.5

fastlane_core
0.57.1

multipart-post
2.0.0

faraday
0.10.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161021

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
0.10.1

fastimage
1.6.8

multi_xml
0.5.5

claide
1.0.1

clamp
0.6.5

fuzzy_match
2.0.4

nap
1.1.0

cocoapods-core
1.1.1

cocoapods-deintegrate
1.0.1

cocoapods-downloader
1.1.2

cocoapods-plugins
1.0.0

cocoapods-search
1.0.0

cocoapods-stats
1.0.0

netrc
0.7.8

cocoapods-trunk
1.1.1

cocoapods-try
1.1.0

escape
0.0.4

fourflusher
2.0.1

molinillo
0.5.4

nanaimo
0.2.2

xcodeproj
1.4.1

cocoapods
1.1.1

coderay
1.1.1

dotenv
2.1.1

mini_magick
4.5.1

rouge
1.11.1

xcpretty
0.2.4

net-ssh
3.2.0

net-sftp
2.1.2

krausefx-shenzhen
0.14.11

slack-notifier
1.5.1

xcpretty-travis-formatter
0.0.4

jwt
1.5.6

little-plugger
1.1.4

logging
2.1.0

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

hurley
0.2

mime-types-data
3.2016.0521

mime-types
3.1

uber
0.0.15

representable
2.3.0

retriable
2.1.0

google-api-client
0.9.20

terminal-notifier
1.7.1

word_wrap
1.0.0

xcode-install
2.0.9

method_source
0.8.2

mini_portile2
2.1.0

nokogiri
<IP_ADDRESS>

slop
3.6.0

pry
0.10.4

slather
2.3.0

generated on: 2016-11-29

have you checked the signing settings of the target? maybe a typo in the $(sigh....  variable.
compare it with the one from the target that works.
also can you share gym output?

I've been through that guide several times already :(

@hjanuschka I'm building using xcode, not gym. Where can I find the signing settings of the target?
Building using gym for distribution works fine, not sure how to build for development.

Nailed it! I was using an old, previously removed build configuration... doh! Thanks for the helpful error message, xcode...


Support --profile option

Usage
$ export AWS_REGION=ap-nottheast-1; terraforming s3 --profile myprofile

Oops...///

It works, LGTM :+1: Thanks :exclamation:
Close #86
Close #133

Released as v0.4.0 :shipit:


Auto generate Docker image

A new Jenkins task should be created to generate AvSched Docker image when a new merge is done on the master branch.

https://jenkins.airvantage.io/view/av-sched/job/av-sched-docker-autodeploy/

Validated on the last merge : https://jenkins.airvantage.io/view/av-sched/job/av-sched-docker-autodeploy/15/


Added ANT build file for local GAE. Added default index.html.

Added support for local GAE via Ant, based off of the template in appengin-java-sdk-1.9.17.
Added default index.html. I couldn't find the default in the pages directory. Just copy and pasted the default from the public running instance minus the version info. I don't know the best way to pull this data from the project. Should it be a property file, version.java file or introduce it into the build progress?
If these changes make it in, then I can dockerize based off of the google master branch, rather then my branch.
Thanks

Thank you! This is a useful change and I'm going to approve it. However I need to go through some refactoring steps internally before I can accept pulls - I should be done by the end of the week. Please also check the CONTRIBUTING note if you have not done so already.

hi
how can i build this project?

I'll be happy to accept the pull Jesus - I had to do a bit of refactoring to enable that, but now we're ready.
Can you please check if the pull can be merged and have a look at the CONTRIBUTING notes? There is a bit of formality to go through but it should take 5 minutes.

I found that you added an index.html page to the WEB-INF folder however I don't believe those file are made publicly accessible. At least not when running locally with appengine-java-sdk-1.9.20. So I removed the copy of the index.html from the pages folder and add a step in the build.xml to copy the index.html from the WEB-INF folder.
It should be good to go. Thanks

This looks perfect, thank you.
I have 2 minor comments, other than that I can merge - pending one thing though. As per the CONTRIBUTING file I have to ask you to go through the cla (https://cla.developers.google.com/about/google-individual). Should be a no-op for you essentially, but still :-( sorry.

I've made the suggested changes. I also accepted the agreement back in January.

Fantastic, thank you.