Fix #1073, software bus locking

Describe the contribution
The root cause of the mysterious message delivery issues was tracked down to inconsistent locking.  When running on multi core systems a variety of buffer corruption issues were observed.  This fix is really a rework of all CFE SB API implementations toward the goal of more consistent locking patterns to solve this issue.
Because SB APIs make heavy use of event IDs, this presents a challenge because events can only be sent while unlocked.  In order to ensure that all events are generated and all counters are incremented consistently, the functions should run through to the end and not return early, and use a "PendingEventID" register to record what event ID should be sent per the current operation, rather than simply sending the event at the time the condition is identified.
The general pattern becomes:

Initial checks without lock
Lock SB
Perform query/modification of SB pipe/routing tables as needed while locked
Unlock SB
Call into other subsystems as needed (e.g. OSAL)
(Optional) Re-lock SB global to update based on the result of (5), and unlock again
Send pending event ID.

This also employs the CFE_ES_ResourceID_t type and related patterns for managing the SB Pipe IDs.  In particular this (intentionally) makes it not possible to use this directly an array index, and will break code which directly accessed these items without going through the lookup function.
Fixes #985
Fixes #1073
Testing performed
Build and sanity check CFE
Run all unit tests
Also Let CFE run for approx 72 hours, and observed no more "invalid msgid" or memory pool errors.
Expected behavior changes

The CFE_SB_PipeId_t type is no longer usable as a direct array index.  It is also increased in size from 8 bits to 32 bits.   But as a result is now consistent with all other ID types in both behavior and size.  As long as the typedef is used and PipeIds are used only as intended,, this should not be noticeable to apps.
The "pipe stats" structure in the Pipe TLM is also changed.  This structure contained a CFE_SB_PipeId_t value, hence why it had to be updated because the type is now bigger.  The spare bytes are also moved to the end of the struct.

Neither of these are expected to be particularly problematic - just stuff to be aware of.
System(s) tested on
Ubuntu 20.04
Additional context
Not sure if the change to CFE_SB_PipeId_t size (and the TLM message that contains this type) might require an update to cFS-GroundSystem.
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

Note this also fixes #1078 -as  it removes the problematic routine entirely.

Note this also fixes #1078 -as  it removes the problematic routine entirely.

CCB:2021-01-13
Fixes concurrency issues in SB.
Will probably follow up with moving this to a module since there's multiple ways to implement the Resource ID functionality.
Accessing tables using PipeID will no longer be available to external access.
ResourceIDs are no longer recycled and removes risk of PipeID aliasing
Update cFS-GroundSystem to reflect changes in structure sizes.
@jphickey Create "retroactive" issue to document bugs with event and error messages inconsistencies due to lock handling.
Remove lingering unnecessary debug artifacts
Link this to the "remove pipename from pipe structure" #287

CCB:2021-01-13
Fixes concurrency issues in SB.
Will probably follow up with moving this to a module since there's multiple ways to implement the Resource ID functionality.
Accessing tables using PipeID will no longer be available to external access.
ResourceIDs are no longer recycled and removes risk of PipeID aliasing
Update cFS-GroundSystem to reflect changes in structure sizes.
@jphickey Create "retroactive" issue to document bugs with event and error messages inconsistencies due to lock handling.
Remove lingering unnecessary debug artifacts
Link this to the "remove pipename from pipe structure" #287

This is excellent work, @jphickey ! I agree with all of your changes. Given the scope of these changes, how should we test and roll this out? SBN touches a fair bit of SB, and I've been trying to bring SBN up to "caelum". I may try this branch against my code but do we plan to merge into main soon?
(As an aside, I started at NASA as a contractor for a company called Caelum.)

This is excellent work, @jphickey ! I agree with all of your changes. Given the scope of these changes, how should we test and roll this out? SBN touches a fair bit of SB, and I've been trying to bring SBN up to "caelum". I may try this branch against my code but do we plan to merge into main soon?
(As an aside, I started at NASA as a contractor for a company called Caelum.)

