Vulnerability roundup 110: mysql-5.7.27: 2 advisories [4.9]

search, files

[ ] CVE-2020-2779 CVSSv3=4.9 (nixos-21.11, nixos-unstable)
[ ] CVE-2020-2901 CVSSv3=4.9 (nixos-21.11, nixos-unstable)

CVE details
CVE-2020-2779
Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Security: Privileges). Supported versions that are affected are 8.0.18 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.0 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H).
CVE-2020-2901
Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Optimizer). Supported versions that are affected are 8.0.19 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.0 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H).

Scanned versions: nixos-21.11: 3ddd960a3b5; nixos-unstable: 5aaed40d22f.

See also: #147891, #132142, #124653, #113473, #93991, #90914

These CVE's have been fixed in 21.11 (mysql 5.7.37)


How to use delibird

I had used  ‘pip install delibird’ command to install delibird-0.0.5.
But，when i use ‘delibird’ .
It seems to be 'ModuleNotFoundError: No module named 'delibird'.
Must I download the source code to insatll or Is there anyting else I can do?
thx!

can you give more information
platform, error message, python version, or more


Companion 3 Update

Will this module be getting an update for companion 3? It may already work without any changes but I don’t have an h series with me for testing. But I use them on show sites quite often.

can help  me  how to connect H serail?

Send an action. It will connect

Can show me ? what send an action? i do not understand
On Thu, 6 Jul 2023, 22:25 kman1898, @.***> wrote:

Send an action. It will connect
—
Reply to this email directly, view it on GitHub
https://github.com/bitfocus/companion-module-novastar-h-series/issues/5#issuecomment-1623876841,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAVSDL4UDTCF2ZB3NRQ2U2LXO3KH3ANCNFSM6AAAAAAY6EHKVE
.
You are receiving this because you commented.Message ID:
@.***
com>


Implementing freedaily mode for Openweathermap

adressing #15105 and add a freedaily mode for a 5 day forecast with free API key
Description:
work based on this comment: https://github.com/home-assistant/home-assistant/issues/15105#issuecomment-466381364
Related issue (if applicable): fixes #15105
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io
[ ] updating documentation: todo

Hi @tmechen,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Docs: https://github.com/home-assistant/home-assistant.io/pull/8708


feat: add sign-attestation action

Signed-off-by: Asra Ali<EMAIL_ADDRESS>

@laurentsimon started this preliminary attestation sign actions. still not totally sure i've set up everything correct :P if i understand correct i have to  remember to re-build every time before i push a PR (do people do this check in CI?)
it also currently works on files, not uploaded artifacts.

Got it

OK to merge?

Feel free to merge when you've made the changes.


Issue: create_pandas_dataframe_agent token size issue

Issue you'd like to raise.
I have loaded a csv and I am reading it using create_pandas_dataframe_agent , when i query to gpt 3.5 turbo, i usually get the token exceeded over 4097 issue, is there a way i can subside that for example there are features like chain_type='refine', 'map_reduce' in document summarizer tools.
Suggestion:
No response

Generated by a 🤖
Answer
To handle the token size issue when using the create_pandas_dataframe_agent with GPT-3.5 Turbo, you can try the following approaches:

Truncate or shorten the input text to fit within the token limit. You can use the get_num_tokens_from_messages function provided in the context to calculate the number of tokens in your input and adjust accordingly.

Split the input text into smaller chunks and process each chunk separately. You can then combine the results as needed.

However, there are no built-in features like chain_type='refine' or 'map_reduce' in the LangChain framework for this specific issue. You will need to implement the above approaches manually.
Sources

langchain/chat_models/openai.py

This response is meant to be helpful and save users time. It is not meant to be a precise solution.
Please leave a 👍 if this is helpful and 👎 if it is irrelevant

This is still an issue... when using the create_pandas_dataframe_agent, if the results go beyond the token limit for the LLM, there will be an error.
I don't see any way around the issue right now besides ripping out all the guts of the create_pandas_dataframe_agent and re-implementing it with logic to handle large results sets, such as refine or map_reduce does.


Refine the Readme of the xpanse

As we use the new OCL as the configuration language, some old content should be refined.

We must also document how the properties of flavors can be used within the deployment scripts.


how to query on multiple predicates and how to buffer stream UDF returned value ?

select * from namespace.set where a=somevalue and b=someanothervalue.
what will be the equivalent predicate clause in php client ?

a and b are secondary indices...

Aerospike clients do not support multiple predicates at the moment. You can either filter on the other value in your application, or do that in a UDF.
Stream UDFs (through the aggregate() method) are already buffered into a single return value, as opposed to query() and scan() which need you to pass in a callback function.

function get_camp_summary(s, campId)
local function camp_filter(campId)
    return function(rec)
        if rec['campId'] == campId then
            return true
        end
        return false
    end

end

local function camp_map(rec)

    return map{camId = rec['campId'], campName = rec['campName'],Imp = rec['impCount']}

end

local my_filter = camp_filter(campId)
return s : filter(my_filter) : map(camp_map)

