[Feature Request] Event driven hooks for Window rules or change default behavior of child floating windows.

Description
It would be useful if a shell script could be executed when a window rule is triggered. I encountered a scenario using pcmanfm-qt, now built on Qt6. When selecting a context menu item like "file properties," the default behavior is to tile the window. After creating a window rule to float the dialog, it gets centered on the screen, which isn't ideal. I wrote a script to calculate the center of the parent window and position the dialog above it. However, there's no way to trigger the script automatically. A keybind won’t work, as it would be impractical to manually move the window after the dialog has opened.
If there are no plans to implement the above functionality, another solution to my specific issue is to force floating windows to position themselves centered to the parent window, or at least close to it while staying within the bounds of the screen. This would change the default behavior although it could be implemented as a second option.
Just something to note. Thunar's default behavior is to center the dialog above the window, so that indicates to me that developers control the positioning and whether to float the window. However it would be nice to have built in ways to override that with window rule scripts.
Edit: Thunar only centers the file properties window, not the preferences window 🤷♂

For static rules although this would work it wouldn't make sense.
For dynamic, it doesn't make sense as the properties are re-evaluated all the time.
Why doesn't it make sense?
socket2 exists and you can listen to the window opened event, it should solve your problem?


Expose null_literal as a node

We need to expose null literals in parse trees, otherwise, it will not be possible to syntactically differentiate between some constructs.
Example: currently, these two functions yield the same parse tree:
fun f() = null
fun f() { }

source_file
  function_declaration
    simple_identifier
    function_value_parameters
    function_body

With the changes in this PR, the first function will have a null_literal in the tree:
source_file
  function_declaration
    simple_identifier
    function_value_parameters
    function_body
      null_literal

I'll reopen once #124 is merged.


Reduce kata validation test time

Some of these take multiple seconds, which is way to long for unit tests. We need to figure out how to get these to sub-second times.
For example, from latest CI on main, these 2 tests alone take close to 10 seconds.
# Subtest: random_numbers kata is valid
ok 14 - random_numbers kata is valid
  ---
  duration_ms: 6979.4028
  ...
# Subtest: oracles kata is valid
ok 15 - oracles kata is valid
  ---
  duration_ms: 2711.1274

@billti @cesarzc I wonder if we can just add these to the integration test suite?

I'm not bothered by the time it takes to validate the katas in CI builds (this will only grow as we move from 10 katas to 40), but when I work on the katas locally (and build and run tests for them using "python build.py --npm --play --no-check"), I end up removing most of the existing katas from the index.json so as to test only the one or two that I work on right now. It would be good to be able to have a flag to specify "build, test, and include in the playground only kata X".


[MVP-3] Implement user interface with stubs

Overview
Implement UI according to bpmn specs

Allow messages from group
https://dev.vk.com/ru/widgets/allow-messages-from-community?ref=old_portal


[Task] UQI implementation for SQL plugins

Discussions and designs required for implementing UQI for SQL plugins

Copying this over from Slack:
Create:
INSERT INTO table_name  -> Entity Selector
VALUES  -> Row object body?
Read:
SELECT column  -> Projection
FROM table_name  -> Entity Selector
WHERE conditions  -> Where clause
GROUP BY column  ->  No support
ORDER BY column  -> Sorting component
LIMIT / OFFSET   -> Pagination component
HAVING  -> No support
Anything outside of column projection (like aggregation), or table selection (like joins) is out of scope
Update:
UPDATE table_name  -> Entity Selector
SET  -> Row object body
WHERE conditions  -> Where clause
Delete:
DELETE FROM table_name  -> Entity Selector
WHERE conditions  -> Where clause


disable host check and disable https config in gitpod env

Signed-off-by: Augustin Husson<EMAIL_ADDRESS>

it's based on https://github.com/webpack/webpack-dev-server/issues/883
disableHostCheck has been changed in favor of allowedHosts in webpack-dev-server v4
and I just added a special environment in case we specifically want to deactivate the HTTPS config in the webpack-dev config.
With these two options added, the preview in gitpod is working again.

Yes good idea. I will change it


Add queue_name to the ConversionHost.queue_configuration singleton method

This PR adds a queue_name to the queue options for the ConversionHost.queue_configuration singleton method.
I've also added some specs since this method was previously uncovered, as well as some comments.
Part of #19543
Cross-repo tests at https://github.com/ManageIQ/manageiq-cross_repo-tests/pull/38

@miq-bot add_reviewer @agrare

@agrare cross-repo tests are green


Close windows stream after playing sound

This fixes a bug where the windows stream isn't closed after playing the sound

I think this PR has to be merged as it causes a memory leak.
A related issue in one of my projects: https://github.com/portasynthinca3/ppfun2/issues/1

@portasynthinca3 - What this project really needs is automated tests.
I used to just accept PRs but I found that they often caused regressions.
I stopped using the code personally several years ago, so maintaining it fell to nonexistent on my priority list.
Somebody forked it to make boombox - I think they’re more actively maintaining that, so you might want to switch to it.

Ah, that makes sense. Thanks for pointing me in the right direction.

@TaylorSMarks that issue is critical for working your module on Windows correctly. This issue causes a memory leak and your module exits with the following error:
Not enough memory available for this task.

Quit one or more applications to increase available memory, and then try again.

Note that in project by which yours inspired by has the same close functionality such the PR offers: https://github.com/michaelgundlach/mp3play/blob/master/mp3play/windows.py#L82

This is now fixed on master. I have added in a test scenario, testNonBlockingRepeat, which should ensure that it doesn't regress.


emails are not going to cc email address

Hello,
We are using sendgrid library to sending emails. We are able to send emails to email addresses in "To" however sendgrid is not sending emails to email addresses in "cc". It is showing email address in cc but not sending emails.
I tried sending emails using codeigniter library with sendgrid credentials and it works perfectly.
Kindly help.

Hello @harshit-jalhotra,
To further assist, could you please provide the following information:

What version of this SDK are you using and how did you install it?
Please provide the relevant source code

Thanks!
With Best Regards,
Elmer


Memory management in Runtimes

The longer an algorithm runs, the more instances will be stored in a Runtime instance. In some cases, for long running algorithms, this may cause memory issues. The user should be able to specify a limit, either by count or by time or by memory pressure, for how many instances a Runtime can keep around.
This also applies to projections.

Update: We'll provide delete_instance method and defer it to the caller.


[Feature request] Godot plugin/integration?

Is there any chance of Seurat ever working with Godot?
https://godotengine.org/
https://www.roadtovr.com/open-source-game-engine-godot-engine-gets-vr-support/

What do you mean by "working with" Godot. Do you mean capturing content from the engine? As long as the engine can generate RGB+Depth images, you should be able to make data sets to process with Seurat. Regarding rendering the output, we make an RGB textured mesh, so that should be possible. For best quality, it needs projective texture mapping.

Just saw this old feature request. If it is still relevant for you: a couple weeks ago I started working on a godot plugin to export for Seurat (and render the resulting meshes inside godot): https://github.com/NeoSpark314/seurat-godot-plugin
An example of running a capture using Godot on Oculus Quest can be seen here: https://www.youtube.com/watch?v=ikYTkyIMV8k


Train.py

Hi,can you release the train.py?
Thanks!

Kindly refer to SINetV2 project. We use the same training script: https://github.com/GewelsJI/SINet-V2/blob/main/MyTrain_Val.py


image segmentation with multiple classes

Thanks for the amazing project! My dataset is multiple classes segmentation. Mask image is (H, W), which H is height, W is width, each pixel is an integer representing the class. For example, tree: 0, ... car: 8, sky: 9. The mask looks like [[0,3,9],[3,4,5]].
The number of my classes is 10.
I'm wondering how to train on this dataset. Should it be like
def get_model(num_classes=10):
    model = models.segmentation.deeplabv3_resnet101(pretrained=True, progress=True)
    model.classifier = DeepLabHead(2048, num_classes=10)
    model.train()
    return model

However, the prediction size seems to be wrong.
The y_pred is torch.Size([8, 38, 256, 456]) but y_truth is torch.Size([8, 256, 456]), 8 is the batch size, 256 is H, 456 is W.
y_pred = model(inputs)['out']
The size doesn't match to feed into loss function. Moreover, the y_pred has float number for every element but I expect it should be the number representing class like 0,1,2,3.
May I ask how to deal with it? Thanks a lot for helping!

@karliesama , did you try out @vriez suggestion? I want to know how that worked out for you in the end. Thanks!


Payment - After deleting the bank account, the payment is displayed with an empty icon

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:

Go to URL https://staging.new.expensify.com/
Log in any account
Navigate to Settings > Payments
Click on Add Payment Method > Bank Account ( use Chase bank with credentials: user_good,  pass_good)
Disable the internet connection
Delete bank account (several times)
Enable the internet connection