BTW- regarding discussion of old versions that are affected by this bug.... I wanted to add one important detail:
Although some general race conditions certainly have existed across SB for quite some time, this particular issue (or at the least the specific race condition that was actually causing failures described in #1073) was introduced as part of the SB API refactor that was done a month or two ago - that is in the transition to CFE_SB_TransmitMsg() instead of CFE_SB_SendMsg().  Specifically the call to CFE_SB_GetBufferFromPool() to get the buffer was not serialized as it needed to be.  In the old CFE_SB_SendMsgFull() implementation in bootes this actually was inside a locked section, but after migrating to CFE_SB_TransmitMsg() it was not invoked from a locked section anymore.  I suspect (though I cannot confirm) that getting the buffer from the pool was the actual problem area causing the bad msg ID errors - because if two tasks call this simultaneously, there is a possibility that they both get the same buffer.
Of course there were a ton of other race conditions as well, such as accessing the pipe/routing table - but these didn't seem to manifest themselves in a noticeable way.
The other race conditions fixed by this PR address problem areas with Creating/Deleting SB pipes and route subscribe/unsubscribe ops.  While Bootes probably has problems there if you push it hard enough, most FSW doesn't do repetitive subscribe/unsubscribe operations enough to expose these problems.
So in other words - I wouldn't necessarily worry about Bootes for normal steady-state message passing.  The specific issue that likely manifested itself as #1073 was introduced more recently.

BTW- regarding discussion of old versions that are affected by this bug.... I wanted to add one important detail:
Although some general race conditions certainly have existed across SB for quite some time, this particular issue (or at the least the specific race condition that was actually causing failures described in #1073) was introduced as part of the SB API refactor that was done a month or two ago - that is in the transition to CFE_SB_TransmitMsg() instead of CFE_SB_SendMsg().  Specifically the call to CFE_SB_GetBufferFromPool() to get the buffer was not serialized as it needed to be.  In the old CFE_SB_SendMsgFull() implementation in bootes this actually was inside a locked section, but after migrating to CFE_SB_TransmitMsg() it was not invoked from a locked section anymore.  I suspect (though I cannot confirm) that getting the buffer from the pool was the actual problem area causing the bad msg ID errors - because if two tasks call this simultaneously, there is a possibility that they both get the same buffer.
Of course there were a ton of other race conditions as well, such as accessing the pipe/routing table - but these didn't seem to manifest themselves in a noticeable way.
The other race conditions fixed by this PR address problem areas with Creating/Deleting SB pipes and route subscribe/unsubscribe ops.  While Bootes probably has problems there if you push it hard enough, most FSW doesn't do repetitive subscribe/unsubscribe operations enough to expose these problems.
So in other words - I wouldn't necessarily worry about Bootes for normal steady-state message passing.  The specific issue that likely manifested itself as #1073 was introduced more recently.

@CDKnightNASA -

how should we test and roll this out? SBN touches a fair bit of

Yes SBN is an important use case that I was not really able to test as part of this - I don't really have any test setups that use SBN.  I'd be hoping that you (or someone!) can pull this into an SBN setup.
Note that aside from the scary-looking refactoring, it actually doesn't change that much in the way of actual logic.  It gets rid of some redundant struct members and consolidates access to the structs into a locked section, but tries hard not to actually change the behavior of the way these things actually operated.

@CDKnightNASA -

how should we test and roll this out? SBN touches a fair bit of

Yes SBN is an important use case that I was not really able to test as part of this - I don't really have any test setups that use SBN.  I'd be hoping that you (or someone!) can pull this into an SBN setup.
Note that aside from the scary-looking refactoring, it actually doesn't change that much in the way of actual logic.  It gets rid of some redundant struct members and consolidates access to the structs into a locked section, but tries hard not to actually change the behavior of the way these things actually operated.

Rebased to "main" branch (2021-01-12 baseline) and resolved conflicts

Rebased to "main" branch (2021-01-12 baseline) and resolved conflicts

CCB:2021-01-21 APPROVED

CCB:2021-01-21 APPROVED


Adjust the sequence of the  widgets in 'Control Center'?

Describe the feature you'd like to improve in Pock
user can adjust the sequence of the  widgets in 'Control Center'?
Describe alternatives you've considered
n/a
Additional context
n/a

This would be great!
Would like to move Lock Computer next to Touch ID.

Same. I also think the Lock Mac button should be placed at the left-most position, right next to Touch ID.


Can you please clearly explains whether AAD B2C is available in Azure Gov Cloud?

I could not find any documentation or guidelines on how to use AAD B2C in MAG. If it is not officially supported, then can we add a statement in that regard in "Azure Gov cloud for developer" documentation?
Main problem is that since this information guidance/documentation is missing, several State and Local Gov customer are trying to test this feature in Azure Gov Cloud (MAG). So if they can create an AAD B2C tenant in MAG, does that mean it is possible to use AAD B2C in MAG?
If AAD B2C is not supported in MAG then why is Microsoft enabling this feature in MAG?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7d38c31a-c048-c398-7343-30f39dbdc2fa
Version Independent ID: 7f55864f-acd4-762d-bd58-11c6d1660057
Content: Compare Azure Government and global Azure - Azure Government
Content Source: articles/azure-government/compare-azure-government-global-azure.md
Service: azure-government
GitHub Login: @stevevi
Microsoft Alias: stevevi

Hi @Anand-Moghe see this article that has a link to products by region dashboard.
https://docs.microsoft.com/en-us/azure/azure-government/compare-azure-government-global-azure#security
You will notice that Azure AD External Identities is currently in Preview with GA targeted for H1 2021.  You can also find pricing for US Gov regions on the pricing page for Azure AD External Identities.  Unless exceptions are noted in the above article, service usage is the same as that described in the main Azure product docs with the exception of endpoints which are listed in the above article under Guidance for developers.
https://docs.microsoft.com/en-us/azure/azure-government/compare-azure-government-global-azure#guidance-for-developers
One more recommendation is to channel these types of escalations to Azure Government Technical Help<EMAIL_ADDRESS>distribution list where hundreds of technical specialists can weigh in and we can also involve relevant product teams if needed.
Let me know if this response addresses your questions.


Filter associations from Docs example ignored

PHP Version
8.1
Shopware Version
<IP_ADDRESS>
Expected behaviour
Example from the docs to Filter associations should be working:
$criteria->getAssociation('productReviews')->addFilter(new RangeFilter('points', [
    RangeFilter::GTE => 4
]));

Actual behaviour
Filter on association is ignored. This is the resulting query:
SELECT `product`.`id` AS `product.id`,
       # [...]
       `product.translation.productVersionId`
FROM `product`
         LEFT JOIN (SELECT `product.translation`.`product_id`,
                           `product.translation`.`product_version_id`,
                           # [...]
                           `product.translation`.`product_version_id`     AS `product.translation.productVersionId`
                    FROM `product_translation` `product.translation`
                    WHERE `product.translation`.`language_id` = :languageId) `product.product_translation`
                   ON `product.product_translation`.`product_id` = `product`.`id` AND
                      `product.product_translation`.`product_version_id` = `product`.`version_id`
         LEFT JOIN `tax` `product.tax` ON `product`.`tax_id` = `product.tax`.`id`
WHERE `product`.`version_id` = :version

How to reproduce
https://developer.shopware.com/docs/guides/plugins/plugins/framework/data-handling/reading-data#using-the-repository
Copy and run the exact example from the documention in the section "Filter associations".
public function readData(Context $context): void
{
    $criteria = new Criteria();
    $criteria->addFilter(new EqualsFilter('name', 'Example name'));

    $criteria->getAssociation('productReviews')->addFilter(new RangeFilter('points', [
        RangeFilter::GTE => 4
    ]));

    $product = $this->productRepository->search($criteria, $context)->first();
}

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-37850.
[created from NEXT-37850, comment 488455]


jsome.colors.attr  = ['blue' , 'bold']; doesn't work

      jsome.colors.attr  = ['blue' , 'bold'];

causes this error:
/Users/edasque/project/jsome_test/node_modules/jsome/lib/generator.js:92
          return chalk[isArray(color) ? color[0] : color](str);
                                                         ^

TypeError: chalk[(intermediate value)(intermediate value)(intermediate value)] is not a function
    at useColorProvider (/Users/edasque/project/jsome_test/node_modules/jsome/lib/generator.js:92:58)
    at useColorProvider (/Users/edasque/project/jsome_test/node_modules/jsome/lib/generator.js:90:18)
    at useColorProvider (/Users/edasque/project/jsome_test/node_modules/jsome/lib/generator.js:90:18)
    at colorifySpec (/Users/edasque/project/jsome_test/node_modules/jsome/lib/generator.js:76:35)
    at Object.module.exports.color.gen (/Users/edasque/project/jsome_test/node_modules/jsome/lib/generator.js:112:24)
    at Function.module.exports.jsome.parse (/Users/edasque/project/jsome_test/node_modules/jsome/script.js:45:30)
    at jsome (/Users/edasque/project/jsome_test/node_modules/jsome/script.js:31:18)
    at Request._callback (/Users/edasque/project/jsome_test/us_dotd.js:548:4)
    at Request.self.callback (/Users/edasque/project/jsome_test/node_modules/request/request.js:198:22)

You're right, It's fixed now :+1:  thank's for your help


[CU-8688nvgq2][CU-8688nvh1m][CU-8688nvh5h] Collection improvements

Task linked: CU-8688nvgq2 Issue #2: Direct to collection Video upload not working, even though all of the file size, format, length, are all within limits
Task linked: CU-8688nvh1m Issue #4: User cannot submit to the collection without first following it. Please change so that the "+" symbol with the "Add from your library" tool tip show up by default and if a user adds something to the collection they auto-follow it
Task linked: CU-8688nvh5h Issue #5: Moderator collection submissions are being misclassified as "Accepted" not "Review" and still need to be accepted in order to show up in the collection:


error for compiling

Three errors find in AppleALC compiling. All of them are related to the kern_start.cpp.
The error shows "Use of undeclared identifier 'arrsize'".
I modified these code to the previous version, and it works fine.
     arrsize(bootargOff), -->sizeof(bootargOff)/sizeof(bootargOff[0]), 	arrsize(bootargDebug),-->sizeof(bootargDebug)/sizeof(bootargDebug[0]), 	arrsize(bootargBeta),-->sizeof(bootargBeta)/sizeof(bootargBeta[0]),

There were changes in Lilu and AppleALC. Compile latest Lilu and add it in AppleALC folder


Doesn't work when you create multiple stores in the same database

When I go to the console in your Quick Test example in Chrome, I type in:
x = new IDBStore({storeName: "x"})

Then I type:
y = new IDBStore({storeName: "y"})

I get a "Failed to set version" error.

Failed to set the same dbVersion twice (default dbVersion is "1.0") with different object store created. just this code below works:
x = new IDBStore({storeName: "x", dbVersion: "1.0"});
y = new IDBStore({storeName: "y", dbVersion: "1.1"});

but I find that when refresh the page, another exception throws again. I think that's really a problem.

Thanks for reporting, I'm checking what's going on there.


Update documentation

Somebody mentioned that I should specifically mention the use of JasperSoft studio for designing the reports. I will add that.

Also, the documentation should be upated to include the configuration of Tomcat headless mode as seen here.


Adds automatic_reboot_time to unattended upgrades

Default is 'now'. With this change you'll be able to change this.

This LGTM


Start making updates/changes we want or I delete this program

I see 'updates' every other day.
however none of these updates has anything to do with what I want and others want.
I've asked for FONT size/style to be added as well as others.
Ability to CLOSE CHATS
But you guys keep refusing to add these very simple features.
Add these features or I will delete this program and go back to my XMPP server.

delete this program and go back to my XMPP server.

Please do. Less stress on their servers. You aren't paying them anyways.


Remove CentOS 5 support

just tried to run the acceptance test for centos5.

selinux::module fails (could not find /usr/share/selinux/devel/Makefile)
selinux::permissive fails (semanage permissive doesn't exist at all)

CentOS 5 will be out of support on 2015-03 so I don't think its worth to invest time.
my proposed solution is to just remove Centos 5 support from metadata.json.

legacy fedora releases should be removed too (Fedora 19-23) from metadata.json

Fedora versions strings probably shouldn't be in the metadata.json

Fedora versions strings probably shouldn't be in the metadata.json

Why? What are yor arguments to remove it?
We do run tests against specific versions of fedora not against unspecified ones.
As a user i'd like to see specific distro versions.
What would happen to rspec puppet facts/facterdb tests which reads metadata json distro and version?

I think we should list what we are running beaker acceptance tests for.

I think it makes sense to support at least:

CentOS/RHEL 6 (latest minor release, and the others best-effort only) and 7.3, and additionally RHEL 7.2 (CentOS doesn't usually support point releases after the next one is released AFAIK, but RHEL does, and not everyone will have updated to 7.3)
Fedora 24 and 25

I'm not sure if there are boxes available for testing against RHEL, but CentOS probably is close enough.


feat: add first slog version

Just adding our current slog. After we tag it we can start improving. Already have better ideas on how to handle adding fields and propagating the log context (the current way doesn't scale well and involve custom handlers). So we should have some improvements on the API coming soon.
The slog library is a thin wrapper around the experimental standard structured log that will be added on Go soon (it was already accepted). We can shift to the standard lib implementation with no impact on our code + there is some extra functionality that a more general/standard library won't do, ours is more specific in assuming things like tracing and config loading from env vars.

LGTM, but I'd like to discuss after, if tracing.Instrument should be inside of slog package, I don't see log-related stuff there

It could be a separate tracing only package, it only references the slog tracing key, but even that reference should be refactored away in a new design.

LGTM, but I'd like to discuss after, if tracing.Instrument should be inside of slog package, I don't see log-related stuff there

It could be a separate tracing only package, it only references the slog tracing key, but even that reference should be refactored away in a new design.

Just to re-iterate...this is NOT a good/final design :rofl:. You can see it as a draft with a lot of bad ideas. My goal is to have a first tag I can reference and already improve it.

LGTM, but I'd like to discuss after, if tracing.Instrument should be inside of slog package, I don't see log-related stuff there

It could be a separate tracing only package, it only references the slog tracing key, but even that reference should be refactored away in a new design.

Just to re-iterate...this is NOT a good/final design 🤣. You can see it as a draft with a lot of bad ideas. My goal is to have a first tag I can reference and already improve it.

Yeah, it was clear to me... That's why I approved but left the comment just that we can have it in mind! :)


chore: upgrade prettier to v3 in website/playground

Summary
This PR will upgrade prettier to currently 3.0.3 and fix problems associated with the upgrade:

function is now async
using prettier.format instead of debug.printToDocString.formatted
add the pluginEstree plugin like mentioned in this prettier issue
@types/prettier has been removed, types are now part of prettier
type PrettierOptions had to be extracted to the types.ts file

Test Plan
I could not find any e2e Tests for the website/playground, maybe some should be added either with this PR or in a separate PR?
From clicking through the playground you can see that it's still behaving as expected
closes #302

Thanks! :)

Thanks! :)

I could not find any e2e Tests for the website/playground, maybe some should be added either with this PR or in a separate PR?

What do you propose?

Playwright comes to mind, I have some experience writing e2e tests with it. Maybe it's an option to check if both the biome and prettier output are behaving as expected


fix RenderingAsset::Relocate

fix RenderingAsset::Relocate for use by the transformer.
sibling PR with tests: https://github.com/iTwin/itwinjs-core/pull/5059
itwinjs-core: https://github.com/iTwin/itwinjs-core/tree/fix-transformer-texture-remapping

@MichaelBelousov what's this waiting on?

@MichaelBelousov what's this waiting on?

flaky tests (link incoming). Last attempt just failed due to what looked like arcgis test changes, but this branch was out of date so just updated it.

@mdastous-bentley @eringram @DanRod1999
Both PR branches are up to date, but I am getting a new cross-platform test failure as of this morning.
--[ FAILURE: @itwin/map-layers-formats ]--------------------[ 18.19 seconds ]--

(node:16256) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

  67 passing (476ms)
  2 failing

  1) ArcGisFeaturePBF
       should log error when readAndRender /  readFeatureInfo is called invalid response Data:
     Error: Assert: Programmer Error
      at assert (D:\vsts_a\126\s\core\bentley\src\Assert.ts:46:9)
  ...4 lines omitted...
  2) ArcGisFeatureProvider
       fetchTile should return undefined when to format defined:
     Error: Assert: Programmer Error
      at assert (D:\vsts_a\126\s\core\bentley\src\Assert.ts:46:9)
      at ArcGisFeatureProvider.fetchTile (src\ArcGisFeature\ArcGisFeatureProvider.ts:45:32)
      at Context.<anonymous> (src\test\ArcGisFeature\ArcGisFeatureProvider.test.ts:769:46)
      at processImmediate (node:internal/timers:471:21)

Any ideas why PR validation might be failing this test? Couldn't reproduce locally with this branch.

@MichaelBelousov assertions only trigger if NODE_ENV=development. Do you have that set locally? We very recently started setting it for CI jobs, to catch failed assertions during tests.

good point. rerunning.

@pmconne you're right, now it fails.
Pulling and running on master

FYI PR to enable assertions during tests included fix for at least one of your failing tests.
  1) ArcGisFeatureProvider
       fetchTile should return undefined when to format defined:
     Error: Assert: Programmer Error
      at assert (D:\vsts_a\4\s\core\bentley\src\Assert.ts:46:9)
      at ArcGisFeatureProvider.fetchTile (src\ArcGisFeature\ArcGisFeatureProvider.ts:45:32)
      at Context.<anonymous> (src\test\ArcGisFeature\ArcGisFeatureProvider.test.ts:769:46)
      at processImmediate (node:internal/timers:471:21)

