feat: use pipeline image from config map

Description
The build-pipelines-defaults ConfigMap points to the current pipeline bundle, so instead of a fixed bundle image we should use the value placed there. This also allows running the end to end tests against a set of bundle images from a personal quay.io registry.
We're now starting PipelineRuns instead of TaskRuns and we need the change in redhat-appstudio/build-definitions#112 merged for this to run successfully.
Issue ticket number and link
HACBS-424
Type of change

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

How Has This Been Tested?
Ran the tests locally
Checklist:

[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

Seems like there's quite a bit happening here for the chore:  designator to be accurate.

/retest

/test redhat-appstudio-e2e

We now need redhat-appstudio/infra-deployments#387 merged for this to pass.

E2E test in https://github.com/redhat-appstudio/infra-deployments/pull/387 is failing. Is it possible to make that test pass somehow or should we merge it.
Also do we know what change caused this test to fail?
      [It] does not pass when tests are not satisfied on non-strict mode
      /go/src/github.com/redhat-appstudio/infra-deployments/tmp/e2e-tests/tests/build/chains.go:175
  Expected
      <[]v1beta1.TaskRunResult | len:2, cap:4>: [
          {
              Name: "OUTPUT",
              Value: "[\n  {\n    \"code\": \"test_data_empty\",\n    \"msg\": \"Empty test data provided\"\n  }\n]\n",
          },
          {Name: "PASSED", Value: "false\n"},
      ]
  to equal
      <[]v1beta1.TaskRunResult | len:2, cap:2>: [
          {
              Name: "OUTPUT",
              Value: "[\n  {\n    \"msg\": \"Empty test data provided\"\n  }\n]\n",
          },
          {Name: "PASSED", Value: "false\n"},
      ]
  In [It] at: /go/src/github.com/redhat-appstudio/infra-deployments/tmp/e2e-tests/tests/build/chains.go:184

@psturc there is an intricate dependency between this and https://github.com/redhat-appstudio/infra-deployments/pull/387 without the latter being merged tests here will not pass.

I think I can unravel this by doing another pull request in the interim to get https://github.com/redhat-appstudio/infra-deployments/pull/387 merged and then rebase this on top of that.

@psturc https://github.com/redhat-appstudio/e2e-tests/pull/90 should fix this

let's retest this after rebase

/retest
The https://github.com/redhat-appstudio/infra-deployments/pull/387 is now merged so hopefully the tests will now pass.

/lgtm

/retest

/test ?

/test all

/lgtm


chore: update handling tx with noti

Summary of changes
Provide a detailed description of proposed changes.

Reduce loading time of all tx on Nomination page tremendously
UI only gets updated after tx completed
Remove TxConfirmationModal after a tx fails or succeeds, replace that with a notification that allows users to check for the tx explorer link (the notification for succeeded tx will not be automatically closed)

Proposed area of change
Put an x in the boxes that apply.

[ ] apps/bridge-dapp
[ ] apps/hubble-stats
[ ] apps/stats-dapp
[ ] apps/tangle-dapp
[ ] apps/testnet-leaderboard
[ ] apps/faucet
[ ] apps/zk-explorer
[ ] libs/webb-ui-components

Reference issue to close (if applicable)
Specify any issues that can be closed from these changes (e.g. Closes #233).

Closes #2155

Screen Recording
If possible provide a screen recording of proposed change.
Succeed
https://github.com/webb-tools/webb-dapp/assets/69841784/e2a04684-9cf9-432c-b156-9e69fb9a2381
Failed (Cancel)
https://github.com/webb-tools/webb-dapp/assets/69841784/271c5802-88c6-4a98-ae23-4f269fd47d30

Code Checklist
Please be sure to add .stories documentation if any additions are made to libs/webb-ui-components.

[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

Working on #2224 before making this official

Working on #2224 before making this official

Open this since #2224 can be more complex than expected

Separate but does apps UI use utility batch to make the calls happen with fewer txes? CC @devpavan04 @yurixander @AtelyPham

Yes, I believe so.


Start SARS-Arena in windows OS

Start SARS-Arena from Windows using a Powershell script!
Added: start_SARS-Arena.ps1 as a script that can be run by PowerShell in Windows
Main change: $(pwd) to ${pwd} to adhere to windows syntax.

If someone can check this out on Windows:

clone the repo (unless you already have it somewhere)
do git fetch  (to get all the branches)
do git switch startSARS-Arena_windowsOS (to switch to the branch on which I made the changes)

Now my changes should be visible to you and you should see a file start_SARS-Arena.ps1. If you have windows you can then try to follow instruction #3 from README (for windows).

Added additional instructions to the README file


Issue with GitHub Avatar URLs

Description
Refreshing the page results in 429 errors from GitHub on all of the avatars we are fetching. We may need a better approach for this.
Screenshots

Additional information
No response

Duplicate of #1085

Thanks for catching that!

Description
Refreshing the page results in 429 errors from GitHub on all of the avatars we are fetching. We may need a better approach for this.
Screenshots

Additional information
No response

I'm only getting the error for https://github.com/Recognizeyourself.png..


line_filter doesn't really filter all the lines

the title says it all. we need to further filter the results

Fixed in 1.6.0


Fixing typos

Fixing typos on several sentences:

togethr -> together
accpt -> accept
spelng -> spelling

Nice work @rizafahmi ! In future, you could make separate PRs for each task so that they can be merged independently. For example, fixes (typos) and features (adding an intro) should be in separate PRs.
Since we want to keep the mistakes in the tests for other participants to use, we wouldn't be merging this PR. Hope the practice was good nevertheless 😄

Got it! 👍


Running docker build -t twitch_prime_bot . gives error

This is the first time I'm using docker, I installed it with this guide: https://www.simplilearn.com/tutorials/docker-tutorial/how-to-install-docker-on-ubuntu
After doing the docker build command I get this error:
ubuntu@instance-20221115-1321:~/Loot-Bot-main$ sudo docker build -t twitch_prime_bot .
Sending build context to Docker daemon  324.1kB
Step 1/13 : FROM --platform=linux/amd64 python:3.10
 ---> 13ad26b9696b
Step 2/13 : RUN apt-get -y update
 ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
 ---> Running in 8201d6b20e6f
exec /bin/sh: exec format error
The command '/bin/sh -c apt-get -y update' returned a non-zero code: 1

Extra:
I'm also comfortable with running the bot outside of docker within ubuntu but I'm unsure how (sorry pretty newb at this)

Oke I think I fixed it (or on my way to fix it)
Changed the platform to alpine and changed to apt-get commands to the proper apk / apk add commands needs for alpine.
FROM --platform=linux/arm64 alpine

RUN apk update
RUN apk add wget

# Install chrome
RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apk add chromium

COPY ./bot .

# Install python packages
RUN apk add bs4
RUN pip install selenium
RUN pip install discord
RUN pip install pyyaml
RUN pip install webdriver-manager

USER root

# Run bot
CMD python discord_bot.py

Oke I think I fixed it (or on my way to fix it)
Changed the platform to alpine and changed to apt-get commands to the proper apk / apk add commands needs for alpine.
Added RUN apk add py-pip and changed Google Chrome to Chromium
FROM --platform=linux/arm64 alpine

RUN apk update
RUN apk add wget
RUN apk add py-pip

# Install chrome
RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apk add chromium

COPY ./bot .

# Install python packages
RUN pip install bs4
RUN pip install selenium
RUN pip install discord
RUN pip install pyyaml
RUN pip install webdriver-manager

USER root

# Run bot
CMD python discord_bot.py

After this I'm bumping up against the intents issue.
Looking at #2 I added client = TwitchLootBot(intents=discord.Intents().all()) to line 55 but the same error keeps popping up about intents.

Mmm, the bot runs, but it seems changing to chromium didn't do any good
Trying the !twitch commands throws some errors now:
Loading prime gaming data
[WDM] - Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6.96M/6.96M [00:00<00:00, 89.0MB/s]
2023-01-27 13:25:46 ERROR    discord.client Ignoring exception in on_message
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/discord/client.py", line 409, in _run_event
    await coro(*args, **kwargs)
  File "//discord_bot.py", line 25, in on_message
    await get_twitch_data.handle_cmd(message=message, games=ALLOWED_GAMES, message_type=MSG_TYPE_TWITCH,
  File "/bot_modules/get_twitch_data.py", line 255, in handle_cmd
    data_json = fetch_data()
  File "/bot_modules/get_twitch_data.py", line 109, in fetch_data
    soup = get_html_data()
  File "/bot_modules/get_twitch_data.py", line 25, in get_html_data
    driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options)
  File "/usr/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py", line 80, in __init__
    super().__init__(
  File "/usr/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py", line 101, in __init__
    self.service.start()
  File "/usr/lib/python3.10/site-packages/selenium/webdriver/common/service.py", line 88, in start
    self._start_process(self.path)
  File "/usr/lib/python3.10/site-packages/selenium/webdriver/common/service.py", line 195, in _start_process
    self.process = subprocess.Popen(
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1847, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/root/.wdm/drivers/chromedriver/linux64/109.0.5414/chromedriver'

The file "discord_bot.py" in the Folder "Loot-Bot-Main/bot"
I changed this (start line 55 at the bottom):
client = TwitchLootBot()
client.run(TOKEN)
To this:
intents = discord.Intents.default()
intents.message_content = True
client = TwitchLootBot(intents=intents)

client.run(TOKEN)

It's running for me. I had to set the Privileged Gateway Intents to "ON" in the Discord applications.

Maintenance of this project is currently on halt. Many web scraping methods might no longer work due to changes in the target websites. Furthermore, discord.py is no longer maintained by its developers, therefor a rewrite of this project using pycord would be necessary.


Update cookbook with custom endpoints

Experimenting with the API for building custom patch matching endpoints (also added a new cookbook recipe).

Current coverage is 79.09%

Merging #532 into master will decrease coverage by -0.94% as of b8c22d1

Powered by Codecov. Updated on successful CI builds.

Thanks for the review @aroberts!


[Bug]: page.accessibility.snapshot throws after updating an element with aria-expanded

Bug description
Steps to reproduce the problem:

Clone https://github.com/romaricpascal/puppeteer-accessibility-snapshot-aria-expanded
Run npm install
Run node index.js

The script runs Puppeteer to manipulate the page in index.html, clicking the button to swap its aria-expanded attribute and updating its label. When the scripts queries the accessibility tree snapshot after clicking, the snapshot method throws.
This is a minimal reproduction of an issue we recently had when dependabot upgraded Puppeteer from 19.3.0 to 19.4.0.
You can uncomment line 16 in index.js to show a possible workaround that uses an aria/ selector to wait for the accessibility tree to have been updated. Another option is to use waitForTimeout with the risk of flakiness it may involve depending on the timeout duration. Note that using a CSS selector (eg. [aria-expanded="true"])  instead of the aria/ selector doesn't work around the issue.
Not updating aria-expanded in the event handler on the page (index.html line 30)  also prevents the script from throwing.
Puppeteer version
19.4.0
Node.js version
18.12.1
npm version
8.19.2
What operating system are you seeing the problem on?
macOS
Configuration file
No response
Relevant log output
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
                                                                                ^

TypeError: Cannot read private member from an object whose class did not declare it
    at __classPrivateFieldGet (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:25:94)
    at AXNode._AXNode_hasFocusableChild (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:417:17)
    at AXNode.isLeafNode (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:230:93)
    at Accessibility.collectInterestingNodes (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:149:18)
    at Accessibility.collectInterestingNodes (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:154:18)
    at Accessibility.collectInterestingNodes (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:154:18)
    at Accessibility.collectInterestingNodes (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:154:18)
    at Accessibility.snapshot (/Users/romaric.pascal/code/puppeteer-accessible-name/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js:125:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async getAccessibleName (/Users/romaric.pascal/code/puppeteer-accessible-name/index.js:23:11)

Looks like something has changed on the backend and 0(invalid nodeId) can now be returned a child node. I will see if we need to file a bug upstream for that. Gonna put up a PR fixing the exception, thanks a lot of the perfect repro!


Unformatted Markdown link in 'Working With Files'

Issue type
Styling or Accessibility
Problem description

To copy the contents of other JAR files into the application JAR, use the ../dsl/org.gradle.api.Project.html#org.gradle.api.Project:zipTree(java.lang.Object)[Project.zipTree(java.lang.Object)] method

Context (optional)
No response
Page with the problem
https://docs.gradle.org/current/userguide/working_with_files.html#using_project_ziptree_and_the_jar_task

Fixed by:

https://github.com/gradle/gradle/pull/30728


Influxdb 2.0 Examples for Powershell

Overview
Would it be possible to add examples for Windows Powershell to InfluxDB 2.0 documention?
Expected Results

the curl command works as expected

Actual Results

the curl command throws an error
Invoke-WebRequest : Cannot bind parameter 'Headers'. Cannot convert the "Authorization: Token A4F-1bcfuhTlHL2wxpsh1WP4k_tii7ccBdE--9Y2CekJXPK643-d8q3vjvFjbT4PzAIj8Hc-zX_8Hu1dGxOMlw==" value  of type "System.String" to type "System.Collections.IDictionary".

Steps to Reproduce

Open Windows Powershell
Run the following command (substituting the values for you instance):
curl http://localhost:9999/api/v2/query?org=0612cc40fe9ba000 -XPOST -sS -H 'Authorization: Token A4F-1bcfuhTlHL2wxpsh1WP4k_tii7ccBdE--9Y2CekJXPK643-d8q3vjvFjbT4PzAIj8Hc-zX_8Hu1dGxOMlw==' -H 'Accept: application/csv' -H 'Content-type: application/vnd.flux' -d 'from(bucket:"Demo2") |> range(start: -100y)'

Additional Information

this command works fine running from a bash terminal on windows

Relevant URLs
https://v2.docs.influxdata.com/v2.0/query-data/execute-queries/#influxdb-api
What products and version are you using?
InfluxDB Version 2.0.0 (f54848f)

The problem here is not in Influx.
Curl is as alias to "Invoice-WebRequest" which expects IDictionary to the -H argument
To fix this - reference the "curl.exe" and not the "curl" command:

curl.exe http://localhost:9999/api/v2/query?org=0612cc40fe9ba000 -XPOST -sS -H 'Authorization: Token ............


Within Django views, implement conditions with "vectorized" variables

Description / Beschreibung
The Django-language allows defining conditions based on variables's values or on variables being empty.
That does not work for variables which can accept a vector of values.
Expected behaviour / Erwartetes Verhalten
A syntaxe such as {% if var %} or {% if var.is_not.empty %} or {% if var|length > 0 %} should work correctly even if var is allowed to be a collection.
These conditions should be evaluated as False if the variable is empty and as True if the variable has 1,2,3,... components.
Steps to reproduce / Schritte zum Reproduzieren
{% load view_tags %}
{% get_set 'project/dataset/id' as datasets %}
{% get_set 'project/partner/id' as partners %}
{% get_set 'project/funder/id' as funders %}

{% for dataset in datasets %}
	{% get_set_value dataset 'project/dataset/preservation/repository_arrangements' as repository_arrangements %}

Dataset {{ dataset.value }}:

	{% if repository_arrangements %}
	    Number of arrangements: {{ repository_arrangements|length }}
	{% else %}
	    Empty List
	{% endif %}

{{ repository_arrangements }}

{% endfor %}

Hi @Zack-83 , this is just a misunderstanding, if you use get_set_value you get only the first value of the collection, with get_set_values you get all. Example snippet:
{% get_set 'set/collection/text' as sets %}
{% for set in sets %}
    {% get_set_values set 'set/collection/text' as values %}

    {% if values|length > 0 %}
    	Not empty!
    {% endif %}

    {% for value in values %}

{{ value.value }}

    {% endfor %}
{% endfor %}

As you can see here: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/views/templatetags/view_tags.py#L86 get_set_value is basically a short cut for get_set_values with index=0. You can also do things like {% get_set_value set 'set/collection/text' index=2 as values %} btw.

Thanks! That solves indeed part of the problem.
Could you also tell me why Python/Django sometimes renders an empty variable with "None" and some other times correctly skips it? What makes the difference?
Here is an example:

Rendering: https://rdmocat.aip.de/projects/13/views/8/
Source: https://rdmocat.aip.de/views/ --> horizon-europe

If the value is there, but empty it .value returns None: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/models/value.py#L158. If there is no value at all it is skipped. Not sure what the expected behaviour is here. You can use .value_and_unit to get an empty string if there is no Value: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/models/value.py#L164 Maybe we should rename this function.

Thanks for the explanation.

If the value is there, but empty it .value returns None: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/models/value.py#L158. If there is no value at all it is skipped.
Not sure what the expected behaviour is here.

I would expect the function to print nothing at all and thus I would remove the lines 157-158 as well as 164-165. But what does the rest of the community expect? How can we prove it?

You can use .value_and_unit to get an empty string if there is no Value: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/models/value.py#L164 Maybe we should rename this function.

Nice to have. I guess it should not behave differently than .value, apart from the unit.

If the value is there, but empty, then .value returns None: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/models/value.py#L158. If there is no value at all it is skipped.

Anyway, even {% if utility != '' %} or {% if utility != 'None' %} do not work.

Hi @Zack-83 , this is just a misunderstanding, if you use get_set_value you get only the first value of the collection, with get_set_values you get all. Example snippet:
{% get_set 'set/collection/text' as sets %}
{% for set in sets %}
    {% get_set_values set 'set/collection/text' as values %}

    {% if values|length > 0 %}
    	Not empty!
    {% endif %}

    {% for value in values %}

{{ value.value }}

    {% endfor %}
{% endfor %}

Sorry to torture you. Possibly I still miss some Python/Django basics. So unfortunately I cannot fully understand fully snippet, because (1) it reuses many times the same words and (2) as you correctly guessed, we have to do with two nested lists. :(
Might we try to rephrase it again corresponding to my real case?
Here is my attempt:
{% for dataset in datasets %}
	{% get_set_values dataset 'project/dataset/reuse_scenario' as utility %}
	{% if utility != 'None' %}

Dataset {{ dataset.value }}: The data might be useful to:

{% render_set_value_list dataset 'project/dataset/reuse_scenario' %}

	{% endif %}
{% endfor %}

Maybe @jwindeck or @MyPyDavid may help?

Might we try to rephrase it again corresponding to my real case?
Here is my attempt:
{% for dataset in datasets %}
	{% get_set_values dataset 'project/dataset/reuse_scenario' as utility %}
	{% if utility %}

Dataset {{ dataset.value }}: The data might be useful to:

{% render_set_value_list dataset 'project/dataset/reuse_scenario' %}

	{% endif %}
{% endfor %}

{{ utility|length }} is equal to 1, even if the user clicked no option.

Hey @Zack-83 , I think your problem can be solved with:
{% get_set 'project/dataset' as datasets %}

{% for dataset in datasets %}
	{% get_set_value dataset 'project/dataset/reuse_scenario' as value %}

	{% if not value.is_empty %}

Dataset {{ dataset.value }}: The data might be useful to:

{% render_set_value_list dataset 'project/dataset/reuse_scenario' %}

	{% endif %}
{% endfor %}

get_set_value gives you the value with the set_index matching dataset and the collection_index=0 which is what you want here. If you have one value you can use .is_empty. The filters |is_empty etc are for lists, e.g. values|is_empty returns all empty values.

This is what the value looks like in the template: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/models/value.py#L104
This is what the tags and filters in view_tags do: https://github.com/rdmorganiser/rdmo/blob/master/rdmo/views/templatetags/view_tags.py
someone™ should put that in a documentation sometime, somewhere ...

Can you try {% if not reuse_duration.is_empty %} in the third line?

I did (see example above)

I have an idea.
For a multiple-choice question, If a user clicks an option and subsequently unchecks it, the variable is saved as a list with an empty entry.
If the empty entry is the first one, than that ruins both all logical checks (|is_empty, |length) and the printing (yieldin a list with initial empty bullet point)

Unchecking an option should remove the corresponding list component, not just empty it.
Might that be the solution?

I just tried it on my instance with checkboxes, and the values are removed, when I deselect options. In your case a value with an empty string as text stays in the database?
In your case, does the question for reuse_duration use radio buttons or checkboxes?

we could fix some or most part of the bugs in the View in a  meeting, here is a short overview:

in some cases, the "None" should not be displayed as an answer at all

we blocked it with an {% if variable.value != None %} statement

in Q14 and Q38 there were extra bullet points for empty answers when render_set_value_list was used

I think we could make a function render_set_non_empty_value_list wherein the values list is filtered with values|is_not_empty beforehand?

Fixes for Q14 and Q38 which are also in the rdmocat.aip.de/projects/13/views/8/.
Q14
{% for dataset in datasets %}
    {% get_set_values dataset 'project/dataset/sharing/explanation' as sharing_explanation %}
    {% if sharing_explanation|is_not_empty  %}

Dataset {{ dataset.value }}:

        {% for explanation in sharing_explanation|is_not_empty %}

{{ explanation.value }}

        {% endfor %}

    {% endif %}
{% endfor %}

basically the same for Q38
{% for dataset in datasets %}
    {% get_set_values dataset 'project/dataset/data_security/security_measures' as security_measures %}
    {% if security_measures|is_not_empty %}

Dataset {{ dataset.value }}:

        {% for measure in security_measures|is_not_empty %}

{{ measure.value }}

        {% endfor %}

    {% endif %}
{% endfor %}

the costs formatting in Q34 could still be improved..

{% if security_measures|is_not_empty %} makes no sense, see above. is_not_empty returns a list. Use
{% for security_measure in security_measures %}
    {% if security_measure.is_empty %}
    ...
    {% endfor %}
{% endfor %}

the whole if-block of {% if security_measures|is_not_empty %} should be skipped if there are no answers/non-empty values given in the dataset that is why its there...
more explicit: {% if security_measures|is_not_empty != [] %}

we could fix some or most part of the bugs in the View in a meeting

Would the two little edits in https://github.com/rdmorganiser/rdmo/compare/main...dev-UAGViews help solving the rest of the bugs?


Choice with str label and dict value

Hey gang,
It appears I'm unable to create a Choice with a str label and dict value. Given the following:
EsdbCircuitEnum = Choice("EsdbCircuitChoice", zip(esdb_circuit_map.values(), esdb_circuit_map.keys()))

I see the error:
ns
    EsdbCircuitEnum = Choice("EsdbCircuitChoice", zip(esdb_circuit_map.values(), esdb_circuit_map.keys()))
  File "/usr/local/lib/python3.9/enum.py", line 386, in __call__
    return cls._create_(
  File "/usr/local/lib/python3.9/enum.py", line 509, in _create_
    classdict[member_name] = member_value
  File "/usr/local/lib/python3.9/enum.py", line 97, in __setitem__
    if _is_private(self._cls_name, key):
  File "/usr/local/lib/python3.9/enum.py", line 49, in _is_private
    and name.startswith(pattern)
AttributeError: 'dict' object has no attribute 'startswith'

The pattern we've adopted in the meantime involves creating a map and translating the user choice like so:
    select_map: Dict = {}
    for edge in available_edges:
        select_map[edge.get('name')] = edge

    ServiceEdgeChoice = Choice("ServiceEdgeChoice", zip(select_map.keys(), select_map.keys()))

    class L2VPNForm(FormPage):
        class Config:
            title = product_name

        service_edge: ServiceEdgeChoice

    form_data = yield L2VPNForm
    user_input = form_data.dict()

    esdb_service_edge = get_resource_by_id(
        "service_edge", select_map[user_input["service_edge"]]["id"], params={"detail": 1}
    )

How does SURFnet's implementation typically handle these cases? Do you have any suggestions for making Choice capable of carrying a dict? It would be extremely nice for example to have a class like APIChoice that accepts parameters to generate that Choice from an external API endpoint, and return the related data automatically when chosen like so
    class L2VPNForm(FormPage):
        class Config:
            title = product_name

        service_edge: APIChoice('service_edge')

Hi Stewart,
We handle it the same as you do; we keep the dictionary in the backend and only put corresponding keys in the form values. In general when working with forms the frontend displays a set of options to choose from, with the label being "humanly readable" and the value a compact and unique identifier, which the backend knows how to relate to a more complicated data structure (such as a dictionary). I don't really see the benefit of sending larger data structures to the frontend, but perhaps I don't understand the full extent of your usecase.
On a related note; when using Choice the frontend does not currently submit values, it submits the label instead - which is wrong and inconvenient as we then have to derive the value from the label. This is a bug which Rene has a proof of concept fix for in #157. Maybe this will also improves things for you.
Mark

It's not always wrong: for simple choices the label will be often the same as the value. So both will probably have their use-cases. But indeed; it would be very convenient to have access to the value also.
ChoiceValue -> will do just that. Shows the label in a select and submit the value upon submit.
Working on some test for it now..
I implemented it as a new form element to ensure that it doesn't break Forms/Workflows.

For most fields that do external API requests we implement a custom field in the frontend. This also allows use to implemet stuff like "smart" auto complete. An example can be found here: https://github.com/workfloworchestrator/orchestrator-core-gui/blob/main/src/custom-surf/uniforms/ImsNodeIdField.tsx

@Mark90

I don't really see the benefit of sending larger data structures to the frontend, but perhaps I don't understand the full extent of your usecase.

It's less about sending a large data structure to the front end (agreed, I don't see a reason to do so), but more about simplifying the generate_choice_map -> provide_user_choice -> resolve_user_choice_using_map pattern. If a dict could be provided, all choice resolution happens within the Form yield statement, preventing developers from having to do that round-trip, choice resolution dance in the first place. You could, in that case, pass user_input directly into State and continue the workflow without post-processing. You make a good point though, I didn't think about the fact that this kind of pattern would result in a large amount of data available on the frontend, which might carry its own set of problems.
@acidjunk Thank you for your feedback as well, I'll see what I can do using the tuples like you describe. We currently have a pattern where we avoid hard-coding any values within the workflows by defining the choice like so:
class NSOBackboneLinkIGPPreference(Choice):
    CORE = "core"
    WORST = "worst"
    TAIL = "tail"
    SEA_CABLE = "sea-cable"
    PREFERRED = "preferred"

and then in a workflow, for example, we can use
if x in [NSOBackboneLinkIGPPreference.CORE, NSOBackboneLinkIGPPreference.TAIL]:
  do something

in order to avoid hard-coding a string. Making those values into a tuple makes that a bit more difficult so it'll require a bit of experimentation on my part to see what fits best.
Another problem on the horizon for us (and maybe worthy of its own Issue), is that the API environment is fairly hostile today, requiring the user to know exactly how the human-readable string is composed on the frontend before making an API call. This seemingly prevents client library auto-generation. It occurs to me just now that, if the value was a dict, it would not resolve this issue, and might make it worse.
This is great discussion/feedback, thanks everyone! I think I've got what I need from this issue. I'll leave it open for a little while in case anyone has any further points.


Ionic4 After the screen page disappears, there will be a long time for the white screen to enter the home page.

Bug Report
Ionic version:
Ionic:
Ionic CLI                     : 5.4.4 (C:\Users\admin\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework               : @ionic/angular 4.11.1
@angular-devkit/build-angular : 0.801.3
@angular-devkit/schematics    : 8.1.3
@angular/cli                  : 8.1.3
@ionic/angular-toolkit        : 2.0.0
Cordova:
Cordova CLI       : 9.0.0<EMAIL_ADDRESS>Cordova Platforms : android 8.1.0
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.2, (and 5 other plugins)
Utility:
cordova-res : not installed
native-run  : 0.2.8
System:
Android SDK Tools : 26.1.1 (D:\Soft\Ionic_ENV\sdk)
NodeJS            : v10.16.0 (D:\Soft\Nodejs\node.exe)
npm               : 6.12.0
OS                : Windows 10
[x] 4.x
Current behavior:
After the screen page disappears, there will be a long time for the white screen to enter the home page. and console no errors, no warnings.
Expected behavior:
i wish when the screen page disappears, enter the home page immediately and no white screen；
Steps to reproduce:
1: ionic cordova platform add android
2: ionic cordova build android --prod
1. config.xml
    <preference name="ScrollEnabled" value="false" />
    <preference name="android-minSdkVersion" value="19" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="10000" />
    <preference name="FadeSplashScreenDuration" value="1000" />
    <preference name="AutoHideSplashScreen" value="false" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="FadeSplashScreen" value="true" />
    <preference name="ShowSplashScreen" value="true" />
    <preference name="ShowSplashScreenSpinner" value="false" />

there is my git code : [( https://github.com/AlwaysLoveme/demo.git)]

there is my git demo code: https://github.com/AlwaysLoveme/demo.git

Thanks for the issue. It sounds like your app is just taking a long time to start up. I would recommend hiding the splash screen only once Platform.ready has resolved. Is there a particular issue in Ionic Framework you are running into?
Otherwise, these kinds of situations are better suited for our forums or our slack.

Thanks for your reply and suggestion. Since i update my android google chrome webview to the latest version from google play, it happens like that my app is taking a long time to start up home page, so i turn back to the chrome version which is 74.0.3729.136, then it is normal.

Thanks for the follow up. I am going to close this as it doesn't sound like this is any particular bug in Ionic Framework. If you can point to part of Ionic Framework that you think is related to the issue, I'm happy to take a look. Thanks!


cephfs admin: subvolume clone support

Clone support for cephfs subvolumes.
It comes with a response handling refactor and the addition of Force remove methods.
As part of cloning I had to deal with numerous differences between ceph versions and these are inter-codename differences. IOW, some "nautilus" releases behave one way, some newer "nautilus" release behave another way. At the time of this writing some changes have been back-ported into nautilus but not yet into octopus.
This is all to say that various changes/refactoring/whatnot that made this a bigger PR are due to issues found testing and working with what's ended up being the most complicated part of this module.
Checklist

[x] Added tests for features and functional changes
[x] Public functions and types are documented
[x] Standard formatting is applied to Go code

This nearly completes the cephfs admin package but there's still some more practical testing and additional cleanups that need to be done. But we're getting close!

Updated.

Yeah. Unfortunately go can't "typecast" between map[string]string -> map[string]interface{} even though interface{} is kind-of the anything type. (https://github.com/ceph/go-ceph/pull/372#discussion_r498222970)

I find that not surprising, because an interface value is a different type and has an additional level of indirection and therefore a different memory layout than a pure string. It's for the same reason that you can't typecast from map[string]string to map[string]*string. More details here: https://research.swtch.com/interfaces


Feature/groups in selects

[x] Changes have been thoroughly tested to not break existing functionality.
[x] New functionality has been documented or existing documentation has been updated to reflect changes.
[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

This PR adds the ability to group options in selects using optgroups.
The syntax is simple:
Select::make('status')
    ->options([
        'In Process' => [
            'draft' => 'Draft',
            'reviewing' => 'Reviewing',
        ],
        'published' => 'Published',
    ])

Which will render the following:

or with searchable / multiple:

Known issues:

When the Select is set as searchable() and you search something, the groups are not persisted until the search string is empty again. This is a limitation of choices.js (see https://github.com/Choices-js/Choices/issues/926)

Hey, please resubmit this with edit access enabled, and we can review it


add vpn commands

Summary
Adds commands for listing VPN servers (although there should only be one), list the clients of a particular server, creating a new vpn client for a server and getting the configuration of a client.
Test Plan
Manually ran all the commands to verify they work as expected. Added some initial tests but more can be added.
Checklist

[ ] If required, I have updated the Plural documentation accordingly.
[ ] I have added tests to cover my changes.
[x] I have added a meaningful title and summary to convey the impact of this PR to a user.
[x] I have added relevant labels to this PR to help with categorization for release notes.

Generally, everything works fine :+1:


[db] Create database and migration table

[x] create database, db create command now support create database (on support drivers)
[x] initial migration
[x] dialect for different datbase #25

only supports Placeholders(n), not general queries

TODO in next PR

[ ] check if database exists, the most portable way is to connect with database name ....
[ ] check if table exists, Laravel is a good example, it checks information schema table
[ ] allow user to register migration
[ ] example in icehub, a user table etc.

it is not finished, but

gommon/errors is usable, so we remove usage of pkg/errors in go.ice
need to work on the http server #26 , it is need in https://github.com/benchhub/benchhub/pull/15


Compiling help:

Which target are you using?
[ ] Windows
[x] Linux
[ ] Mac
Explain your issue
i get this every time i compile the game
source/funkin/editors/EditorTreeMenu.hx:7: lines 7-31 : Loop in class building prevent compiler termination (funkin.options.TreeMenu)
Please check first if your issue haven't already been reported yet, and make sure you ran the update.bat file before building.

i posted the wrong screenshot,

it says they recommend you use 4.2.5, not 4.3

I’ve had a similar issue with 4.3, but 4.2.5 doesn’t have this problem

I’ve had a similar issue with 4.3, but 4.2.5 doesn’t have this problem

hello how do i switch to haxe 4.2.5?

I’ve had a similar issue with 4.3, but 4.2.5 doesn’t have this problem

hello how do i switch to haxe 4.2.5?

just download it from haxe's website normally

i think this aged, hopefully you solved it


Maintenance: improve continuous code quality automation

Summary
Currently we are running only limited code quality checks before merging a PR (linting and unit tests), while integration tests are still ran manually by maintainer either as a part of a PR review or before a release.
This is error prone and increases the risk of issues slipping into the codebase.
This issue came out of a discussion under #2072.
Why is this needed?
So that we can have code quality checks on the code merged on main and increase confidence on what's in it.
Which area does this relate to?
Automation, Tests
Solution
We should create a new workflow called "Code Quality" with trigger to be defined with several steps:

reusable "Run unit tests" workflow (to be renamed and/or split to reflect that it runs also linting)
integration/e2e tests
in the future fuzzying

The linting and unit tests complete within ~2 minutes while the integration tests take 8-9 minutes to complete.
We are already parallelizing via a matrix of architectures, runtime version, and packages. This results in 35+ tests and (~80+) CloudFormation stacks being deployed which in some cases seems to trigger some queuing in CloudFormation.
Regarding the trigger, I think we have four options:

Run the code quality periodically - i.e. every few hours or every day. Given that we release at best bi-weekly this type of frequency would be sufficient for us to catch issues and would allow us to merge things quickly. At the same time, doing this would increase the risk of compounding issues if we were to branch out or rebase another feature branch from a main with issues.
Run the code quality after code is pushed into main as a result of a merged PR. Depending on how we set up the CI this would mean a cooldown of ~10 minutes between merged PRs. On the other hand this would ensure that issues are caught as early as possible.
Run the code quality as PR check. Today we are already running the unit tests in this way but while this method would give us high confidence it would also be wasteful and introduce latency since checks are run on every PR update.
Run the code quality right before code is merged on main using merge queues. This would provide the similar benefits to the previous two options, but with two added values: 1/ maintainers don't have to wait for the longer checks to finish before merging one or more PRs, 2/ issues are detected before they are merged to main, thus giving the maintainer an opportunity to fix them without having to create a dedicated issue & additional PR.

At least based on my current understanding of merge queues option 4 seems the most promising option. With that said, this is a relatively new feature and I don't think any of us has had the chance to experiment with it yet.
Acknowledgment

[X] This request meets Powertools for AWS Lambda (TypeScript) Tenets
[ ] Should this be considered in other Powertools for AWS Lambda languages? i.e. Python, Java, and .NET

Future readers
Please react with 👍 and your use case to help us understand customer demand.

@aws-powertools/lambda & @aws-powertools/lambda-typescript-core would like to hear your opinion before settling on an option.

I agree with running e2e tests as soon and as frequent as possible. I would opt for an approach that would run those tests before merging to main, but the time it takes for the tests to run will create a slow developer feedback and running after merge will catch issues late in the developer cycle.
I think the 4th option with merge queues might be a good approach (I have not used it before).
if merge queues can run the e2e tests once on all those queued pull requests that is the way to go.
From what I could see merge queues have some tradeoffs specially in terms of speed, because it might take some time to collect the branches to perform the merge queue, best case scenario one pull request will take same time, worst case more pull requests will slow things down a bit, because it has to collect all pull requests.
Another added benefit I get from the docs is "... does not require a pull request author to update their pull request branch and wait for status checks to finish before trying to merge." which is also really good.

Security was the main concern for running e2e on a PR, thus we did not enable it in the past. Reading merge queues it seems exactly the right tool to solve it. Alternatively, we could merge first into staging branch and run separate checks, which seems to be exactly how merge queues work.
Another topic is how we deal with broken e2e test in a PR from external contributors. We can't expect them to fix the tests without local iteration options (they'd need an AWS account). This would mean we need to take over the PR at the end and make changes. Not sure if there are other options.

Over in @aws-powertools/lambda-java-core we are running E2E tests on every PR for 4 different runtimes. We also run on main, once the PR is merged, which is somewhat redundant. That is - we are using (2) and (3) from your options. PR runs are gated so they only runs for PRs cut from branches on the primary repository itself and not on PRs from forks, where we have to actively trigger the run after considering the changeset.
We have a fairly large E2E suite and it is at times flaky - often when we catch failures, the failures are incidental (e.g., some timeout the suite hasn't run into before) and not related to the underlying PR at hand. We invest effort in improving the robustness of the E2E suite, but accept that this will inherently always have some element of "randomness" that actual unit tests should lack.
Having said all this I think this is clearly better than not having the suite. When we catch errors, they are errors we would not have otherwise noticed, and are errors that should block a merge.
We've not used merge queues either and I am interested in seeing how you go with them!

I have finally got around to testing the feature.
I created a new workflow with the correct trigger (I think) and have put the same steps we have in the regular pre-merge CI.
In doing this, I realized that unless I am misunderstanding the setup (I might) having two separate workflows won't work.
On one hand, before a PR can be added to the queue, all the required checks must be fulfilled.
On the other hand, unless the checks in the jobs triggered by the merge queue are marked as required, the PR won't ever exit the queue and be merged.
Like I said, I might have misunderstood the feature or its setup, but as of now it seems that you need to have the same set of checks in both pre-queue & queue, which means you're running the same tests twice. If that's the case, then what's the point?
I need to investigate further. Will try again after new year.


Change in embulk exec and embulk irb

Along with un-JRuby-ing the boot process, we may change around embulk exec and embulk irb subcommands.
If you have some real usage of these subcommands, please share!

Removed in #1255.


API objects should accept an optional 'client_config' argument

See https://github.com/googleapis/gax-python/issues/95, the same discussion can be applied to Ruby.

Forgotten to mark as fixed


router, factor: fix the speed control of session migration

What problem does this PR solve?

Issue Number: close #549
Problem Summary:
There are some problems with the current session migration:

When a backend has something wrong, all the connections are migrated to the same target backend. The target backend may be overloaded
There is a sleep in the rebalance, which may cause the problem that the lock is held too long

What is changed and how it works:

Rebalance every a short time and migrate only a few connections in each round
Control the speed in the router, considering both slow migration(like CPU-based) and fast migration(like health-based)
BalanceCount() returns the count per second, instead of per round

Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Notable changes

[ ] Has configuration change
[ ] Has HTTP API interfaces change
[ ] Has tiproxyctl change
[ ] Other user behavior changes

Release note

Please refer to Release Notes Language Style Guide to write a quality release note.
None

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

Please upload report for BASE (main@c0f8f82). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #550   +/-   ##
=======================================
  Coverage        ?   66.26%
=======================================
  Files           ?       75
  Lines           ?     6785
  Branches        ?        0
=======================================
  Hits            ?     4496
  Misses          ?     1954
  Partials        ?      335

Flag
Coverage Δ

unit
66.26% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Encode bamboo entry and send it to node via RPC endpoint

Steps:

[ ] Retreive next entry arguments
[ ] Encode entry + payload
[ ] Send entry to node

Related: https://github.com/p2panda/sesamoid/issues/2 and https://github.com/p2panda/node/issues/3

Will be handled by p2panda-js

Will be handled by p2panda-js


Remove Jekyll _site

git rm the _site. Would re-write, but it would break the forks.
Prevent from happening again with a .gitignore.

/cc @sayedihashimi

Thanks! I ported the site to the new design in a day from scratch so totally miss (and not cared tbh) whilst in beast mode :) </excuses>


v7 regression: installation time is super slow

Describe the bug (required)
We've recently upgraded from v6 to v7. Since that upgrade, our yarn installation awaits react-table's @scarf/scarf dependency for a very long time (over 50s):
$ yarn
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[-/7] ⠠ waiting...
[-/7] ⠠ waiting...
[-/7] ⠐ waiting...
[4/7] ⠐ @scarf/scarf
[-/7] ⠐ waiting...

It finally ends after over a minute:
Done in 64.09s.
If I simply force v6 using yarn's "resolutions":
  "resolutions": {
    "react-table": "6.11.5"
  },

Installation is finished in 9.82s.
Forcing v6 obviously breaks at runtime, but clearly shows the install time speed difference.
Should be noted the times above are with an up-to-date yarn.lock file and no node_modules (git clean -fdx between installation runs).
Provide an example via Codesandbox! (required)
Irrelevant when discussion installation time issues, I guess?
Steps To Reproduce (required)
It appears this behaviour is best seen in repositories with many dependencies. When I tested v7 on https://github.com/wixplosives/sample-monorepo, I could see a slowdown, but it wasn't as severe.
Expected behavior (Recommended)
Stay fast? :)
Desktop (please complete the following information):

OS: Fedora 31
Node: v12.16.2
npm: 6.14.4
yarn: 1.22.4

@scarf/scarf/report.js executes npm ls @scarf/scarf --json --long, which takes a long time in our repository. I mean, we're not even using npm (repository is yarn workspaces based).
Without going into my personal thoughts about the invasiveness of this postinstall script, this is not an ideal developer experience.

Hi @AviVahl 👋, author of Scarf here. Apologies here for the issue you encountered, and thanks for reporting. The fix has been pushed out.
It's understandable that you find the postinstall hook to be invasive. You can opt out of the analytics via package.json configuration or environment variable, as shown here: https://github.com/scarf-sh/scarf-js#as-a-user-of-a-package-using-scarf-how-can-i-opt-out-of-analytics. Please feel free to reach out on scarf-js's github repo if you have any questions or want to discuss this further!

heya @aviaviavi
Thanks for addressing this with the timeout. I guess I'll need to wait for react-table to merge/release #2183 to get that fix.
I've got several questions regarding opting out:

In a yarn workspace (repository containing several packages), does it matter if I put it in the root package.json once? or do I need to put it in every package depending on react-table? Or both, in case you sometimes run yarn from the root directory, and at other times from a package's directory.
For a components library depending on react-table (which depends on scarf), would my opting out also opt out for users consuming my library via npm? or would each need to opt out on his own package?

does it matter if I put it in the root package.json once? or do I need to put it in every package depending on react-table?

Because Scarf is currently relying on npm ls to identify its direct dependent package(s) in the dependency tree, it won't see the top-level workspace package.json when yarn is run from one of the individual sub-packages. This is definitely fixable though, so we will push another update to Scarf so it is workspace-aware to make that better. Thanks for bringing that up.
In the meantime, it might be easier to take the environment variable opt-out approach at this time, but updating the packages individually would certainly work too.

For a components library depending on react-table (which depends on scarf), would my opting out also opt out for users consuming my library via npm? or would each need to opt out on his own package?

Right now, the user would have to do the opting out. Scarf checks the setting of the package directly depending on Scarf, and the user's settings. The behavior you're describing sounds reasonable to me, but it probably warrants some discussion on Scarf's side. I'll open that discussion for how this ought to be handled on Scarf's repo.

Thanks for your response.
Unfortunately, the environment variables approach won't work for our case, as this is a repository used by over 25 developers and is connected to 3 CI systems. Chasing down all the places and people to reconfigure their machines sounds like something I would try to avoid.
I'll check the package.json opting out mode.
Just noting, if I won't be able to disable this for users of a package that uses react-table, I may have to fork react-table itself. This is not something I can force push to my users.

Hey Avi (Vahl ;), I am pretty sure we can figure something out here, so don't go bailing just yet. Scarf is definitely still fresh and Avi (Press ;) has been working with me to polish it up as we go, but it's definitely not worth it to me to have you forking the repo to get around it.
Avi (Press), what else can we do right now the interim to help Avi (Vahl) get around this?

If it means publishing new versions without Scarf until we can figure it out I'm willing to do that.

Understood and absolutely agree that we wouldn't want anyone needing to fork react-table (or any package) to get around this limitation. I'll update Scarf ASAP so it respects all intermediate opt-out settings in this way.

Thank you both for your prompt replies.
Trust me, forking is a "last resort" kind of option which I am always trying to avoid. Syncing changes to upstream is a headache and it gets even trickier with TypeScript and how @types/<package-name> are resolved. I would rather find a solution that works for the official react-table package.
Respecting intermediate opt-out sounds like something that could resolve the issue for us. I'll update as soon as you have any fix released.
On a side note: I really appreciate the work done on react-table, and find it super useful. Kudos for it.

Thanks Avi Vahl
I had no idea that Wix used it! I'd love that logo up there, too. You guys ever think of sponsoring?

I can't speak for the rest of Wix (many developers; tons of repositories), but my team started using react-table inside a product we're working on. It's not public yet, nor do I know whether this specific feature (the one that uses react-table) will end up in the GA version, so can't promise anything.
I'll ask around about possible sponsorship. TBH, I'm not sure of anything that's not code-related... :)

Update: Scarf 1.0.4 is released and enables any intermediate package in a dependency chain leading to Scarf to disable analytics. By adding that setting to the package.json of any packages you distribute on npm, Scarf will be disabled for all users and packages depending on yours. #2183 has been updated to pull this newest version.
The discussed change for yarn workspaces is on the way too!

Awesome! I'll wait for #2183 to merge/release and test.

@aviaviavi btw, I saw you've also released a new pre-1.0.0 release. It appears to have the timeout, and I no longer see the slowdown that was reported.
Regarding un-subscribing my own library users, is that included in that pre-1.0.0 version as well, or do I need to wait for above PR to merge to get that behaviour?
I'm asking because it's difficult for me to determine which branch of the flow scarf picked up, as yarn completely hides the output of report.js.

Good to hear that change got picked up and took care of the slowdown. You are correct that it is indeed going to be hitting that timeout for you, as the operation that caused the slowness is needed just to even calculate opt-in/out.
For un-subscribing your own library users: That patch has not yet been merged to the 0.1.x release yet, but it will be shortly. I'll be sure to send an update here when it goes out.
Because of yarn's current behavior of suppressing the output of transitive dependencies, additional changes are on the way to automatically disable the analytics when the end-user is installing via yarn. We want to only report these analytics when we can transparently inform the user it is happening.

@aviaviavi
Thanks for the clarifications and addressing the various concerns.
I'm closing this issue (slowdown is resolved) and will follow #2183 and react-table releases to get the un-subscription behavior. And in the future, once it behaves properly on yarn (either by auto disabling or any other alternatives you come up with), I wouldn't even mind leaving it with the default behavior so that @tannerlinsley gets the statistics he wants.
Have a great week!

Sure thing! That all sounds great, and your support there is very appreciated. Will keep you posted with these updates.
You too! 😄


RNN network invalid

1 I use RNN network as encoder, save the trained model in the source domain and test the USPS data set. The accuracy rate is only 10%, which is not as good as lenet network. Why is this
2 Does ADDA algorithm replace the noise with the target domain data set on the basis of Gan？
3 After using RNN as encoder, There is no obvious change in g_loss during confrontation generation.

我利用他这个代码，实现了一遍，发现也达不到文章中的精度哇

我利用他这个代码，实现了一遍，发现也达不到文章中的精度哇


Error in userExixts

Hi
I used the activedirectory module, and i am successfully able to authenticate credentials
But when i use userExists method i m getting the following error
ERROR: {"dn":"","code":49,"name":"InvalidCredentialsError","message":"80090308:
LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1\u0
000"}
i tried using the userprinciple name also , then also no luck
Any help would be much appreciated.
LDAP error code is 49 and description is 52e, but i am sure that both username and password which i am using are valid. I don't know what i am doing wrong.

Please post sample code that is exhibiting the error. Please obfuscate any confidential information (i.e. username/password, etc.).

var ActiveDirectory = require('activedirectory');
var config = { url: 'LDAP://xxxxx.xxxxx',
baseDN: 'ou=Users,cn=readonly,cn=users,dc=xxxxx.xxxxx,dc=com',
username: 'xxxxxxx',
password: 'xxxxxxx'}
var ad = new ActiveDirectory(config);
var userPrincipalName  =<EMAIL_ADDRESS>var username = 'xxxxxxx'
var password = 'xxxxxxx';
ad.authenticate(username, password, function(err, auth) {
if (err) {
console.log('ERROR: '+JSON.stringify(err));
return;
}
if (auth) {
console.log('Authenticated!');
}
else {
console.log('Authentication failed!');
}
});
ad.userExists(userPrincipalName , function(err, exists) {
if (err) {
console.log(userPrincipalName );
console.log('ERROR: ' +JSON.stringify(err));
return;
}
console.log(userPrincipalName  + ' exists: ' + exists);
})

I used both username and userPrincipleName as a parameter for ad.userExists(). It still throwing up that error

The ad.authenticate() method uses the username and password you provided to authenticate (bind) to the Active Directory server. It does NOT use the username and password supplied via configuration.
The ad.userExists() uses the username and password that you specified in the configuration. It does NOT user the username/password that were used in the ad.authenticate. In your config, you need to use a userPrincipalName for the username.
var config = { url: 'LDAP://xxxxx.xxxxx',
               baseDN: 'ou=Users,cn=readonly,cn=users,dc=xxxxx.xxxxx,dc=com',
               username<EMAIL_ADDRESS>               password: 'xxxxxxx'}

In short, EVERY ad.*() function, except authenticate(), uses the username & password that were specified in the config object when the ad object was created to do a lookup / query operation.

Yes i did this also, I replaced username with userPrincipleName and used both also
I got this error
ERROR: {"dn":"","code":49,"name":"InvalidCredentialsError","message":"80090308:
LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece\u00
00"}

Are the other ad functions (besides ad.authenticate()) giving the same exact error? If so, then you'll need to verify the userPrincipalName and password you're using in your config. The invalidCredentialsError is simply an invalid username and password and that error is being returned by the server. The other thing to check is any special characters (non ASCII) in the password. If these exists, they have to be escaped and can be difficult to get to work.

NO i only have authenticate and userExists methods as of now. And there are special characters in the password, To which format i need to convert them ?I cant delete them to make it to work. can i ?

To which format i need to convert them ?

I don't know if that's the problem, but if other functions are also failing, that would be the likely cause. You'll need to check upstream with the ldapjs project for information on how to escape them (if possible). The simpler solution is to use a long/complex password without any special characters.


docs: further reading sections

mainly linking to the corresponding tutorial chapters
Should only be merged after the pending tutorial sections are complete. Want to open this now already to get some feedback on the general idea.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

I think the end result is good, but I can't help wonder if we should have this information in structured form somewhere so that we can use it in other contexts (e.g. linking back from tutorials to docs, or from recipes to docs, etc) without introducing more of a maintenance burden

I thought about that briefly, but it only took me like 5 minutes to assemble these links, so I think the maintenance of some sophisticated code solution that works across repositories is much higher than just maintaining this by hand.


installing pypylon

Hello I tried installing pypylon on Windows via the cmd with the command py -m pip install  git+https://github.com/basler/pypylon but I got the message: Collecting git+https://github.com/basler/pypylon
Cloning https://github.com/basler/pypylon to c:\users\adria\appdata\local\temp\pip-req-build-d9qkn1ci
Running command git clone --filter=blob:none --quiet https://github.com/basler/pypylon 'C:\Users\adria\AppData\Local\Temp\pip-req-build-d9qkn1ci'
Resolved https://github.com/basler/pypylon to commit
8b157d9732f1cc1a5efe6a940b673e4df57fafc5
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
Do I have to install pypylon in an other way oris there something else wrong?
My python version is 3.13.0 my pip version is 24.3.1 and my git version is 2.47.0.windows.2.

Hi, this is the repository for the samples, i think your issue is better placed here, but i think the reason is that you have python 3.13 installed. Please try again with python 3.12.

I tired with 3.12 but got the same error. I will ask at https://github.com/basler/pypylon/issues/.


Error building android

Hi Eddy,
Thank you for your great work.
I have been running into the following problem whenever I try to use the Mapbox demo or the olugin itself
"
/media/rahul/6cb85927-ed9e-469f-9f2d-a09892df304b/sandbox/nativescript/parkking/platforms/android/build/intermediates/res/merged/F0F1/debug/values-v24/values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
:processF0F1DebugResources FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':processF0F1DebugResources'.

com.android.ide.common.process.ProcessException: Failed to execute aapt

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

BUILD FAILED
"
have you come across this? It is doing my head in.
Regards
Rahul

I was having lots of issues with my android version and build tools etc.. I uninstalled everything related to android studio/sdk tools etc.. and installed again... it is all working as expected now. Regards.


Delivery Service/server assignment safeties

What does this PR (Pull Request) do?

[x] This PR fixes #5218

Which Traffic Control components are affected by this PR?

Traffic Ops
Traffic Ops client (Go)

What is the best way to verify this PR?
Run the API tests
The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[x] This PR includes any and all required license headers
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY

Oh, whoops, I didn't see an addition to CHANGELOG.md -- @ocket8888 mind opening a follow-up PR to add one?


Two suggestions for color preview blocks

plugin version: 1.3.3
i. Does not reflect the effect of opacity value
e.g. bg-black/5 and bg-black looks the same

ii: I think the Block’s background color is too prominent
Maybe we can be consistent with the official, just highlight the border color instead

Finally, Thanks for the plugin! 👍

1.3.4 released, you can test it

v1.3.4 seems to be working, I'll close the issue


test(request-executor): add request executor unit tests

This PR has no Jira or GitHub issue linked because it is a part of my onboarding process

@mvhysko @UncleVic please review PR asap

Revert package-lock.json version pls

As we had agreed in-person I've fixated the npm version as well as changed the node version in package.json (we currently use the same version as in nexploit-service)


Tips to debug 403 error?

I successfully retrieve my embed URL from my lambda function. What is weird is that I can embed some of my dashboards but I get a 403 error on other dashboards.
Is there a piece I'm missing? How should I configure the "share" permissions on the QuickSight dashboard?

You could login to your QuickSight dashboard and go to Share -> Share dashboard. Either search for the Cognito users individually or share the dashboard with all users (checkbox).

Thank you the share with all users worked for a development dashboard I have. I would rather add user individually.
My Cognito User pool is configured to allow use of the email as the username. In this case Cognito is assigning a long uuid for a users username. I took the first few characters of this uuid and started typing them into the search box when adding users to a dashboard. They are not appearing in the auto complete.
When I go to Manage Quicksight -> Manage Users from the Quicksight dashboard I see a few users listed in the form of quicksight-embed-cognito-res-CognitoAuthorizedRole-(clipped off because I can't adjust the column widths). I guess this starts to highlight my misunderstanding of this set up.
Does each new Cognito user automatically get a 'User' profile in Quicksight? I thought Cognito users were assuming a role that was then granted permissions to access a dashboard for a given amount of time? Does quicksight pull in users from iAM and create a seperate DB of users? I'm confused how Quicksight manages users in general.

Sorry for the delay in response. For the first part of your question, in the username you could replace the uuid with email. Check this code snippet: https://github.com/aws-samples/amazon-quicksight-embedding-sample/blob/master/lambda/index.js#L101. Here, we explicitly set the session name as result.getIdToken().payload.sub, which is the uuid. You could replace sub with Cognito username or the email, look at structure for the payload object for the exact fields to use: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html
For the second part, yes, we register a new QuickSight reader corresponding to the Cognito user who visits the embedded dashboard.


Spike: Support smushedcase attrs

Exploring an option to also support the smushedcase (lowercase, no spaces) version of dashed attribute names (media-paused), for the sake of React and other frameworks that plan to support custom element attributes with a simple translation of property names to attribute names that won't support dashes in the name.
My first impression is that while this isn't super difficult, it's a decent amount of overhead for anyone trying to contribute a new component to the ecosystem.
My vote is we don't try to support both at the same time.
To build on that, I think we ignore future React needs in the attribute naming conversation. That doesn't mean we won't choose smushed case, but just not because of React.

React envs everywhere won't support web components fully for a while, and how the support looks could evolve
There are other reasons why we want React-specific versions of media chrome components, including just feeling first-class in the react ecosystem, which is less friendly to web components compared to other frameworks
If you do happen to use the web component version in React, it will still work after client-side hydration, whether you use the dashed version of the attribute (media-paused) or the property name (mediaPaused). But if you're using the web component version you should use it as documented.

The message being: "If you're using React, use the React components. If you're using the web component, use the HTML attributes as documented."
Thoughts?

@heff & @muxinc/open-elements folks (and anyone else interested) - While I think the there are legitimate concerns/considerations for added complexity and code maintenance with simultaneously supporting "smushedcase" and "kebab-case" for our well, defined attributes, I want to make sure we aren't being overly "hand wavey" or "straw man" with the React side of the fence.

React envs everywhere won't support web components fully for a while, and how the support looks could evolve

For the assumptions on the "native Web" (W3C standards & specifications, browsers, etc.), we've had at least a "soft rule" of targeting evergreen/forward-looking standards & specs, including "un-finalized but unlikely to change drastically" standards, APIs, etc. So the question is, how analogous is this to React 19 (and beyond) + how it will support custom elements attributes + properties "out of box."
First, the planned solution is already in react@experimental. At this point, I think it's fairly unlikely that some solution won't land in React 19.
Second, since landing in react@experimental, there have been 0 comments on issues or proposed changes in https://github.com/facebook/react/issues/11347. With that, plus the other motivations that led to the current planned implementation (e.g. rough consistency with Preact's solution alongside lessons learned with pain points for reasons to diverge, consistency with native HTML element behavior in ReactDOM), it also seems unlikely that this is going to change significantly before landing in React 19.
Finally, there may be a concern that, unlike the Web, React v19 is much less likely to be forward compatible with future versions of React. However, particularly with "core features and functionality" plus JSX syntax, React has maintained forward compatibility since v1.0.
In other words, aside from the timing of React 19 being released and things like NextJS targetting React 19, I think this concern should be fairly low.

There are other reasons why we want React-specific versions of media chrome components, including just feeling first-class in the react ecosystem, which is less friendly to web components compared to other frameworks

I'd like to hear more on this concern. Is there any reason to think that writing JSX + JS/React code with our Media Chrome custom elements will feel less "idiomatically React" than JSX + JS/React code for, say, a <video> element? I'm asking this because React is currently the only framework where we have decided to maintain framework-specific permutations of our components, and that was only because of its poor support. Given our core team size and our general vision for building on top of web components, I think we should be aiming to drop the need to maintain "React-flavored components" if at all possible.

If you do happen to use the web component version in React, it will still work after client-side hydration, whether you use the dashed version of the attribute (media-paused) or the property name (mediaPaused). But if you're using the web component version you should use it as documented.

Not to focus too much on the specific example, but it's unlikely that we need to focus on media-paused, since the core use case assumes that attribute will be propagated via the <media-controller>, and so it won't be relevant to React considerations for that case, at least not for the foreseeable future. Instead, let's consider these two more plausible cases and imagine writing them in "idiomatic React", also assuming a single SSR and a subsequent initial client side render but not supporting "smushedcase":

Example 1: playbackrates

Idiomatic React JSX:
<media-playback-rate playbackRates={[0.5, 0.75, 1, 1.5, 2]}/>

Render:
<media-playback-rate></media-playback-rate>

In this case, at least for complex object values for props, we'd want to add properties to our web components (I think we likely want to add property-equivalents for all well-defined attributes). If we do nothing, all complex values will need to be converted to their string equivalents by the developer and it will not be "idiomatically React".

Example 2: default-stream-type

Idiomatic React JSX:
<media-controller defaultStreamType={StreamTypes.LIVE}>...</media-controller>

Render:
<media-controller defaultstreamtype="live" ...other attrs >...</media-controller>

Since this is a "simple value" for a prop, the server-side render will set the attribute, and the client-side render will attempt to set the (again, hopefully existing) property. If we add the property but assume that it's going to "sprout" to an official kebab-case attribute, this will instead be:
<media-controller defaultstreamtype="live" default-stream-type="live" ...other attrs, potentially duplicated>...</media-controller>

It's when we put the two together that it gets hairy, because we are effectively either coding ourselves into a corner where we will have to maintain "react-flavored components", or forcing devs using web components to write non-idiomatic React.

The message being: "If you're using React, use the React components. If you're using the web component, use the HTML attributes as documented."

tl;dr - as stated above, we should be trying to make it as viable as possible to deprecate and remove the React components ASAP.

I think the point I'm getting stuck on is:
Instead of telling someone to write this:
<media-controller defaultStreamType={StreamTypes.LIVE}>...</media-controller>

They have 2 other options:
<MediaController defaultStreamType={StreamTypes.LIVE} />

OR
<media-controller default-stream-type={StreamTypes.LIVE}>...</media-controller>

Those 2 other options (including the overhead of maintaining the React wrapper) feels better than the overhead of supporting both smushed + kebab

Those 2 other options (including the overhead of maintaining the React wrapper) feels better than the overhead of supporting both smushed + kebab

Any reason you think this? We can arguably deprioritize supporting both cases for any MediaUIAttributes (for the reasons discussed above) and can abstract away the other cases with some utility functions. If anything, this feels mostly like an "initial effort" hurdle and not a "maintenance hurdle", and simultaneously gives us a path forward for no longer needing any framework-specific components. Moreover, folks implementing their own components need not add this support, but we would also make it easier for them to ensure their components work with "idiomatic React"+JSX, which we have no answer for with our current react solution.
Also, per "above the fold" callout, this was more about the reasons listed about React. There may be other reasons, including complexity, to not support both smushedcase and kebab-case. This was specifically calling out the React-specific reasons why. I don't think those were especially good reasons, and your response doesn't touch on that. If those are not good reasons, but we still aren't comfortable supporting both, that means the only reason to go whole hog with (pork?) kebab-case is legibility and that effectively hog-ties (see what I did, there?) us to having to maintain React-flavored components (on both Media Chrome and Open Elements, since we're assuming where one goes, we all go).

tl;dr - as stated above, we should be trying to make it as viable as possible to deprecate and remove the React components ASAP.

I'm not feeling the need to deprecate the React components ASAP

That may have been lost in translation, by ASAP I meant "As soon as possible". Since one of the primary reasons we chose Web Components as our core component architecture was to build on top of something that should work with any Web application framework, it feels like a reasonable goal to make that a reality, even for React, which means that should be at least informing our decisions on implementations here.

Good points all around...  (Also I'm on cough meds so forgive any lack of tact.)
I'm caving and leaning towards our worst of both worlds option of media-smushedcase. i.e. media states are prefixed with media-, everything else is smushed.
It at least makes media attrs slightly more readable. And while stand-alone components are the right design (yes, I still believe that Christian, and I look forward to bringing you the first example use), media states are a special case of attrs that deserve special documentation anyway (kind of like aria, which follows the same pattern)
I'm not excited about fighting any kind of ongoing battle here. Devs are just gonna copy/paste from the docs anyway, right? Do they really need to read the attr? (half serious)  If it was simply aesthetic that'd be one thing, but the more it feels like we're signing ourselves up for more work in one way or another, even if it's just more docs, the less readability feels like the priority.
Otherwise I'm on the same page that we should have matching props for attrs.

Great comments, I still choose for consistency but I vote only smushedcase everything considering.
I would like Media Chrome to be as close to native as possible, so native attribute style can only make things easier in the long run. Removing the React wrapper is part of our vision 👍

Yes - smushedcase
No - supporting both
Yes - media- prefixed attribute states, hopefully can be replaced by custom state pseudo classes eventually

maybe another discussion but these should be smushed as well then IMO, they are not state attributes
https://github.com/muxinc/media-chrome/blob/51717890146d262a6e6843ad21ca0a29762521d8/src/js/constants.js#L54-L57

can be closed for now?


set search delay for fields

hi
how can i set search delay or set a throttle frequency for searching?
i have put this option but nothing happend
https://datatables.net/reference/option/searchDelay

Good point.
I suppose you're talking about column filters; since those are based on a fully custom solution, and do not count in any way on datatable.net, searchDelay can't help here.
Everything happens in file "utils.js".
This is the relevant handler:
    function _handle_column_filter(table, data, target) {
        var index = target.data('index');
        var value = target.val();

        var column = table.api().column(index);
        var old_value = column.search();
        console.log('Request to search value %o in column %o (current value: %o)', value, index, old_value);
        if (value != old_value) {
            console.log('searching ...');
            column.search(value).draw();
        }
        else {
            console.log('skipped');
        }
    };

which is trigger as follows:
            var column_filter_row = wrapper.find('.datatable-column-filter-row')
            column_filter_row.find('input,select').off().on('keyup change', function(event) {
                var target = $(event.target);
                _handle_column_filter(table, data, target);
            });

Conceptually should be easy to postpone the call to _handle_column_filter() replacing it with a one-shot timer which in turn will call _handle_column_filter() later on; you also need to restart the timer if new keystrokes are received in the meantime.
I'll keep this Issue open as a reminder, but can't say when I will process it; should you solve this in the meantime, I'm willing to accept PRs


Graph creation partially fails with Postgres DB

As described in #577 , there seems to be a mismatch between the time format of metric points as stored in the table and as retrieved from it with the respective query in Metric.php, line 101.
In my case, the values are stored in 24hour time format which means that the
to_char(metric_points.created_at, 'YYYYMMDDHH')
fails for hours > 12
A first fix approach would be to use
to_char(metric_points.created_at, 'YYYYMMDDHH24')
instead - but that may break if for some reason the values are stored in 12h time format in another (e.g. US) environment.
For a real fix, these two formats need to be fully synchronized.

Everything is stored in 24H timestamps so this change is fine.


True is returned for empty string as well as 'high'

const isbase64 = require('is-base64')

const text1 = ''
console.log(isbase64(text1, { mime: true }))
// true

const text2 = 'high'
console.log(isbase64(text2, { mime: true }))
// true```

@tkostus this is expected behavior; according to RFC 4648 Section 10, the following is valid test vector:
BASE64("") = ""

you can use the allowEmpty: false option to invalidate empty strings:
console.log(isBase64('', {allowEmpty: false})); // false

And the letters in high are also valid base64 characters.

To require the mime type, use the mimeRequired: true option:
console.log(isbase64('high', {mimeRequired: truej})) // false


Should not ignore EMPTY expression when generate RR diagram

Production 'opt_interleave':
opt_interleave:
  INTERLEAVE IN PARENT name '(' name_list ')' opt_interleave_drop_behavior
  {
    $$.val = &InterleaveDef{
               Parent: NormalizableTableName{UnresolvedName{Name($4)}},
               Fields: $6.nameList(),
               DropBehavior: $8.dropBehavior(),
    }
  }
| /* EMPTY */
  {
    $$.val = (*InterleaveDef)(nil)
  }

When generating individual RR diagram for 'opt_interleave', the 'EMPTY' expression
is ignored. See https://www.cockroachlabs.com/docs/create-table.html#expanded
for the result.
I tried to find the reason: it maybe caused by function split() in extract.go. When
dealing with empty expression, it returns empty array.

@mjibson, is this issue still valid? If so, I'll recreate in the cockroach repo.


Serbian language

@mirhat Looks good as well 👍

I've not pushed a new release with your translations: https://github.com/skybrud/Skybrud.LinkPicker/releases/tag/v1.1.6
Also, congrats on your five pull requests for Hacktoberfest https://hacktoberfest.digitalocean.com/stats/mirhat 🎉

@abjerner thank you


postgresqlPackages.pipelinedb: fix darwin build

Motivation for this change
ZHF: #122042
https://nix-cache.s3.amazonaws.com/log/d9p1jxf8pdmlpsbnr8sx0n1p17gjwimi-pipelinedb-1.0.0-13.drv
ping @NixOS/nixos-release-managers
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 123336 at 3b86c998 run on x86_64-linux 1

1 package built successfully:

postgresqlPackages.pipelinedb (postgresql11Packages.pipelinedb)

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/servers/sql/postgresql/ext/pipelinedb.nix:25:3:
   |
25 |   installPhase = ''
   |   ^


cannot find trained_models

Is there supposed a folder contained trained_models, after I clone and install the codes? Or I need to train myself? Thanks!

You can click the links and download from my google drive.


logadmin: support uniqueWriterIdentity for sinks

See #1046.

Dropping to P2. If it's a P1, please change back and provide an update.


Feat/ci setup

What ❔

Why ❔

Checklist

[ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[ ] Code has been formatted via zk fmt and zk lint.

@danijelTxFusion hey hey, we should close this PR?


[UI] When cluster is Provisioning, and we click on Istio config page, should route to /c/CLUSTERID/monitoring

Version: master-head (v2.3) (8/15/19)
What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Create a custom cluster but don't actually set it up. It will essentially always be in "Provisioning" state.
Click on it to go to the cluster level. Try to go to the Istio Config page.

Result:
We tweaked this a while back to not allow going to Istio config page. But what we are doing right now is kind-of a hack in a way. We don't let the user click or hover over this item. We should be doing this properly.
For example, here is an example of the proper way we handle this.

On your custom cluster (that is continuously in Provisioning state) go to the Node page
Try to click on Storage > Persistent Volumes on the nav bar.
NOTICE we are routed back to /c/CLUSTERID/monitoring

This is true for most other areas too -- try going to the Nodes page and then clicking on "Projects/Namespaces" and notice you are properly routed to /c/CLUSTERID/monitoring
Other details that may be helpful:
I don't think this is a huge deal / blocker for v2.3 release but we should ideally correct this so it's in alignment with how we handle other similar areas.

Version: master-head (v2.3) (8/21/19)
Istio doesn't appear at all in the Tools menu now until the cluster is ready. Is this expected? It looks like we're doing something special again.
cc: @tfiduccia

@n313893254 - Can we have the Istio menu act like the other Cluster menu items.  It should be there.  But if you try to click on it before Cluster is fully provisioned it will redirect you back to the dashboard.  This way customers can see feature sets before cluster is fully provisioned but we stop them from setting up until it's ready.  Thanks.

Hi @tfiduccia
@vincent99 suggested to hide it.
https://github.com/rancher/ui/pull/3270#discussion_r315443120

Rancher version: master-head (v2.3) (08/28/2019)
I created three clusters with different status and tried to reach the Istio route through the UI:

A cluster in Active state.

===> UI redirects to /c/CLUSTERID/istio/cluster-setting :white_check_mark:

A cluster was kept in Updating state.

===> UI redirects to /c/CLUSTERID/istio/cluster-setting :white_check_mark:

Final cluster in Provisioning state (original issue).

===> UI redirects to /c/CLUSTERID/monitoring :white_check_mark:

Closing.


linux/deck support?

with the steam deck coming out soon it would be nice to have Linux support for the desktop docked mode as well as just general Linux support and if you programs UI is cross platform like gtk, java gui, qt or python gui as well if steam is layed out in a way that isn't to different the the windows version it shouldn't take to much to translate it and i mean if u don't wanna port it out right maybe a way to run it in wine (already tested it doesn't seem to understand the differences in file system. maybe an option to manually pick a file location would fix this)
either way if you need some to for testing email me at<EMAIL_ADDRESS>

OldGlory is written in python so you can run the .py files directly by downloading the source code, Wine isn't needed.
The only part is patching the CSS, which through SteamFriendsPatcher is Windows only, so manually patching it will be needed.
I may write some code to support CSS Patching within OldGlory in the future.
There are details here on how to Run on Linux: https://github.com/Jonius7/SteamUI-OldGlory/wiki/Linux

oh ty for the quick response sorry i dont check github to much ill leave this tab open so i remember to do it

Information on getting OldGlory to run in Linux is here:
https://github.com/Jonius7/SteamUI-OldGlory/wiki/Linux


Ambiguous for type lookup in this context

After installing manually and building...it says 'SelectionType' is ambiguous for type lookup in this context...
how do i solve it

In what file are you seeing this error?

CalendarEnums

in CalendarEnums.swift file

i solved it... i had 'CVCalendar' installed in my project. and 'CVCalendar' also has the type 'SelectionType'...so thats why it was ambiguating with your 'SelectionType'... so i remove the CVCalendar and it runs perfectly


Update README.md

Ensure cd segment-anything-2 command completes before running pip install -e ..
Prevents the following
ERROR:  does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.

Sorry, duplicate of recently added #272 !


How To Download A Video from Hotstar which has more than 1 audio track

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

How to download a video with more than 1 audio track from hotstar.com or any other website.
for example i am using hotstar.com here https://www.hotstar.com/in/movies/mangalyaan-indias-mission-to-mars/1770005017
This video has 3 or 4 audio track. but when i download i get only the first audio track.

any update on this ?

use the following command to get a list of available formats "youtube-dl -F https://www.hotstar.com/in/movies/mangalyaan-indias-mission-to-mars/1770005017".
You will get something like this:
format code                 extension  resolution note
hls-audio_aac131-English-0  mp4        audio only [eng]
hls-audio_aac131-English-1  mp4        audio only [eng]
hls-audio_aac131-English-2  mp4        audio only [eng]
dash-video_avc1_1-0         mp4        320x180 video only
Select the audio and video format code from above and use the following command to download:
"youtube-dl -f 'dash-video_avc1_1-0+hls-audio_aac131-English-0' --merge-output-format mp4 https://www.hotstar.com/in/movies/mangalyaan-indias-mission-to-mars/1770005017"

@palashcode thanks for your answer. before posting here i tried to the same. but since i am using windows to download the unicode chars are not showing properly
What i get

What it should show.
hls-audio_aac131-हिन्दी-0   mp4        audio only [hin]
hls-audio_aac131-हिन्दी-1   mp4        audio only [hin]
hls-audio_aac131-हिन्दी-2   mp4        audio only [hin]
hls-audio_aac131-বাংলা-0    mp4        audio only [ben]
hls-audio_aac131-বাংলা-1    mp4        audio only [ben]
hls-audio_aac131-বাংলা-2    mp4        audio only [ben]
hls-audio_aac131-தமிழ்-0    mp4        audio only [tam]
hls-audio_aac131-தமிழ்-1    mp4        audio only [tam]
hls-audio_aac131-தமிழ்-2    mp4        audio only [tam]
hls-audio_aac131-తెలుగు-0   mp4        audio only [tel]
hls-audio_aac131-తెలుగు-1   mp4        audio only [tel]
hls-audio_aac131-తెలుగు-2

is there any way to download all audio files combined ?

The solution pointed by @palashcode works. For the case pointed out by @varunsridharan, I had to specify the format that starts with "dash*" (for eg. dash-audio_hi_mp4a_3-1 )instead the one that uses the characters from local languages.


Feat/column template

Started working on new Settings layout with Sami. The goal is to have basic components we can use later to rebuild the sidebar/column layout used for projects and now user settings.
The new pages are not protected as there are no links to them right now, what do you think @alexbeno @pixelfact  ?

@haydencleary maybe you can put your page in de the migration folder !


Update README and sample contribution

This PR adds:

A reconfigured README following @mattersoflight's suggestions. The README now leads with a link to our comms video and dataset examples (zebrafish and zebrafish embryo examples).
A new ~100 MB sample contribution of the zebrafish embryo (retardance and orientation reconstructions only, center z plane, every fifth time point to keep the file size reasonable)
The phase reconstruction from the the Kazansky sample contribution.

I will move this from draft to full when it fixes #433. We still need to:

[x] Upload zebrafish embryo sample contribution to zenodo
[x] Test zenodo sample contribution from fresh installation

When this merges I will release 0.4.1.

One open question is whether we should delete the old version to prevent ever-increasing storage usage on client systems.

👍 yep pip install from this branch will let you test the sample contributions (they’ll download from Zenodo). PS if you have the recorder widget open, you’ll get birefringence overlays.

I just tried an installation from scratch, and everything looks good to me.
I'll shoot to merge this and release 0.4.1 around the end of the day. @mattersoflight we can demo the sample contributions at our desks anytime for you if you'd like to take a look.