end
this is my stream udf which is expected to return multiple records but the return value is :
array(3) { ["bins"]=> array(3) { ["Imp"]=> int(2) ["campId"]=> string(1) "1" ["campName"]=> string(12) "somecamp" }

Hi. This is a UDF/Lua specific question, rather than a PHP one. Can you move it to https://discuss.aerospike.com/ please?
Otherwise, please look at the example in the documentation for the aggregate() method. As you can see the aggregation comes back with multiple values. The number of results have to do with your aggregation, but in general a stream UDF doesn't return full rows, it returns a list of values after a running a map/reduce operation on the query results. You can write your Lua to map the key-value pairs you want out of the query.


CPS-???? | Governance Security

This is the initial pull request for a governance security CIP. The CIP is generic to Cardano governance regardless of what type of governance system is adopted. More details are being added at present. More reviewers are being solicited at present.

Rendered in branch

Notifying @AndrewWestberg @Quantumplation @mmahut @Chris-Graffagnino @JamesRobertKelley @hashedbits that this pull request has been started for the Cardano Governance Security CIP. Need to add more people for public comment and review of this CIP.

If this isn't about a specific technical solution (metadata standard, change to the ledger rules, etc.), does it make more sense as a "Cardano Problem Statement" (CPS)?
Other than that, it's looking great so far! Thanks for leading this charge :)

@rickymac68 now that your tweet (https://twitter.com/RichardMcCrackn/status/1640532025475047426) has attracted a small army of spell correctors (the latest of these creating a GitHub account just for this purpose), submitting review after review with insubstantial comments unrelated to the proposal substance, I believe the best thing to do is:

correct the accumulated spelling mistakes offline
then re-submit this document as a CPS pull request after closing this PR.

I've attempted to stem the tide here (https://twitter.com/COSDpool/status/1640682163023511552) but it appears to be having no effect.  Maybe an announcement of your own would help to keep things clean in this repository, and avoid propagating the false idea that GitHub is to be used as a commenting scratch-pad (an alternative that works well = https://hackmd.io)
cc @AndrewWestberg @KtorZ  @Ryun1

@rphair
I agree, please @rickymac68 can this be amended asap.

Hi Robert,
In no means as experienced in reviewing as you are and not as knowledgeable
in the subject matter. Maybe you can explain to me what it means to create
a CPS pull request after closing the PR.
Meanwhile I mean to find ways to contribute in a positive way and I will
keep learning all the way.
Greetings, Marco
Op di 28 mrt. 2023 20:38 schreef Robert Phair @.***>:

@rickymac68 https://github.com/rickymac68 now that your tweet (
https://twitter.com/RichardMcCrackn/status/1640532025475047426) has
attracted a small army of spell correctors (the latest of these creating a
GitHub account just for this purpose), submitting review after review with
insubstantial comments unrelated to the proposal substance, I believe the
best thing to do is:

correct the accumulated spelling mistakes offline
then re-submit this document as a CPS pull request
https://github.com/cardano-foundation/CIPs/pull/490#pullrequestreview-1360794050
after closing this PR.

I've attempted to stem the tide here (
https://twitter.com/COSDpool/status/1640682163023511552) but it appears
to be having no effect. Maybe an announcement of your own would help to
keep things clean in this repository, and avoid propagating the false idea
that GitHub is to be used as a commenting scratch-pad (an alternative that
works well = https://hackmd.io)
cc @AndrewWestberg https://github.com/AndrewWestberg @KtorZ
https://github.com/KtorZ @Ryun1 https://github.com/Ryun1
—
Reply to this email directly, view it on GitHub
https://github.com/cardano-foundation/CIPs/pull/490#issuecomment-1487425434,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6ZY2AXEBEWPNW2BXUMJUL3W6MV2NANCNFSM6AAAAAAWJW7NKY
.
You are receiving this because you commented.Message ID:
@.***>

@CIP-review (Marco), my last comment was addressed to one of the CIP authors (you can see this by following the @ tags).  So there is nothing for you do to except (along with the 56,900 people invited by @rickymac68 to post here in GitHub, even without any prior experience) please abstain from making comments here until that invitation is retracted and a proper version of this proposal is finally published in a different thread.  No need to respond to this posting either.

Understood, let me know when it is usefull to contribute. My mistake.

@rphair
I agree, please @rickymac68 can this be amended asap.

Sure Robert. Can you tell me what I need to do to get it sorted? I'm thinking of just accepting all the valid changes so far, then I can copy and paste it into a new folder /CPS-???/README.md
p.s. I kinda suck at GitHub, need explicit instructions.

@rickymac68 now that your tweet (https://twitter.com/RichardMcCrackn/status/1640532025475047426) has attracted a small army of spell correctors (the latest of these creating a GitHub account just for this purpose), submitting review after review with insubstantial comments unrelated to the proposal substance, I believe the best thing to do is:

correct the accumulated spelling mistakes offline
then re-submit this document as a CPS pull request after closing this PR.

I've attempted to stem the tide here (https://twitter.com/COSDpool/status/1640682163023511552) but it appears to be having no effect. Maybe a Twitter announcement of your own would help to keep things clean in this repository, and avoid propagating the false idea that GitHub is to be used as a group editing scratch-pad (an alternative that works well = https://hackmd.io)
cc @AndrewWestberg @KtorZ @Ryun1

Ok, I'll do it this way @rphair thanks for guidance.

see re-submission as CPS: https://github.com/cardano-foundation/CIPs/pull/491


bug report

Describe your bug here.
crashlog tells me to report this to the github
when reloading the character editor it brings this up, it seems to be just 049, I tried with "reddude" and it works normally.

Command Prompt/Terminal logs (if existing)
see image

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
nope!

Update: I was using a json and not xml... oops.


[Sprint 01]: Secondary Buttons

@atharvagadkari05 has worked on this issue and made a PR.
PR Reference: #93


Only one space between words remains when copying text

Attach (recommended) or Link to PDF file here:
mozilla.pdf
Configuration:

Web browser and its version: Firefox 96.0
Operating system and its version: Ubuntu 20.04
PDF.js version:
Is a browser extension: No

Steps to reproduce the problem:

Select text
Copy text

What is the expected behavior?
Both new lines and spaces remain.
Rank Language                          Speakers Percentage Language family Branch
1    Mandarin Chinese                  918      12%        Sino-Tibetan    Sinitic
2    Spanish                           480      6%         Indo-European   Romance

What went wrong?
Only one spaces remains.
Rank Language Speakers Percentage Language family Branch
1 Mandarin Chinese 918 12% Sino-Tibetan Sinitic
2 Spanish 480 6% Indo-European Romance

Note:
In Firefox 96, only one spaces between words can be copied, but the line breaks works.
In Firefox 78 (I'm using ESR one), the spaces can be copied, but the line breaks is gone.
Rank Language                          Speakers Percentage Language family Branch1    Mandarin Chinese                  918      12%        Sino-Tibetan    Sinitic2    Spanish                           480      6%         Indo-European   Romance

You can usually find this issue on PDF with space-delimited tables or programming code that use mono-space fonts.
I hope both spaces and line breaks still can be copied.

This unfortunately looks like a somewhat "expected" regression from the recent work done in order to prevent inserting multiple consecutive whitespaces in the textLayer.
@calixteman Is there there any simple way of improving these kind of cases, without breaking the recent improvements?

I just checked how copy/paste is with this pdf in other viewers (on Windows): Chrome, Edge, Acrobat and Foxit.
And the behaviour is exactly the same: there is only one space between groups.
From a code pov, it isn't that hard to take into account every spaces we have:
https://github.com/mozilla/pdf.js/blob/acc758c40c55209c05beb9e93e620026b7f72c22/src/core/evaluator.js#L2602
It's possible to avoid to enter in this block when we've a monospace font, but is it something we want in general ?
If we add an exception for mono fonts, likely tomorrow someone will complain that the tabular structure for a non-mono font is not respected when it is for a mono one... and then slowly we'll go back to where we were few years ago.
And I guess that people don't only use mono fonts for tabular or source codes...
So to answer to the question, I don't have any idea on how we could fix this "bug" without potentially breaking something we fixed. Any ideas are welcome as usual... We could add an option in Firefox to treat whitespaces as normal chars but I'm not sure it's a good idea...

I just checked how copy/paste is with this pdf in other viewers (on Windows): Chrome, Edge, Acrobat and Foxit.

I can confirm that copy-and-pasting from PDF.js now behaves exactly the same as in Adobe Reader and PDFium (in Google Chrome); as such this doesn't really look like an outright bug (as far as I'm concerned).

If we add an exception for mono fonts, likely tomorrow someone will complain that the tabular structure for a non-mono font is not respected when it is for a mono one... and then slowly we'll go back to where we were few years ago.
[...]
I don't have any idea on how we could fix this "bug" without potentially breaking something we fixed.

Agreed, trying to work-around this particular case seems like it could very easily re-introduce a whole bunch of old bugs.

We could add an option in Firefox to treat whitespaces as normal chars but I'm not sure it's a good idea...

Yeah, it doesn't seem great to add a (basically) untested configuration especially since we're agreeing with other PDF viewers here.

Given that we actually agree with other PDF viewers here (including the reference implementation) and that trying to work-around this is bound break lots of other cases, this issue unfortunately looks like one where WONTFIX is the appropriate resolution.


Images list UI refinements

Updates included in this PR:

Animates In Progress status icon so that it's spinning
Modifies list view layout so that contents adjust better between smaller/larger viewports. CSS updates affect list view on Images tab, but also list views on Selected Components tab (Blueprint page) and Blueprint Components panel on (Edit Blueprint page)
Removes link <a> element around image name
Removes kebab with non-functional actions

Closes #264

Codecov Report

Merging #302 into master will decrease coverage by 0.42%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #302      +/-   ##
==========================================
- Coverage   38.06%   37.63%   -0.43%
==========================================
  Files          70       70
  Lines        2115     2115
  Branches      259      259
==========================================
- Hits          805      796       -9
- Misses       1115     1124       +9
  Partials      195      195

Impacted Files
Coverage Δ

components/ListView/ListItemImages.js
0% <ø> (ø)
:arrow_up:

pages/blueprint/index.js
0% <ø> (ø)
:arrow_up:

pages/blueprints/index.js
51.42% <0%> (-4.29%)
:arrow_down:

core/apiCalls.js
45.56% <0%> (-2.54%)
:arrow_down:

core/sagas/blueprints.js
31.77% <0%> (-1.87%)
:arrow_down:

data/MetadataApi.js
37.28% <0%> (-1.7%)
:arrow_down:

core/reducers/blueprints.js
15% <0%> (-1.67%)
:arrow_down:

Continue to review full report at Codecov.

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

@jgiardino @henrywang LGTM


List deprecation warnings still expected when failing deprecation warning check in tests

When an unexpected deprecation is found on the console while executing a test, do not just print the unexpected warning, print the expected warnings, too. Doing so should make it easier to spot typos and other small discrepancies.
The output now should look like this:
Failure: java.lang.AssertionError: Standard output line 1 contains an unexpected deprecation warning:
 - Executing Gradle on JVM versions 16 and lower has been deprecated. This will fail with an error in Gradle 9.0. Use JVM 17 or greater to execute Gradle. Projects can continue to use older JVM versions via toolchains. Consult the upgrading guide for further information: https://docs.gradle.org/9.0-20240812220000+0000/userguide/upgrading_version_8.html#minimum_daemon_jvm_version
Expected deprecation warnings:
 - Executing Gradle on JVM versions 16 and lower has been deprecated. This will fail with an error in Gradle 10.0. Use JVM 17 or greater to execute Gradle. Projects can continue to use older JVM versions via toolchains. Consult the upgrading guide for further information: https://docs.gradle.org/9.0-20240812220000+0000/userguide/upgrading_version_8.html#minimum_daemon_jvm_version
=====
<OUTPUT>
=====

Reviewing cheatsheet
Before merging the PR, comments starting with

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

The merge queue build has failed. Click here to see all failures.


Fixing name inconsistentcy

fixing mitre data component names not matching data component names in mitre-cti

Admin note: closing all remaining issues and pull requests prior to archiving the repository


Show each (enabled) PowerToys' keyboard shortcut in the Shortcut Guide PowerToys (WinKey+Shift+/)

Description of the new feature / enhancement
Currently the PowerToys Shortcut Guide utility only shows native Windows keyboard shortcuts. It would be helpful to include each PowerToy utility's keyboard shortcut in addition to the Windows shortcut keys (instead of having to open the PowerToys app and selecting a utility to see its assigned keyboard shortcut).
Scenario when this would be used?
When you want to quicly discover the keyboard shortcut to a PowerToys utility.
Supporting information
No response

Same request as mine
https://github.com/microsoft/PowerToys/issues/22514

/dup #15405


fix(sidebar): add some rules for handling RTL layouts

Closes #1909
Summary
Resolve layout issues with sidebar when using [dir="rtl"]
Change List (commits, features, bugs, etc)
Add some rules for RTL layouts that weren't handled in the base library.
Acceptance Test (how to verify the PR)
Enable RTL mode in storybook and check that menu is on the right side and spacing looks consistent with how it is on the left.

:tada: This PR is included in version 2.143.0-next.11 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.143.0-next.11 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Atomic app fixes

Fix readinessProbePath default
Fix init container secrets

I've approved this, but Reviews aren't submitting to github at the moment, so I'm trying just a normal comment.

Thanks.  I built the new chart anyways so we're not blocked on deployments.  We can merge this later.


Fixed bug 409 due to bad handling of NaN values in zoom linesearch

Fixed bug 409, added corresponding test, enhanced debugging messages (for linesearch and solvers).

I've also modified the way the linesearch would handle the case when the max_stepsize was reached. Before, once the maximal stepsize was reached the algorithm would keep on trying to increase it to find an interval for which the curvature error would be satisfied, while always staying to the max_stepsize. So there would be a waste of function/gradient evaluations. I fixed this by letting the linesearch stop if the max_stepsize is reached and no interval was found (meaning that the sufficient decrease condition is satisfied but not the curvature one and the latter would not be satisfied anyway). I documented it in the code.


Bumpy issue when dealing with moving platforms and Animation Player

Godot version:
3.1.1 stable
OS/device including version:
Ubuntu 18.04.2 LTS
Issue description:
A bumpy player in moving Platform when using AnimationPlayer in CollisionShape2D.

Steps to reproduce:
Given the following Node2D Structure:
* Node2D
  * KinematicBody2D
    * Sprite
    * Animation Player
    * Collision Shape 2D

If we animate CollisionShape2D and Sprite up and down, simulating a vertical moving platform, we get a bump effect on the character.
But if we animate the KinematicBody2D up and down directly, it doesn't happen. It works, but some times it is not wanted since I don't want to mess the base location of that object.
Make sure to set Sync to Physics to on in your platform object.
Minimal reproduction project:
Clone this and hit play in your Godot:
https://github.com/raphaklaus/animation-player-issue

I don't know the reason why it bumps, but I think you should animate the KinematicBody2D instead of its child nodes, and Sync_to_physics is a prepared for itself , not its child nodes.
I tried it on my own, and it works fine.

I don't know the reason why it bumps, but I think you should animate the KinematicBody2D instead of its child nodes, and Sync_to_physics is a prepared for itself , not its child nodes.
I tried it on my own, and it works fine.

Animating the KB2D directly throw two issues:

Having to animate the global position, not the relative one. It talks by itself.
What if I just want to animate specific hitboxes to adjust for better collisions? I think it should be accurate in the same way.

add a layer is a solution:
Node2D
-Node2D (Still parent node)
- KB2D(To animate)
2 I'm trying to solve this

Yes, it works. Although a little bump at the end (when the platform is moving up again). You can simulate it in this branch: https://github.com/raphaklaus/animation-player-issue/tree/almost-good-branch

Seems like it still happens in 3.2.3 rc6, but this is somewhat expected, because the character is a RigidBody2D and it keeps its speed from the platform. Not sure if there's other way to prevent the bump than using KinematicBody2D with move_and_slide_with_snap().


Keptn Core (remediation-service, helm-service): Refactor remediation-service and move functionality of scaler to helm-service

Task 1:
Remove the aborter, blacklister, and slower actions from the remediation-service, since they cannot be used right now - and no use-case supported for that actions.
Task 2:
In the remediation-service, there is the built-in function of scaling the ReplicaSet of a Deployment by 1. This function needs to be moved to the helm-service, which must listen to the following events:

The helm-service listens to an sh.keptn.event.action.triggered event with the property: scaler
Execute scaler action (to scale the ReplicaSet by 1) and send event: sh.keptn.event.action.finished

Definition of Done:

[ ] Remediation-service/action folder is cleaned-up
[ ] helm-service can handle a scaling action (sh.keptn.event.action.triggered -> execute action -> sh.keptn.event.action.finished)

Additionally, the following task is requried:

Remove the special handling for a configuration-change event with source equals remediation-service:
https://github.com/keptn/keptn/blob/b48d5340de91e29cdb33969a632466fca0051a4e/helm-service/controller/configuration_changer.go#L137
because the helm-service now directly receives an action.triggered event.


Revamp stress test

It will be useful at least for two reasons:

Quick testing of the new SLURM backend;
Testing Fractal on some specific workstations.

We can also include a new memory-hungry task, similar to
import sys
import time
mem = int(sys.argv[1])  # in MB
duration = int(sys.argv[2])

assert mem < 4000   # 4 GB

t_start = time.perf_counter()
while time.perf_counter() - t_start < duration:
    some_str = ' ' * (mem * 10**6)
    size_bytes = sys.getsizeof(some_str)
    print(f"size: {size_bytes / 10**6} MB")
    time.sleep(1)

which would let us test memory limits.

As part of #41, I introduced a first version of a memory-eating task. When asked to consume 1G and run for 4 seconds, this is its memory profile:


Fix for bug in GFXVideoMode::parseFromString()

When testing PR #2264 I discovered that GFXVideoMode::parseFromString() will never assign false to the fullScreen value. That value must be initialized to false going in. I found it hard to believe that that could be the case and not have caused a problem before now, so I dropped:
   GFXVideoMode vmTest = GFXInit::getDesktopResolution();
   vmTest.fullScreen = true;
   vmTest.parseFromString("800 600 false 32 60");
   Con::printf("%s becomes %s", "800 600 false 32 60", vmTest.toString().c_str());

into the end of _GFXInitGetInitialRes() and the output string is:
800 600 false 32 60 becomes 800 600 true 32 60 0
None of the values get assigned by the macro here if their function evaluates to zero or the token is missing from the string. This commit corrects that for the boolean case to only skip the assignment if the string token is not found.

Good catch!


can t download phantomjs from china anymore

Hi,
since the move to bibucket, or the cn government mind change, it is no more possible to download phantomjs from china mainland anymore.
the technical reason is cdn.bitbucket does not works here, the political reason dunno.
I was wondering if it would be possible to mirror with google code ?
Actually i m kinda stuck as node registry does not reference version 1.9.2 anymore (404 err), because of that i can not event lock my dependency version anymore :s

I'm afraid not much we can do here unless someone volunteers to setup a mirror site.

yeah. Put sown some ideas, node pre gyp over bittorrent. HAve plain JS implementation of bittorrent. Needs to update node pre gyp. Needs to update the project to take advantage of npgyp, if not yet the case.
Let s keep this close for the moment.


Preserve colors outputted by rich in preview pane

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce

Colored output from rich appears uncolored in fzf preview pane
At first glace, rich appears to be using ansi colors for output
Tested in several terminals with same effect: kitty, xterm, alacritty
fzf 0.29.0

To reproduce (uses cli from rich-cli package):
fzf --preview "rich '[cyan]test[/cyan]' --print"

fzf --preview "rich '[cyan]test[/cyan]' --print --force-terminal"


Update MagusManga.kt

Closes #1162
Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[x] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[x] Have explicitly kept the id if a source's name or language were changed
[ ] Have tested the modifications by compiling and running the extension through Android Studio
[x] Have removed web_hi_res_512.png when adding a new extension

[!NOTE]
Since this is just a simple string change (meaning that it doesn't change functional part), I tested modification by only decompiling existing APK using apktool, modifying string in MagusManga.smali^1, recompiling and running it. Everything works as intended.

Alright, will do now.

Done ✅


GSAGH-518 the gsa nightly build supports NaN on unit conversion

@DominikaLos the branch should have the key in caps ie: task/GSAGH-518 not task/gsagh-518

waiting for new gsa release


OpenAIHttpException Fields [id, created, model, choices] are required

Description
The issue happened during openAI.chatCompletions(chatCompletionRequest) call. Not 100% but sometimes. Doesn't depend on requested message.
In the current implementation I use:
val chatCompletionRequest = ChatCompletionRequest(
            model = ModelId("gpt-3.5-turbo-0613"),
            messages = listOf(
                //Messages here
            )
        )
val responseMessage = openAI.chatCompletions(chatCompletionRequest)

If I make the same request one more time it works correct
Environment

com.aallam.openai:openai-client-bom version: 3.2.5, 3.3.0, 3.3.1
Kotlin version: 1.8.21
OS: Android

Additional Info
Fields [id, created, model, choices] are required for type with serial name 'com.aallam.openai.api.chat.ChatCompletionChunk', but they were missing at path: $
com.aallam.openai.api.exception.OpenAIHttpException: Fields [id, created, model, choices] are required for type with serial name 'com.aallam.openai.api.chat.ChatCompletionChunk', but they were missing at path: $
at com.aallam.openai.client.internal.http.HttpTransport.handleException(HttpTransport.kt:52)
at com.aallam.openai.client.internal.http.HttpTransport.perform(HttpTransport.kt:34)
at com.aallam.openai.client.internal.http.HttpTransport$perform$2.invokeSuspend(Unknown Source:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Caused by: kotlinx.serialization.MissingFieldException: Fields [id, created, model, choices] are required for type with serial name 'com.aallam.openai.api.chat.ChatCompletionChunk', but they were missing at path: $
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:93)
at kotlinx.serialization.json.Json.decodeFromString(Json.kt:107)
at com.aallam.openai.client.internal.api.ChatApi$chatCompletions$1$1.invokeSuspend(ChatApi.kt:56)
at com.aallam.openai.client.internal.api.ChatApi$chatCompletions$1$1.invoke(Unknown Source:8)
at com.aallam.openai.client.internal.api.ChatApi$chatCompletions$1$1.invoke(Unknown Source:4)
at io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:50)
at io.ktor.client.statement.HttpStatement$execute$1.invokeSuspend(Unknown Source:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Caused by: kotlinx.serialization.MissingFieldException: Fields [id, created, model, choices] are required for type with serial name 'com.aallam.openai.api.chat.ChatCompletionChunk', but they were missing
at kotlinx.serialization.internal.PluginExceptionsKt.throwMissingFieldException(PluginExceptions.kt:20)
at com.aallam.openai.api.chat.ChatCompletionChunk.(ChatCompletionChunk.kt:14)
at com.aallam.openai.api.chat.ChatCompletionChunk.(Unknown Source:0)
at com.aallam.openai.api.chat.ChatCompletionChunk$$serializer.deserialize(ChatCompletionChunk.kt:14)
at com.aallam.openai.api.chat.ChatCompletionChunk$$serializer.deserialize(ChatCompletionChunk.kt:14)
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70)
at kotlinx.serialization.json.Json.decodeFromString(Json.kt:107)
at com.aallam.openai.client.internal.api.ChatApi$chatCompletions$1$1.invokeSuspend(ChatApi.kt:56)
at com.aallam.openai.client.internal.api.ChatApi$chatCompletions$1$1.invoke(Unknown Source:8)
at com.aallam.openai.client.internal.api.ChatApi$chatCompletions$1$1.invoke(Unknown Source:4)
at io.ktor.client.statement.HttpStatement.execute(HttpStatement.kt:50)
at io.ktor.client.statement.HttpStatement$execute$1.invokeSuspend(Unknown Source:15)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

The fields are marked as nullable, but don't have a default of null, so they're still required but are just able to be null.

Hey @valbaca, are you referring to the ChatCompletionChunk class?
By the way, the OpenAPI specification suggests that these fields are required, but sometimes the specification isn't up-to-date with the actual API :/

I'm also seeing this, I think it happens when the tokens are maxed out but I'm not completely sure about this.

The exception happens when Open AI returns an error instead of a regular response message. Currently, the library swallows error info from OpenAI replacing it with a serialization exception as noted in the title of the issue.
Example of openAI error message:
data: {"error":{"message":"The server had an error processing your request. Sorry about that! You can retry your request, or contact us through our help center at help.openai.com if you keep seeing this error. (Please include the request ID 214a587d9c29eb3136e10b9f1 in your email.)","type":"server_error","param":null,"code":null}}

@aallam it should also support error in the stream

@aallam This issue still occurs when requested a stream request from OpenRouter. Please refer to https://github.com/Taewan-P/gpt_mobile/issues/110 as well if you have time.


XQuartz fails to build

Issue description
mesa-noglu, which doesn't support darwin, is a dependency for xorg-server, which is in turn a dependency for xquartz (which only makes sense for darwin AFAIK), breaking the build.
Steps to reproduce
 nix-env --show-trace -iA nixpkgs.xquartz

should result in:
installing 'xquartz'
error: while evaluating the attribute 'installPhase' of the derivation 'xquartz' at /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'configureFlags' of the derivation 'xinit-1.4.0' at /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'postInstall' of the derivation 'xorg-server-1.18.4' at /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'propagatedBuildInputs' of the derivation 'xorg-server-1.18.4' at /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'handled' at /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/stdenv/generic/check-meta.nix:213:7:
while evaluating 'handleEvalIssue' at /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/stdenv/generic/check-meta.nix:128:28, called from /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/stdenv/generic/check-meta.nix:214:14:
Package ‘mesa-noglu-17.3.8’ in /nix/store/np9vzblwz58gprh62rl0mi6166gb04sf-nixpkgs-18.09pre139198.9d0b6b9dfc9/nixpkgs/pkgs/development/libraries/mesa/default.nix:266 is not supported on ‘x86_64-apple-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Technical details

system: "x86_64-darwin"
host os: Darwin 17.5.0, macOS 10.13.4
multi-user?: yes
sandbox: no
version: nix-env (Nix) 2.0.2
channels(delta): "darwin"
channels(root): "nixpkgs-18.09pre139198.9d0b6b9dfc9"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixpkgs

It looks like this is the commit that introduced this: a798ec30f9bf2741a914c4757260dd855029f63d


[STORM-1667] Log the IO exception when deleting worker pid dir

We find a race condition in supervisor which can sometimes crash supervisor.
This race condition exists because: shutdown-worker is called by both sync-processes and synchronize-supervisor. One pid directory might have already been deleted when rmr-as-user tries to delete it.
To avoid crashing the supervisor, we should log the exception rather than throw it.

Thank you. I will merge it [1257] (https://github.com/apache/storm/pull/1257)

+1 LGTM

+1 Great finding.

+1. Will merge tomorrow after 24hr period has passed.


Current version doesn't work with syfpeithi and mouse alleles

Description of the bug
The current pipeline version doesn't work with syfpeithi and mouse alleles:
WARNING - PREDICTION (syfpeithi 1.0) - No model found for H-2-Db with length 9
Thought the test_mouse with syfpeithi and this particular mouse allele worked before, but not sure.
This needs to be checked, was something changed in this context? It would be good to use syfpeithi as soon as possible for some full-size tests to reduce the required compute resources.
(since the test_mouse uses the protein download path, which anyway doesn't work currently, it probably didn't attract attention recently)
Command used and terminal output
No response
Relevant files
No response
System information
No response

Still the peptide length needs to be checked before peptide prediction is started (will be included as extra process).


Causal leakage via notes with mortality prediction?

For the mortality prediction, I notice you don't look at the timestamp for the notes in the script https://github.com/kaggarwal/ClinicalNotesICU/blob/master/scripts/extract_notes.py. So is it possible that the notes contain info about the death?

Indeed in the paper, it shows that you use all the notes
. Is there a reason why you did this? It is surprising that the baseline notes model still performs worse than the vitals model, even when it has access to notes after the death

Hi, Sorry for the late reply. The time stamp are filtered with this function : https://github.com/kaggarwal/ClinicalNotesICU/blob/9c2b74028d345576560583feb3e5797fc2175f15/models/text_utils.py#L46
Which gets called at: https://github.com/kaggarwal/ClinicalNotesICU/blob/9c2b74028d345576560583feb3e5797fc2175f15/models/ihm_model.py#L197
And as the benchmark paper has defined, the in hospital mortality task is defined only for those hospital stays where death event happened after T=48 (i.e. after 48hours of stay). So we only concatenate text for first 48 hours.


有关给cricket准备编译和运行环境的问题

Can you provide a detailed explanation of the operating system version, Nvidia driver version, CUDA version, cudnn version, GCC and G++versions？

I am unable to compile on Ubuntu 22.04 and have tried many versions of related components, but none of them work. I feel very uncomfortable。

@qwlgit There are installation commands for Ubuntu 22.04 in the Dockerfile that is used for CI:
https://github.com/RWTH-ACS/cricket/blob/master/utils/Dockerfile.ubuntu

Can you provide more details? What is the error you are getting? As mentioned, the Dockerfiles are a good reference to get a working setup.

您好，非常感谢您能回复我的问题，Dockerfile.ubuntu在执行的过程中遇到apt-get install -y cuda命令的时候需要交互，我增加了DEBIAN_FRONTEND=noninteractive保证了能正常完成构建镜像的任务，镜像构建完成后，是如何启动的，我的docker run 的命令有问题吗？无法正常运行，也看不到报错日志。麻烦您看到后，回复一下，或者有其他即时通讯的联系方式的话，我加您私聊。

Hello, thank you very much for being able to reply to my question，Dockerfile.ubuntu needs to interact when encountering the apt-get install -y cuda command during the execution process, I added DEBIAN_FRONTEND=noninteractive to ensure that the task of building the image can be completed normally, after the image is built, how is it started, is there a problem with my docker run command? It does not work properly and you cannot see the error log.

Please reply after you see it, or if you have other instant messaging contact information, I will add you to the private chat.

cpu-libwrap.h:224:21: note: in expansion of macro 'DEF_FN_4'
224 |                     DEF_FN_4 (VA_ARGS),,
|                     ^~~~~~~~
cpu-client-cudnn.c:1355:1: note: in expansion of macro 'DEF_FN'
1355 | DEF_FN(cudnnStatus_t, cudnnSaveAlgorithm, cudnnHandle_t, handle, cudnnAlgorithmDescriptor_t, algoDesc, void *, algoSpace, size_t, algoSpaceSizeInBytes)
| ^~~~~~
cpu-client-cudnn.c:1356:118: error: unknown type name 'cudnnAlgorithmDescriptor_t'; did you mean 'cudnnAttnDescriptor_t'?
1356 | DEF_FN(cudnnStatus_t, cudnnRestoreAlgorithm, cudnnHandle_t, handle, void *, algoSpace, size_t, algoSpaceSizeInBytes, cudnnAlgorithmDescriptor_t, algoDesc)
|                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
cpu-libwrap.h:202:485: note: in definition of macro 'DEF_FN_X'
202 |  P14_TYPE, P14_NAME, P15_TYPE, P15_NAME, P16_TYPE, P16_NAME, P17_TYPE, P17_NAME, P18_TYPE, P18_NAME, P19_TYPE, P19_NAME, P20_TYPE, P20_NAME, P21_TYPE, P21_NAME, P22_TYPE, P22_NAME, P23_TYPE, P23_NAME, FUNC, ...) FUNC
|                                                                                ^~~~
cpu-libwrap.h:224:21: note: in expansion of macro 'DEF_FN_4'
224 |                     DEF_FN_4 (VA_ARGS),,
|                     ^~~~~~~~
cpu-client-cudnn.c:1356:1: note: in expansion of macro 'DEF_FN'
1356 | DEF_FN(cudnnStatus_t, cudnnRestoreAlgorithm, cudnnHandle_t, handle, void *, algoSpace, size_t, algoSpaceSizeInBytes, cudnnAlgorithmDescriptor_t, algoDesc)
| ^~~~~~
make[1]: *** [Makefile:147: cpu-client-cudnn.o] Error 1
make[1]: Leaving directory '/cricket/cricket/cpu'
make: *** [Makefile:33: cpu] Error 2

我通过在容器中还遇到了这种问题

cd ~/Cricket/cricket/utils
docker build -f Dockerfile -t cricket .
docker exec -it cricket /bin/bash
我这样编译构建出来后也不行。

docker build -f Dockerfile.cuda11 -t cricket-cuda11 .

这个方式构建镜像的时候也有问题

I usually don't run cricket-rpc-server inside a container but natively. If you want to run it in the container you need to make the driver available in the container. NVIDIA has documentation on how to achieve this.
Your compiler error is probably because of a new CUDA version, where they removed cudnnAlgorithmDescriptor_t. I guess I need to fix that.

非常感谢您能够再次回复，我用第一个Dockerfile 的方案执行如下命令
cd ~/Cricket/cricket/utils
docker build -f Dockerfile -t cricket .
docker exec -it cricket /bin/bash
编译成功了cricket-rpc-server

然后从容器中把编译好的这个二进制可执行文件复制到宿主机上执行
nvidia-smi界面显示这个进程已经被加载进去了

但是当我执行一个用来测试的pytorch小程序的时候，却报了如下错误

这个pytorch小程序用python执行的时候是正常的

test_apps目录下经过make后的cricket.testapp这个实例是可以正常执行的

但是里面跟pytorch相关的实例yolo.py和pytorch_minimal.py执行会有问题，


Added a gradle build tool plugin

This plugin provides the first pass at completions for the Gradle JVM build tool.

Thanks for the submission... can you toss a brief description on the Plugins wiki page?

Added the writeup to the wiki page for the gradle plugin


Level up the JuMP integration

Fix #10

Codecov Report

Merging #21 (483451b) into main (8adea42) will increase coverage by 0.11%.
The diff coverage is 62.50%.

@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   76.63%   76.75%   +0.11%
==========================================
  Files           6        6
  Lines         214      228      +14
==========================================
+ Hits          164      175      +11
- Misses         50       53       +3

Impacted Files
Coverage Δ

src/attributes.jl
42.85% <40.00%> (-23.81%)
:arrow_down:

src/objectives.jl
40.00% <50.00%> (-2.11%)
:arrow_down:

src/results.jl
78.26% <76.47%> (+41.89%)
:arrow_up:

src/MOI_wrapper.jl
57.89% <100.00%> (-3.65%)
:arrow_down:

Continue to review full report at Codecov.

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


Re-indexing Existing Data -Wso2am v2.6.0 onwards

Description:
I see reindexing the existing data that are already stored in databases configured for WSO2 API-M Analytics documentation/steps to follow in Wso2am v2.5.0. I could not find documentation or steps for the same from  Wso2am v2.6.0 onwards. Could you please share or provide information on how to achieve reindexing of the existing data to reduce the growing size of databases.
Steps to reproduce:
Content Positioning in Documentation:
https://docs.wso2.com/display/AM260/Re-indexing+Existing+Data
Suggested Labels:
Priority/Normal

Analytics data reindexing is not available in APIM 2.6.0 onwords


Multipart file upload

First of all, thanks @ashfurrow for this amazing library!
I need to support file upload using Moya and after look at #114 discussion, I decided to implement my own solution.
I just added a MultipartTargetType protocol and made some extensions to MoyaProvider where the Target matches the new type.
Here is an example:
enum MyAwesomeAPI {
  case EndpointWithImageUpload(NSURL)
}
// Extend from MultipartTargetType
extension MyAwesomeAPI: MultipartTargetType {
   var path: ...
   var parameters: ...
   var method: ...
   var sampleData: ...
   var multipartBody:[MultipartFormData] {
        switch self {
        case .EndpointWithImageUpload(let imageUrl):
                return [MultipartFormData(provider: .File(contentFile), name: "files", mimeType:"image/jpeg", fileName: "photo.jpg")]
        default:
            return []
        }
    }
}
// Call the api
let (progress, response) = RxMoyaProvider<MyAwesomeAPI>()
    .request(MyAwesomeAPI.CallWithImageUpload(fileUrl))

// Do whatever you want with 'progress' and 'response' observables

I had some trouble to compile and test the project. I can create some tests and add to this PR if some one help me with that.
Thank you and enjoy!

Awesome !

This looks awesome! The ReactiveCocoa provider needs a similar extension to add this functionality, we can do that in another PR. I think we do need to write some tests for this feature, though, and ideally add some documentation and a changelog entry. I'm happy to do a screenhero to pair on that sometime next week, probably.
@leonereveel this is fantastic work, well done.

Thank you @ashfurrow! I'm closing this PR and will submit a new one based on master branch. I need to make these changes on 6.4.0 tag because I'm using this in production ¯_(ツ)_/¯.
I'm happy that you liked the code, I tried most not change your current codebase to no affect other functions. I'll be happy to contribute more because I'm using this library a lot and need some features that it's not covered yet like: progress on all calls (download and upload) and caching support.
I'm looking forward the screenhero pair!


Restrict multiple accounts on a certificate, by plugin

This clause only intends to prevent conflicts within the same plugin.
Using the same destination account across plugin types should be allowed.

Coverage decreased (-0.004%) to 62.266% when pulling 0f8a5b0541c0498b95533a2abff8a9b6e38fc12f on douglasc-nflx:restrict-duplicate-account-by-plugin into 328e27edc3d0086825e3be009d0e890b1861fab6 on Netflix:master.


 It assumes the following:

User has run npm install
User has installed deno as part of the setup for unit testing

@mweichert @alexzbusko
I find running tests on commit as an antipattern.
Tests should be run on every commit but on CI, not on a local machine.
Developer should run the test locally whenever he wants.
Running tests on commit makes the whole commit experience super slugish.
We now have only 1 unit tests, I can't imagine waiting 30 seconds or a few minutes on every commit.
My workflow is to commit small changes frequently and this prevent me from doing this.
We should only do quick checks like ensuring the codebase is well formatted (with the help of dPrint PR #695).
I used to think that pre-commit hook is a good place for linting the code but it also makes the commit slower and irritating for a developer.
If we do the -fix version, it may commit some unwanted changes, like removing comments or changing variable names.
If it warns and stop commit, it's super annoying.
I've opened a new PR to remove this pre-commit hook - #719.


Stuck flashing Teckin SP20

DEVICE: Teckin SP20
FIRMWARE VERSION: Didn't think to check before I started flashing- can't connect to Smart Life app anymore to check.
I'm using a Linux Mint 19.3 live distribution on an HP laptop to run Tuya Convert. At first I was using the built-in laptop wifi adapter but could never see the vtrust-flash SSID and start_flash.sh never seemed to do anything.
You can see some representative shell output from one of these attempts in the attached NoSSID_ShellOutput.txt file.
After searching for ideas, I tried using an old Netgear WN111V2 USB wifi adapter I have laying around. Then I could see the vtrust-flash SSID and could connect to it with my Android phone.
The first time I ran start_flash.sh while I could see the vtrust-flash SSID I got the following shell output before :
<snip>
SmartConfig complete.
Resending SmartConfig Packets
...../start_flash.sh: line 129: 16286 Terminated              ./smartconfig/main.py
...................................................................^C....^C.^C.^C.^C.^C.^C.^C.^C.^C.^C.^C.^C.^C.................Device did not appear with the intermediate firmware
Check the *.log files in the scripts folder
<snip>

You can see the full shell output in FirstTry_ShellOutput.txt
After this, the smart plug didn't behave normally anymore. When I plug it in, I only get a brief red/blue flash. Holding the button while plugging it into power didn't do anything. Pressing or holding the button after plugging it in didn't do anything. Pressing the button no longer results in the mechanical relay toggling. I figured I bricked it.
After some more searching and reading, it sounded like it was worth plugging it in and trying again.
So I tried again and now it seems like it connects to the smart plug and starts trying to fetch a firmware backup before a similar looking error.  Here's the shell output:
IoT-device is online with ip <IP_ADDRESS>
Stopping smart config
Fetching firmware backup
./start_flash.sh: line 129: 19644 Terminated              ./smartconfig/main.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 1024k    0  4380    0     0     51      0  5:42:40  0:01:25  5:41:15     0^C======================================================
Cleaning up...
Closing AP
Exiting...

You can see full shell output in SecondTry_ShellOutput.txt
I'm also attaching the logs after the last failures.
Any ideas?
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log
FirstTry_ShellOutput.txt
NoSSID_ShellOutput.txt
SecondTry_ShellOutput.txt

Unfortunately this device is not an ESP82xx as evidenced by the MAC address in your wifi log, and therefor will not work with tuya-convert or ESP firmware like Tasmota.

A couple (hopefully short) questions if you don't mind:
First question:
I saw Teckin SP20 in the compatibility list, so I thought it was compatible.
Should it not be in that list or do some SP20's have the ESP82xx and some do not?
Second Question:
I have some other smart plugs I was hoping to convert. Two are model W-US003 and one looks identical but with zero labelling. I see W-US003 listed here and here as compatible.
Is there a way I can tell if they really are compatible before I try to convert them and possibly brick them?
Thanks!

Should it not be in that list or do some SP20's have the ESP82xx and some do not?

Yes, they have switch chips so while older models are running on the ESP82xx, newer ones are not. See #269

Is there a way I can tell if they really are compatible before I try to convert them and possibly brick them?

Chances of bricking are low, tuya-convert will simply fail on these devices. You can check the MAC address of the device to see if the manufacturer is "Espressif Inc".

My SP20 still seems to partially connect to Tuya Convert and presumably still has the stock firmware since Tuya Convert gets stuck trying to fetch a firmware backup.

This shouldn't happen if the device is not an ESP82xx, but your logs indicate otherwise. Can you check to see if there are logs in your backup folder?

Is it possible to "unbrick" it by letting it go back to using the stock firmware that is still on the smart plug?

If it is indeed stuck on the intermediate firmware, you can go back to stock firmware by issuing curl "http://<IP_ADDRESS>/undo or visiting that address in a web browser while the device is connected.

Thank you for the reply!

Chances of bricking are low, tuya-convert will simply fail on these devices. You can check the MAC address of the device to see if the manufacturer is "Espressif Inc".

When I look at smarthack-wifi.log, I see these MAC addresses:
Using interface wlx0026f28ce028 with hwaddr 00:26:f2:8c:e0:28 and ssid "vtrust-flash"
wlx0026f28ce028: AP-STA-CONNECTED 68:c6:3a:e6:52:ef
wlx0026f28ce028: AP-STA-CONNECTED 2e:95:ab:a7:58:b6

When I check 68:c6:3a:e6:52:ef on http://maclookup.app (I assume that is the smart plug), it shows the manufacturer as "Espressif Inc". If that is correct, then how can you tell it is not an ESP82xx?
Also, what device is 2e-95-ab-a7-58-b6? It doesn't seem to be my laptop or phone or the smart plug. What else could it be?

This shouldn't happen if the device is not an ESP82xx, but your logs indicate otherwise. Can you check to see if there are logs in your backup folder?

The only file in the backups folder is firmware-e652ef.bin with size 4.1kb. Github won't let me attach a file with that extension, but if you want it let me know how to get it to you.
I do have another set of log files from my "FirstTry" described above where I think the smart plug originally got messed up. I am attaching them in case they are helpful.

If it is indeed stuck on the intermediate firmware, you can go back to stock firmware by issuing curl "http://<IP_ADDRESS>/undo" or visiting that address in a web browser while the device is connected.

While running start_flash.sh I was able to ping <IP_ADDRESS>, but when I tried curl "http://<IP_ADDRESS>/undo" the command hung and trying to hit it in the web browser just failed to load that URL.
Does that mean it is bricked?
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log

When I lookup 68:c6:3a:e6:52:ef it shows the manufacturer as "Espressif Inc". I assume that is the MAC address of the smart plug. If that is correct, then how can you tell it is not an ESP82xx?**

My mistake, I must have missed 68:c6:3a looking at this late last night. You are correct that it is an Espressif OUI, I will reopen this issue.

Also, what device is 2e-95-ab-a7-58-b6? It doesn't seem to be my laptop or phone or the smart plug. What else could it be?

No idea. It could be a device that randomizes their MAC address for anti-tracking, like a phone.

The only file in the backups folder is firmware-e652ef.bin with size 4.1kb. Github won't let me attach a file with that extension, but if you want it let me know how to get it to you.

You can attach .bin files inside a zip archive. Though in this case the backup is probably not useful.

While running start_flash.sh I was able to ping <IP_ADDRESS>, but when I tried curl "http://<IP_ADDRESS>/undo" the command hung and trying to hit it in the web browser just failed to load that URL.

Well it is good news that you can ping it. After you issue the command, does the behavior of the device change? Does it allow you to enter pairing mode after that?

Here's a zip of the firmware-e652ef.bin in case it happens to be helpful:
firmware-e652ef.zip
Is the fact that the smart plug MAC address starts with 68:c6:3a a guarantee that it has an ESP8266 or could it still have a different chip that is not compatible?

Well it is good news that you can ping it. After you issue the command, does the behavior of the device change? Does it allow you to enter pairing mode after that?

I don't see any change in the behavior of the device. Still just a single blue/red flash when I plug it in and it is unresponsive to pressing or holding the button.
It occurred to me that I bought two of these identical smart plugs at the same time and both have been connected to the Smart Life app since I got them. The other one that still works reports the firmware as:
No updated available
Wi-Fi Module: 1.0.3
MCU Module: 1.0.3
I assume the now-broken one had the same firmware versions before I tried Tuya Convert on it.

Is the fact that the smart plug MAC address starts with 68:c6:3a a guarantee that it has an ESP8266

Yes. Your backup also confirms this, both because a backup would not be possible otherwise and also because the backup contains the ESP bootloader.
When you reached the backup step, and it failed, did you press Y to continue anyway?
You could retry start_flash (at this point, connecting another device to vtrust-flash is not necessary) and then skip the backup.

No, when the backup failed previously I just stopped then.
I tried start_flash again now and continued after the backup timed-out, but still no luck. I'm attaching my shell output and all the logs from the scripts directory:
ShellOutput.txt
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log
I don't know if it's useful, but here's also a zip of the most recent backup directory:
backups_most_recent.zip

I'm in the exact same boat, same exact symptoms, the quick flash when first plugging in, no AP being offered, can't ping it, can't hold button to enter pairing mode,  Dead in the water.


feat: use rotating api keys in fork unit tests

Motivation
Closes #1643

Solution
rotate various infura+ethalchemy API keys

I assume it works, but it seems like we are out of GHA minutes :/
Edit: Nvm, we're still being rate limited.

yeh, this happens rather quickly and we need this to finally have passing tests again https://github.com/gakonst/ethers-rs/issues/1291


Delete Package view has some bad code/HTML transitions

I'll attach an screen capture.

This shoudl be fixed away with my changes to all the HTML so i'm closing the issue


Donut: config.sortFunction is not a function error

Donut chart without passing sortFunction in website is failing with error "config.sortFunction is not a function".
Happening on @unovis/ts v1.3.0
https://unovis.dev/docs/misc/Donut

Thanks for the quick fix @reb-dev  ❤


Deploy to AWS application repository

Setup metadata for the AWS serverless app repository[1]
Make CI Publish lambda to the repository on every update
Once pubished it will be available in the global AWS serverless repo[2]

[1] https://docs.aws.amazon.com/serverlessrepo/latest/devguide/serverlessrepo-publishing-applications.html
[2] https://serverlessrepo.aws.amazon.com/applications

Should there be a branch 0.0.1 to match the SourceCodeUrl?

yes, that will be created after this PR merges


Output file is written multiple times during a single change-compile cycle

Multiple "wrote output" messages appear in the log when only one is expected. This implies that the shader crate is being built multiple times from one file change, which is a regression.
This implies that the new futures-lite setup isn't respecting the building boolean.
Need to dig in and refactor - take the opportunity to verify that Parallel is actually resulting in effective multithreading; I suspect that only the file watchers and message bus are actually running on their own threads as-is, with everything else being executed on the main thread during the ex.tick() invocation.
As a matter of interest, need to check if multiple threads can run ex.tick() in parallel; that would enable easy modeling of a job system, though is probably not useful in this case on account of the one-build-at-a-time semantic.

As suspected, watcher threads were simply spawning an executor task and exiting, leaving the watchers themselves to be executed concurrently on the executor thread rather than in parallel with the build / write task pipeline.
This discretization of changes and reactions was causing changes to batch up during a build, triggering another immediately upon completion.
This has been amended. In addition, it appears that calling ex.tick() in parallel works, but isn't used here for the aforementioned reasons.


Remove custom setTLSTrustEvaluator

Remove the + (void)setTLSTrustEvaluator:(id)evaluator; stuff and just use the NSURL provided mechanism for auth challenges. It's more complicated but unifies the interface better.

+1

Just an update -- still think this is important, will help avoid auth bugs and oversights.

We hit a bug from this not going through NSURL mechanism... bump!


Allow shared paths to have nested folders

At my work we're pretty enthusiastic about replacing Capistrano with an Ansible-based solution and Ansistrano just fits our needs.
However we have shared paths such as public/assets (full path: /home/deploy_user/deploy/app_name/shared/public/assets).
Ansistrano won't try to create the needed structure (public folder) and it won't symlink nothing at all.

We changed from absolute paths to relative paths so that in case of remounting the volume the symlinks still worked
I am 👎  on the "force" creating shared folders. If you need them you can create them in the hooks or as part of the machine provisioning

@ricardclau Alright, I get your point. It's just that I wanted to have it as close as possible to Capistrano which in fact does the same thing.

Both approaches are very debatable but I personally prefer a symlink fail when there is no destination than having a force flag creating them. Matter of preference, I guess :)
We are thinking about completely redesigning the shared folders feature in an eventual 2.x tag as the current way is certainly far from ideal. #113 would be a good start for that but we still have not taken any actions there.
Same for relative / absolute paths... relative paths are possibly "more correct" but in reality they give more problems than benefits (the ugly regex is the only way I could find for multiple subfolders)


openBLAS build with int64 support fails on valid input for ssyevd

From GDB
ssyevd (jobz='V', uplo=76 'L', n=80000, a=0x7fea6c1ee010, lda=80000, w=0x7ffcd0006450, work=0x7fde7ffed010, lwork=12800480256, iwork=0x7fea6bde2010,
    liwork=400003, info=0x7fea6c90f01c

when passing the above parameters the error occurs with parameter 'lwork' since info returned is (-8). But as per the documentation: http://www.netlib.org/lapack/explore-html/d3/d88/group__real_s_yeigen_ga6b4d01c8952350ea557b90302ef9de4d.html#ga6b4d01c8952350ea557b90302ef9de4d values passed seem correct
Am I doing something wrong here ?

What value for lwork does ssyevd suggest when you run a workspace query (lwork = -1) ?

What value for lwork does ssyevd suggest when you run a workspace query (lwork = -1) ?

12800480256
after calling like this
ssyevd (jobz='V', uplo=76 'L', n=80000, a=0x7fea6c1ee010, lda=80000, w=0x7ffcd0006450, work=0x7fde7ffed010, lwork=-1, iwork=0x7ffce6078cc0, liwork=-1)

Strange. As I read the code, the INFO=-8 is returned when the actual lwork is smaller than 1+6N+2N*N (which should evaluate to<PHONE_NUMBER>1 in your case so the error should not be raised). If the LAPACk ssyevd had inadvertently been built without int64 support I would expect worse things to happen however - probably need to step into ssyevd and have gdb print the lwork and lwmin (or add WRITE statements to the fortran code) to see what is actually happening.

I think it is a problem with int64 build because after building with symbolsuffix flag and adding that declaration manually to cbals.h it operaotrs that weren't earlier working started working

Hm, what exactly did you need to change in the build ? (The symbolsuffix alone should not matter unless you have existing code that expects to call function names that end in _64. Good point that these suffixes probably need to be propagated to cblas.h so that the correct prototypes are available - maybe it was picking up those from another header not belonging to OpenBLAS ?)

Hi,
upon inspection it seems like an issue with Amazon's Deep Learning AMI that causes issues with linking to libopenvlas.so (even after installing update alternatives). Will investigate further and update. An easier way for users to build int64 version(IMO) would be to generate a shared object and header files with _64 suffix so we can clearly add them to PATH and LD_LIBRARY_PATH along with update alternatives.

INTERFACE64=1 SYMBOLSUFFIX=_64 should do this (after #2753), or did I misunderstand your remark ?

@Zha0q1 Can you confirm? @martin-frbg Thanks for quickly providing a fix !

@Zha0q1 Can you confirm whether #2753 solves the issue? @martin-frbg Thanks for quickly providing a fix !

Sure, I replied to the PR last week and have not been able to test the new version. Will find time to do so and reply to the PR directly. @martin-frbg  Thanks for the update!

@Zha0q1 any update on this ?

@Zha0q1 any update on this ?

Sorry for the delayed response. Yeah I was able to build my program with the suffixed declarations. I haven't tried all functions but the cblas_ ones all ran fine. Thanks!

Ok thanks.


V5 cleanup - removes old modules

@iurimatias Just a reminder: In order to have our changelog generator pick up commits the format needs to be:
chore(scope): something something

^ Notice that your commits don't conform this format.
chore commits aren't picked up by changelog generation anyways, but they should still comply with out conventions.

note: commit to revert embark blockchain / embark simulator was reverted

@PascalPrecht I'll squash and fix the commit message. thanks for pointing this out


Polish reports and produce usage as percentage

@HumairAK this should be tied into https://github.com/orgs/operate-first/projects/33
@gagansk the most important information is resource requests (CPU/MEM) per namespace to see the utilization of the environment. Next step would be grouping the namespaces by "team". E.g. ODH requests 33%.
Originally posted by @durandom in https://github.com/operate-first/SRE/issues/327#issuecomment-971560524

@leihchen @hpdempsey Please review this
https://docs.google.com/document/d/1Mg3yjdB18UIScC179XNIIU-kBLZ0nHVq7pkaPB7fEIg/edit?usp=sharing

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
/lifecycle rotten

This issue is still open.  Implementation was delayed while the team moves Curator implementation to an operator.

/lifecycle frozen


Fix Permalinks in documentation

Mistake in recent PR. Attends to #174

Codecov Report

Merging #175 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #175   +/-   ##
=======================================
  Coverage   73.81%   73.81%
=======================================
  Files          36       36
  Lines         317      317
  Branches        2        2
=======================================
  Hits          234      234
  Misses         83       83

Continue to review full report at Codecov.

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


Agree competition evaluation criteria (quantitative and qualitative)

This issue develops ideas for competition evaluation, both qualitative and quantitative.

Some suggestions to get us started:
Quantitative criteria

General phase: Participants submit an agent, which can be constructed by any means, to the EvalAI platform. The platform will average the agent's performance in the Pathways to Net Zero competition environment over an unseen, fixed set of 1000 random seeds.

Lean RL phase: Participants will be invited to submit RL training code. The code must
(i) be contained in a single text file named train.py not exceeding 50kb
(ii) be executable by Python3 within 1 hour on a standard Linux virtual machine (Azure logins will be provided) on which the Pathways to Net Zero environment is installed (the VM will not be able to communicate externally).
For the top 10 teams in Phase 1, the resulting trained agent will be submitted to EvalAI by the RangL team and averaged the same set of 1000 random seeds used in Phase 1.

Qualitative criteria
Each team will be required to submit an executive summary of their entry (as a .md document of maximum 1 A4 page in length at 11 point type). The executive summary should be written in narrative form and address the following points in a manner accessible to the general scientific reader:

Please describe in simple qualitative terms the mix of offshore wind, blue and green hydrogen which you found to be optimal
How does your optimal pathway compare to the IEV scenarios Breeze, Gale and Storm?
Can you explain why your optimal pathway performs better than Breeze, Gale and Storm?
Did you find anything surprising about the IEV model, and do you have any suggestions to enhance it?
Did your approach to constructing an agent improve upon naive RL training (that is, applying standard RL algorithms to the standard competition environment) in any way? If so, how did you achieve this?

I really like this @moriartyjm. I might just simplify the qualitative criteria as follows (merely a suggestion):

the mix of offshore wind, blue and green hydrogen that you found to be optimal;
why your optimal pathway performs better than the standard IEV models Breeze, Gale and Storm; and
in what ways your approach to constructing an agent improves upon naive RL training?

We are particularly interested in improving our standard IEV models. If you have any suggestions for enhancement of any of these models then please feel free to comment. (This element is completely optional.)

the mix of offshore wind, blue and green hydrogen that you found to be optimal;

why your optimal pathway performs better than the standard IEV models Breeze, Gale and Storm; and

in what ways your approach to constructing an agent improves upon naive RL training?

Many thanks Richard, I'd be happy to go with these three questions (plus the optional part).

Interestingly, we found that training was significantly more difficult in the closed-loop problem (ie when the noise is observed step by step) than in the open-loop (when noise is not observed). (In recent testing, the learning curve was actually negatively sloped for the closed-loop version.) The flip-side of this is that optimal performance should be better in the closed-loop version as it has more information available when deciding its actions.
@jia-chenhua has added a switch to the env.py which toggles between open and closed loop. It would be very easy, and also interesting, to have separate open-loop and closed-loop phases to the competition.


Add some automatic python linting

Would help catch lots of bugs and help ensure style conformance.

Plan is to auto-run linting, formatting check, and tests on code submission. for linting, there'll be a blacklist while things are cleaned up.

I've still got more files to clean up, but this is automatic now.

Have we got some docs on how to do this/what our project-wide flags are for autopep8?

By default, autopep8 is fairly lax about whitespace and will for example allow function arguments that span multiple lines to be formatted in a bunch of different ways. This is different from something like clang-format, which enforces a one-true-way of formatting.
You can run autopep8 with two -a command line arguments to tell it to be much more aggressive about reformatting whitespace. Maybe we should consider using that?

I'm happy with the linter in our automated testing enforcing no style regressions and gradually adding things to be linted.


Footer design

Is your feature request related to a problem? Please describe.
I can make the footer as per your requirements and design it accordingly
Additional context
Add any other context or screenshots about the feature request here.

please assign this issue to me .


WAIT_FOR_FUNDING_LOCKED after 16+ confirmations

I thought only 3 confs were needed to start using the LN channel. After a couple hours and 16+ confirmations I still see this waiting for funding notification.
My other channel with ACINQ opened just fine after 3 confs. This is a channel with the Blockstream Store.
Tx ID: 3661c86357a84301a76b0c7a552b7a581d150887b4b0ddf443eed419cef51bce
https://imgur.com/a/hj5tx

After 30 confirmations it was no longer locked.


merge useful changes from the develop-callbatcher branch

Related to #1120, remove the dynamic caller and static and dynamic callbatcher from the develop branch and merge the other changes from the  develop-callbatcher branch

Assigning for awareness of potential regressions.

Merging the refactoring on the current data services generated callers from the develop-callbatcher branch shouldn't cause any regressions.

I didn't spot any uses of CallManager or CallBatcher could in the functional tests, but if I missed any uses of the call batchers or the dynamic caller implementation, that would be expected to cause regressions, which would be fixed by removing the tests.

Under ml-development-tools, the com.marklogic.client.test.gradle.ServiceCompareTaskTest verifies the comparison of the *.api declarations between the default (aka base) service and a customized implementation of the service. Please consider whether that test is adequate for the use case.

No issues seen.


feat(tabs): Introduce Tabs component

This is an initial implementation of Tabs that resolves #30. The design spec for tabs is available here.
Implementation notes

The scrollbar isn't hidden. We'll need to discuss this. (EDIT: We did in #859. We're keeping the scrollbar.)

The first example includes sample HTML for the sections that the tabs would control with the appropriate role, id, and aria-labelledby attributes. Is this fine?

CSS notes

The organization of the SCSS file could probably be improved. Tabs, secondary tabs, and the hover/focus/active states for each are all kinda interconnected.

Some modifiers like pf-m-tabs-scrollLeftVisible are highly specific to Tabs so I included "tabs" in their name. I’m guessing this should be changed to some existing convention? (EDIT: Per @mcoker's recommendation, they're now .pf-m-start and '.pf-m-end`)

Primary tabs need a 3px blue line above them when focused. Removing the existing border-top would make the tab’s text jump, so border-top-color is changed along with adding a 2px box-shadow to achieve the desired effect. It works, but maybe there's a cleaner way?

Questions

A parent container is necessary whenever secondary tabs are used in order to position the fixed scroll buttons correctly (see the example). Should this parent container become a requirement, even when secondary tabs aren’t used?

The hover and focus states weren’t fully specified in the design spec. The contrast of secondary tabs when hovered may not meet WCAG AA requirements. (EDIT: Fixed, now they should)

I’m unsure whether tabs should use the same styling as .pf-m-current when focused/clicked, or if they should continue to look like their hover state until JS finishes loading the tab content and adds pf-m-current. If JS ever fails to load the content the tab shouldn't look active, right?

Future notes

Scroll buttons should probably fade in and out when activated, but because display: none; is needed to guarantee that they don’t appear to screen readers, adding that animation is a bit tricky.

Page 2 of the design spec shows the tab separator stretching past the width of the content area while the tabs themselves stay within it. I’m not quite sure how this would be implemented.

Deploy preview for pf-next ready!
Built with commit a8a96f54833d2b938ac4a55f733486ba8672eef9
https://deploy-preview-868--pf-next.netlify.com

This is looking good @andybraren But there are a few comments I have. First, to address your questions, yes, I agree that the hover state associated with secondary tabs is too light. @mceledonia can you take a look? Good question about whether we should have a "down" state between hover and selection. Do we have this as a distinct visual state for similar components (buttons for example)? I'll defer to Visual Design here.
In comparing the implementation to the visual design, I feel like the border around the tabs is a little heavy. @mceledonia what do you think? Maybe it's just the way the PDF renders but want to make sure the border weight and color is correct.

A few hopefully quick visual changes, good eye @mcarrano .
Border color
#EDEDED
Spacers
Above and below the text should be 8px spacers, just double checking that here.
Primary tab hover state
3px tall top-aligned rectangle, #8B8D8F, other borders still stay #EDEDED.
Secondary tab hover state
I agree this is too light. Let's use our secondary text color, I believe it might be $pf-global--Color--dark-200. It will be a lot more subtle but in use should be a clear change.
Arrow button hover state
Let's reuse the same hover state as primary tab hover state, having that same 3px rectangle appear at the top.
Pressed/Down State
I don't think we have this for other components. It may be something we want to explore, typically you see this as a shade darker than the hover state, or an inner-shadow appearing, etc... Material design has a very cool animated state for this. I don't think this state is crucial but could be nice to have if we want to explore it, though since we don't have it in other components I'm not sure of the best approach for adding it.

Thank you @mcarrano @mceledonia!

Border color is now #EDEDED (is there a global variable for that color?)
Spacers above and below tab text are 8px ($pf-global--spacer--sm)
Primary tab hover state rectangle is now #8B8D8F
Secondary tabs are now $pf-global--Color--dark-200 on hover/focus
Arrows now use the same hover state

The current pressed/down state is the same as the hover state. I can remove this if we want.
I have no idea if this is a possible scenario, but if there's ever a situation where the content of a tab is dependent on JavaScript/React pulling in stuff from elsewhere, some kind of state that indicates that the tab has been clicked but hasn't been populated yet might make sense. My thinking is that if the tab were to immediately switch to the regular unhovered/unclicked state, the user may interpret that as the tab "not working" the way that it should when it's actually just JS being a bit slow. Maybe it's a non-issue.

Good point @andybraren . We will probably need some type of general "loading" state that can be applied in places like this. @LHinson do we have this in the backlog? If not I can open a new issue for this.

@mcarrano we have an issue for skeleton loading #745 and loading guidance #758
I'm not sure if we should address this specifically for tab, rather just as a general rule for loading?

I think this is pretty related to #758 @LHinson . Whatever we do there should carry into tabs. A new issue is not needed.

The tabs look great!
In your original comment, you included this note:

Scroll buttons should probably fade in and out when activated, but because display: none; is needed to guarantee that they don’t appear to screen readers, adding that animation is a bit tricky.

When testing with JAWS, I have noticed that display:none alone is not an effective way to hide elements from the screen reader. The most reliable way to hide something from screen readers is with the attributes hidden or aria-hidden=“true”. Using just display: none; could result in some odd behavior.
I’m copying the following from the Accessibility chapter in Smashing Book 6, from the section titled “Disabling Background Content”:

Is the inactive content hidden from everyone?
“Use CSS display: none. This turns the display off and disables all focusable items inside. If you have to animate it, you can transform opacity and set the display on the last keyframe of a CSS animation or after a setTimeout in JavaScript.”
Excerpt From: Smashing Magazine. “Smashing Book 6: New Frontiers In Web Design.” iBooks.

I found an example similar to what the author describes in this medium article.
P.S. After skimming through the article I mentioned, they suggest that you could effectively hide elements from screen readers using display:none and visibility: hidden. I can test this combination in JAWS later this week when I’m at home.
Here are some other comments based on review:

It isn’t obvious when a selected tab has keyboard focus.
The css removes default browser focus styles for tabs, but not for the scroll buttons.
The scroll buttons and tabs should be placed in the DOM in the same order that they appear on screen—just in case the screen reader user happens to come across them. Here were comments that I had posted in the original sequence PR:

I tested this codepen in JAWS, which is similar to the design we're using. I noticed that the tabs will scroll to the left as JAWS focus moves through the tabs. Unfortunately, the tabs will not scroll to the right as JAWS focus moves through the tabs to the left. And the arrow buttons are visible to the screen reader, but not labeled and not in a DOM order that matches layout. They’re positioned at the end of the tabs, so leaving the last tab, I hear “unlabeled one button” and “unlabeled two button”. They’re not labeled for the screen reader or hidden from the screen reader.
My suggestion would be to place the buttons in the DOM to match the order they appear in the layout (e.g. start button before the list items and end button after the list items). This way, if the screen reader user does need them, they're present in a logical order.

This is probably a topic for our next a11y discussion, but... My suggestion would be to remove the role attributes from this component. Using the roles associated with tabs would require us to manage focus as described by the authoring practices (managing focus, tabs examples).

I'm fine with holding off on changes related to this until we've had a chance to discuss as a team just to confirm what approach we want to take. In a recent meeting, we had discussed our approach to keyboard interaction. My recommendation is that for this initial release, we only focus on enabling the Esc key, and otherwise we rely on keyboard interaction that’s enabled by default (i.e. Tab key to shift focus) instead of managing focus as described in the resources I referenced above. My thinking here is that managing focus in a consistent way across all of our components might be more than we can handle for our initial release, and that this is an enhancement that we should be able to add later to our JS components without resulting in a breaking change.

@mattnolting will you help review this one as well?

Thank you for your comments @jgiardino !

Let me know if using display:none; and visibility:hidden; works just as well as adding a hidden attribute to the buttons in HTML. I imagine controlling that “automatically” through the simple addition of .pf-m-start or .pf-m-end would be preferred by devs, rather than remembering to add the hidden attribute.

I tried to do that keyframe trick but unfortunately couldn’t get the animation to be correct on both fade in and fade out. I’ll try again at a later date.

I agree. @mceledonia  is our intent still to override the default browser keyboard focus styling with our own? If so, active tabs (like “Tab item 2” at the very top of the preview) need a focus state that doesn’t rely on the top rectangle’s color (since active tabs already have one).

If this is a problem we’d prefer to revisit later on, I can re-enable the browser’s default focus style for now.

I’ve removed the focus style of scroll buttons for consistency’s sake, but active scroll buttons have the same problem as 1.
The DOM now matches the visual order. Sub-bullet 1 is referring to that Pen and not this implementation, right? Our buttons have aria-label, and I don’t have JAWS so I can’t test the scrolling behavior you describe.
I’ve removed role=“tab”, role=“tablist”, role=“tabpanel”, and role=“presentation”. I based those attributes on Inclusive Components’ example.

Sounds good, Andy!

Sub-bullet 1 is referring to that Pen and not this implementation, right?

Correct. I borrowed some comments I made when testing the Sequence component. 😉 I can do a full screen reader review tomorrow when I'm working from home. I'd also like to test some other design system implementations of tabs, too.
That's awesome that you read the Inclusive Components article on tabs! I was thinking about making that required reading for the next a11y discussion.  He makes some good points that I'd love to get the teams thoughts on.

This looks like a good time to try our custom focus state. Let's see how it works! You can find a visual reference in #790
Spec:
8px padding on each side of the tab
Fill is #007BBA at 15% opacity
Border is #007BBA at 100% opacity, 1px width, 3px radius

Note: I've removed this component's custom focus states entirely and it now uses the browser's default outline instead. Once #790 is implemented our new styling should apply to these tabs as well.

@jgiardino Just fyi, I've updated this PR and its documentation to include the hidden attribute on scroll buttons whenever they should be ignored by screen readers. I'd still be interested in the viability of a CSS-only solution though (display:none; and visibility:hidden;) to make the React devs' lives easier. 🙂

Hey Andy, here are some notes based on review with screen readers.
The only suggestion I have at this time is to add aria-controls to the tabs. This is noted in the wai-aria authoring practices for Tabs. I included a comment about this below, too.
Using display:none; visibility:hidden; to hide elements from screen readers
This worked in the three screen reader / browser combinations that we test in.
Testing other implementations

Carbon design system

Implementation: use roles, but do not manage focus as prescribed by wai-aria. They do implement left/right arrow keys, but the Tab key also works
Results:

Works in JAWS and VO
It doesn't work as expected in NVDA, which may or may not be the result of using roles without implementing the keyboard behavior. When I shift focus to the tabs, it announces all tabs at once. The only way to shift focus is by using the Tab key.
NOTE: They also use aria-controls which only seems to be supported in JAWS, but since it is recommended in the wai-aria guide, is probably good to include.

Ant design system

Here I was mainly testing their scrolling example, to see how it works with screen readers
Results:

Fails in both JAWS and NVDA, in so many ways...

Material design system

I was also mainly testing their scrolling example, to see how it works with screen readers.
Results:

Works reasonably well in both JAWS and NVDA. There were times in JAWS where a tab with focus wasn't visible (i.e. the edge was visible but not the label, and therefore it didn't scroll over)
This implementation does not include scroll buttons, which I could see as being problematic for some users.

Note to self: @mceledonia noticed the box-shadow appearing within secondary tabs when hovering over that region, and I noticed them flickering in and out when wiggling over that area in Chrome. That should be figured out.

@jgiardino
Thank you Jenn! Sounds like we can avoid requiring devs to add hidden to .pf-c-tabs__scroll-button then and achieve the same screen reader experience with CSS using .pf-m-start and .pf-m-end. Nice!
Regarding this:

The only suggestion I have at this time is to add aria-controls to the tabs. This is noted in the wai-aria authoring practices for Tabs. I included a comment about this below, too.

That links mentions that aria-controls "Refers to the tabpanel element associated with the tab." I removed role=“tabpanel” from the <section> elements in a previous commit. Should I add those back in while I'm adding aria-controls to each tab?

I'm still hesitant to add the tab roles back without committing to implementing the keyboard behavior as documented by wai-aria.
aria-controls can be used for any role. I only mention the wai-aria AP for Tabs because I was being lazy and was trying to borrow their documentation on how to apply it, since we have a similar structure.
It's worth mentioning that aria-controls is only supported by JAWS, and Heydon Pickering wrote an article explaining why we shouldn't use it. But in the comments, Léonie Watson makes some valid points in support of using it.
It's also worth mentioning that in Heydon's article on Tabs, he suggests that a non-aria version of Tabs is to create the "table of contents" pattern that uses anchor links to access the sections of content. But since we ultimately plan to add the roles and keyboard interaction in, I feel like what you have now gets us closer to our ultimate goal.

@jgiardino Thank you for clarifying, and I agree aria-controls is worth adding for the reasons Léonie mentions. I'll add that in soon. Thanks again! 👍

@mcarrano "Filled tabs" has been fixed, thank you for spotting that.

I was just taking a quick look again at your latest updates, and noticed that you have a <button> element as a child of <ul>, which I think is invalid?
Also, a question that would be good to explore in the future is the relationship of the secondary tabs to the primary tabs. Would/should the secondary tabs be included within the tab panel of the primary tab? I think it's totally fine to leave the secondary tabs example as-is for now, and then later revisit it if we find that the react example is using a different html structure.
Great job on this one!!

@jgiardino Agreed, this is one of the last things to fix/figure out. I think @matthewcarleton wants to discuss component structuring with the larger group (should the first element always be the top-level component class?) and we could probably discuss secondary tab location as well.
Thanks, and thank you and everyone else who reviewed for helping me fix things. 👍


Add meaningful test

Extension currently has no tests which is not good.

Closing. No longer maintained here.


ENSCORESW-2850: optimised for single species run

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion;
Review the contributing guidelines for this repository; remember in particular:

do not modify code without testing for regression
provide simple unit tests to test the changes
if you change the schema you must patch the test databases as well, see Updating the schema
the PR must not fail unit testing

Description
Using one or more sentences, describe in detail the proposed changes.
This ensures the xref_parser script works correctly for a single species with a simplified configuration file.
Use case
Describe the problem. Please provide an example representing the motivation behind the need for having these changes in place.
The xref code has been largely updated to accommodate a hive-based pipeline with less manual intervention. As part of this, a default configuration for each division has been set up, removing the need to add every new species in the configuration file. This has broken some of the assumptions in the historical parser script. The proposed fix separates clearly the species_id, which is used as a parameter in the various parsers to retrieve the taxon-specific data, and the division_id, which is used to know which sources to run.
Benefits
If applicable, describe the advantages the changes will have.
The parser can be run as a standalone job on any species and source.
Possible Drawbacks
If applicable, describe any possible undesirable consequence of the changes.
The parser cannot be run on more than one species at a time. This should be done with the eHive pipeline instead.
Testing
Have you added/modified unit tests to test the changes?
The script was run on some sample species.
If so, do the tests pass/fail?
Before the change, sources get submitted correctly for the division, but any source requiring connection to the species database fail, as it is using the division_id rather than the species_id.
After the change, all sources are submitted and run correctly.
Have you run the entire test suite and no regression was detected?
NA

Coverage remained the same at 81.127% when pulling 805432c6909e85f83845641d87ecd7c84c210b9e on feature/parser_simplify into 196f451313cf103a3f4a3a191b5de7948f90b8ec on master.


[FT] Build --only the doc of a specific module.

Here I'm adding the possibility to build the doc of a specific module with the grunt option --only like
grunt build-doc --only=event
grunt build-doc --only=unique
etc...

I just notice that the README is clearly outdated... So I began to updating it...

This PR seems to be obsolete. Moreover UI.Utils modules was split in individuals repositories. If still valid, please consider re-submitting on the dedicated repository.
See the README for details.


[Question] Is there a need to re-pull and recreate toolbox images periodically?

Hi, I want to use the Debian Sid toolbox image with Distrobox.
Since Sid is a rolling release distro, running apt update && apt upgrade should be enough to keep the container updated, right? Is there any benefit to re-pulling and recreating the image?
Also, in case of non-rolling distro images like Debian Stable, what is the best way to upgrade from one release to another: performing the upgrade inside the container or re-pull and recreate?

In general, when you update in place, the image gets bigger on the disk as the new files from updated packages are added to the container.
If you re-pull and re-create from an updated image then you will use less storage but will "waste" network bandwitdh. Both options work.
It's up to you to decide what's the best for you.