it also failes on imodel02 locally

ok I'll just try backporting that PR to imodel02 then

@khanaffan @ColinKerr
Something seems broken on imodel02
--[ FAILURE: @itwin/core-backend ]-----------------[ 2 minutes 55.4 seconds ]--
  379 passing (3m)
  1 failing
  1) ECSqlStatement
       getRow() with navigation properties and relationships:

      AssertionError: expected false to be true
      + expected - actual

      -false
      +true

      at /agent/_work/1/s/core/backend/src/test/ecdb/ECSqlStatement.test.ts:2298:16
      at query (src/test/ecdb/ECSqlStatement.test.ts:24:7)
      at async /agent/_work/1/s/core/backend/src/test/ecdb/ECSqlStatement.test.ts:2292:20

Test failure:
Row is:
{
"name":"Child 1",
"parent.id":"0x1",
"parent.relClassName":"Test.ParentHasChildren",
"myParentId":"0x1",
"myParentRelClassId":"Test.ParentHasChildren"
}

where myParentRelClassId is Test.ParentHasChildren, obviously not an id64.

@RohitPtnkr1996 This PR https://github.com/iTwin/imodel-native/pull/146 may have caused this issue.

@pmconne maybe we should consider merging this since imodel02 has this issue directly, and @RohitPtnkr1996 can investigate fixing that?

@rohan-kadkol @khanaffan or @ColinKerr please fix or revert #146.

I'm looking into the failure.
I'll have it fixed soon.


Preserve options in svg graph links

Description
Include options from url hash in svg graph node links.
Motivation and Context
When clicking on the nodes in an svg graph, a graph will load with that node as the root but with hide done and show upstream dependencies unset. This can be very annoying when you suddenly have to load a much larger graph or your graph flips orientation.
In order to preserve these and any future options, we pass the hash with taskId stripped out of it into the dependency graph so it can use that as a basis for the node links. This preserves the options present when the graph was created, which should match the current options on the
page.
D3 graphs also suffer from the same bug, but they are not addressed by this change.
Have you tested this? If so, how?
Ran locally and in production. Willing to write tests once I learn how.

Thanks!


workdir for local and dask executors

Closes https://github.com/AgnostiqHQ/covalent/issues/1619

[x] I have added the tests to cover my changes.
[x] I have updated the documentation and CHANGELOG accordingly.
[x] I have read the CONTRIBUTING document.

Stuff that remains:

Tests (both fixing + adding new ones...)
New Docs

But here is an example that showcases how this works:
If no workdir is specified, the default value is os.path.join(os.environ["HOME"], "covalent", "workdir"). I think that's a reasonable default...
import covalent as ct

executor = ct.executor.LocalExecutor(workdir="/Users/USER/SOME-PATH/try-ct-work")

@ct.electron(executor=executor)
def job(val1, val2):
    with open("job.txt", "w") as w:
        w.write(str(val1 + val2))
    return "Done!"

@ct.lattice(executor=executor)
def workflow(val1, val2, val3, val4):
    job1 = job(val1, val2)
    job2 = job(val3, val4)
    return "Done!"

dispatch_id = ct.dispatch(workflow)(1, 2, 3, 4)
result = ct.get_result(dispatch_id)
print(result)

Similarly for dask executor as well.

CC: @kessler-frost / @AlejandroEsquivel / @santoshkumarradha for some initial comments about the approach etc...

The two new tests pass when covalent server is up and running...
But the CI doesn't start it, thus the failures for now.

This should be ready, CC: @arosen93 @wjcunningham7

@arosen93 @madhur-tandon What do you guys think about moving this attribute to BaseExecutor instead? Thus making the change in covalent/executor/base.py::wrapper_fn instead of io_wrapper. I think this'll be a great feature for all the executors and not just dask and local. @wjcunningham7 any thoughts?

Nice! As for #1628 I think, we should be able to do the same as well (i.e. add to the BaseExecutor).

Oh yeah, my bad, I forgot it's _AbstractBaseExecutor now.

@kessler-frost I am yet to move stuff to wrapper_fn but can you re-trigger CI again? It seems to be failing in uploading codecov reports...

@madhur-tandon Feel free to ping me whenever this is ready for review. I'm excited to include this feature in Covalent 😄 .

@kessler-frost This should be ready!
CC: @arosen93
The subsequent PR will have to make quite a few changes now 😅 but I will be glad to assist in whichever way I can.

Not a problem! I was overly ambitious 😊😉

Hey @madhur-tandon @arosen93 , so since this is quite an important feature, we're still internally discussing about its potential implications on other remote executors and their compatibility with latest covalent. I'll keep you guys posted once we determine what should be the best course of action.

@kessler-frost I will do your suggested changes later today...kinda late because of timezone difference 😅
But, let me know about the course of action and I will adjust accordingly.

@kessler-frost requesting a re-review...

@santoshkumarradha can you re-trigger the version check?

Hey @madhur-tandon @arosen93 ! Sorry, to get back to you guys this late 😅 . After discussion with the team we've decided that for now it's better to keep this feature limited to Dask and Local executors (and any other local-ish ones that might be added later) in order to prevent breaking backwards compatibility of other executors.
Again, I apologize since now you might have to switch back to modifying the io_wrapper function @madhur-tandon 😶 but one good thing is that now we have established that executors should be evolving independently according to their requirements and needs instead of us trying to make general changes for feature additions that might not even be relevant to some of them.
Thanks a lot for working on this 🙏! We appreciate it a lot and these kinds of discussions really help in shaping things.

@kessler-frost Reverted changes here: 0ebb38f099f8591c8b752da88a683f21d392d5b6

@kessler-frost Please don't merge it yet

@kessler-frost This should be ready now with changes reverted...

@arosen93 I have accommodated changes for create_unique_workdir within this PR itself.
CC: @kessler-frost @santoshkumarradha

Just chiming in to say that I've tested this branch on my workflows and everything seems to work as expected! :D Thanks! Looking forward to getting this merged!!

@kessler-frost any ETA on the review for this?

I should be able to finish the review by today eod at max.


Added lowe_bound & upper_bound functions in binary search

Added
- lower_bound
- upper_bound
In binary search files, with respective test cases.
Btw Question: do we really need to follow the signature of passing left and right in binary search, wanted to know reasoning behind it.
Looks like OPs reddit post did make an impact. xD

@sahilverma0696 Thank you for your PR, i actually forgot that i don't have a lower_bound & upper_bound function, thank you for finding out that those were missing. I will merge it soon!

@sahilverma0696 There's one problem with your code(see my commit and run the binary_search.cc test cases). When you're performing upper_bound() for the greatest element(in that case, 100) the function should return the size of the vector and not the index of the element. Remember that the upper bound returns the first index that is greater than x. Since there's no element greater than 100, it should return v.size() and not v.size() - 1. Can you fix that yourself?(it's a minor change)

Hey @spirosmaggioros yes you were correct, I compared the functions that I implemented with std functions. I found mistakes in both of those, so I updated my code and test cases for both.
And provided the test cases compared and tested with std c++ functions.
By the way, I initially followed the convention in the bin_search function to provide the right as vector.size()-1, which caused me issues, so my functions take right as vector.size(), I think we should update the same in bin_search as well now, to maintain the same convention.

Everything seems to work. PR merged!


Remove epel packages during downstream testing if present on the node

Remove epel packages during downstream testing if present on the node and install these packages using the downstream repo
Dependent on https://github.com/ceph/ceph-cm-ansible/pull/167
Signed-off-by: Vasu Kulkarni<EMAIL_ADDRESS>

ceph/ceph-cm-ansible#167 is marked as DNM, so I'll make this DNM too

Whoops, sorry if I stepped on your toes there

@zmc  no problem, will correct

Will this cause problems on CentOS/Fedora? Should we make it only affect RHEL?

@zmc: those os should be safe, this will only affect downstream runs(only rhel for now)


Add Emoji support for hyper terminal.

Hyper terminal renders on canvas which means it supports emojis on all platforms.

cc @nicolas-grekas !

Thank you @azjezz.


Update schema command names & Implement displaying schemas more user friendly

Update schema related command names to smth like:
--avro-schema   for the avro schema (currently --topic)
--schema  for more readable schema <-- to be implemented
--update-schema:= updates schema (formerly --schema)

The simplified schema is implemented here

The feature will be merged once the overhaul of parsing commands is ready.


Create the Node.js/Express server

hey i would like to solve this issue will you please provide me detailed description?


[HOLD for payment 2023-04-07] [$1000] Padding below 'change default skin tone' increases on no result found in emoji picker

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app
Open any report
Open emoji picker
Search for any emoji eg: 'skull' and observe padding below 'change default skin tone'
Search for emoji that does not exist eg: 'skulll' and observe padding below 'change default skin tone'

Expected Result:
Padding below 'change default skin tone' should be same all the time
Actual Result:
Padding below 'change default skin tone' increases on no result found search in emoji picker
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: 1.2.82-3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/224448719-454426eb-6da8-4d43-9ef3-3af32f0d148e.mp4
https://user-images.githubusercontent.com/43996225/224448728-7740762b-da80-4bed-a78b-aa7e23a781ce.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1678467171785959
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019f078af8705c66b2
Upwork Job ID:<PHONE_NUMBER>916753920
Last Price Increase: 2023-03-16