Expected Result:
The bank account must be deleted the first time and without errors after connecting to the Internet
Actual Result:
After deleting the bank account, the payment is displayed with an empty icon
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
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: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/217324001-bcac4ce2-82fe-419e-9cd8-2e0368dc6f55.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @laurenreidexpensify (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

I can't replicate this by logging into that Chase account - are those credentials definitely correct @kbecciv? thanks

@laurenreidexpensify  Yes, the credentials is correct.
Username: user_good
Password: pass_good
Able to reproduced with build 1.2.68
https://user-images.githubusercontent.com/93399543/217855840-9931ced8-fd21-4d68-a22a-81544c6ef1da.mp4

Asking internally here

I can reproduce on Chrome with version v1.2.70-1.
The problem is that we’re queueing multiple 'delete bank account' queries. So although the first one succeeds when the connection returns, any remaining queries fail with ‘Your bank account has already been deleted. Please refresh your page.’
In my opinion, the fix here should be to prevent users from being able to delete a bank account that is already pending deletion (shown by the strikethrough).

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

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

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

Thanks for the proposal @daraksha-dk.
The proposal looks good to me.
🎀👀🎀 C+ reviewed
cc: @Julesssss

Thanks, I agree this solution looks ideal.

📣 @daraksha-dk You have been assigned to this job by @Julesssss!
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 📖

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.74-0 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/15180

If no regressions arise, payment will be issued on 2023-02-28. :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:

[ ] [@sobitneupane / @Julesssss] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@sobitneupane / @Julesssss] 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:
[ ] [@sobitneupane / @Julesssss] 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:
[ ] [@daraksha-dk] Propose regression test steps to ensure the same bug will not reach production again.
[ ] [@laurenreidexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Checked off the relevant boxes. This was not a regression, so there is nothing to point to. This was simply left out during the original implementation. However, this would make a good new regression test:
Ensure bank account pending deletion isn't selectable

Log in with any account
Navigate to Settings > Payments
Click on Add Payment Method > Bank Account ( use Chase bank with credentials: user_good, pass_good)
Disable the internet connection
Verify that you can't delete the bank account more than once
Enable the internet connection and verify that you don't have any errors

@sobitneupane @daraksha-dk offers are out in Upwork, will issue payment when accepted

@Julesssss am I being a bit slow? I can't seem find a basic test in TestRail for add a payment method https://expensify.testrail.io/index.php?/suites/view/7722&group_by=cases:section_id&group_order=asc&display_deleted_cases=0&group_id=229065 what do you reckon?

Payments are issued - I will look at the TestRail steps tomorrow

Payments are issued

@laurenreidexpensify Looks like You have missed the 50% bonus.


[Bug] GuardClause on properties on immutable records fail.

We use your idioms rather aggressively to verify that we have guard clauses in specific packages. Our tests hit a record class that I tried to utilize; however, there is a bug in Dotnet that makes it possible to change immutable records via PropertyInfo, which I realize AutoFixture uses. See the following NUnit test to replicate on Dotnet 6.

        private record SomeRecord(string foo){}

        [Test]
        public void Test_CanEditRecords()
        {
            var initialValue = "foo";
            var newValue = "bar";

            var someRecord = new SomeRecord(initialValue);
            var properties = typeof(SomeRecord).GetProperties();

            var property = properties.First();
            property.SetValue(someRecord, newValue);

            Assert.That(someRecord.foo, Is.EqualTo(newValue));
        }

I'm also raising the error at the Dotnet package; however, I wanted to share it here for others who might hit this specific error.

This is due to dotnet6 - i didn't know this wasn't officially supported. I'll relate it to: https://github.com/AutoFixture/AutoFixture/issues/1201 and then close this ticket for now for you guys, to remove duplication :)


Add workflow to ensure plugins follow liniting rules

Adds a push to main workflow which navigates to the root of each plugin. Installs dependencies and then runs the lint check.
Updates the existing plugins to conform to the current rules.
Installing the dependencies for each plugin. It could just install dev dependencies but i'm planning to add unit tests to the same workflow, which will need all dependenices. The unit testing will be built off of this workflow so installing the extra dependencies shouldn't matter.

Re-opening from a different branch with additional work. This PR won't let me change the branch I want to merge from.


python-matter-server missing runtime dependencies in nixpkgs-unstable.

Describe the bug
I would like to run home-assistant with the matter integration. I am unable to do so, since python-matter-server's matter-server fails with the following error due to missing dependencies:
$ env NIXPKGS_ALLOW_INSECURE=1 nix shell nixpkgs#python-matter-server --impure
$ matter-server
Traceback (most recent call last):
  File "/nix/store/pjabn599v4wksg4gfl5zwr659bpz88ch-python3.10-python-matter-server-3.7.0/bin/.matter-server-wrapped", line 6, in <module>
    from matter_server.server.__main__ import main
  File "/nix/store/pjabn599v4wksg4gfl5zwr659bpz88ch-python3.10-python-matter-server-3.7.0/lib/python3.10/site-packages/matter_server/server/__init__.py", line 3, in <module>
    from .server import MatterServer
  File "/nix/store/pjabn599v4wksg4gfl5zwr659bpz88ch-python3.10-python-matter-server-3.7.0/lib/python3.10/site-packages/matter_server/server/server.py", line 23, in <module>
    from ..server.client_handler import WebsocketClientHandler
  File "/nix/store/pjabn599v4wksg4gfl5zwr659bpz88ch-python3.10-python-matter-server-3.7.0/lib/python3.10/site-packages/matter_server/server/client_handler.py", line 12, in <module>
    from chip.exceptions import ChipStackError
ModuleNotFoundError: No module named 'chip.exceptions'

(Note that home-assistant-chip-core depends on openssl_1_1, which is end-of-life, and is another sign this may not be the right dependency for matter's matter integration)
Steps To Reproduce
Steps to reproduce the behavior:
With nixpkgs-unstable:

Run env NIXPKGS_ALLOW_INSECURE=1 nix shell nixpkgs#python-matter-server --impure
Run matter-server
See error message.

Confirmed on x86_64 and aarch64.
Expected behavior
I expect the matter server to run and expose an interface on port 5580.
Additional context
I did some investigation into the issue.

The package at issue appears to be home-assistant-chip-core, which indicates its homepage is https://github.com/home-assistant-libs/chip-wheels, which is just a collection of patches for https://github.com/project-chip/connectedhomeip. I tried applying these patches to a clean checkout of connectedhomeip, but it appears like all of them are included upstream as of the latest master
home-assistant-chip-core is simply fetched from PyPI, and the upstream package is lacking the same files.
I think the solution is to build the Python controller in the connectedhomeip monorepo, but my knowledge of this project is limited, and it appears to use some non-nix-y things in its build script (like fetching its own dependencies from PyPI).
I also do not know what commit of connectedhomeip would be the right commit to build from.

Notify maintainers

@Mic92
@globin
(There's other maintainers "fab" and "hexa" listed in the home-assistant team, but neither of them appeared to be a part of the nix org)
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
I use flakes for my config. My current flake is built off of nixpkgs rev ace5093e36ab1e95cb9463863491bee90d5a4183
[user@system:~]$ nix run nixpkgs#nix-info -- -m
 - system: `"x86_64-linux"`
 - host os: `Linux 6.4.15, NixOS, 23.11 (Tapir), 23.11.20230915.ace5093`
 - multi-user?: `no`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - channels(matth): `"nixpkgs-22.11"`
 - channels(root): `""`
 - nixpkgs: `not found`

Usernames in maintainer-list.nix do not always match GitHub's usernames. Notifying the whole team should probably work.

(Note that home-assistant-chip-core depends on openssl_1_1, which is end-of-life, and is another sign this may not be the right dependency for matter's matter integration)

It is the correct dependency, we're just talking about a shitty vendor consortium, where nobody cares about that kind of thing.
https://github.com/project-chip/connectedhomeip/issues/25688

The package at issue appears to be home-assistant-chip-core, which indicates its homepage is home-assistant-libs/chip-wheels, which is just a collection of patches for project-chip/connectedhomeip. I tried applying these patches to a clean checkout of connectedhomeip, but it appears like all of them are included upstream as of the latest master

We use the home assistant built wheels, because interacting with the upstream connectedhomeip repository was painful to me.

home-assistant-chip-core is simply fetched from PyPI, and the upstream package is lacking the same files.

It is in fact in there.
lib/python3.10/site-packages/chip/exceptions/__init__.py

I also do not know what commit of connectedhomeip would be the right commit to build from.

The same version as home assistant requires, if you want to use it with home assistant.

Please check https://github.com/NixOS/nixpkgs/pull/262521, where I included some fixes. It is not quite there yet, and I don't currently understand the problem, so some fresh eyes are welcome to take a look.

Also building things from the connectedhomeip is problematic, since the full source checkout is a whopping 27 GB, while our current output limit is 3 GB.

Also building things from the connectedhomeip is problematic, since the full source checkout is a whopping 27 GB, while our current output limit is 3 GB.

I was double checking this and with submodules I got like 12 GB which is still insane. Also we are charting really deep into horrible enterprise software with horrible practices. So even if we could hack around this limit, fetch each submodule and then symlink them together, we would still need to fight the next steps already teasered.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/compiling-the-matter-sdk-on-nixos/47742/1


Jco transpile: implementation of wasi-io for Node.js

Tasks

[x] streams.read
[x] streams.blocking-read
[ ] streams.skip
[ ] streams.blocking-skip
[ ] streams.subscribe-to-input-stream
[x] streams.drop-input-stream
[x] streams.check-write
[x] streams.write
[x] streams.blocking-write-and-flush
[x] streams.flush
[x] streams.blocking-flush
[ ] streams.subscribe-to-output-stream
[ ] streams.write-zeroes
[ ] streams.splice
[ ] streams.blocking-splice
[ ] streams.forward
[x] streams.drop-output-stream
[ ] poll.drop-pollable
[ ] poll.poll-oneoff

Full implementation in https://github.com/bytecodealliance/jco/pull/244.

These should all be closed by #244, the only missing part is adding tests.


Dashboard fails to load when cypress is run in docker (e.g. on CI) due to missing git information

Dashboard fails to load and displays "Error :(" if some of git related information is missing in the recorded job. The error is a result of another error coming from the graphql api:
Cannot return null for non-nullable field Commit.sha.
or
Cannot return null for non-nullable field Commit.remoteOrigin.
This may happen when Cypress is run in docker where there's no .git directory and environment variables to fetch the information from. This may also happen for some specific CI providers where some git information cannot be extracted by the Cypress test runners and it defaults to null (see https://github.com/cypress-io/cypress/blob/00a7e69ed267196c778bc3b22f6f8f0e28c30266/packages/server/lib/util/ci_provider.js#L441)

@TomaszG thanks for reporting that! Fixed in https://github.com/agoldis/sorry-cypress/releases/tag/v0.0.3


JS Code Review

This is an implementation of SIWA in JavaScript.
The documentation for SIWA is at https://projectlibertylabs.github.io/siwa/
Effectively there are just two entry points:

getRedirectUrl Connecting to https://projectlibertylabs.github.io/siwa/Actions/Request.html
getLoginResult Connecting to https://projectlibertylabs.github.io/siwa/Actions/Response.html

There is just the one feature: The SIWA Registration and Login process.
Also in main under tools is a full integration mock server and import test

Reviews complete.


Fixing versions of graphviz and libgraphviz-dev

https://github.com/ts-graphviz/setup-graphviz/issues/283
Adding fixed versions for now.

If we reflect this modification, the behavior of each OS will be different because of the different versions we specify.
At this point I am not sure if I should merge.


Add larimar

add larimar library, a simple property manager

the spec is https://docs.oracle.com/javase/10/docs/api/java/util/Properties.html#load(java.io.Reader)

ok, I'll make an update soon to implement the specs

Hey @Wozzy06 what's the status here?

@Wozzy06 be free to re-open PR when you are ready.


Add transaction ID for the deployment process

Motivation
The user of the Aleo CLI tool needs to know the transaction ID associated with the deployment of their programs. This PR includes the transaction_id field on the deployment response to send it to the Aleo CLI tool and show it to the user.

Instead of returning { deployment, transaction_id }, can we return { transaction } since it will already contain the deployment and the ID (in addition to all other details)?
(Related comment here: https://github.com/AleoHQ/snarkOS/pull/1910)

These changes are deprecated with the new versions of the Aleo CLI, snarkOS, and snarkVM. If necessary, these changes will be introduced again in the future.


Possibility to access the rootState?

From an example (https://codeburst.io/vuex-and-typescript-3427ba78cfa8):
// index.ts
import Vue from 'vue';
import Vuex, { StoreOptions } from 'vuex';
import { RootState } from './types';
import { profile } from './profile/index';

Vue.use(Vuex);

const store: StoreOptions<RootState> = {
    state: {
        version: '1.0.0' // a simple property
    },
    modules: {
        profile
    }
};

export default new Vuex.Store<RootState>(store);

We have the profile module and it works fine to inject it with
@State('profile') profileState
But is there a possibility to get the RootState?
like:
@State('root') rootState

No, since State decorator is for mapping sub state to computed property. You should just use this.$store.state


Provide a Did Exchange shortcut API

Perhaps like this ...
val pcon: Connection = MessageExchange()
    .withProtocol(RFC0434_OUT_OF_BAND_WRAPPER)
    .createOutOfBandInvitation(faber, "Faber invites Alice")
    .acceptConnectionFrom(alice)

assertEquals(pcon.state, ConnectionState.ACTIVE)

Done


Fix version comparison handling.

Fixes #159

Codecov Report

Merging #160 into master will decrease coverage by 0.85%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #160      +/-   ##
==========================================
- Coverage   29.42%   28.57%   -0.86%
==========================================
  Files           4        4
  Lines         503      504       +1
==========================================
- Hits          148      144       -4
- Misses        355      360       +5

Impacted Files
Coverage Δ

setup.py
0% <ø> (ø)
:arrow_up:

pytest_sugar.py
0% <0%> (ø)
:arrow_up:

test_sugar.py
97.27% <0%> (-2.73%)
:arrow_down:

Continue to review full report at Codecov.

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

I think it's missing in tox.ini's testenv.deps as well

If it is present in the install_requires of the setup.py tox will install it.

If it is present in the install_requires of the setup.py tox will install it.

Ah, I see, it's just not updating dependencies.  But I guess that's save enough since packaging 14.1 is over 4 years old.

Builds are failing due to "rerunfailures" (I've cleared the caches and restarted the previous build already): https://travis-ci.org/Frozenball/pytest-sugar/jobs/451271386#L591

We should only install pytest-rerunfailures with pytest >= 3.6 (tox.ini) I guess.

We should only install pytest-rerunfailures with pytest >= 3.6 (tox.ini) I guess.

Why is that? However I think this might be out of the scope of this PR

Because it is not pinned, and they have that requirement by now.
I can look into fixing this later.
Also the py37 method you are using now (via deadsnakes repo) is rather slow, too.

..and it appears to have no ssl support: https://travis-ci.org/Frozenball/pytest-sugar/jobs/451390861#L600


E7S Timeline Disappearing After 2nd Pull

Description
The timeline in E7S is not showing up. I still hear callouts though. Not sure why it's happening and not sure if it's happening in other content.
Additional information
Happens on 0.19.7. Downgraded to 0.19.6 and going to see if that fixes it. Will edit under here with an update.

I think this is related to @valarnin's #1731 change.  I've added more syncs to e7s so it should continue to work in the next release (even though it might not start right on engage).


script/bootstrap: Make apm --version print the Atom version currently being bootstrapped

Requirements for Adding, Changing, or Removing a Feature

Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
The pull request must contribute a change that has been endorsed by the maintainer team. See details in the template below.
The pull request must update the test suite to exercise the updated functionality. For guidance, please see https://flight-manual.atom.io/hacking-atom/sections/writing-specs/.
After you create the pull request, all status checks must be pass before a maintainer reviews your contribution. For more details, please see https://github.com/atom/.github/tree/master/CONTRIBUTING.md#pull-requests.

Issue or RFC Endorsed by Atom's Maintainers

None
Description of the Change

Tell apm --version where to find this repository's Atom metadata.
(During script/bootstrap: makes a separate copy of the process.env JS object, adds ATOM_RESOURCE_PATH: CONFIG.repositoryRootPath to that new object, and have apm --version run with this updated object as its env object.)
Now apm --version will print the Atom version being bootstrapped. (Previously, it printed whatever stable version of Atom you had on your system, which was irrelevant, or if you had no stable Atom installed, it would print "unknown").
 This separate modified env object is never used again.
Alternate Designs
Not a big deal, potential for very slightly less memory usage and (probably non-noticeably) very slightly faster execution:
Potentially re-use this env object in the immediate next step of bootstrapping, which is running apm install in the root of the repo. We do the same process there, making a copy of process.env and adding ATOM_RESOURCE_PATH: CONFIG.repositoryRootPath to it. These objects are redundant and identical. So re-using should be trivial, I just didn't look into implementing that.

Possible Drawbacks

Tiny bit more bootstrap complexity. Worth it for more useful and less-confusing human-readable script output.
Verification Process

Ran script/bootstrap with and without this change.
Before:
Installing apm
[...]
atom 1.51.0
[...]
Installing modules ✓

After:
Installing apm
[...]
atom 1.53.0-dev
[...]
Installing modules ✓

Release Notes

N/A

Coincidentally, this works around a bug/deficiency in apm running on Windows.
The bug means apm --version was printing NOTHING on Windows during the bootstrap (no versions of ANY dependencies), and now it will print everything.
For a proper fix for that (tangentially related) bug, see: https://github.com/atom-ide-community/apm/pull/27

Made a PR that fixes apm itself: https://github.com/atom/apm/pull/906


Assembly too small for polishing?

Hi,
I am trying to polish a mitochondrial assembly of just over 50.000 bp.
I keep getting this error though:
minimap2 AlKewell_mito.fasta ../nanopore/AlKewell.nanopore.all.fastq.gz > AlKewell.paf

racon -m 8 -x -6 -g -8 -w 500 ../nanopore/AlKewell.nanopore.all.fastq.gz AlKewell.paf AlKewell_mito.fasta > AlKewell_mito.racon.fasta

[racon::Polisher::initialize] loaded target sequences 0.000429 s
[racon::Polisher::initialize] loaded sequences 116.784445 s
[racon::Overlap::transmute] error: unequal lengths in target and overlap file for target AlKewell_mito!

I used the same command on the full genome assembly and that worked fine. Is my fragment too small? As it might be smaller than some of the contained reads.

Hi Johannes,
there are no boundaries on sequence length in Racon. Can you please paste the output of the following commands:
head -n 1 AlKewell.paf
tail -n +2 AlKewell_mito.fasta | wc

Best regards,
Robert

head -n 1 AlKewell.paf
532abcbc-a198-494f-b540-cc61a136b2c5    723     15      710     -       AlKewell_mito   52512   8653    9351    504     704     60      tp:A:P  cm:i:76 s1:i:504        s2:i:0  dv:f:0.0373     rl:i:0

tail -n +2 AlKewell_mito.fasta | wc
    657     657   53826

Are there carriage return (\r) characters in AlKewell_mito.fasta?

Wow, thanks. Yep, what a noob mistake. I exported the fasta from geneious which seems to have inserted invisible characters.
dos2unix fixed it.
Is this a problem of minimap or racon parsing the fasta? I will notify the geneious developers, as I now remember running into a similar problem in the past after exporting a fasta.
Cheers!

The problem is that parser in Racon does not remove whitespaces if the sequence is in more lines, I will have to fix this :)

Fixed from 1.4.20 (maybe even sooner).


Create Example Migration PR and Outline Steps

cc @chrispader

ay ay, here i am 🏴☠😃

not overdue melvin

actually this is done


yaspy doesn't seem to exist anymore

(ida_venv) minishwoods tools/DIE ‹master› » pip install yaspy                                               23 ↵
Collecting yaspy
  Could not find a version that satisfies the requirement yaspy (from versions: )
No matching distribution found for yaspy

and apparenlty i can't spell..


Add invoice data to admin columns

Quick info to admin columns:

[x] Invoice Number
[x] Date

Closed via 9ef7c30f374529e020f1bf9a7347ba34fc167669


Don't show commands the sender can't use in invalid syntax messages

Needs clean up but this is something we should fix.
Should we also check sender type possibly?

Somehow forgot this existed when creating #416, not certain which I like more

not certain which I like more

I think I prefer the other solution to this. All the casts to SenderAware in CommandTree are annoying.


HTTP request hangs intermittently

(NOTE: This is used to report product bugs:
To report a security vulnerability, please visit https://istio.io/about/security-vulnerabilities
To ask questions about how to use Istio, please visit https://discuss.istio.io)
Bug description
POD A and POD B both with sidecar enabled, HTTP call from POD A -> POD B to download files > 100 MB. Normally the request takes less than 1s to finish. But occasionally it takes over 1 hour. Inspecting the istio debug logs I found there is a 1h gap in the log messages for the same request.

[ ] Docs
[ ] Installation
[X ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
Request finishes within reasonable time.
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
1.7.6
How was Istio installed?
istioctl
Environment where the bug was observed (cloud vendor, OS, etc)
EKS 1.17
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.

Observe same issue with
bash-4.2$ istioctl version --remote
client version: 1.6.0
control plane version: 1.6.0
data plane version: 1.6.0 (674 proxies)
bash-4.2$ kubectl version --short
Client Version: v1.17.0
Server Version: v1.18.10
bash-4.2$ helm version --short
v3.2.1+gfe51cd1
bash-4.2$

@ediezh were you able to triage this out


Unable to enable FIPS mode on latest Node 18 LTS

Package Name:  @azure/identity
Package Version: 3.0.0
Operating system: Windows 11 22H2
[X] nodejs

version:  18.12.0

[ ] browser

name/version: N/A

[X] typescript

version: 4.8.4

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
After FIPS mode is enabled with crypto.setFips(true) the module is now unable to authenticate to Azure AD.
To Reproduce
Steps to reproduce the behavior:

Add crypto.setFips(true) to the top of your app and ensure the latest LTS release of Node.JS is installed (18.12.0 at the time of this wiring)

Expected behavior
Successful authentication should happen, regardless of if FIPS mode is enabled or not.
Screenshots

Additional context
Here is the error that happens after FIPS is enabled:
ChainedTokenCredential authentication failed.
CredentialUnavailableError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

AggregateAuthenticationError: ChainedTokenCredential authentication failed.
CredentialUnavailableError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.
    at C:\GitHub\**Redacted**\Server\node_modules\@azure\identity\dist\index.js:2657:29
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Object.withSpan (C:\GitHub\**Redacted**\Server\node_modules\@azure\identity\node_modules\@azure\core-tracing\dist\index.js:140:28)

Node.js v18.12.0

@elliot-huffman which credential are you using and is there a particular service call you're trying to make?

I am using ClientSecretCredential or ManagedIdentityCredential in a ChainedTokenCredential.
Just Graph API calls using the @microsoft/microsoft-graph-client package.

@elliot-huffman I'm struggling a bit to get this to work with Graph since I think to do what you want would require either admin consent to allow the app to access graph without a signed in user or to use a different credential type that would permit delegated access.
I did try it against keyvault:
const crypto = require("crypto");
require('dotenv').config();
const { ClientSecretCredential } = require('@azure/identity');
const { SecretClient } = require("@azure/keyvault-secrets");

async function repro() {
  crypto.setFips(true);
  const credential = new ClientSecretCredential(
    process.env.AZURE_TENANT_ID,
    process.env.AZURE_CLIENT_ID,
    process.env.AZURE_CLIENT_SECRET
  );

  const client = new SecretClient(process.env.KEYVAULT_URL, credential);
  const secret = await client.getSecret("test");
  console.log(secret.value);
}

repro().catch(e => console.error(e));

But the error I get back is an SSL one instead:
C:\src\fips-repro>node index.js
Error: error:0A0000A1:SSL routines::library has no ciphers
    at new SecureContext (node:_tls_common:89:16)
    at Object.createSecureContext (node:_tls_common:114:13)
    at Object.connect (node:_tls_wrap:1629:48)
    at Agent.createConnection (node:https:150:22)
    at Agent.createSocket (node:_http_agent:350:26)
    at Agent.addRequest (node:_http_agent:297:10)
    at new ClientRequest (node:_http_client:335:16)
    at Object.request (node:https:360:10)
    at C:\src\fips-repro\node_modules\@azure\core-rest-pipeline\dist\index.js:1694:99
    at new Promise (<anonymous>) {
  library: 'SSL routines',
  reason: 'library has no ciphers',
  code: 'ERR_SSL_LIBRARY_HAS_NO_CIPHERS'
}

If you use ClientSecretCredential directly do you see the same? I'm not very familiar with FIPS and searching around for that error wasn't particularly enlightening.

I'll build a once off test project and get the results back here.

I'll build a once off test project and get the results back here.

much appreciated!

Just ran a test and I was able to retrieve an access token while in FIPS mode, this is most likely an issue with the Microsoft Graph client. I will open a ticket with them.
Here is the code I ran to get the Access Token (Using VS Code's auth session):
import { DefaultAzureCredential } from "@azure/identity";
import * as crypto from "crypto";

// @ts-ignore
crypto.setFips(true);

const credential = new DefaultAzureCredential();

credential.getToken("https://graph.microsoft.com").then(
    (results) => {
        console.log(results);
        console.log(crypto.getFips());
    }
);

Did some work on the Graph API side of things and it turns out it is the credential causing the issue and not the Graph Client.
Wrote this code and was able to re-pro the issue:
import { getFips, setFips } from 'crypto';
import { ClientSecretCredential } from '@azure/identity';

const tenantId = 'TenantGuidHere';
const clientId = 'ClientIdHere';
const clientSecret = 'ClientSecretHere';

// Turn on FIPS mode
setFips(true);

/** Instance of credential client */
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);

// Get an access token
credential.getToken('https://graph.microsoft.com').
    then((results) => {
        console.log(results);
        console.log(getFips());
    }).
    catch((error) => {
        console.log(error);
    });

It causes this error:
CredentialUnavailableError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.    at MsalClientSecret.handleError (C:\GitHub\Moot\Telemetry-Server\node_modules\@azure\identity\dist\index.js:452:28)
    at MsalClientSecret.doGetToken (C:\GitHub\Moot\Telemetry-Server\node_modules\@azure\identity\dist\index.js:2956:24)
    at async Object.withSpan (C:\GitHub\Moot\Telemetry-Server\node_modules\@azure\core-tracing\dist\index.js:140:28)

Tried this code but still has the same issue:
/* eslint-disable no-console */
import { ClientSecretCredential, ClientSecretCredentialOptions } from '@azure/identity';
import { getFips, setFips } from 'crypto';

const tenantId = '88628be4-c0af-4ea5-9425-4d75f188a9c4';
const clientId = '05a3a25e-fd21-4814-814c-50ac7dc90532';
const clientSecret = 'Op_8Q~OKZ4IywgrGbVo8mIS3C5KokgurmyEcObsG';

// Turn on FIPS mode
setFips(true);

const knownAuthority: ClientSecretCredentialOptions = {
    'authorityHost': 'https://login.microsoftonline.com'
};

/** Instance of credential client */
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret, knownAuthority);

// Get an access token
credential.getToken('https://graph.microsoft.com').
    then((results) => {
        console.log(results);
        console.log(getFips());
    }).
    catch((error) => {
        console.log(error);
    });

@elliot-huffman I'm struggling a bit to get this to work with Graph since I think to do what you want would require either admin consent to allow the app to access graph without a signed in user or to use a different credential type that would permit delegated access.
I did try it against keyvault:
const crypto = require("crypto");
require('dotenv').config();
const { ClientSecretCredential } = require('@azure/identity');
const { SecretClient } = require("@azure/keyvault-secrets");

async function repro() {
  crypto.setFips(true);
  const credential = new ClientSecretCredential(
    process.env.AZURE_TENANT_ID,
    process.env.AZURE_CLIENT_ID,
    process.env.AZURE_CLIENT_SECRET
  );

  const client = new SecretClient(process.env.KEYVAULT_URL, credential);
  const secret = await client.getSecret("test");
  console.log(secret.value);
}

repro().catch(e => console.error(e));

But the error I get back is an SSL one instead:
C:\src\fips-repro>node index.js
Error: error:0A0000A1:SSL routines::library has no ciphers
    at new SecureContext (node:_tls_common:89:16)
    at Object.createSecureContext (node:_tls_common:114:13)
    at Object.connect (node:_tls_wrap:1629:48)
    at Agent.createConnection (node:https:150:22)
    at Agent.createSocket (node:_http_agent:350:26)
    at Agent.addRequest (node:_http_agent:297:10)
    at new ClientRequest (node:_http_client:335:16)
    at Object.request (node:https:360:10)
    at C:\src\fips-repro\node_modules\@azure\core-rest-pipeline\dist\index.js:1694:99
    at new Promise (<anonymous>) {
  library: 'SSL routines',
  reason: 'library has no ciphers',
  code: 'ERR_SSL_LIBRARY_HAS_NO_CIPHERS'
}

If you use ClientSecretCredential directly do you see the same? I'm not very familiar with FIPS and searching around for that error wasn't particularly enlightening.

FIPS reduces the amount of cryptographic and hashing algorithms to a smaller set of 'known good' ones as defined by the US Government's NIST. Starting in Node 17, the OpenSSL suite of tools was updated to version 3. Version 3 has been FIPS Validated and is able to provide FIPS operation without having to build a special build of it. So, this means, FIPS operation is available out of the box to all users of Node.JS 17 without having to build OpenSSL and Node.JS from source as long as the setFips method is called..

@KarishmaGhiya and @xirzec , Checking in on the status.

So MSAL was obscuring this quite a bit, but when I debugged through the goop ultimately this came down to MSAL trying to request the cloud discovery metadata. In my case the URL looked like https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=https://login.microsoftonline.com/<redacted>/oauth2/v2.0/authorize
But when MSAL asked IdentityClient to make a request to this endpoint, the ultimate error being thrown from the platform was
'Error: error:0A0000A1:SSL routines::library has no ciphers
    at new SecureContext (node:_tls_common:89:16)
    at Object.createSecureContext (node:_tls_common:114:13)
    at Object.connect (node:_tls_wrap:1631:48)
    at Agent.createConnection (node:https:150:22)
    at Agent.createSocket (node:_http_agent:341:26)
    at Agent.addRequest (node:_http_agent:288:10)
    at new ClientRequest (node:_http_client:343:16)
    at Object.request (node:https:360:10)
    at C:\\src\\fips-repro\\node_modules\\@azure\\core-rest-pipeline\\dist\\index.js:1694:99\n    at new Promise (<anonymous>)'

Which is the same error I was seeing before. I'm using Node v18.14.0 so I'm not sure why it's not finding any ciphers...

@elliot-huffman one minor correction to your repro I had to make was the scope was wrong for graph, it should be https://graph.microsoft.com/.default  - not sure if that helps you get further with your working FIPS build. :)

I'm starting to think the standard NodeJS Windows build doesn't have proper FIPS bindings:
C:\src\fips-repro>node --enable-fips index.js
node: OpenSSL error when trying to enable FIPS:
90380000:error:12800067:DSO support routines:win32_load:could not load the shared library:c:\ws\deps\openssl\openssl\crypto\dso\dso_win32.c:108:filename(c:ws$(ConfigurationName)\obj.target\deps\openssl\lib\openssl-modules\fips.dll)

@elliot-huffman one minor correction to your repro I had to make was the scope was wrong for graph, it should be https://graph.microsoft.com/.default  - not sure if that helps you get further with your working FIPS build. :)

I'll give that a try in my primary project, I had a custom set of permissions that I granted my manage identity and didn't want to have just user.read. I'm guessing .default grants me all the permissions of my service principal?

I'm starting to think the standard NodeJS Windows build doesn't have proper FIPS bindings:
C:\src\fips-repro>node --enable-fips index.js
node: OpenSSL error when trying to enable FIPS:
90380000:error:12800067:DSO support routines:win32_load:could not load the shared library:c:\ws\deps\openssl\openssl\crypto\dso\dso_win32.c:108:filename(c:ws$(ConfigurationName)\obj.target\deps\openssl\lib\openssl-modules\fips.dll)

That has to be a bug in Node then, the OpenSSL 3 libs have FIPS support built into it. Unlike v1...

I'll give that a try in my primary project, I had a custom set of permissions that I granted my manage identity and didn't want to have just user.read. I'm guessing .default grants me all the permissions of my service principal?

I am not sure what the rationale of .default as a magic string ultimately is, it's simply part of the arcana of AAD that I have come to accept when talking to service endpoints. It's possible the friendly folks at https://github.com/AzureAD/microsoft-authentication-library-for-js/ would have some better insights as to how that became the established convention for service permissions.

I tried using the command line flag on codespaces and had a similar issue on Linux as I did on Windows:
node: OpenSSL error when trying to enable FIPS:
C0D74C82757F0000:error:12800067:DSO support routines:dlfcn_load:could not load the shared library:../deps/openssl/openssl/crypto/dso/dso_dlfcn.c:118:filename(/home/iojs/build/ws/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules/fips.so): /home/iojs/build/ws/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules/fips.so: cannot open shared object file: No such file or directory

This makes me think that is it just a misconfig on the Node.JS build when they are statically linking the Libraries for OpenSSL.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Jeff Fisher @.>
Sent: Monday, February 6, 2023 4:51:23 PM
To: Azure/azure-sdk-for-js @.>
Cc: Elliot Huffman @.>; Mention @.>
Subject: Re: [Azure/azure-sdk-for-js] Unable to enable FIPS mode on latest Node 18 LTS (Issue #23633)
I tried using the command line flag on codespaces and had a similar issue on Linux as I did on Windows:
node: OpenSSL error when trying to enable FIPS:
C0D74C82757F0000:error:12800067:DSO support routines:dlfcn_load:could not load the shared library:../deps/openssl/openssl/crypto/dso/dso_dlfcn.c:118:filename(/home/iojs/build/ws/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules/fips.so): /home/iojs/build/ws/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules/fips.so: cannot open shared object file: No such file or directory
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-sdk-for-js/issues/23633#issuecomment-1419820462, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABGMEWVADAZWGQWLP6KM2JTWWFW5XANCNFSM6AAAAAARQTOXGQ.
You are receiving this because you were mentioned.Message ID: @.***>

@elliot-huffman Looks like the issue you faced may be linked to the MSAL bug, the fix for which was shipped in https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/4879#issuecomment-1462949837
Please use @azure/identity version 3.2.3 to get the bug fix<EMAIL_ADDRESS>Please let me know if that works for you.

The issue still persists for me.
Error:
Token retrieval error:
AggregateAuthenticationError: ChainedTokenCredential authentication failed.
CredentialUnavailableError: endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.
    at C:\GitHub\Moot\Moot-Security-Management\Server\node_modules\@azure\identity\dist\index.js:2927:29
    at process.processTicksAndRejections (c:\GitHub\Moot\Moot-Security-Management\Server\lib\internal\process\task_queues.js:95:5)
    at async Object.withSpan (C:\GitHub\Moot\Moot-Security-Management\Server\node_modules\@azure\identity\node_modules\@azure\core-tracing\dist\index.js:140:28)
    at async ChainedTokenCredential.getToken (C:\GitHub\Moot\Moot-Security-Management\Server\node_modules\@azure\identity\dist\index.js:2902:27) {errors: Array(1), name: 'AggregateAuthenticationError', stack: 'AggregateAuthenticationError: ChainedTokenCre…odules\@azure\identity\dist\index.js:2902:27)', message: 'ChainedTokenCredential authentication failed…ty in the knownAuthorities config parameter.'}

@elliot-huffman Have you filed a bug on node? https://github.com/nodejs/node

@elliot-huffman Are you still having this issue with Node 20? We have moved to Node 20 a while back.

Thanks for checking on this, we are on Node 20 and it is working great right now on the latest version of this package


Text and icon size option?

I'm finding it difficult to read some of the text on the panel of the new version. Namely:
In battle mode:

All text in the "fighting/ next node" panel that gives you the information of the current battle
Everything in the "ship panel" (icons, names, ship type, health, and experience in particular)

In HQ mode:

Everything in the "ship panel" (icons, names, ship type, health, and experience in particular)
Expedition icons and expedition number

I'm finding that I still have maybe 100 pixels of empty vertical height with v10's layout on my smaller monitor, with a good 300 or so pixels of vertical height free on my biggest monitor. May it be possible to have text and icon size options to make it easier to read?

Uh, uh, yeah. I've switched to the latest version and my first reaction in there are things my eyes can't quite unsee.
To wit:

Ship list in Strategy Room now have pages. Forget it's massive font size,  it's has no spacing to speak of, which results to unreadable mess of list.
The big box at the bottom right of the Admiral Panel is taking up quite a lot of space, which makes the fleet panel looking simply too small right now. Besides, can't you make the remaining fuel toggle available as well?
Battle mode panel is okay, except that the "/" is missing from the available ship and equipment slots resulting in one big 100 number against one small 1XX.

The variance of monitor size is a big concern here. Perhaps we may need options to choose for Small / Medium / Big size but the problem will come up when we update/add more features for the Panel.

This quest timing font problem had been insisted me for many days when I firstly used the older version (around 8th), until my eyes already can deal with it.
The battle mode panel font size is alike the quest timing font's...

For now, the size of Horizontal Layout is 550x450 and Vertical Layout is 800x300. The game screen is 800x450. When adding them together, we have:

Game + H-Layout: 1350x450
Game + V-Layout: 800x750

Some of common screen resolutions are:
-* 1920x1080
-* 1366x768 (I'm using this)
-* 1280x1024
-* 1280x800
-* 1024x768
-* 800x600
So V-Layout can extend its height 300px more for 1920x1080 and 200px more for 1280x1024. Meanwhile, H-Layout still can double its width for 1920x1080 but now it looks okay to me.
Maybe I can add more Javascript for V-Layout to deal with those large screens without creating another theme only for that.

@LostLogia4 the page numbers are actually intended, they're like peeking from behind the list since I also don't want them to take too much space. However, it is planned to have a button to enabled/disabled paging.
@nicky008 sorry, which one is the quest timing?

@dragonjet  Ah, here...

@dragonjet Ah, this...

Mostly handled already quite some time ago, closing.


Update Documentation

Now is a good time to update the documentation fully with what I have so far. After this, I probably need to work on the fundamentals of the CO classes, and then work on the army class, an instantiation of which represents an army on the map.

Doxygen will be used instead of HelpNDoc.


new_feature

#pip install wikipedia
if 'wikipedia' in query:
speak('Searching Wikipedia...')
query = query.replace("wikipedia", "")
results = wikipedia.summary(query, sentences=2)
speak("Darling Wikipedia says ")
print(results)
speak(results)

Sorry didn't knew it was in it


CX Reflected_XSS_All_Clients @ website/comments/delete_preview_comment.php [master]

Reflected_XSS_All_Clients issue exists @ website/comments/delete_preview_comment.php in branch master
The application's http_redirect embeds untrusted data in the generated output with header, at line 5 of website\include\functions.php. This untrusted data is embedded straight into the output without proper sanitization or encoding, enabling an attacker to inject malicious code into the output.
The attacker would be able to alter the returned web page by simply providing modified data in the user input _POST, which is read by the <?php method at line 1 of website\comments\delete_preview_comment.php. This input then flows through the code straight to the output web page, without sanitization.
This can enable a Reflected Cross-Site Scripting (XSS) attack.
Severity: High
CWE:79
Vulnerability details and guidance
Checkmarx
Lines: 16

Code (Line #16):
http_redirect(Pictures::$VIEW_PIC_URL . "?picid=" . $_POST['picid']);

Issue still exists.

Issue still exists.


[v4] form-control: Remove background-image: none;

form-control has
background-image: none;
Why is that?
On some sites there are customizations on select, which set webkit-appearance to none and add a background-image with an arrow.
Applying bootstrap removes that image, but also doesn't reset webkit-appearance (remains none), so select controls don't have a dropdown icon at all.
Would you please consider removing
background-image: none;
?

It's to reset unusual Firefox-on-Android default style see :
https://github.com/twbs/bootstrap/blob/v4-dev/scss/_forms.scss#L16 and
https://github.com/necolas/normalize.css/issues/214

I'm wondering if adding this detail to the documentation Form controls to make sure the twbs users are aware of this detail is a good idea.

The issue has been resolved in Firefox 35 (released January 2015) according to https://github.com/necolas/normalize.css/issues/214#issuecomment-56409892.


How to improve loading of tile layers?

As suggested in #51 I implemented a work around to loop over tile Layers.
""" openweatherradar.org app """
import os
import flask
from datetime import datetime, timedelta

import dash
from dash.dependencies import Output, Input
from dash.exceptions import PreventUpdate
import dash_core_components as dcc
import dash_html_components as html
import dash_leaflet as dl
from src.time_helper import round_time
server = flask.Flask(__name__)

N_TIMESTAMPS = 25

def round_time(dt=None, round_to=60):
    """Round a datetime object to any time lapse in seconds
    dt : datetime.datetime object, default now.
    roundTo : Closest number of seconds to round to, default 1 minute.
    Author: Thierry Husson 2012 - Use it as you want but don't blame me.
    """
    if dt == None: dt = datetime.now()
    seconds = (dt.replace(tzinfo=None) - dt.min).seconds
    rounding = (seconds + round_to / 2) // round_to * round_to
    return dt + timedelta(0, rounding - seconds, -dt.microsecond)

app = dash.Dash(
    __name__,
    server=server,
    meta_tags=[{"name": "viewport", "content": "width=device-width"}],
    title='openweatherradar',
    update_title=None,)

app.layout = html.Div([
    dl.Map([dl.TileLayer(url='https://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{z}/{y}/{x}', maxZoom=13),
            dl.TileLayer(url='https://stamen-tiles-{s}.a.ssl.fastly.net/toner-lines/{z}/{x}/{y}{r}.png', minZoom=0, maxZoom=20),
            dl.TileLayer(url='https://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}{r}.png', maxZoom=19),
            dl.TileLayer(url="",
                         minNativeZoom=6,
                         maxNativeZoom=9,
                         id='radar_layer',
                         opacity=0.7,
                         crossOrigin=False,
                         updateWhenZooming=True,
                         tms=False)],
           center=[52.5, 10],
           zoom=5,
           style={'width': '100%', 'height': '98vh', 'margin': "auto", "display": "block"}),
    html.Div('2020/10/12/20/50', id='loop-timestamp', style={'display': 'None'}),
    dcc.Interval(id='loop-radar-layer',  interval=666),

],
)

@app.callback(Output('loop-timestamp', 'children'),
              [Input('loop-radar-layer', 'n_intervals')])
def update_loop_timestamp(intervals):
    if intervals is None:
        raise PreventUpdate
    now = datetime.utcnow()
    now = round_time(now-timedelta(minutes=3), round_to=60*5)
    return (now-timedelta(minutes=(N_TIMESTAMPS-int((intervals / N_TIMESTAMPS) % 1 * N_TIMESTAMPS))*5)).strftime('%Y/%m/%d/%H/%M')

@app.callback(Output('radar_layer', 'url'),
              [Input('loop-timestamp', 'children')])
def update_radar_layer(timestamp):
    time_url = f"https://api.meteointelligence.com/radar/data/{timestamp}"
    return time_url + "/{z}/{x}/{y}.png"

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 8050))
    server.run(host='<IP_ADDRESS>',
            port=port)

This is my full code. Please note that I run this application within docker container.
My problem now is that the loading is not smooth as we know this from e.g. Leaflet TimeDimension extension. You can see a runnng example with smooth updates of the layers: openweatherradar.org .

To achieve a resonable update speed (e.g. < 1 s), i would suggest a client side callback as in this example,
https://stackoverflow.com/questions/63589249/plotly-dash-display-real-time-data-in-smooth-animation/63681810#63681810
It won't solve the issue with flickering though. I suspect that it would require either implementing porting TimeDimension or implementing a similar mechanism in dash leaflet.

Looking at the source code of TimeDimension, i learned that they avoid flickering by preloading layers. With the layers loaded into the map, you can then toggle visibility of two layers at the same time, thus avoiding flickering. You can do the same in dash leaflet. Here is a small example,
import os
import flask
import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_leaflet as dl

from datetime import datetime, timedelta
from dash.dependencies import Output, Input, State

server = flask.Flask(__name__)

N_TIMESTAMPS = 25
RADAR_LAYER_OPACITY = 0.7
BUFFER_SIZE = 3

def round_time(dt=None, round_to=60):
    """Round a datetime object to any time lapse in seconds
    dt : datetime.datetime object, default now.
    roundTo : Closest number of seconds to round to, default 1 minute.
    Author: Thierry Husson 2012 - Use it as you want but don't blame me.
    """
    if dt is None:
        dt = datetime.now()
    seconds = (dt.replace(tzinfo=None) - dt.min).seconds
    rounding = (seconds + round_to / 2) // round_to * round_to
    return dt + timedelta(0, rounding - seconds, -dt.microsecond)

def get_radar_url(n_intervals):
    now = datetime.utcnow()
    now = round_time(now - timedelta(minutes=3), round_to=60 * 5)
    time_stamp = (now - timedelta(
        minutes=(N_TIMESTAMPS - int((n_intervals / N_TIMESTAMPS) % 1 * N_TIMESTAMPS)) * 5)).strftime('%Y/%m/%d/%H/%M')
    time_url = f"https://api.meteointelligence.com/radar/data/{time_stamp}" + "/{z}/{x}/{y}.png"
    return time_url

def get_radar_tl(**kwargs):
    return dl.TileLayer(url="", minNativeZoom=6, maxNativeZoom=9, opacity=RADAR_LAYER_OPACITY, crossOrigin=False,
                        updateWhenZooming=True, tms=False, **kwargs)

app = dash.Dash(__name__, server=server, meta_tags=[{"name": "viewport", "content": "width=device-width"}],
                title='openweatherradar', update_title=None, prevent_initial_callbacks=True)

app.layout = html.Div([
    dl.Map([
               dl.TileLayer(
                   url='https://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{z}/{y}/{x}',
                   maxZoom=13),
               dl.TileLayer(
                   url='https://stamen-tiles-{s}.a.ssl.fastly.net/toner-lines/{z}/{x}/{y}{r}.png', minZoom=0,
                   maxZoom=20),
               dl.TileLayer(url='https://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}{r}.png', maxZoom=19),
           ] + [get_radar_tl(id=f"radar_layer_{i}") for i in range(BUFFER_SIZE)],
           center=[52.5, 10], zoom=5, style={'width': '100%', 'height': '98vh', 'margin': "auto", "display": "block"}),
    dcc.Interval(id='loop-radar-layer', interval=666),
])

@app.callback([Output(f"radar_layer_{i}", 'opacity') for i in range(BUFFER_SIZE)] +
              [Output(f"radar_layer_{i}", 'url') for i in range(BUFFER_SIZE)],
              [Input('loop-radar-layer', 'n_intervals')],
              [State(f"radar_layer_{i}", 'url') for i in range(BUFFER_SIZE)])
def toggle_radar_layers(n_intervals, *args):
    # Update layers.
    urls = list(args)
    urls[int((n_intervals - 1) % BUFFER_SIZE)] = get_radar_url(n_intervals)
    # Show only the "oldest" layer.
    opacities = [0] * BUFFER_SIZE
    opacities[int(n_intervals % BUFFER_SIZE)] = RADAR_LAYER_OPACITY
    return opacities + urls

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 8050))
    server.run(host='<IP_ADDRESS>', port=port)

which yields the same behaviour as your code with BUFFER_SIZE=1 (i.e. no buffering), but for BUFFER_SIZE>1, the flickering disappears.

Great ! That works fine for me ! I will let you know If I am finished with the move the old application to the new one.
Best regards and thanks a lot

@emilhe it seems that I am not understanding how this really works . Actually I try to start with a paused loop and the last overlay. But it will not show.
I adapted the code:
@app.callback([Output(f"radar_layer_{i}", 'opacity') for i in range(BUFFER_SIZE)] +
              [Output(f"radar_layer_{i}", 'url') for i in range(BUFFER_SIZE)],
              [Input('loop-radar-layer', 'n_intervals'),
               Input('url', 'pathname')],
              [State(f"radar_layer_{i}", 'url') for i in range(BUFFER_SIZE)])
def toggle_radar_layers(n_intervals, _, *args):
    # Update layers.
    if n_intervals is None:
        n_intervals = 24
    urls = list(args)
    urls[int((n_intervals - 1) % BUFFER_SIZE)] = get_radar_url(n_intervals)
    # Show only the "oldest" layer.
    opacities = [0] * BUFFER_SIZE
    opacities[int(n_intervals % BUFFER_SIZE)] = RADAR_LAYER_OPACITY
    return opacities + urls

And added a dcc.Location object with the id='url'.


Usage Scenario in Branch

Insightful article, thanks. Couple of considerations and questions:
In branch scenario where Windows 10 Hello for Business is on entry level desktops, PINS may be the only option as these device dont have any embedded bio readers etc...
In the event of the desktops being shared by multiple users, what mechanisms can we put in place to prevent guessing of pins and sharing of pins. Note that some of these branches may be rurally remote , so there is no data access to consider using a cell phone for an out of band approval mechanism via push or SMS.
Let me know thoughts
Kind Regards

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

ID: c34dbafa-df3c-a5a5-32d5-2ce152893534
Version Independent ID: cebdd9a6-45d7-6306-373c-7d31121f9e16
Content: Why a PIN is better than a password (Windows 10)
Content Source: windows/security/identity-protection/hello-for-business/hello-why-pin-is-better-than-password.md
Service: unspecified
GitHub Login: @DaniHalfin
Microsoft Alias: daniha

You can deploy the Use Hardware Windows Hello for Business policy that requires the enrollment to use the computer's TPM.  The TPM provides anti-hammering as described in the PIN is backed by hardware section of the page.  For remote locations, you can use their desk phones combined with a user PIN for out-of-band approvals.


New-EPACPolicyAssignmentDefinition.ps1 - No Reference to ConvertTo-HashTable Function

The Script did not have a reference to the Helpers Script ConvertTo-HashTable.ps1

# Add the following so it can use this function
. "$PSScriptRoot/../Helpers/ConvertTo-HashTable.ps1"

Same here: see #142


make test-cov fails, possibly due to reorganized NIST OSCAL website

Describe the bug

[gw8] [ 22%] FAILED tests/trestle/core/profile_resolver_test.py::test_remote_profile_relative_cat

================================================================================= FAILURES =================================================================================
_____________________________________________________________________ test_remote_profile_relative_cat _____________________________________________________________________
[gw8] linux -- Python 3.9.9 /home/degenaro/venv.special/bin/python

self = <trestle.core.remote.cache.HTTPSFetcher object at 0x7f899cf74fd0>, force_update = False

    def _update_cache(self, force_update: bool = False) -> bool:
        """Update the cache by fetching the target remote object, if stale or forced.

        Args:
            force_update: force the fetch regardless of staleness.

        Returns:
            True if update occurred
        """
        if self._is_stale() or force_update:
            try:
>               self._do_fetch()

/home/degenaro/git/trestle.feat-special-validation-component-handling/trestle/core/remote/cache.py:100:

To Reproduce
Steps to reproduce the behavior:

download trestle develop branch
create venv
make install
make develop
make test-cov

Expected behavior
Test failure should not occur.
Temporary bypass: remove test_remote_profile_relative_cat from tests/trestle/core/profile_resolver_test.py.
Screenshots / Logs.
If applicable, add screenshots to help explain your problem.
Environment

OS: Red Hat
Python version: 3.9
Installed packages: trestle

Thanks for the issue creation @degenaro . I will be reviewing it and taking care of it.

I have a fix for this. I'll go ahead and make a branch and deliver. This is kind of a hot fix, since builds for PRs fail.

Fixed by #1435 .

Thanks @degenaro


feat(logger): expose config as flags

So I was trying to look around for a syslog server to store logs on some of my remote machines so I can test the Docker 1.6 changes and I thought to myself... "Hey, deis built one of those!" So this PR is a general enhancement to the logger itself. These enhancements are a no-op to the existing logger, but exposes flags to the end-user such that it's possible to extend the logger to the user's content.
Along with exposing common configuration as feature flags, this PR includes a feature flag for enabling/disabling publishing to service discovery (etcd). In some cases where you are running the logger in a local environment, you don't require the need to publish the logger to etcd. By default this is set to false, but I've enabled it in the Dockerfile so it's a no-op for Deis.
This doesn't need to be merged as it does not really affect Deis, but it does increase the value of the logger to be adopted by non-Deis platforms. Woo open source! :fireworks:

Note that this is also relevant for work that I'd like to work on the logger for deis logs -f. I'll propose a PR but basically I'd like to add a http server on the logger which we can spawn sessions that will expose the logs as a stream, similar to Heroku's Logplex server.

I'm fine with this as long as it doesn't break anything. Code LGTM.

I like these changes, code LGTM.


I'm strugling to get Args working

I don't know what I'm doing wrong but I just keep getting errors , like "About How you have to use named args when using count", so I switch to named args and then I get "cannot find value count in this scope", followed by:
error[E0599]: `LumpDataBinReadArgBuilder<'_, Needed, Needed>` is not an iterator
  --> src/wad/lumps.rs:15:52
   |
15 |     #[br(if(check_size(&name, size) != 0), count = Self::lump_size(size, &name), seek_before = SeekFrom::Start(offset as u64),  restore_posit...
   |                                                    ^^^^ `LumpDataBinReadArgBuilder<'_, Needed, Needed>` is not an iterator
...
51 | #[derive(Debug, BinRead, Clone)]
   |                 -------
   |                 |
   |                 method `count` not found for this struct
   |                 doesn't satisfy `_: Iterator`
   |
   = note: the following trait bounds were not satisfied:
           `LumpDataBinReadArgBuilder<'_, Needed, Needed>: Iterator`
           which is required by `&mut LumpDataBinReadArgBuilder<'_, Needed, Needed>: Iterator`
note: the trait `Iterator` must be implemented
  --> /home/thermatix/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:73:1
   |
73 | pub trait Iterator {
   | ^^^^^^^^^^^^^^^^^^
   = help: items from traits can only be used if the trait is implemented and in scope
   = note: the following trait defines an item `count`, perhaps you need to implement it:
           candidate #1: `Iterator`

I got it working once, though it wanted me to do this to pass the args:
args { inner: LumpDataBinArgData { name: &name } } // The name might be slightly off but you get the point

Which isn't in the documentation for args btw.
but then I added an extra layer enum and added the count arg (which I renamed size) and then it stopped working again.
I don't get it, I'm following the docs so why is it complaining?
Gist with code
P.S. I fully concede this issue might  not be up to scratch but I'm tired so I'm liable to making mistakes

Bringing the bits I'm referencing inline
The outermost field:
   #[br(if(size != 0), count = Self::lump_size(size, &name), seek_before = SeekFrom::Start(offset as u64),  restore_position,
    //args { size: count, name: &name } )]
    args { inner: (count, &name) } )]
    //#[br(args_raw = (count, &name))]

    pub data: Option<LumpData>

LumpData:
#[derive(Debug, BinRead, Clone)]
#[br(little, import { size: usize, name: &str })]
pub enum LumpData {

    #[br(pre_assert(size > 1))] DeserializeLump (
        #[br( count = size)]
        //#[br(args { inner: (size: size, name: &name) })]
        #[br(args { name: &name })]
        Vec<DeserializeLump>
    ),
    #[br(pre_assert(size == 1))] Bytes (
        #[br(count = size)]
        Vec<u8>
    )

}

The first thing to note here is that #[br(count = <whatever>] is always equivilant to #[br(args { count: <whatever> })] these days, and since LumpData no longer takes an arugment named count, that's not going to work. The second thing is that you're trying to use a variable named 'count' in your arguments, which doesn't exist. (because count doesn't define a variable, but just passes an argument.
So, for the outermost field, you probably want to move from count = Self::lump_size(size, &name) to args { size: Self::lump_size(size, &name), <...> }, and/or rename 'size' back to 'count'. (you might also want to move lump_size to the LumpData enum, but I don't know your format/code.)
The second thing to note is passing arguments through a Vec. A Vec is defined as taking VecArgs, which consists of two named arguments: count and inner, where inner is of the type of the arguments taken by the inner value. (this is why count = <blah> works with Vec, because it takes an argument called count).
So, inside LumpData when deserializing the Vec<DeserializeLump> field, you either want to use #[br(count = size, args { inner: args!{ name } })] or #[br(args { count: size, inner: args! { name }})]. These are both equivalent, but I personally think the latter is clearer. (the args macro here is essentially a shortcut for defining a structure that matches the named arugments of the appropriate type.)
(A note: I'm doing this entirely from memory, I haven't actually tested the changes to make sure that they compile. Apologies if they don't.)

if this

The first thing to note here is that #[br(count = ] is always equivilant to #[br(args { count:  })] these days

is true, why is this not in the documentation? Was it just forgotten to update it?
Amway, considering it kept wanting me to move stuff to  inner I'm going to guess you're right.
ALSO thank you so very much for clearing this up for me!

It's in the documentation for the count attribute?
https://docs.rs/binrw/0.11.2/binrw/docs/attribute/index.html#count
Specifically, where it's talking about what it "desugars" to.
Or are you talking about inner? I don't think that'd documented on the attributes page, since it has nothing to do with attributes, but I can agree that VecArgs (which I linked before) might not be the most discoverable place for it.
Where were you looking for this information/where did you expect to find it?

When I click on [Args][args], no where does it mention:

If you're using count = some_value you have to use named args
When using count alongside  named args you need to pass it like this: `args { count: count,   inner:  args! { some_arg: some_value } }
No mention of  the arg! macro

args: https://docs.rs/binrw/latest/binrw/docs/attribute/index.html#arguments

Hi there,
Sorry about any confusion, this is obviously never the goal. There’s no way to inspect types from a proc-macro so I’m unfortunately unaware of a way to give a more helpful diagnostic than what exists.
With regards to the documentation:

If you're using count = some_value you have to use named args

This information is communicated directly by the diagnostic when you try to use count with non-named args. It should be impossible to not receive this diagnostic in this case; if you encountered a situation where the diagnostic did not appear when you tried to use count and non-named arguments, would you please file a new report with a reproducer?

When using count alongside named args you need to pass it like this: args { count: count, inner: args! { some_arg: some_value } }

This information is communicated in the “Limitations” section of the linked documentation. However, this is technically inaccurate/outdated since the desugar today still works so long as the arguments are named arguments, so I have updated it with more accurate information.

No mention of the arg! macro

This macro is mentioned in the second bullet of the start of the linked documentation. However, this bullet point was unclear and lacked an example, so I have updated the documentation to demonstrate the use of this macro. (FWIW, it is not necessary to use the macro, you can also manually construct an inner object.)
Thanks for your feedback and I hope that otherwise you have been having a positive experience using binrw.
Best,


feat: witnesses bio translated 20/50

Current dependencies on/for this PR:

main

PR #63   👈

This stack of pull requests is managed by Graphite.


Add logging to indicate what the ParameterBindingData resolved type is

We need a way to determine what we are resolving the ParameterBindingData type to on the worker side. For example, if a user binds to a BlobClient are we correctly hydrating and returning a BlobClient to the user when we use the ParameterBindingData reference type. This aim of this is to help us with potential CRIs and telemetry to:
a) have telemetry to better understand adoption and what customers are most commonly binding to

[ ] Add a GrpcLog statement to indicate the type resolved by the converter

Pushing this back to sprint backlog as we need #1311 to be addressed first


Data Importer: Faces in the wild

[up-for-grabs] maybe?

Yes, it would be great to have it. Are you thinking of making a PR?

@lukaszkaiser, step by step. Let me figure out if I can make tensor2tensor work on Windows first. Some time ago I had a very hard time making tensorflow work; granted the support for windows was brand new (a few days after release).

Hopefully the instructions for TensorFlow on Windows are better now :). tensor2tensor is pure python, that should make things easy. I'm closing this issue for now, open new ones if you see problems!


Possible bug in A-Phased Repeat Finder

In findAPR(), line 197 has this loop:
for (i = 0; i < nProcessedATs - (minATracts + 1); i++)
Shouldn't that be
for (i = 0; i < nProcessedATs - (minATracts - 1); i++)
For example, if nProcessedATs=10 and minATracts=3, the loop termination becomes i<6. If I understand the code correctly, that means the last A-tract triplet it will consider is 5,6,7, and it doesn't consider 6,7,8 or 7,8,9.

In that same function, it also looks like, if the list of A-tracts ends with minATracts or more that are close enough to each other, the corresponding A-phased repeat is not added to the arep[] array.

Looking at getAtracts() I think it will have a similar problem -- if the final A-tract reaches the end of the sequence, it doesn't get collected into the pAPRs[] array.

I'm basing that on the assumption that the dna[] array doesn't incorporate some kind of sentinel.
For example, if dna[total_bases-1] is not 'a' or 't' then getAtracts() doesn't have the problem I think it does.

Another bug: at line 90, this test
if (dna[n - 1] == 't')
could cause an segfault if n is 0 (i.e. if the sequence begins with a run of 4 or more As). Moreover, if n is not zero and dna[n-1] is not a T, the code assumes it is an A. But this is never an A the first time through the loop.
I don't know if that miscounting results in any problems or not.

I didn't come into this code to look for bugs. What I was/am looking for is a clear definition of what is considered an A-tract.  Because I've been asked by someone to annotate the A-tracts in the output of this program. I.e. in an A-phased repeat, they want to know what subintervals are part of the A-tracts, and what subintervals are not.
The first definition I was pointed to was the one in the caption of Table 1 in the 2010 paper: "Non-B DB: a database of predicted non-B DNA-forming motifs in mammalian genomes." I couldn't come up with an interpretation of that definition that matched the motifs I saw reported.
Then I was pointed to this repository, and I noticed the 2013 paper in the README: "Non-B DB v2.0: a database of predicted non-B DNA-forming motifs and its associated tools." That gives the definition "A-phased motifs are defined as three or more tracts of four to nine adenines or adenines followed by thymines, with centers separated by 11–12 nucleotides." But that still disagreed with the motifs I saw reported.
I note that while the 2013 paper says an A-tract needs a minimum of 4 As (or, I think one of AAAT, AATT, ATTT is also indicated by that description), the default value in the code for minAPRlen is 3, not 4.
I thought I would be able to figure it out from the source code. There is a definition at the top of findAPR.c that looks promising, but it isn't clear to me that that is what getAtracts actually implements. I'm not saying it doesn't. I'm having difficulty understanding the effect of "go through each nucleotide" loop, what events it is actually counting. And as evidenced in this thread, I've come across a lot of bugs just while trying to understand how this one function works.
The description at the top of findAPR.c adds the important detail that the center of the A-tract is the center of its longest run of consecutive As (at least that's what I think it is saying). I didn't see that as part of the description in either of two papers.

The CAPTCHA issue is now fixed in the web version of non-BMST.

So I am really befuddled as to what definition of an A-tract is implemented. To try to understand this, I've added code to findAPR so that whenever it adds an A-phased repeat to its list, it writes out the component A-tracts to a file.
Below I list several of the A-tracts thus reported, and their positions in hg19 chr22.
For some (many) of these, I don't see how they fit the A-tract definition at the top of findAPR.c. In particular, that definition seems to count a run of As (or, I guess, a run of As plus a run of Ts right after the As) and a run of Ts, then an A-tract is supposed to have at least four more in the first run as in the second.  The user options minATractSep and maxATractSep aren't used anywhere. Instead, the default values are essentially hardwired into this line:
if ((distToNext <= 11.1) && (distToNext >= 9.9))

Found another bug. The user options minATractSep and maxATractSep aren't used anywhere. Instead, the default values are essentially hardwired into this line:
if ((distToNext <= 11.1) && (distToNext >= 9.9))

Breaking this out into it's own issue, (see #4).


Audio Editor

Primarily a discussion topic. See the primary issue over at console.

Draft PR for this up at #43

Closing this in favor or PR


Treasure map fix for green maps

        # Click play floor if found
        if not (pos == np.array([0, 0])).any():
            if floor % 3 == 0:
                self.click_button(pos + [30, -460])
            elif floor % 3 == 1:
                self.click_button(pos + [30, 485])
            elif floor % 3 == 2:
                self.click_button(pos + [30, 885])
            # Click the treasure map at coords 350, 1450
            self.click_button((350, 1450))
            # Click Random
            self.click_button((500, 600))
            for i in range(10):
                time.sleep(7)
                avail_buttons = self.get_current_icons(available=True)
                # Look for correct chapter
                self.logger.info(f'Waiting for match to start {i}')
                if avail_buttons['icon'].isin(['back_button.png', 'fighting.png']).any():
                    break

just added a self click for green treasure map before clicking random to start coop
The original treasure map function stopped working for me and if its not working for you just use this code in bot_core

Can you give the latest release a try? Make sure the green treasure map check box is checked before starting the bot.
If the issue still persists, can you provide me a screenshot of the "dungeon selection" page and the "selecting allies" page? Please use the screenshot button in Bluestacks.


disableTestTask configures the task but should not

Describe the bug
I use the jvm-test-suite plugin and add an integrationTest but I don't want to include the task/test results in kover.
Errors
./gradlew build =>
Could not determine the dependencies of task ':koverGenerateArtifactJvm'.
> Could not create task ':integrationTest'.
   > Cannot query the value of this provider because it has no value available.

Expected behavior
./gradlew build => no error
Reproducer
plugins {
    kotlin("jvm") version "2.0.0"
    id("jvm-test-suite")
    id("org.jetbrains.kotlinx.kover") version "0.8.0"
}

kotlin.jvmToolchain(21)

repositories {
    mavenCentral()
}

testing.suites {
    named("test", JvmTestSuite::class) {
        useKotlinTest()
    }
    register("integrationTest", JvmTestSuite::class) {
        useKotlinTest()
        targets.configureEach {
            testTask {
                environment("foo", providers.gradleProperty("NOT-SET").get())
            }
        }
    }
}

kover.currentProject {
    instrumentation {
        disabledForTestTasks.add("integrationTest")
    }
    sources {
        excludedSourceSets.add("integrationTest")
    }
}

Reports
If applicable, report files or screenshots.
Environment

Kover Gradle Plugin version: 0.8.0
Gradle version: 8.7
Kotlin project type: Kotlin JVM
Coverage Toolset (if customized in build script): nA
Other context important for this bug: nA

Alternatively, only depend on tasks.test by default and you need to opt-in to depend on other test tasks.

Hi,
this is because Kover Gradle Plugin use the matching function to locate test tasks but it is not lazy - it causes the creation of an instance of the task. For this reason, even if you exclude a task by name using matching, it is still created.
This can be circumvented by using the new named function, however it will only work in Gradle starting with version 8.6

But what about using opt-in of other tasks instead to not configure the tasks by default?

But what about using opt-in of other tasks instead to not configure the tasks by default?

This can be done, but in this case it is necessary to significantly redesign the workflow for the plugin.
Since you are using Gradle version 8.7, we will implement usage of the new named function, and in this case the integrationTest task instance will not be created when writing
kover.currentProject {
    instrumentation {
        disabledForTestTasks.add("integrationTest")
    }
}

Unfortunately, the named {} function in Gradle still contains a similar error, and it causes the creation of all tasks (see example).
Therefore, at the moment it is difficult to write a search for test tasks by name without configuring all test tasks.
The use of named("name") is unreliable, because the task can be created after, and the use of TaskProviders requires significant changing of the DSL.
We are waiting for the fix to be released in Gradle.

I found a solution (for my use-case): I switched to the new settings plugin and everything works now without configuring the integration test tasks, nice!
But I have one question left: How do I setup rules in settings plugin?

But I have one question left: How do I setup rules in settings plugin?

There is no verify task in settings plugin right now, but I think we will add it in the next release

@hfhbd, verification was added in 0.9.0-RC


User is active or not?

Admin->Users-> Edit-> IS ACTIVE OR STATUS

it is about mail activation.

If the first option shows the mail activation; I think it could be "User has activated her/his account "


Long titles in sidenav component

Material Design say that "Very long titles should be truncated"
https://www.google.com/design/spec/patterns/navigation-drawer.html

See "Helpers"
Added in f32f9b660ab55bb71c2c63eb98ede3f3ad6d6a70


Can't Use analytics-next without using Identitfy ?

I'm trying to use this library from Node, because Brave does not allow tracking.
Here is the error I am receiving:
.userId/anonymousId/previousId/groupId is nil
But it appears I am forced track a login event for user first?
I do not want to use the following code, as my site does not have users:
analytics.identify({
	userId: req.body.userId,
	previousId: req.body.previousId,
})

Am I meant to be using a different tracking library for this?

@F1LT3R Sorry for the delayed response here.
So you're trying to make track calls using @segment/analytics-node, but without specifying a user/anonymousId?
Every event needs to be associated with either an identified or anonymous user. If you have no registered users, you can either set the anonymousId on your events to a new guid per event, or share the same id if you don't care about associating events to different user sessions. If you have a way of correlating inbound HTTP requests to a specific user's session (e.g. with a cookie/custom header/custom field in request body) then you can set the anonymousId on your events to that value.
No need to call analytics.identify() from your node service unless you want to either:

associate an anonymous user to a registered user (which you've already said you don't have users)
want to add traits to the identity

Thanks @chrisradek - appreciate your feedback.

Thanks @chrisradek - appreciate your feedback.


Updated rxjs roadmap?

Just wanted to ask about the current roadmap for rxjs 7, 8, and possibly beyond. I can't seem to find any information on what's being planned or when is the expected release of 7. I did see there might have been a talk about this at the last ng-conf, but the video is unavailable. Any information would be very useful.
Thanks!

I really like the idea of having and sharing an official roadmap. I will take care, that we discuss it in the core team. Thanks a lot for creating this issue.

When will v7 be released?

@niklas-wortmann Any news on this?

any progress ?


Allow custom sorting on generic table.

This enables adding custom sorting function and pre-sorted rows from outside. Is useful for pagination, filtering etc...

@miq-bot assign @karelhala


README: Offensive Computer Security (CIS 4930) FSU link is broken

{
"date": "2023-01-1",
"free": true,
"name": "Angela",
"remark": "Received a 404 error on the CIS 4930 link.",
"url": "https://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/"
}

{
"date": "2023-01-1",
"free": true,
"name": "Angela",
"remark": "Received a 404 error on the CIS 4930 link.",
"url": "https://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/"
}
Hello robbot


Examine the implementation of GPOS lookup types 3, 4, 5 & 6.

When I wrote Compositor, I didn't have any test cases for these so I implemented them following my interpretation of the spec. The spec for these is pretty complex and (as I recall) incomplete/contradictory/confusing. So, the implementation is probably not correct. Now that the .fea syntax supports these lookup types, some test cases can be built and the implementation can be validated.
The test cases need to be incremental and atomic so that only one variable is being tested at a time. A simple text format that builds an in-memory font on the fly with defcon and pushes it through feaLib is going to be the easiest way to implement this.
Lookup Type 3 - Cursive Attachment
Syntax
Specification
Test Case Syntax Goes Here

Lookup Type 4 - Mark To Base Attachment
Syntax
Specification
Test Case Syntax Goes Here

Lookup Type 5 - Mark To Ligature Attachment
Syntax
Specification
Test Case Syntax Goes Here

Lookup Type 6 - Mark To Mark Attachment
Syntax
Specification
Test Case Syntax Goes Here

@typemytype: FYI, here is where I'll start working out some test cases for fixing the GPOS attachment positioning.