Triggered auto assignment to @anmurali (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@anmurali Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

Job added to Upwork: https://www.upwork.com/jobs/~019f078af8705c66b2

Current assignee @anmurali is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane (External)

Triggered auto assignment to @iwiznia (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Padding below 'change default skin tone' increases on no result found in emoji picker.
What is the root cause of that problem?
It is rendering "No results found" message via <Text> component at line 501
https://github.com/Expensify/App/blob/b69b5f3f31d3054dd9eadb1a284d5efb490daf15/src/components/EmojiPicker/EmojiPickerMenu/index.js#L499-L513
We can see that styles.dFlex is there but styles.flex1 missing, so whenever "No results found" message render at that time it will not occupy all space and so due to that <EmojiSkinToneList> component (it is below that) slightly jump up words.
What changes do you think we should make in order to solve the problem?
Within src/components/EmojiPicker/EmojiPickerMenu/index.js we have to add styles.flex1 for "No results found" Text component as shown below, It will solve the problem. I tested it locally, It works as expected and solve this issue.
<Text
  style={[
      styles.disabledText,
      styles.emojiPickerList,
      styles.dFlex,
      styles.flex1,   // *** ADD THIS ***
      styles.alignItemsCenter,
      styles.justifyContentCenter,
      this.isMobileLandscape() && styles.emojiPickerListLandscape,
  ]}
>
    {this.props.translate('common.noResultsFound')}
</Text>

What alternative solutions did you explore? (Optional)
None

Proposal
Please re-state the problem that we are trying to solve in this issue.
This issue(https://github.com/Expensify/App/issues/15868) seems to be a regression from https://github.com/Expensify/App/pull/15730
What is the root cause of that problem?
We have increased the height of the emoji component from 392 to 416 i.e 416-392 = 24 new space
And increased skin tone padding from p1 to p3 i.e 16 space used
But we have not updated the height of the 'No results' component similarly here - https://github.com/Expensify/App/blob/main/src/components/EmojiPicker/EmojiPickerMenu/index.js#L501 leading to 8 unused space jumping up when we show no results component
What changes do you think we should make in order to solve the problem?

Option 1: Currently we show the 'no results component' for only big screen web devices in which case the emoji picker component has 416 height. So instead of hardcoding height of 'No results component', we can add styles.h100(100% height) here - https://github.com/Expensify/App/blob/main/src/components/EmojiPicker/EmojiPickerMenu/index.js#L507. This way 'No results' component will automatically adjust to the height of emoji picker and we don't need to update the height value of 'No results' component everytime we update the picker height.
Option 2: We can hardcode the height as 296(currently 288 +  8 extra left space) for the 'No result component'.
What alternative solutions did you explore? (Optional)
There are multiple ways to achieve the result by modifying different styles but the above seems the best and future proof.

FYI to contributors there has already been a proposal to fix this regression by @abdulrahuman5196 here, which will be prioritized https://github.com/Expensify/App/pull/15730#issuecomment-1470509444

Proposal
Please re-state the problem that we are trying to solve in this issue.
Height inconsistency for Not Result Found in Emoji Picker
What is the root cause of that problem?
Incorrect height is given for the noResultsFound Text, It is given currently 288px which should be 256px(for 8 rows of emoji flatlist) + 40px(for CategoryShortcutBar)
https://github.com/Expensify/App/blob/20d5fdc373292621311288493eb994b644ef0ac8/src/components/EmojiPicker/EmojiPickerMenu/index.js#L504
https://github.com/Expensify/App/blob/20d5fdc373292621311288493eb994b644ef0ac8/src/styles/styles.js#L1497-L1498
What changes do you think we should make in order to solve the problem?
We can add style styles.flex1 here which will grow with the available height for the notFound Text div element.
https://github.com/Expensify/App/blob/8a04b2c9169a9294011535ce86b4c12018f7fa11/src/components/EmojiPicker/EmojiPickerMenu/index.js#L505
Extra: For Web we need 256px(for 8 rows * 32) height for the emoji flatlist and currently we have 288px, in native we are showing 9 rows where it would be required to 288px. So either we can maintain separate class for web & native OR in native also we can show 8 rows which we can achieve by general change of height to 256px in class emojiPickerList.

@iwiznia, @anmurali, @rushatgabhane Eep! 4 days overdue now. Issues have feelings too...

@iwiznia, @anmurali, @rushatgabhane 8 days overdue is a lot. Should this be a Weekly issue? If so, feel free to change it!

Posted here to make a decision here

@rushatgabhane  Thank you for the review. I have updated the original proposal https://github.com/Expensify/App/issues/15868#issuecomment-1471979737

That will break the emoji screen when we reduce the the screen size.

I think we should not show the 'No results' component in this case as there is no search bar. This would be a different bug and We should create a separate issue for this.
Even though I think the above break is a different bug scenerio, I think we shouldn't break current experience. So I have extended my proposal with an option 3 on why this break is happening and its potential long term fixes with respect to our current bug. Could you kindly have a look into it here - https://github.com/Expensify/App/issues/15868#issuecomment-1471979737?

I like option 2 the best.
But I have a concern - What if we change the padding again in future. Is there a solution that will auto adjust the height?

Yes. I have called out the same in option 3.

Cool, agree. @anmurali let's hire @tienifr

@rushatgabhane @iwiznia  can you plz review my proposal too once?

@iwiznia @anmurali @rushatgabhane this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

@rushatgabhane Could I raise a PR now?

📣 @tienifr You have been assigned to this job by @stitesExpensify!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

Hi @rushatgabhane @iwiznia   the PR is ready for review

Regression Test Proposal
Bug: Padding below 'change default skin tone' increases on no result found in emoji picker
Proposed Test Steps:

Open the app
Open any report
Open emoji picker
Search for emoji that does not exist eg: 'skulll'
Verify that the position of 'change default skin tone' should be the same all the time

Do we :+1: or :-1:

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.92-2 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/16439

If no regressions arise, payment will be issued on 2023-04-07. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@rushatgabhane / @iwiznia] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@rushatgabhane / @iwiznia] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@rushatgabhane / @iwiznia] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@anmurali] Determine if we should create a regression test for this bug.
[ ] [@rushatgabhane] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@anmurali] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Hi @rushatgabhane, @iwiznia , @anmurali , ping for payment.

@iwiznia, @anmurali, @rushatgabhane, @tienifr Whoops! This issue is 2 days overdue. Let's get this updated quick!

@iwiznia, @anmurali, @rushatgabhane, @tienifr Whoops! This issue is 2 days overdue. Let's get this updated quick!

@rushatgabhane can you take care of your items in the checklist? I think I pay and add regression tests last.

So what is missing here? Payment with the regression taken into consideration @anmurali?

@tienifr - I cannot find you on Upwork. Your Slack and GH both don't list your name. Can you post it here so I know how to find you to pay you?

Bump @tienifr

sorry missed this, @anmurali here's my Upwork profile https://www.upwork.com/freelancers/~01991fd5e5c11ef3ba, thanks

Offers sent

Everyone's paid now!

hi @anmurali The PR is merged within 3 days of assignment so unless I'm missing something, this should be eligible for the speed bonus 🙇♂.

@anmurali can you help take a look? Thanks!

hi @anmurali The PR is merged within 3 days of assignment so unless I'm missing something, this should be eligible for the speed bonus 🙇♂.

@anmurali could you help to take a look at this?
@iwiznia just wondering if you can help here if @anmurali is unavailable?
Thanks!

Thanks!

Done. @tienifr if you have asked her once and haven't received an answer in a week perhaps you can ping in Slack and tag the person you are waiting on instead?

@anmurali sure I'll take note of that, sorry for any inconvenience 🙇


Remove the unused DirectExchange

See: https://github.com/unchartedsoftware/sparkplug/blob/develop/sparkplug-listener/src/main/java/uncharted/sparkplug/spring/SparkplugConfiguration.java#L77

No Java, no bug!


Clarify secure cluster info (#548)

@mglukhovsky - see if this is a little clearer on how to set up VPC security groups. Part of it was already in our AWS documentation, but captioned "Cluster administration," which I don't think was really accurate.

Who should review this? @mglukhovsky @Tryneus ?

Just reviewed this, it looks good. Merging!


There are no tests!

Project has been updated so that there is now something to test.
There are now 2 components, Home and Downtown.
Home has a simple input form that updates the text displayed on the page.
Downtown has a simple input form to accept only a numeric input and sum it with a predefined set of numbers and all previous inputs.
Test runners have been added
Karma, Mocha and Chai have been added. Only thing left to do is to add unit tests.
Protractor has been added but doesn't seem to be set up properly.
Karma now deploys to puppeteer, next step will be to add e2e tests.

These are the tests I'd like working.

unit tests making sure whatever methods within are working
e2e tests making sure stuff is displaying properly

tests should be in both Protractor and Puppeteer


Requiring from Node

I'm working on an isomorphic/universal (Whatever you call it) App in React. I decided to check out Formsy and have come across a big problem: I cannot use your library from Node environments because the published files to npm are in their raw, jsx form.
It's common practice for libraries that use alternative flavours of javascript to run a transpilation step in prepublish script - any chance this could be done for formsy? Otherwise I have to install babel on my isomorphic run time and instruct it to transpile node_modules - the same would go for mocha testing - or I would have to run the isomorphic app through webpack before using it in a node environment and I would have to use mocha-webpack (which is a PITA).
Both of these are really unacceptable overheads and I would rather switch to another library - which is a shame, because I'm impressed with how expressive this library is - but I don't want to have to change my entire toolchain around it.
You'd just have to run babel against the ./src folder and output it to ./lib (or similar of choosing) and then point your package.json to ./lib/main.js rather than ./src/main.js.
Using require('formsy-react/release/formsy-react.js') shouldn't really be the way to do this IMO. Webpack craps itself if you hand it a pre-built file.

Jup, agreed, https://github.com/christianalfoni/formsy-react/issues/206


Update actions

to fix deprecation warnings. see

https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

no breaking changes as far as i could tell.
see

new-fxserver-version-released https://github.com/madmini/fxserver/actions/runs/9810004644
docker-publish-tag https://github.com/madmini/fxserver/actions/runs/9810088735
https://hub.docker.com/r/dermini/fxserver/tags

Nice !
Thank you !


Remove Unity

Due to recent circumstances, I believe it it wise to move away from Unity and use Godot instead.
:)

Great idea! After 5 years

fair enough.

This sort of PRs would usually make me roll my eyes and sigh deeply but I will say you got a chuckle out of me.
I doubt this'll ever go through but we appreciate the meme value you provided. 😆


As a dev, after performing validation, I want an easy way to query the results

There is an interface (which might need amending) that presents an API for querying for validation results.  I'd like to implement this.

Blocked by #67


Check for updates support

This comment is a quick note to self. I'll explain more about my ideas here another time.
If we go the asar downloading route, we should keep track of and display two version numbers, one for the asar, and one for everything else.
I think if we want to use WiX minor upgrades we would need to manually modify the WiX config files for each release. We're trying to push for more automation, so I think that idea is out. So then, I'm thinking that running the installer will always do a major upgrade, and we can use asar downloading for most automatic updates. In a case where asar downloading won't cut it, we can ask the user for permission to download the (much larger) full installer, and run it for them.
On OSes that support it, we should check for metered connections.

The update zips should contain the full app, except for the auto update script and the utilities it relies on. This way we don't try to overwrite anything that we're currently in the process of using.

Closing this, consolidating to NoahAndrews#31.


a11y: fix controls contrast ratio

Description
Fixes contrast ratio issues found for some of controls, making text contrast ratio above 4.5. See screenshots and linked bugs for more details
Switched some places to neutralPrimary for text color as it is the preferred text color to black.
Task Item

VSTS 70114
VSTS 70437
VSTS 70442

Screenshots
Before

After

#minor

Coverage remained the same at 55.954% when pulling ba4645d0c92f15df7a6dc272af145f2be76b0871 on OEvgeny:a11y/interactive-contrast into f5208f0a1a860e75df1da47b4af670e1fb483f05 on microsoft:main.


[ON HOLD] Show popup message if queue ticket state changes to 'unstaffed'

Jira issue:
https://glia.atlassian.net/browse/MOB-1592
Additional info:
Bitrise will fail the build because Core SDK changes are missing now
Screen recording:
https://user-images.githubusercontent.com/57521863/202743755-9e33e708-a346-4a0c-a95a-bddf689d336a.mov

Closed in favor of this PR.


Possibility to enable/disable mqttlive

Should be placed in ajax.cgi:
If mqttlive is stopped, it should be disabled and not be started again after reboot. If enabled, it should start on boot.
Should be configrable in stats4lox.json (and Globals.pl).

[ ] stats4lox.json: enabled/disabled setting (default: enabled)
[ ] Install: Parse setting
[ ] Cron.reboot: Parse setting
[ ] MQTT Live UI: Parse setting and disable UI


Restructure sipa/utils

The package sipa/utils could be cleaned up a bit, especially these functions hanging around in __init__.py__ coud be moved somewhere better.

Are there (unit-)tests to verify that refactorings do not introduce new bugs?

No, not currently.

I believe everything in this folder could be moved to one level above. utils/__init__.py can be named misc.py.
Concerning unittests, I urge whoever might resolve this issue to ALWAYS do the following:

Move a module
See if it breaks the tests
If not, write a test, or create an issue
If yes, fix the code accordingly, so the tests will pass again

@janLo By the way, concerning “are there unittests”, let me give you the following update:
In my current major refactor of the mail_utils, there were some unit tests and some primitive integration tests (submitting the contact forms). Because of the refactoring however, the code became a lot more modular, which lead to a significant extension of the unittests and an increase in logical coverage.
(Yay, I improved over the last year :smile:)


Need docker inside action container

Hey there, I'm trying to run this action on a stack that includes the PythonFunction construct, which requires the machine where you run cdk synth to have docker installed.
This aws-cdk issue exposes the same problem: https://github.com/aws/aws-cdk/issues/9348
Here is the error I'm getting:
2021-04-07T13:00:04.6745024Z Traceback (most recent call last):
2021-04-07T13:00:04.6745616Z   File "app.py", line 10, in <module>
2021-04-07T13:00:04.6746496Z     CardiaCdkStack(app, f"{env}-cardia-cdk")
2021-04-07T13:00:04.6747588Z   File "/usr/lib/python3.8/site-packages/jsii/_runtime.py", line 83, in __call__
2021-04-07T13:00:04.6748372Z     inst = super().__call__(*args, **kwargs)
2021-04-07T13:00:04.6749123Z   File "/github/workspace/cardia_cdk/cardia_cdk_stack.py", line 32, in __init__
2021-04-07T13:00:04.6750027Z     input_bucket, lambda_sign_url = setup_signed_url(self, removal_policy)
2021-04-07T13:00:04.6750962Z   File "/github/workspace/cardia_cdk/signed_url.py", line 21, in setup_signed_url
2021-04-07T13:00:04.6751831Z     lambda_sign_url = _lambda_py.PythonFunction(
2021-04-07T13:00:04.6752914Z   File "/usr/lib/python3.8/site-packages/jsii/_runtime.py", line 83, in __call__
2021-04-07T13:00:04.6753695Z     inst = super().__call__(*args, **kwargs)
2021-04-07T13:00:04.6754754Z   File "/usr/lib/python3.8/site-packages/aws_cdk/aws_lambda_python/__init__.py", line 253, in __init__
2021-04-07T13:00:04.6755919Z     jsii.create(PythonFunction, self, [scope, id, props])
2021-04-07T13:00:04.6757066Z   File "/usr/lib/python3.8/site-packages/jsii/_kernel/__init__.py", line 275, in create
2021-04-07T13:00:04.6757949Z     response = self.provider.create(
2021-04-07T13:00:04.6759136Z   File "/usr/lib/python3.8/site-packages/jsii/_kernel/providers/process.py", line 344, in create
2021-04-07T13:00:04.6760173Z     return self._process.send(request, CreateResponse)
2021-04-07T13:00:04.6761392Z   File "/usr/lib/python3.8/site-packages/jsii/_kernel/providers/process.py", line 326, in send
2021-04-07T13:00:04.6762453Z     raise JSIIError(resp.error) from JavaScriptError(resp.stack)
2021-04-07T13:00:04.6763400Z jsii.errors.JSIIError: spawnSync docker ENOENT

https://github.com/aws/aws-cdk/issues/9348#issuecomment-678440912 mentions a potential fix, although implementing the "build script" portion - specifically the docker run volume mounting - in this Action might be a bit tricky, probably with https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontainervolumes.

https://github.com/ScottBrenner/aws-cdk-action/pull/54#issuecomment-2052729919


Improve installation portion of Vagrantfile

Consistently use the install_package function
Avoid installation of java 8 if already installed
Add pseudo-code for optimizing all package_install invocations in the case of a package already being installed.
Group together all java-related installation/setup steps
Use the PREFIX variable consistently for output logs

@dsKarthick & @jessicalhartog: can you please 👀 when you have a chance?

:shipit:


Password spray attack against Azure AD application

It would be great if the alert for this listed the accounts that are being attacked in the entities list. Right now the only thing that shows up is the IP address which isn't very helpful. I tried to add it using Entity mapping but UserDisplayName is part of a make_set.

Did this get addressed? Nothing looks different

Sorry for the delay on this and thanks for the suggestion.  Normally in the password spray attack the same password is used on many accounts before moving on to another one and repeating the entire process again.  Due to the number of possible accounts involved in a password spray it feels like it might not be optimal to map accounts to entity.

Nothing looks any different. Did you change anything?

Hi @anfisher1967, thank you for your suggestion regarding mapping accounts to entities in password spray attacks. As @aprakash13 suggested above, while this approach may work well in some cases, in the case of a password spray attack, it may not be the most optimal solution. This is because the attack involves trying the same password on many accounts before moving on to another one and repeating the process. With the number of accounts involved, mapping each account to an entity may not be the most efficient way to approach the problem. However, we appreciate your input and always welcome feedback on our processes.

Gentle Reminder: We are waiting for your response on this issue. If you still need to keep this issue active, please respond on it in the next 2 days. If we don't receive response, we will be closing this issue as per our standard procedures, thanks!

Since we have not received a response in the last 5 days, we are closing your issue as per our standard operating procedures. If you still need support for this issue, feel free to re-open at any time. Thank you for your co-operation.


Input box get unfocused on type

There is a known bug with react where if you were to use useState for retaining the state of an input field, the field will get unfocused on every keystroke because the state procs a re-rendering in React
Right now the only known place where this is happening is Connect Preferences that I know of, but I guess it'd happen to any other input fields we use.
https://stackoverflow.com/questions/42573017/in-react-es6-why-does-the-input-field-lose-focus-after-typing-a-character
There is a few solutions there that seems like quick fixes. I haven't had luck with them and we might need a component rewrite.
Another band-aid solution is to use the debounce fuction so people will be able to type their number whole. The input will be still unfocused but it wont be as bad UX

So a interesting addition is that this PR doesn't has this bug even though it uses a similar code to the others. It would be a nice start to figure out why it happens #192


deploymentmanager mgmt 2018-09-01-preview has invalid arguments

See generated function signature:
https://github.com/Azure/azure-sdk-for-rust/blob/7fe8710117d1ea80b75a149fcc6492a8b83df090/services/mgmt/deploymentmanager/src/package_2018_09_01_preview/operations.rs#L8-L16

start_time_utc

This looks like a bug in the spec to me. For operations ServiceTopologies_Get , the paths params or also added to operation params.
specification\deploymentmanager\resource-manager\Microsoft.DeploymentManager\preview\2018-09-01-preview\deploymentmanager.json


Fix bug in Network.Haskoin.Crypto.Mnemonic.numCS

Added tests to demonstrate checksum validation failures for checksum lengths of 8.

Failing tests added; bug not fixed
Bug fixed; tests pass

😊👍

Oh, and by the way, thank you very much for catching this bug and providing a patch!

You’re welcome! Happy to help.
On Fri, Nov 24, 2017 at 11:46 AM Rune K. Svendsen<EMAIL_ADDRESS>wrote:

Oh, and by the way, thank you very much for catching this bug and
providing a patch!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/haskoin/haskoin/pull/325#issuecomment-346888518, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABGTysFrrOZ9KRmAfhp3wm9eyHFn5Eljks5s5x0GgaJpZM4QPKM0
.


Squiggle Read assertion failed

I saw a similar thread (https://github.com/jts/nanopolish/issues/137) but it's close so I'm opening a new issue. Nanopolish eventalign (V 0.7.0) throws an error when using Albacore (latest version) called 1D files.
nanopolish: src/nanopolish_squiggle_read.cpp:263: void SquiggleRead::_load_R9(uint32_t, const string&, const std::vector&, const std::vector&, uint32_t): Assertion `fields.size() == 4' failed.
I checked the fast5 file contents using h5ls and it seems the events data is correct:
/                        Group
/Analyses                Group
/Analyses/Basecall_1D_000 Group
/Analyses/Basecall_1D_000/BaseCalled_template Group
/Analyses/Basecall_1D_000/BaseCalled_template/Events Dataset {5735}
/Analyses/Basecall_1D_000/BaseCalled_template/Fastq Dataset {SCALAR}
/Analyses/Basecall_1D_000/Configuration Group
/Analyses/Basecall_1D_000/Configuration/basecall_1d Group
/Analyses/Basecall_1D_000/Summary Group
/Analyses/Basecall_1D_000/Summary/basecall_1d_template Group
/Analyses/Segmentation_000 Group
/Analyses/Segmentation_000/Configuration Group
/Analyses/Segmentation_000/Configuration/event_detection Group
/Analyses/Segmentation_000/Configuration/stall_removal Group
/Analyses/Segmentation_000/Summary Group
/Analyses/Segmentation_000/Summary/segmentation Group
/Raw                     Group
/Raw/Reads               Group
/Raw/Reads/Read_99       Group
/Raw/Reads/Read_99/Signal Dataset {42420/Inf}
/UniqueGlobalKey         Group
/UniqueGlobalKey/channel_id Group
/UniqueGlobalKey/context_tags Group
/UniqueGlobalKey/tracking_id Group
Example events:
(5679) {114.222, 4.19762, 197.178, 0.00166003, "GTAAC", 1, 0.999999, 0.675906, "GTAAC", 0.675906,
(5679)  0.864481, 0.049184, 0.0690395, 0.0172961},
(5680) {90.3697, 2.53127, 197.18, 0.00166003, "GTAAC", 0, 0.999991, 0.723124, "GTAAC", 0.723124,
(5680)  0.85561, 0.0339254, 0.0685387, 0.0419265},
Is this a known issue? Shall I try the latest nanopolish version?
Thanks!

Yes, please try the latest version. You'll have to re-run nanopolish extract.

Thanks Jared! I installed the latest nanopolish and reran nanopolish extract on 351 testing reads but got the following message:
Realigned 256 reads in 0.0s
Realigned 351 reads in 0.0s
[post-run summary] total reads: 336 unparseable: 0 qc fail: 0 could not calibrate: 2
[post-run summary] total reads: 309 unparseable: 0 qc fail: 0 could not calibrate: 0
The extracted fastq file looks like this:
@c126afde-03a4-4d2..._Basecall_1D_template:1D_000:template sequencing_run_test_52473_read_48_ch_113_strand Data/0/dhcp_226_195_sequencing_run_test_52473_read_48_ch_113_strand.fast5
TGTTGGCGCTTCGTTCAGTTG...
+
/+((--3')0)9;EA8330556/'&)...
Any insight?

Hi,
That summary message looks fine to me - it should be read like this total reads: 336, unparseable: 0.
Jared

Haha I see!!
One additional question for you regarding to variant calling pipeline. I used eventalign and then nanopolish variants. Is it the right way to do it? Many thanks in advance!
1. Get event aligned sam and bam
nanopolish eventalign -t $threads --reads $reads_fq --bam $reads_bam --genome $ref.fa --progress --sam
samtools view --threads $threads -bs - | samtools sort - -o $event_bam
2. Call variants using original reference ($ref.fa)
nanopolish variants -t $threads --reads $reads_fq -o $reads_vcf -b $reads_bam -e $event_bam -g $ref.fa --ploidy 1

The eventalign step is unnecessary (the tutorial you are probably following is out of date), you can just do:
nanopolish variants -t $threads --reads $reads_fq -o $reads_vcf -b $reads_bam -g $ref.fa --ploidy 1

Thank you Jared for the input! So event data is no longer used for nanopolish variant calling?
To be completely sure, the pipeline I have is:

Albacore basecalling to get fastq file
bwa align fastq to get bam
nanopolish variants: input bam, fastq and the original reference genome; output VCF

Do you suggest an additional step to polish the reference genome?
And did I understand right that nanopolish need both bam and fastq as input? I thought bam already contains all the information of fastq?

Yep, that looks good!
Event data is still used but we don't need to align events to the reference genome first (this is handled internally by nanopolish variants now)
The fastq contains additional information that isn't in the BAM (paths to the fast5 file) so both are needed.

Makes perfect sense! And it's much more intuitive now :) Thank you again!!


Register / Login

Unable to login with user created by admin in webui.
POST http://domain.com:8080/auth/signup 403 (FORBIDDEN)
controllers.js:828 Object {data: Object, status: 403, config: Object, statusText: "FORBIDDEN"}
Error! Unauthorized access. No customer lookup defined for user<EMAIL_ADDRESS>#alertad.conf
AUTH_REQUIRED = True
ADMIN_USERS =<EMAIL_ADDRESS>CUSTOMER_VIEWS = True
ALLOWED_EMAIL_DOMAINS = ['domain.com']
CORS_ORIGINS = [
'http://domain.com',
]
#config.js
'endpoint'    : "http://domain.com:8080",

Log in as the admin user and go the the "Configuration" -> "Customers" page. Add an entry for the user email address (or the entire email domain) and give it a customer name.
Note: Customer views are optional. If you don't want the hassle of setting up customer lookups for users the change CUSTOMER_VIEWS to False.
If you're still having trouble with this join us on Gitter.

Fixed by guardian/alerta#134


Move specific language related functions in the language module

The fact that this is Rust-specific stands out. Eventually we should aim for the generate_code path to not contain anything specific to a target language; ideally generate_code would only call methods that discuss the target language in abstract, with methods on Language containing all of the language-specific bits.

Originally posted by @zslayton in https://github.com/amazon-ion/ion-cli/pull/61#discussion_r1394747716

Completed with #81


ingress: don't use private ip, make ipv6 optional

The rationale for this PR has been documented in https://github.com/kube-hetzner/kube-hetzner/issues/18#issuecomment-1019993588. I believe that usage of kube-hetzner together with external-dns is broken without this settings - using cloudflare proxying just hides the issues, because cloudflare seems to filter the private IP automatically.
With this PR it should work both, with or without proxying as well as for other DNS providers supported by external-dns

Perfect, great improvements! I hesitated a little bit about turning off ipv6 by default, but we can always do that later. Thanks!


provide a easy way to know the percentage of animation?

For example, I change a cube's x position using spring, and want the background-color to change proportion to the percentage of animation. Is it possible?

It is possible. You can calculate the percent yourself by dividing the interpolated value for x by the destination value of x:

const Cube = (props) =>
  <Motion style={{x: spring(porps.x)}} >
  {
    interpolatingStyle => {
      const percent = interpolatingStyle.x / props.x;
      // return the rendered cube
    }
  }
  </Motion>

I've thought of your solution, but it has several problems

What about the start value of x? I need to store the start value of x. Things get more complicate if the start value of x is a intermediate value of last motion animation (the last motion is interrupted by this current motion)

You solution gets the x percentage, not the progress (or time) percentage
Assuming props.x being 100, x being 50, the percent will always be 50%, but the progress percentage might be 10%, 50%, 90%, with different stiffness and damping.

If the wobbling is significant, your x percentage might be 120%, while progress percentage is always in range of [0, 1].

My trick is to set the a motion style percentage: 0 and percentage: spring(1), then I'll get a progress percentage.
But if I chain two animations, I have to use percentage: spring(2) for the second animation... because percentage is already 1 at the end of the first animation

There is no such thing as "percentage" of spring animation. Every single step depends on the previous one and the target value. Since target value can be changed anytime, animation is potentially indefinite and so you cannot say for sure when it is 50% or 90%.
This is one of essential differences between Spring-based animations and time-based.
I reckon you can approximately calculate overall duration given that target values will never change, just find a formula to use for this (having spring params, start and stop values). This can be done totally outside of ReactMotion component itself

@nkbt  Thanks for your advise. Actually I just want to animate color while animating offset, but React-Motion doesn't support it. It would be great if React-Motion supports animating color.

@lzl124631x you can animate arbitrary numbers with react motion, and derive color from that number. Effectively:
 <Motion style={{value: spring(255)}} >
  {({value}) => {
    const color = `rgb(${value}, ${value}, ${value})`;
  }}
</Motion>

This brings up a very valid opportunity for react motion. Indeed, you can easily spring to and from arbitrary numbers, but technically you wouldn't be able to interpolate anything that is a non number without keeping a detailed history of changes from non integer to non integer, and even then you are still a few complicated steps away from coercing that backing number into an interpolate that supports non numbers.
That's a lot to take in and think about, but for me its becoming a large problem. If we could solve the non number interpolation problem, anything would be possible.

@tannerlinsley The "non-numbers" are effectively number-based if they can be interpolated. It's just the question of functional mapping from number to non-number, e.g. this:
const color = `rgb(${value}, ${value}, ${value})`

But the notion of "percentage of animation", i.e. how close are you to the "end moment in time of the animation" (versus to the "target value of the animation"), is not applicable to physics-based animations which Motion provides by default with spring.

@sompylasar Right. The concept is very straightforward to interpolate anything using an integer, but the architecture and current api for react-motion doesn't make this very easy to do with strings, hexColors, paths, etc.
A good example of this is animating a string. The amount of overhead the user would have to take on to build a linear conversion scale from one string to another is massive.  Luckily, d3-interpolate can handle that for you.
If we assume that, then the problem boils down to finding a reliable way to construct the interpolator and percentage on every value change:
const interpolator = d3.interpolate(currentString, newString)
const percentageFromAtoB = ??? // Not currently possible with the given api
const val = interpolator(percentegeFromAtoB)

Even though it's not natural for a physics based animation system to know of the percentage between the current and destination value, it is possible.  You need to be able to:

On change, use react-motion to spring from n to n + 1
Keep track of oldValue, newValue,  oldN, and n
Update the interpolator to use oldValue and newValue
Utilize the decimal created from n - oldN to be utilized as the interpolator percentage

You should check out https://github.com/chenglou/react-motion/issues/153#issuecomment-284824453.  It's a (very shrude and quick proof of concept) abstraction that does exactly this.  I would love some feedback.

This block initially gave me the impression that it would be fairly easy to accomplish this, but it makes a very limiting assumption that the values you want to interpolate between are binary and that you must be explicit with both the from and to.  Still a great block, but stopped halfway to where I was hoping it would land :)

@tannerlinsley Good job there! I meant one cannot get the time-based percentage because the time moment when physical animation ends is not known in advance, without premodeling it. The value-based percentage can definitely be obtained, that's what is in the block you've shown. And it might overshoot in case of a spring (the complex easing curves can, too, so it should be fine).

Added generic issue to cover this in README https://github.com/chenglou/react-motion/issues/494
If anyone wants to PR - that would be super awesome!


Extensions and Roles

Hi,
This may be a documentation question or a needed new feature?
I have the following code that currently i need to run against a new Postgres DB
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE ROLE web_anon NOLOGIN;
CREATE ROLE admin NOLOGIN;

I do this to enable the UUID extension in Postgres and also to setup some roles so that later grant statements work correctly.
Is there a correct place to put these seed statements that really should run first before any schema creation is done? (especially as they apply to the DB and not a specific table)
Thanks
Mark

Hi, this is a needed new feature. You can track this issue for a generic setup script - #64.
We do have a way to setup groups, but not extensions. Could be easy to add first-class for extensions.
Fyi, to setup grants, you can manage it centrally in your configs, per here. You won't need it as a separate //// CHANGE entry

Hi,
Thanks, i had missed that about the GRANTS and will look forward to #64
Regards
Mark

I will look to take a stab at the extension setup this weekend (not in the generic fashion). Will keep you posted

Hi, we added extension support in the latest snapshot (same link as posted in the other tickets): https://www.dropbox.com/s/tjzpi4ktp89njy8/obevo-cli-6.6.2-SNAPSHOT-dist.zip?dl=0
Please give it a try per here: https://shantstepanian.github.io/obevo/postgresql-notes.html (note - this is the dev doc; we will promote it to prod once certified)
Note that you can also now provision the postgresql groups by specifying the following in your system-config. (This syntax isn't implemented for all DB types, fyi)
<dbSystemConfig ...>
    <groups>
        <group name="grp1" />
        <group name="grp2" />
    </groups>

Hi,
I have got a null Pointer error from the latest release.
Error Log
deploy.sh deploy -sourcePath . -env docker -deployUserId postgres
Starting action at time [Mon Sep 24 10:13:10 BST 2018]
Arguments parsed: DeployerArgs [envNames=[docker], , setupEnvInfraOnly=false, cleanFirst=false, cleanOnly=false, noPrompt=false, useBaseline=false, onboardingMode=false, useKerberosAuth=false, sourcePath=., deployUserId=postgres, performInitOnly=false, preview=false, rollback=false, ]
Using "/var/folders/lv/3q2zckjd1ms5gncb3y10ddqr0000gn/T/vfs_cache" as temporary files store.
Warnings on platform configuration file setup; please address in the future, but program will proceed:
File name [default.yaml] was found in multiple locations [[jar:file:///Users/molliver/GIT/dp/obevo-cli/lib/obevo-core-6.6.2-SNAPSHOT.jar!/com/gs/obevo/config/default.yaml, jar:file:///Users/molliver/GIT/dp/obevo-cli/lib/obevo-db-6.6.2-SNAPSHOT.jar!/com/gs/obevo/db/config/default.yaml]]. Will refer to them in their priority order, but ideally the file name should be different.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.eclipse.collections.impl.utility.ArrayListIterate (file:/Users/molliver/GIT/dp/obevo-cli/lib/eclipse-collections-7.0.2.jar) to field java.util.ArrayList.elementData
WARNING: Please consider reporting this to the maintainers of org.eclipse.collections.impl.utility.ArrayListIterate
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Checker for environment type w/ enricher XmlFileConfigReader here
Error when creating PropertyDescriptor for public final void org.apache.commons.configuration2.AbstractConfiguration.setProperty(java.lang.String,java.lang.Object)! Ignoring this property.
Warnings on platform configuration file setup; please address in the future, but program will proceed:
File name [default.yaml] was found in multiple locations [[jar:file:///Users/molliver/GIT/dp/obevo-cli/lib/obevo-core-6.6.2-SNAPSHOT.jar!/com/gs/obevo/config/default.yaml, jar:file:///Users/molliver/GIT/dp/obevo-cli/lib/obevo-db-6.6.2-SNAPSHOT.jar!/com/gs/obevo/db/config/default.yaml]]. Will refer to them in their priority order, but ideally the file name should be different.
Using working directory for env docker as: /var/folders/lv/3q2zckjd1ms5gncb3y10ddqr0000gn/T/deploy-docker5183559047947369224
Running deployment as user postgres
Setting up the the environment infrastructure for docker; will warn on setup exception
Action completed with errors at Mon Sep 24 10:13:11 BST 2018, took 1 seconds.
*** Exception stack trace ***
kotlin.KotlinNullPointerException: null
at com.gs.obevo.db.impl.core.envinfrasetup.AbstractEnvironmentInfraSetup.handleException(AbstractEnvironmentInfraSetup.kt:193)
at com.gs.obevo.db.impl.core.envinfrasetup.AbstractEnvironmentInfraSetup.handleException$default(AbstractEnvironmentInfraSetup.kt:189)
at com.gs.obevo.db.impl.core.envinfrasetup.AbstractEnvironmentInfraSetup.handleObject(AbstractEnvironmentInfraSetup.kt:182)
at com.gs.obevo.db.impl.core.envinfrasetup.AbstractEnvironmentInfraSetup.handleExtensions(AbstractEnvironmentInfraSetup.kt:89)
at com.gs.obevo.db.impl.core.envinfrasetup.AbstractEnvironmentInfraSetup.setupEnvInfra(AbstractEnvironmentInfraSetup.kt:74)
at com.gs.obevo.db.impl.core.DbDeployerAppContextImpl.setupEnvInfra(DbDeployerAppContextImpl.kt:340)
at com.gs.obevo.db.impl.core.DbDeployerAppContextImpl.setupEnvInfra(DbDeployerAppContextImpl.kt:335)
at com.gs.obevo.db.impl.core.DbDeployerAppContextImpl.setupEnvInfra(DbDeployerAppContextImpl.kt:59)
at com.gs.obevo.db.cmdline.DbDeployerMain.start(DbDeployerMain.java:44)
at com.gs.obevo.cmdline.AbstractMain.start(AbstractMain.java:129)
at com.gs.obevo.dist.Main$5.value(Main.java:185)
at com.gs.obevo.dist.Main$5.value(Main.java:182)
at com.gs.obevo.dist.Main.execute(Main.java:119)
at com.gs.obevo.dist.Main.execute(Main.java:87)
at com.gs.obevo.dist.Main.main(Main.java:69)
system-config.xml

Hi, in case you were trying to send the system-config.xml file, can you resend it? Looks like it didn't come through on your last message

Opps sorry :)

<dbSystemConfig type="POSTGRESQL">     <schemas>         <schema name="public" />     </schemas>     <extensions>         <extension name="uuid-ossp" />     </extensions>     <environments>         <dbEnvironment              name="docker"             type="DEV"             cleanBuildAllowed="true"             dbHost="localhost"             dbPort="5432"             dbServer="postgres"             defaultUserId="postgres"             defaultPassword="mysecretpassword"             dbSchemaSuffix="">         </dbEnvironment>     </environments>     <groups>         <group name="web_anon" />         <group name="admin" />     </groups>     <permissions>         <permission scheme="TABLE">  <!-- scheme name corresponding to object type "table" -->             <grant users="web_anon" privileges="SELECT" />             <grant users="admin" privileges="INSERT,SELECT,UPDATE,DELETE" />         </permission>         <permission scheme="VIEW">             <grant users="admin,web_anon" privileges="SELECT" />         </permission>     </permissions> </dbSystemConfig>

Hi,
Not sure what was going on with the pasting, but here is a clean gist: https://gist.github.com/pixie79/bc2e3e118269dc82a079b4b23616f517
Mark

Updated link works

Great, I will close the ticket. Please reopen if you face any issuese

7.0.1 has been released. You can get the binary from the Releases page


Filter menu is difficult to click and dismiss

Due to overlap with the info hover effect, the filter button is difficult to click and dismiss (mouse events keep landing on the hover box). See screenshots:

Related thoughts:

I'm not sure if the hover effect should come up immediately when it does. Perhaps there should be a delay, like for most tooltips.
We should consider using a browser-native tooltip for this.
Perhaps only the blue info circle and not the label text should have the hover effect.


[QUESTION] How to corectly get user info

I see in the documentation that there's a User_full option to show all of the user info. And I'm using the next code but all I get are all of the users tweets and not the profile info. Did I understand everything wrong or I'm doing something wrong?
def twit():
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    c = twint.Config()
    c.Username = "banana"
    c.User_full = True
    res = twint.run.Search(c)
    print(res)
    loop.close()

Also, there's a way to output the info in json format in the console?
Thanks!

Duplicate #123


Open source solvers

Hello!
Thanks for developing this method. I found it extremely useful for my work.
I was wondering if you have tested this method using open-source solvers like GLPK, LP_Solve and CLP.
I am using the Gurobi-based MFD-ILP implementation in one of my tools to resolve viral genomes from metagenomes. It is quite tedious to get Gurobi running on a cluster with a floating network license. So I was wondering if MFD-ILP would perform similarly with other open-source solvers.
Best regards,
Vijini

Hi
It is on our TODO list to have at least one extra version using an open-source solver (most likely, LP_Solve).
We will added as soon as possible.

Hello @FernandoHDias and @alexandrutomescu,
I was wondering if there is any update about this issue.
Thanks!


getSubmissions() returns an HTML string when unauthenticated, instead of a Listing.

Hello! This is probably related to #72.
I'm getting started with the Reddit API and I'm currently experimenting.  That request returned a string of the HTML equivalent of visiting https://www.reddit.com/user/<username>/submitted/. However, when authenticated, it did return the Listing, as expected.
Now, as I said I'm new to this so maybe I'm wrong, but wouldn't that still be a valid request, since the information is public? The way I see it, it should return a Listing even unauthenticated, or reject the Promise, but not return HTML.
Here's the code that works:
"use strict";

const snoowrap = require("snoowrap");

async function main() {

    let reddit = new snoowrap({
        userAgent: "Test app by /u/sfcpfc",
        clientId: process.env.CLIENT_ID,
        clientSecret: process.env.CLIENT_SECRET,
        username: process.env.USERNAME,
        password: process.env.PASSWORD
    });

    let submissions = await reddit.getUser("sfcpfc").getSubmissions();

    console.log(submissions); // Logs the Listing as expected

}

main().catch(console.error);

Here's the code that doesn't:
"use strict";

const snoowrap = require("snoowrap");

async function main() {

    let reddit = new snoowrap({
        userAgent: "Test app by /u/sfcpfc",
        clientId: process.env.CLIENT_ID,
        clientSecret: process.env.CLIENT_SECRET,
        username: process.env.USERNAME,
        password: "somerandomstring" //process.env.PASSWORD
    });

    let submissions = await reddit.getUser("sfcpfc").getSubmissions();

    console.log(submissions); // Logs HTML containing my submissions

}

main().catch(console.error);

I can't reproduce this issue -- I get the error described in https://github.com/not-an-aardvark/snoowrap/issues/72 when I try this, not an HTML response.

Weird, I'm getting the same result as well now. Could be a problem that the Reddit API had, but then fixed? I guess I should close this then, unless the issue pops up again. I'll make sure to investigate further the cause if it happens.

I am getting HTML as well

I'm seeing this occur when I only provide an accessToken (with only the identity scope) to the snoowrap constructor. It seems like the /user/:user/comments endpoint behaves differently depending on the access token provided.
This is reproducible by hitting the reddit api directly with different access tokens:

With an access token with just the identity scope, /comments returns HTML. Hitting /comments.json returns the appropriate Listing json.
With clientId, clientSecret, etc from a personal use script, /comments returns the appropriate Listing json.

This could perhaps be resolved by appending .json to the uri in snoowrap._getListing, depending on the auth options passed to the constructor?

I think this is an issue with the reddit API -- some errors are returned as html. Note that with identity scope, you can't access /comments anyway, even wothout snoowrap.

Hmm yeah you're right. I was hitting the /comments.json endpoint from reddit.com, not oauth.reddit.com. Hitting the oauth endpoint with an identity token returns 403.

I think this is an issue with the reddit API

Shocking 😄


Optional xs in options

In the following lines:
https://github.com/cheminfo/baselines/blob/4e5da3f5762dc5c0fb8869abfe3c5332610ac356/src/iterativePolynomial.js#L25-L30
I would move the 'x' argument to options ... if it is optional. I would call it 'xs'.
Also for a 'sequential fill' you may use: https://github.com/mljs/array/blob/master/packages/array-sequential-fill/README.md
It should be faster.

wasn't sure about this one as this is somewhat more than a simple option (the assumption of linear spacing is not always a good one)


Sel.SecretKey.Cipher.newSecretKey segfaults

I'm afraid the cipher fails with a segfault with current version of sel.
Tested with current main (06ea49cb4ded582b318b88d623816b090ca9679e) and libsodium 1.0.18 provided by nixpkgs-23.05.
In a repl, simply do:
> import Sel.SecretKey.Cipher
> newSecretKey

If I'm missing something, let me know.

The system logs for a similar test case in a proper executable:
systemd-coredump[1009]: Process 1001 (backoffice-back) of user 0 dumped core.

Module libkeyutils.so.1 without build-id.
Module libkrb5support.so.0 without build-id.
Module libcom_err.so.3 without build-id.
Module libk5crypto.so.3 without build-id.
Module libkrb5.so.3 without build-id.
Module libgssapi_krb5.so.2 without build-id.
Module libffi.so.8 without build-id.
Module libgmp.so.10 without build-id.
Module libz.so.1 without build-id.
Module backoffice-backend without build-id.
Stack trace of thread 1001:
#0  0x00007f29a1005adc __pthread_kill_implementation (libc.so.6 + 0x87adc)
#1  0x00007f29a0fb6cb6 raise (libc.so.6 + 0x38cb6)
#2  0x00007f29a0fa08ba abort (libc.so.6 + 0x228ba)
#3  0x00007f29a128bc2a sodium_misuse.cold (libsodium.so.23 + 0xec2a)
#4  0x00007f29a12a611d sodium_malloc (libsodium.so.23 + 0x2911d)
#5  0x0000000000425959 n/a (backoffice-backend + 0x25959)
#6  0x0000000000425427 n/a (backoffice-backend + 0x25427)
ELF object binary architecture: AMD x86-64

My bad ; after calling sodiumInit it works better.

Very well, so it's a documentation issue. Would you be satisfied with a warning in the module documentation, or could something more be done?

I'm tempted to submit a pull request to patch newSecretKeyWith so that sodiumInit is called (as it's safe to call it multiple times). wdyt?

@ptitfred and @Kleidukos - we have secureMain to prevent exactly this sort of problem. sel doesn't seem to export it for some reason, though.

Yes, Sel should export it

I'm tempted to submit a pull request to patch newSecretKeyWith so that sodiumInit is called (as it's safe to call it multiple times). wdyt?

I've looked at its source and while the operations involved don't seem to be too expensive, I'd like to see first if guiding users to use secureMain works too.

I would say secureMain is the right approach.  This parallels what libraries like tasty do with main, for example.

If it's expensive let's call it once. I'm afraid though that having an init function to call can be missed too but the library user. I guess it's a matter of documentation exhaustiveness.

Thank you both 🙇

Thank you for the early feedback, this is extremely valuable. :)

If it's expensive let's call it once. I'm afraid though that having an init function to call can be missed too by the library user. I guess it's a matter of documentation exhaustiveness.

This is unfortunately forced on us by libsodium itself. It's not an unusual convention in the C world: you have a global init_whatever function called once for the whole program which sets some kind of global state, which then gets used throughout. Not very Haskelly, but it doesn't leave us many options.

Yes there is certainly something to explore in effect systems.


cypress-fail-on-console-error - Include console messages from throwing AssertionError

What : Enhance or Introduce new functionality to throw AssertionError based on IncludedConsoleMessages(As of now we have ExcludedConsoleMessages)
Why :  Easily fail the TestCase based on error we know. (some of console.error doesn't stop/impact the browser to run application)
How :  Introduce new property in config below,
const config: Config = {
inclueConsoleMessages: ['foo', /^some bar-regex.*/],
consoleTypes: ['error', 'warn', 'info'],
debug: false,
};
Kindly help on this.

Hi @sivakannan,
Regexp already ships this feature you requesting. Its pattern called "negative look-arounds".
example: ^((?!hede).)*$
playground: https://regex101.com/r/j1c9CC/1
You find some more examples here: https://stackoverflow.com/a/406408/1946431
Let me know if it works for you :-)
I will also extend to Readme to cover this use case.

https://github.com/nils-hoyer/cypress-fail-on-console-error/releases/tag/5.0.2
https://www.npmjs.com/package/cypress-fail-on-console-error/v/5.0.2

Hi, @nils-hoyer , is it possible that the 5.0.2 release did not get published on NPM?
I only see a 404 on https://www.npmjs.com/package/cypress-fail-on-console-error/v/5.0.2

I see. I had to republish with 5.0.3. Here is the valid npm url:
https://www.npmjs.com/package/cypress-fail-on-console-error/v/5.0.3

It's working as expected. thanks for your quick response.


Add node exporter role

This adds a role and example playbook for installing the prometheus node_exporter to target hosts.

Looks good! Does prometheus poll node exporter?

Yep!  It works on a simple standard of prometheus expecting a /metrics endpoint at the url given, and then it will poll and consume whatever metrics are at that endpoint.
In the config file for our prometheus instance we set the name for the jobs to poll and the targets of those jobs.  It's nice because you can build custom metrics (like we did to check whether specific docker services were running) and just make sure they are broadcasting at /metrics.


Identifier already declared when importing contracts that use libraries from Contracts and upgrade safe fork

A contract with imports of contracts from both Contracts and the upgrade safe fork of Contracts that use libraries such as Address and SafeMath fails to compile with error Identifier already declared.

💻 Environment
OpenZeppelin Contracts 3.2.0
OpenZeppelin Contracts Ethereum Package 3.0.0
$ npx truffle version
Truffle v5.1.48 (core: 5.1.48)
Solidity - 0.6.12 (solc-js)
Node v10.22.1
Web3.js v1.2.1

📝 Details
The upgrade safe fork of Contracts has the UpgradeSafe suffix on contracts but doesn't on libraries such as SafeMath and Address.  When compiling a contract that imports from both of these you get Identifier already declared
Reported by a community member in the forum, who added the suffix to libraries to resolve: https://forum.openzeppelin.com/t/using-openzeppelin-contracts-and-upgrade-safe-versions-in-the-same-project/4140
🔢 Code to reproduce bug

Contract that imports contracts from Contracts and Upgrade Safe fork that use libraries.
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.2;

import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>
contract MyContract {
}

$ npx truffle compile

Compiling your contracts...
===========================
> Compiling ./contracts/Migrations.sol
> Compiling ./contracts/MyContract.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/Initializable.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/access/AccessControl.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/presets/ERC20PresetMinterPauser.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Burnable.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Pausable.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/utils/Address.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/utils/EnumerableSet.sol
> Compiling @openzeppelin/contracts-ethereum-package/contracts/utils/Pausable.sol
> Compiling @openzeppelin/contracts/GSN/Context.sol
> Compiling @openzeppelin/contracts/access/AccessControl.sol
> Compiling @openzeppelin/contracts/math/SafeMath.sol
> Compiling @openzeppelin/contracts/presets/ERC20PresetMinterPauser.sol
> Compiling @openzeppelin/contracts/token/ERC20/ERC20.sol
> Compiling @openzeppelin/contracts/token/ERC20/ERC20Burnable.sol
> Compiling @openzeppelin/contracts/token/ERC20/ERC20Pausable.sol
> Compiling @openzeppelin/contracts/token/ERC20/IERC20.sol
> Compiling @openzeppelin/contracts/utils/Address.sol
> Compiling @openzeppelin/contracts/utils/EnumerableSet.sol
> Compiling @openzeppelin/contracts/utils/Pausable.sol

> Compilation warnings encountered:

... [SPDX warnings]

CompileError: /home/abcoathup/projects/forum/example/contracts/MyContract.sol:5:1: DeclarationError: Identifier already declared.
import<EMAIL_ADDRESS>^----------------------------------------------------------------------------------------------^
@openzeppelin/contracts/utils/Address.sol:8:1: The previous declaration is here:
library Address {
^ (Relevant source part starts here and spans across multiple lines).
,/home/abcoathup/projects/forum/example/contracts/MyContract.sol:5:1: DeclarationError: Identifier already declared.
import<EMAIL_ADDRESS>^----------------------------------------------------------------------------------------------^
@openzeppelin/contracts/utils/EnumerableSet.sol:29:1: The previous declaration is here:
library EnumerableSet {
^ (Relevant source part starts here and spans across multiple lines).
,/home/abcoathup/projects/forum/example/contracts/MyContract.sol:5:1: DeclarationError: Identifier already declared.
import<EMAIL_ADDRESS>^----------------------------------------------------------------------------------------------^
@openzeppelin/contracts/token/ERC20/IERC20.sol:8:1: The previous declaration is here:
interface IERC20 {
^ (Relevant source part starts here and spans across multiple lines).
,/home/abcoathup/projects/forum/example/contracts/MyContract.sol:5:1: DeclarationError: Identifier already declared.
import<EMAIL_ADDRESS>^----------------------------------------------------------------------------------------------^
@openzeppelin/contracts/math/SafeMath.sol:18:1: The previous declaration is here:
library SafeMath {
^ (Relevant source part starts here and spans across multiple lines).

Compilation failed. See above.
    at run (/home/abcoathup/projects/forum/example/node_modules/truffle/build/webpack:/packages/compile-solidity/run.js:51:1)
Truffle v5.1.48 (core: 5.1.48)
Node v10.22.1

Fixed in<EMAIL_ADDRESS>See First release of OpenZeppelin Contracts Upgradeable.


Promote withGrpcClient to Akka-gRPC

#6 introduces withGrpcClient which could be extracted so it can be part of an akka-grpc-lagom-testkit (tools to write tests for lagom that uses gRPC).

This is already available in play-grpc-testkit