bump tox to 4.9

Bumps tox from 4.6.4 to 4.9.0.

Release notes
Sourced from tox's releases.

4.9.0
What's Changed

Disallow command line environments which are not explicitly specified in the config file by @tjsmart in tox-dev/tox#3089
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in tox-dev/tox#3091

New Contributors

@tjsmart made their first contribution in tox-dev/tox#3089

Full Changelog: https://github.com/tox-dev/tox/compare/4.8.0...4.9.0
4.8.0
What's Changed

Correct "notset" typo in --hashseed's --help text. by @lamby in tox-dev/tox#3082
Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by @dependabot in tox-dev/tox#3085
Allow extending lists with --override foo+=bar by @stefanor in tox-dev/tox#3088

New Contributors

@lamby made their first contribution in tox-dev/tox#3082
@stefanor made their first contribution in tox-dev/tox#3088

Full Changelog: https://github.com/tox-dev/tox/compare/4.7.0...4.8.0
4.7.0
What's Changed

Fix doc alignment and link check by @gaborbernat in tox-dev/tox#3059
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in tox-dev/tox#3061
Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 by @dependabot in tox-dev/tox#3063
Update a test regex to work with Python 3.12+ by @hroncok in tox-dev/tox#3066
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in tox-dev/tox#3067
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in tox-dev/tox#3070
Remove broken link by @gaborbernat in tox-dev/tox#3072
Add sponsor button for tidelift by @jugmac00 in tox-dev/tox#3079
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in tox-dev/tox#3081
Make --hashseed default to PYTHONHASHSEED, if defined by @paravoid in tox-dev/tox#3076

Full Changelog: https://github.com/tox-dev/tox/compare/4.6.4...4.7.0

Changelog
Sourced from tox's changelog.

v4.9.0 (2023-08-16)
Features - 4.9.0
- Disallow command line environments which are not explicitly specified in the config file - by :user:`tjsmart`. (:issue:`2858`)
v4.8.0 (2023-08-12)
Features - 4.8.0

--override can now take options in the form of foo+=bar which
will append bar to the end of an existing list/dict, rather than
replacing it. (:issue:3087)

v4.7.0 (2023-08-08)
Features - 4.7.0
- Make --hashseed default to PYTHONHASHSEED, if defined - by :user:`paravoid`.
  The main motivation for this is to able to set the hash seed when building the
  documentation with "tox -e docs", and thus avoid embedding a random value in
  the tox documentation for --help. This caused documentation builds to fail to
  build reproducibly. (:issue:`2942`)
Bugfixes - 4.7.0

Update a regular expression in tests to match the exception message in both Python 3.12 and older. (:issue:3065)

Improved Documentation - 4.7.0
- Fix broken links - by :user:`gaborbernat`. (:issue:`3072`)

Commits

3627f11 release 4.9.0
6ca8d9b [pre-commit.ci] pre-commit autoupdate (#3091)
2124458 Disallow command line environments which are not explicitly specified in the ...
f516cb5 release 4.8.0
3b56b5c Allow extending lists with --override foo+=bar (#3088)
b40dc3f Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 (#3085)
d50ac1d Correct "notset" typo in --hashseed's --help text. (#3082)
dc53476 release 4.7.0
bf61092 Make --hashseed default to PYTHONHASHSEED, if defined (#3076)
2cd8c00 [pre-commit.ci] pre-commit autoupdate (#3081)
Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Codecov Report

Merging #12 (58c3a61) into master (8e6b52d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #12   +/-   ##
=======================================
  Coverage   95.71%   95.71%
=======================================
  Files          10       10
  Lines         350      350
=======================================
  Hits          335      335
  Misses         15       15

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[BUG] - Offline pilot status not updating

Issue: Map is still showing pilots as online in systems once client has been closed - Crest API location details are not syncing.
Example: I have added trade hubs to our default map. In this case the pilot logged off in Amarr (or this is shown as the current last known location)

I encountered the same problem. I locked one wormhole system (home) and few pilots are listed as permanently online in that system.
Is there any way to "flush" the system's list of pilots and possibly force pathfinder to get new data?

Have you checked your Cronjob to be working?
Offline/Inactive pilotes should be auto-deleted after 10min.
The "problem" is a way more complex here:

The current location is pulled from CREST every few seconds. This requires the character to be online.
The CREST limitations we have to deal/work with:
I can´t pull location updates for multiple characters at once (there is no bulk endpoint available)
I can´t pull location updates by Cronjob because of the CREST request limit of 150/s
CREST is not a push API. PF has to request CREST for updates (I can´t get auto-informed about "offline" pilots by CREST)

So the only way to delete inactive/offline chars is a Cronjob. This is the way to go.


[loans] Track account's earned interest on supply positions

Add earned interest for supply positions. If it's too complex we can track only total deposited amount in underlying asset by updating state on each supply/withdrawal from market.
https://discord.com/channels/745259537707040778/1063145456756064256/1063145460509974568
Blocking strategies page https://github.com/interlay/interbtc-ui/pull/1473

Resolved with https://github.com/interlay/interbtc-squid/pull/127


Cannot start nuxt:  Cannot find module 'vue-i18n/dist/vue-i18n.esm-bundler.js'

Hi @kazupon and thank you for this PoC.
I tried it on a project and got the following error:

Cannot start nuxt:  Cannot find module 'vue-i18n/dist/vue-i18n.esm-bundler.js'

I honestly have no idea what this means. I am new to both Nuxt 3 and TypeScript.

Require stack:
<EMAIL_ADDRESS>at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.resolve (node:internal/modules/cjs/helpers:108:19)
at setupNuxt3 (node_modules/@kazupon/nuxt-i18n-next/dist/module.mjs:481:53)
at setup (node_modules/@kazupon/nuxt-i18n-next/dist/module.mjs:536:13)
at Object.wrappedModule (node_modules/@nuxt/kit/dist/index.mjs:407:22)
at node_modules/@kazupon/nuxt-i18n-next/module.cjs:3:58
at async installModule (node_modules/@nuxt/kit/dist/index.mjs:456:3)
at async initNuxt (node_modules/nuxt3/dist/index.mjs:941:5)
at async load (node_modules/nuxi/dist/chunks/dev.mjs:6717:9)
at async Object.invoke (node_modules/nuxi/dist/chunks/dev.mjs:6756:5)

I am getting this error:
ERROR  Cannot find package 'webpack' imported from<EMAIL_ADDRESS>  at new NodeError (node:internal/errors:371:5)   at packageResolve (node:internal/modules/esm/resolve:884:9)   at moduleResolve (node:internal/modules/esm/resolve:929:18)   at defaultResolve (node:internal/modules/esm/resolve:1044:11)   at ESMLoader.resolve (node:internal/modules/esm/loader:422:30)   at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40)   at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)   at link (node:internal/modules/esm/module_job:75:36)
It seems to be the information for the installer is missing, so it can't be deployed.
My configuration in nuxt.config.ts   (nuxt3, no bridging)
modules: ["@nuxtjs/i18n"],


Update containerd in yum repos to the latest patch

What would you like to be added:
The only version of containerd available from AL2 yum repos is  1.6.19-1.amzn2.0.5. This was released in Feb this year
containerd is up to 1.6.25, can you publish the latest patched version to yum
Why is this needed:
To address CVEs

1.6.25 also includes a fix to https://github.com/containerd/containerd/issues/9103 which causes deadlocks when exiting short running containers under load.
This bug has significant impact creating k8s Pods with a fast running initContainer, as kubelet cannot start the main Pod containers until containerd has guaranteed the initContainer has been fully terminated.
The bug leads to delays of 1 to 2 minutes in starting new Pods while waiting for the deadlock to be resolved cleaning up the  containerd's internal state for the initContainer. (normally when the node is under load or starting multiple pods at once with fast init containers)
It would be very useful to have the fix in the EKS image (patched in containerd 1.16.25)

This is pretty serious, I am having to go to clients and ask for an exception for CVEs, the explanation will be, we cannot update because the package has not been updated by AWS for 9 months.
I tried the epel version as well this requires SELinix packages which are not available

is there any ETA on getting the containerd version updated?

See latest AMI ( https://github.com/awslabs/amazon-eks-ami/releases/tag/v20231201 )
We are on containerd 1.7.2-1.amzn2.0.1 now

@dims 1.7.2 is also 6 months old (1.7.11 is latest). both containerd 1.6.x and 1.7.x are being actively developed and should be updated to the latest versions https://github.com/containerd/containerd/releases

@austinarbor-wk yep!

Hello, My customer is experiencing the exactly same issue.
Would you provide any ETA of this Container version upgrading please?

We've just updated to 1.7.11


Expire a condition

Story statement
As a fraud analyst,
I want to be able to expire conditions
So that the system can stop exerting operational control over evaluations AND
So that I can ensure timely deactivation of controls that are no longer necessary or relevant, thereby facilitating unimpeded legitimate transactions.
Description / Overview
New functionality is being added to the Tazama system to be able to block a transaction event based on the evaluation of conditions against one of the transaction event attributes. The purpose of this user story is to provide a feature to allow a user to update the expiration of a condition via an Admin API.
see epic https://github.com/frmscoe/tazama-project/issues/12
Sequence diagram
sequenceDiagram
  participant clientsystem as Client System
  participant tmsapi as TMS API
  participant cache as Cache
  participant DB as Database

  clientsystem->>tmsapi: updateCondition()
  tmsapi->>DB: updateCondition()
  DB->>tmsapi: writeOk()
  tmsapi->>cache: updateCondition()
  tmsapi->>clientsystem: WriteOk()

Acceptance criteria

Create Admin APIs that have access to the Tazama database

recommended /v1/admin/event-flow-control/account/
recommended /v1/admin/event-flow-control/entity/

Create a REST (PUT) endpoint to allow a client system to update a condition and edges in the Tazama graph database

Message format for entity
{
    "xprtnDtTm": "2024-03-03T24:00:00.999Z"
}

condId should be the condition _key
Functionality

ACCOUNT:
The request parameter must be an account id and condition id url:port/v1/event-flow-control/account/?id=4315e3271f5548c78242c70a7bc1bda7&&schmenm=IBAN&&agt=dfsp001&&condId='123'

Parameters:

id: Account identifier
schmenm: Scheme name of the account
agt: proprietary agent identifier
condid: condition identifier

OR
4.  ENTITY:
The request parameter must be an entity id and condition id url:port/v1/event-flow-control/entity?id=+27730975224&&schmenm=MSISDN&&condId='123'
Parameters:

id: Entity identifier
schmenm: Scheme name of the entity
condid: condition identifier

Functional requirements

If the entity does not exist in the entity collection in the pseudonyms DB, return an error "Entity does not exist in the database"
If the account does not exist in the accounts collection in the pseudonyms DB, return an error "Account does not exist in the database"
If the condition does not exist in the conditions collection in the pseudonyms DB, return an error "Condition does not exist in the database"
If the xprtnDtTm is provided,

If xprtnDtTm is before than NOW(), return an error

If xprtnDtTm is after than NOW(), update xprtnDtTm to date provided
If the xprtnDtTm is not provided, xprtnDtTm should be updated to NOW() (javascript function) by the API on receipt and processing of the request.
If the condition already contains an xprtnDtTm, the condition must not be updated and the update must fail with a message: 405 Method Not Allowed - "Update failed - condition condId already contains an expiration date current.xprtnDtTm"

Complete Success Criteria

xprtnDtTm is updated for the condition and the edges
The server returns a 200 OK response with a message: "Condition condId expiration date xprtnDtTm successfully applied."
If successfully updated in the DB, the condition and edges are also updated in Valkey (https://valkey.io/) cache for high speed retrieval (i.e. write-aside caching).

Success response
200 OK
Error responses
4xx
5xx
If the update is unsuccessful, return an error

This functionality was applied to the admin-service repository


lwcapi doesn't properly cleanup expressions

At least in some cases, the service isn't properly cleaning up expressions after the connection from the subscriber has been lost. Graph below shows example from a load test it kept growing until the instances were replaced:

Even though connections from subscribers were stopped:

Simple reproduction, run with conf/lwcapi.conf and run:
seq 1 1000 | while read i; do
  curl -m2 "http://localhost:7101/lwc/api/v1/stream/$i?expression=name,$i,:eq"
done


LW-R8: Empty Author Query appears for the author user (LEAN-2001)

@asouqi @hhusban what's the status of this? Sorry I missed the previous comment.

what's the status of this? Sorry I missed the previous comment.

oh nevermind I will close this PR. as we fix this issue on the comment rework PR


CustomProjectileAction Minimum Range Options

Added minimum range parameters for custom projectile spells (entities and/or blocks). This is useful if you want a projectile to travel a certain distance before it has an effect, but don't want it to be able to pass through certain things. Default values should have no effect on how spells currently behave.
Also fixed a small bug in the ChangeContextAction parameters.
Example Spell:
spear:
    icon: ink_sack:1
    icon_url: http://textures.minecraft.net/texture/543a93796b389fc710671b62106068619b7673e7bf48a6c77bc4db921d54
    category: combat
    worth: 100
    earns_sp: 6
    class: ActionSpell
    actions:
        cast:
        - class: ChangeContext
          actions:
          - class: CustomProjectile
            actions:
            - class: Damage
    effects:
        cast:
        -  class: EffectSingle
           sound: entity_player_attack_strong
           sound_volume: 0.2
           location: origin
        -  class: EffectSingle
           location: origin
           effectlib:
             class: LineEffect
             type: instant
             particle: cloud
             relativeOffset: 5.5,-.25,-.125
             length: 2
             duration: 0.25
        -  class: EffectSingle
           location: origin
           effectlib:
             class: LineEffect
             type: instant
             color: 663300
             particle: redstone
             relativeOffset: 0,-.25,-.125
             length: 5.5
        hit:
        -  class: EffectSingle
           sound: entity_player_attack_strong
           sound_volume: 1.2
           location: target
           particle: explosion_large
    parameters:
        relative_source_offset: 0,-.25,.4
        use_target_location: false
        target: other
        hitbox: true
        allow_max_range: true
        reorient: false
        target_type: Damageable
        player_damage: 3
        entity_damage: 6
        target_breakables: 2
        cooldown: 500
        speed: 10
        target_direction_speed: 2
        target_self_timeout: 2000
        min_entity_range: 5.5
        range: 8
    costs:
        mana: 30

Thank you! This looks cool.
There are some things I'll want to clean up, mainly just code format and variable name conventions, and I'll definitely want to switch the distance() calls to distanceSquared() for performance but all in all this looks good.
I'll pull it in a little bit, thanks!

Without the retargeting bit, the projectile stops on the first thing it hits and does not keep going. This led to some odd behavior where an entity walking away from you could get hit some time after casting the spell.
The >= leads to different behavior depending on what parameters you end up specifying (note min_range can never be lower than the max of the other 2):
min_range is specified, the other 2 are zero: spell will fail if it hits anything before travelling the minimum range
min_entity_range is specified, min_block_range is zero: the spell will pass through entities but will fail on blocks before it reaches min range (the behavior I was trying to achieve with the spear spell)
min_block_range is specified, min_entity_range is zero: pass through blocks but not entities
both min_block and min_entity is specified: it will pass through both before min_range is reached.
The biggest performance hit would be trying to get it to pass through a large number of blocks at high speed. With my testing of the spear spell it typically only ran 2-3 iterations before passing through an entity with no noticeable degradation of performance.

Thank you for the explanation!
I'm thinking this same effect could be achieved using the existing targeting call, and perhaps at most one extra iteration. Something along the lines of this:

min_range is specified, the other 2 are zero: spell will fail if it hits anything before travelling the minimum range

This could be covered by a simple check on hit

min_entity_range is specified, min_block_range is zero: the spell will pass through entities but will fail on blocks before it reaches min range (the behavior I was trying to achieve with the spear spell)

min_block_range is specified, min_entity_range is zero: pass through blocks but not entities

both min_block and min_entity is specified: it will pass through both before min_range is reached.

I think these cases could be covered by tweaking the initial targeting call. So if distanceTravelled < minEntityRange, turn off entity targeting for this tick. If distanceTravelled < minBlockRange, turn off block targeting (not sure there's a clean way to do this but it could be added)
If distanceTravelled < minBlockRange and minEntityRange, skip targeting completely.
The other trick would be in any of the above cases, range would need to be adjusted so that we don't pass any of these thresholds in one tick. If the threshold is passed, an additional retarget may be required to finish up the tick.
In general this might be too complex for me to want to keep in this state, what do you think about the above?
I also question the complexity of the three different parameters- what would you think about a single minRange, and then flags for whether or not to hit entities or blocks under that range?

I think these cases could be covered by tweaking the initial targeting call.

That does make more sense, I was initially doing this in the context of my own plugin so I was trying to restrict myself to changing only the CustomProjectileAction class. I'm sure you have other things you'd like to work on so I don't mind taking a stab at that, though I may not get around to it for a couple of days. I'm thinking a method call that will set a few flags to override the entity/block targeting for a single call to findtarget, then revert to using the original context for future calls would accomplish it nicely?
Something like  if (!(ignoreBlocks || ignoreBlocksOnce)) { and similar for entities.

I also question the complexity of the three different parameters- what would you think about a single minRange, and then flags for whether or not to hit entities or blocks under that range?

I'm fine with that

Thanks for the response! I may take a whack at this today, then- but I might need you to test it when you get a chance :)
Or if you have some configs that use this that you could share, that'd help me out too.

I just used the spear spell I included in the original pull request which is what started me in this direction, though for debug purposes you may want to add in an effect for the projectile itself. My objective was to make it like an actual spear, where you can thrust between monsters to hit the ones behind, but can't go through walls and can't damage monsters close to you.


Improve quality of Vale

Release notes:

Vale now ignores all usernames within release note files.
New inclusivity linter to follow style guide recommendations (gender-neutral, non-ableist language).
Updated a few words in the dictionary.

@andf-crl @lnhsingh Thank you both for the reviews!


resolved the gosec issue failing unit tests

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind failing-test
What does does this PR do / why we need it:
resolving gosec error
Which issue(s) this PR fixes:
gosec -severity medium -confidence medium -exclude G304,G204 -quiet  ./...
Results:
[�[97;41m/go/src/github.com/openshift/odo/pkg/util/util.go:87�[0m] - G404 (CWE-338): Use of weak random number generator (math/rand instead of crypto/rand) (Confidence: MEDIUM, Severity: HIGH)
  > rand.Intn(len(letterRunes))
[�[97;41m/go/src/github.com/openshift/odo/tests/helper/helper_generic.go:29�[0m] - G404 (CWE-338): Use of weak random number generator (math/rand instead of crypto/rand) (Confidence: MEDIUM, Severity: HIGH)
  > rand.Intn(len(letterBytes))
�[1;36mSummary:�[0m
   Files: 229

How to test changes / Special notes to the reviewer:
running gosec locally using make sec should pass
(base) [gramnani@girishpc odo]
$ make sec
/home/gramnani/GoProjects/bin/gosec
gosec -severity medium -confidence medium -exclude G304,G204 -quiet  ./...
(base) [gramnani@girishpc odo]

/retest

/retest

Few gosec rules has been updated in latest gosec version. I am able to reproduce it locally. I have verified your changes locally and it works fine. @girishramnani Thanks for the quick pr.
/lgtm

prow failure
/retest

I want to resolve the underlying problem of this and this is the auto upgrading versions of gosec and wwhrd.
opening an issue to track and resolving that ASAP as well

created an issue for pinning down the version https://github.com/openshift/odo/issues/3359
cc @amitkrout

/lgtm

/lgtm

/approve
Thanks for making the DRY change on the fly! :+1:  @girishramnani

/retest

/retest


ENH: Integrate downsampling in BSplineApprox when the input is high-res

Adds a new input zooms_min that will trigger the downsampling of the input field map when it comes with a very high resolution (typically, this is the case for SDC SyN).
Although the input is resampled, the output field is interpolated at the original resolution for debugging purposes.
Downsampling dramatically speeds up approximation. Alternatively, a solution (for the SDC SyN) would be to calculate a heavily dilated mask of the brain and use it to limit the number of voxels that are fit in regression.

cc/ @eilidhmacnicol

BTW, this is meant to be merged before the other PRs

It doesn't necessarily need to be binary. I didn't respond to your concerns
about the niworkflows function. Happy to use something simpler with less
issues.
On Wed, Nov 16, 2022, 17:32 Chris Markiewicz @.***>
wrote:

@.**** commented on this pull request.
In sdcflows/interfaces/bspline.py
https://github.com/nipreps/sdcflows/pull/301#discussion_r1024238035:

       if isdefined(self.inputs.in_mask)

       else None

   )

   need_resize = np.any(np.array(zooms) < self.inputs.zooms_min)

   if need_resize:

       from niworkflows.utils.images import resample_by_spacing

       LOGGER.info(

           "Resampling image with resolution exceeding 'zooms_min' "

           f"({'x'.join(str(s) for s in zooms)})."

       )

       fmapnii = resample_by_spacing(fmapnii, [self.inputs.zooms_min] * 3)

       if masknii is not None:

           masknii = resample_by_spacing(masknii, [self.inputs.zooms_min] * 3)

I thought the mask was binary. I'll need to look again.
—
Reply to this email directly, view it on GitHub
https://github.com/nipreps/sdcflows/pull/301#discussion_r1024238035, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAESDRVNJUFBGOKRAPVYG3LWIUEC3ANCNFSM6AAAAAASCDN2UM
.
You are receiving this because you authored the thread.Message ID:
@.***>

LMKWYT

I'll go ahead and merge. I plan to make a PR collecting post-merge comments, so, if something new appears, I will address it later.


Adding support for windows paths

Fixing problem with test missing dependency

@googlebot I signed it!

@googlebot I signed it!


Clarify how to dynamically register for workspace/diagnostic requests

As far as I can tell, when a server wants to dynamically register for workspace/diagnostic requests, it needs to do so by registering for textDocument/diagnostic and setting DiagnosticOptions.workspaceDiagnostics to true. At least that is how the implementation in vscode-languageserver-node seems to handle it. If this is correct and intentional, it would be helpful to have a note in the spec for workspace/diagnostic for this counter-intuitive behavior for dynamic registration, i.e. that the Registration.method actually has to be textDocument/diagnostic instead of workspace/diagnostic.
Also, a registrationMethod field in definition for workspace/diagnostics in the meta-model may need to be added for this.

I hit an issue related to this + the identifier in DiagnosticOptions - https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnosticOptions in the C# extension.
It currently doesn't seem possible to register separate identifiers for workspace diagnostics.  Since I have to register the workspace capability via textDocument/diagnostic, it ends up registering that identifier for document pull as well as workspace pull.
This is an issue for us - generally we have multiple different identifiers for document pull for different buckets of analysis (compiler syntax / compiler semantic / analyzer syntax / analyzer semantic / hot reload).  This prevents for example a slow semantic analyzer from blocking document compiler syntax diagnostics from showing up, and used to bucket diagnostics with different lifetimes (hot reload).
However, for workspace diagnostics we don't need to split into different categories.  I'd rather just have one or two workspace pull buckets.  But currently registering identifiers for workspace pull diagnostics also registers them for document pull diagnostics.

@dibarbet just to ensure I understand you correctly. You want to register for workspace pull without document pull. Right?
If this is the case and for symmetrical issue we could have a registration path workspace/diagnostics with the following options
{
	identifier?: string;
	interFileDependencies: boolean;
	documentDiagnostics: boolean;
}

This would also help with @0xJonas issue.

@dibarbet just to ensure I understand you correctly. You want to register for workspace pull without document pull. Right?

Yup, we want to register specific indentifiers only for workspace pull.
That proposal would work for us I think - though it does feel a bit weird to have the documentDiagnostics boolean there.  If an identifier needs both doc and workspace it can already register via the text document registration version.  But maybe it makes sense for symmetry.

though it does feel a bit weird to have the documentDiagnostics

I will think about leaving it out.


Delete Screenshot.png

Want to add a new Screenshot for my css code

@Yashism  please combine in single PR , existing #17
closing this one


Boot Camp Assistant - An internal error has occured - Fresh Install

Describe the bug
With a completely fresh install of macOS Catalina 10.15 (I've tried 10.15.1 and 10.15.2), Boot Camp Assistant cannot proceed to start a Windows Installation. I've just done a completely clean install following the instructions to a T (BIOS reset and copied the settings from the instructions, latest 2.5 version of the installer) and after the setup page, immediately going for Boot Camp Assistant, opening it, clicking Continue and a window at the top of it pops up saying:
Boot Camp Assistant has encountered a problem
An internal error has occured.
At which point you can only click OK and that's it. This is not a major issue for me personally, but I just wanted to mention it :)
Expected behavior
You should be able to open Boot Camp Assistant, go through the process and successfully install Windows, to which I think follow the instructions for drivers after the fact. Problem is I can't.
Configuration

HaC Mini version: v2.5
OSX version: 10.15.1 and 10.15.2
NUC model: NUC8I7HVK
Boot SSD model and protocol: Samsung SSD 970 EVO 250GB NVME
Second SSD model and protocol: Samsung SSD 960 EVO 250GB NVME (which I want to use for Windows if its even possible)
First DIMM model: HyperX Impact DDR4 16GB 2400 MHz CL14
Second DIMM model: HyperX Impact DDR4 16GB 2400 MHz CL14
Display port(s) used [e.g: USB-C, mini DP]: HDMI at the back
Display resolution(s) [e.g: 4K, 5K]: 2560 x 1440
Any TB3 devices: None
Any USB devices: Just a keyboard and mouse dongle from HP

Modifications
No modifications, as vanilla as you can get with the setup. I do use the correct DW1820A WiFi with the kext, but I don't know if its related.
Panic log
No panic log, or logs of any sort, but here's a picture of the very non descriptive error macOS gives: https://imgur.com/j6hszrs

Install windows like a PC. But use Opencore to boot windows installer to preserve opencore bootloader or windows installer will disable it.

I have the same issue.
As far as I known, Bootcamp won't work on Macs with multiple hard drives (you have two nvme ssd).
So you have two options:

First choice: I just want to feel the bootcamp experience.

in the bios, raid your two ssd into one drive (raid 0 or 1, it's up to you).

Second choice: One drive for mac, and the other one for windows. You don't have to use bootcamp for this purpose.

in bios, disable the ssd that installs your mac. (like that ssd never existed)
Install windows to the second ssd, set up everything right.
in bios, re-enable the ssd with your mac.
After that, you can either choose the ssd to boot via F10 boot menu, or via the Opencore boot menu(if you enable the boot menu when you install Hac-mini installer options, or if you press Option key in your keyboard)

I use the second one, of course.

I have the same issue.
As far as I known, Bootcamp won't work on Macs with multiple hard drives (you have two nvme ssd).
So you have two options:

First choice: I just want to feel the bootcamp experience.

in the bios, raid your two ssd into one drive (raid 0 or 1, it's up to you).

Second choice: One drive for mac, and the other one for windows. You don't have to use bootcamp for this purpose.

in bios, disable the ssd that installs your mac. (like that ssd never existed)
Install windows to the second ssd, set up everything right.
in bios, re-enable the ssd with your mac.
After that, you can either choose the ssd to boot via F10 boot menu, or via the Opencore boot menu(if you enable the boot menu when you install Hac-mini installer options, or if you press Option key in your keyboard)

I use the second one, of course.

Boot camp does not support Apple Raid drive

I have the same issue.
As far as I known, Bootcamp won't work on Macs with multiple hard drives (you have two nvme ssd).
So you have two options:

First choice: I just want to feel the bootcamp experience.

in the bios, raid your two ssd into one drive (raid 0 or 1, it's up to you).

Second choice: One drive for mac, and the other one for windows. You don't have to use bootcamp for this purpose.

in bios, disable the ssd that installs your mac. (like that ssd never existed)
Install windows to the second ssd, set up everything right.
in bios, re-enable the ssd with your mac.
After that, you can either choose the ssd to boot via F10 boot menu, or via the Opencore boot menu(if you enable the boot menu when you install Hac-mini installer options, or if you press Option key in your keyboard)

I use the second one, of course.

Boot camp does not support Apple Raid drive

Should bootcamp work on raid drives that is set up in BIOS? (not apple raid)

I have the same issue.
As far as I known, Bootcamp won't work on Macs with multiple hard drives (you have two nvme ssd).
So you have two options:

First choice: I just want to feel the bootcamp experience.

in the bios, raid your two ssd into one drive (raid 0 or 1, it's up to you).

Second choice: One drive for mac, and the other one for windows. You don't have to use bootcamp for this purpose.

in bios, disable the ssd that installs your mac. (like that ssd never existed)
Install windows to the second ssd, set up everything right.
in bios, re-enable the ssd with your mac.
After that, you can either choose the ssd to boot via F10 boot menu, or via the Opencore boot menu(if you enable the boot menu when you install Hac-mini installer options, or if you press Option key in your keyboard)

I use the second one, of course.

Boot camp does not support Apple Raid drive

Should bootcamp work on raid drives that is set up in BIOS? (not apple raid)
I haven't tried option 1 yet, it's just an solution in imagination

You can try.

I have the same issue.
As far as I known, Bootcamp won't work on Macs with multiple hard drives (you have two nvme ssd).
So you have two options:

First choice: I just want to feel the bootcamp experience.

in the bios, raid your two ssd into one drive (raid 0 or 1, it's up to you).

Second choice: One drive for mac, and the other one for windows. You don't have to use bootcamp for this purpose.

in bios, disable the ssd that installs your mac. (like that ssd never existed)
Install windows to the second ssd, set up everything right.
in bios, re-enable the ssd with your mac.
After that, you can either choose the ssd to boot via F10 boot menu, or via the Opencore boot menu(if you enable the boot menu when you install Hac-mini installer options, or if you press Option key in your keyboard)

I use the second one, of course.

Boot camp does not support Apple Raid drive

Should bootcamp work on raid drives that is set up in BIOS? (not apple raid)
I haven't tried option 1 yet, it's just an solution in imagination

You can try.

I've just tried the Intel Raid 0 config made in the BIOS and unfortunately the macOS Catalina installer does not detect it. I'll try point 2 and see how it goes, but as I said this isn't a catastrophic problem. Might as well get a single 1TB NVME and call it a day, looks like its just Apple that's doesn't support this :)

I have the same problem. I replaced my old HDD for and Sata SSD SanDisk. I installed OSX and tried to bootcamp, got the same message...
Any Solutions?

Do you have multiple ssd installed?

Yes. I have the default SSD m2 that comes with OS, and i changed the HDD for and Sata SSD
Now when i open bootcamp assistant got this message. I think it is something with the partition.
I was wondering to make a clean install of windows in the SSD, saw some articles about it.
Thanks in advance.

Is this a NUC8I7HVK?

Nope, it is an Imac

This is a support site for NUC8I7HVK hackintosh. Please post your issues to Apple discussion forums.


Wish List master ticket

This is the master ticket for creating a wish list in Spartacus.
Nb. To be updated as new tickets are created.

The biggest issue concerning this feature is that there are no backend APIs yet for this. An alternative would be to used the saved cart APIs but it would not be best as it would add complexity to Spartacus and intentionally misuse some APIs.

As long as we do not have a backend available for the wishlist, we should not misuse other APIs to bring this feature to live. What we can do in the meantime:

create the UI portion for the wish list
build the storage for anonymous wish list (local or session storage)
design the APIs (yaml) for the backend, so that customers, consultants or the product team can build the feature.

We need to do some requirements gathering here to better understand if we can reuse the saved cart API at all.
To bring a few requirements to the table:

we should have an anonymous WishList
we should allow for a single non-labelled wish list by default
we should merge an anonymous wish list with a stored WishList
we should allow for multiple labelled WishLists.
we should allow for additional information on a WishList item, as some experiences require you do provide some information before loading items on a PLP or PDP (i.e. in travel or insurance, some information is added to configure the right product)
we must allow for adding an WishList item to the cart
we could allow for adding a full WishList to the cart
we could allow for a checkout from WishList without going to the checkout

Upon further investigation into the requirements that were brought forth for the wish list and with regards to the current and planned capabilities of the saved cart APIs this is what I found.
Requirements that can be met with current APIs:

Create a default wish list
Add an entry to wish list
Remove a product to the wish list
View items from wish list

Information on stock & merchantability (purchasable) is provided

Transfer to active cart
Add all to cart
Multiple wish lists
Wish list naming & description (current set of APIs require a naming convention to distinguish the wish list)
Go to checkout from wish list

Short comings:

Creating a saved cart is a two step process. Create empty cart -> save cart (ticket RAY-466 will fix it)
So far the only way to distinguish the wish list is using a naming convention (ticket RAY-466)
Out of stock product CANNOT be added to the wish list
CANNOT add products not sold separately  (might not be an issue?)
Anonymous wish list: it is possible to create an anonymous cart but there is an error when saving it. Swagger hints at it being possible but it returns an error ("Cart identifier: cart code for logged in user, cart guid for anonymous user, ‘current’ for the last modified cart")

In the mean time the anonymous wish list could use local storage with a spartacus based merging mechanism
Carts seem to have an expiration date when saved. Is this configurable? what happens when the time expires?


[Proposal] No way to check the cause if using a mix of go-errors and standard errors

Let's imagine we are using a mix of this library and standard errors created with errors.New or fmt.Errorf.
Consider the following snippet:

var errStd = stderrors.New("something")

var errKind = errors.NewKind("something: %s")

var myErr = errKind.Wrap(errStd, "foo")

If we want to check if myErr has errStd as its cause, we need to do the following:
 err, ok := myErr.(*errors.Error)
if !ok {
  // handle
}
if err.Cause() == errStd {
}

This is potentially more cumbersome if the original error is deeply nested.
Perhaps we could have a function IsCausedBy(err, cause).
In this case, it would become:
if errors.IsCausedBy(myErr, errStd) {
  // do something
}

Implementation could look like this:
func IsCausedBy(err, cause error) bool {
    e, ok := err.(*Error)
    if !ok {
        return false
    }

    if e, ok := e.cause.(*Error); ok {
        return IsCausedBy(e, cause)
    }

    return e.cause == cause
}

This looks very similar to the semantics of the current error inspection proposal implemented by https://godoc.org/golang.org/x/xerrors.

Yup, this and the other proposal are basically bringing the good bits of xerrors to go-errors so the library it’s more stderror friendly
On 2 Aug 2019, 21:04 +0200, M. J. Fromberger<EMAIL_ADDRESS>wrote:

This looks very similar to the semantics of the current error inspection proposal implemented by https://godoc.org/golang.org/x/xerrors.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Yup, this and the other proposal are basically bringing the good bits of xerrors to go-errors so the library it’s more stderror friendly
…
On 2 Aug 2019, 21:04 +0200, M. J. Fromberger @.***>, wrote: This looks very similar to the semantics of the current error inspection proposal implemented by https://godoc.org/golang.org/x/xerrors. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

That makes sense. But I wonder if it's possible to do so by integrating with the Wrapper API so that (say) xerrors.Is and xerrors.As would work without needing a new helper?

Yeah, implementing Wrapper would be nice as well, but for a go-errors user, the point of using the library is not needing to use errors (xerrors in this case), so that all you need to handle errors is in there. If we were to only implement Wrapper you'd need to also import xerrors (or errors when it's merged into the stdlib) for that specific use case.
We can have the implementation of Wrapper to make go-errors errors usable with xerrors, but I'd still suggest adding a helper here.

We can have the implementation of Wrapper to make go-errors errors usable with xerrors, but I'd still suggest adding a helper here.

That makes sense. You might consider using the same name, though, so that errors.Is maps to the semantics of xerrors.Is.

By the way, the standard library already has an errors package, that most non-trivial Go programs already use (it's the origin of errors.New for example). At source{d} we mostly do not use the stdlib errors directly, but it's very common in most Go codebases. So if/when the xerrors proposal gets integrated, it shouldn't add any build mass to the packages that use it. (That doesn't affect this package directly, though)

That makes sense. You might consider using the same name, though, so that errors.Is maps to the semantics of xerrors.Is.

Fair enough.

So if/when the xerrors proposal gets integrated, it shouldn't add any build mass to the packages that use it.

It wasn't because of adding size to the binary. It was because when using go-errors, one should not need to use any other library for error handling, since all needed features are expected to be provided by the library.


Implemented Media Query breakpoints support

Fixes gh-67

Hey what does all this mean. Are we able to set custom breakpoints? If so how?

Out of date, closing, mobileFirst option was introduced, instead of media-queries.


Dialog for X.509 certificate is using X11 even with SDL_VIDEODRIVER='wayland'

I'm testing sdl-freerdp3 (nightly build for Debian testing). See build info below.
When connecting forcing the Wayland mode (SDL_VIDEODRIVER='wayland') it's still sometimes using X11 windows, like when displaying the window about accepting new X.509 certificate.
It would be good if it all used Wayland in such case.
Thanks!
This is FreeRDP version 3.2.1-dev0 (bc23b205b)
Build configuration: BUILD_TESTING=OFF WINPR_HAVE_AIO_H=1 WINPR_HAVE_EXECINFO_BACKTRACE=1 WINPR_HAVE_EXECINFO_BACKTRACE_SYMBOLS=1 WINPR_HAVE_EXECINFO_BACKTRACE_SYMBOLS_FD=1 WINPR_HAVE_EXECINFO_HEADER=1 WINPR_HAVE_FCNTL_H=1 WINPR_HAVE_GETLOGIN_R=1 WINPR_HAVE_GETPWUID_R=1 WINPR_HAVE_INTTYPES_H=1 WINPR_HAVE_POLL_H=1 WINPR_HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 WINPR_HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIBS= WINPR_HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL=1 WINPR_HAVE_STDBOOL_H=1 WINPR_HAVE_STDINT_H=1 WINPR_HAVE_STRNDUP=1 WINPR_HAVE_SYSLOG_H=1 WINPR_HAVE_SYS_EVENTFD_H=1 WINPR_HAVE_SYS_FILIO_H= WINPR_HAVE_SYS_SELECT_H=1 WINPR_HAVE_SYS_SOCKIO_H= WINPR_HAVE_SYS_TIMERFD_H=1 WINPR_HAVE_TM_GMTOFF=1 WINPR_HAVE_UNISTD_H=1 WINPR_HAVE_UNWIND_H=1 WITH_AAD=ON WITH_ADD_PLUGIN_TO_RPATH=OFF WITH_ALSA=ON WITH_BINARY_VERSIONING=ON WITH_CAIRO=ON WITH_CCACHE=OFF WITH_CHANNELS=ON WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CLIENT_SDL=ON WITH_CLIENT_SDL_AVAILABLE=1 WITH_CUPS=ON WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_CODECS=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_EVENTS=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_RDPGFX=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SCHANNEL=OFF WITH_DEBUG_SDL_EVENTS=OFF WITH_DEBUG_SDL_KBD_EVENTS=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF_AVAILABLE=0 WITH_DEBUG_URBDRC=OFF WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=ON WITH_DSP_FFMPEG_AVAILABLE=1 WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=ON WITH_FREERDP_DEPRECATED=OFF WITH_FREERDP_DEPRECATED_COMMANDLINE=ON WITH_FUSE=ON WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=OFF WITH_INTERNAL_MD4=OFF WITH_INTERNAL_MD5=OFF WITH_INTERNAL_RC4=OFF WITH_IPP=OFF WITH_JPEG=OFF WITH_KRB5=ON WITH_KRB5_NO_NTLM_FALLBACK=OFF WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBRESSL=OFF WITH_LODEPNG=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_NATIVE_SSPI=OFF WITH_NEON=OFF WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSC_PKCS11_LINKED=OFF WITH_OPENSSL=ON WITH_OPUS=ON WITH_OSS=ON WITH_PCSC=ON WITH_PKCS11=ON WITH_PLATFORM_SERVER=ON WITH_POLL=ON WITH_PROFILER=OFF WITH_PROXY=ON WITH_PROXY_APP=ON WITH_PROXY_EMULATE_SMARTCARD=OFF WITH_PROXY_MODULES=ON WITH_PULSE=ON WITH_RDTK=ON WITH_SAMPLE=ON WITH_SANITIZE_ADDRESS=ON WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=0 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=0 WITH_SDL_IMAGE_DIALOGS=ON WITH_SDL_LINK_SHARED=ON WITH_SERVER=ON WITH_SERVER_CHANNELS=ON WITH_SERVER_INTERFACE=ON WITH_SHADOW=ON WITH_SMARTCARD_EMULATE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SMARTCARD_PCSC=ON WITH_SOXR=OFF WITH_SSE2=OFF WITH_SWSCALE=ON WITH_SYSTEMD=ON WITH_THIRD_PARTY=OFF WITH_UNICODE_BUILTIN=OFF WITH_URIPARSER=ON WITH_VAAPI=OFF WITH_VAAPI_AVAILABLE=1 WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=0 WITH_VERBOSE_WINPR_ASSERT=ON WITH_VIDEO_FFMPEG=ON WITH_VIDEO_FFMPEG_AVAILABLE=1 WITH_WAYLAND=ON WITH_WEBVIEW=ON WITH_WEBVIEW_QT=OFF WITH_WINPR_DEPRECATED=OFF WITH_WINPR_TOOLS=ON WITH_WIN_CONSOLE=ON WITH_X11=ON WITH_XCURSOR=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XV=ON
Build type:          RelWithDebInfo
CFLAGS:              -g -O2 -ffile-prefix-map=/build/freerdp-nightly-3.0.0+0~20240120024820.1463~1.gbpbc23b2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wno-padded -Wno-cast-align -Wno-declaration-after-statement -fPIC -Wall -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -g -fno-omit-frame-pointer -fsanitize=address -fsanitize-address-use-after-scope
Compiler:            GNU, 13.2.0
Target architecture: x64

well, I think this is the bug tracker you´re looking for: https://github.com/libsdl-org/SDL

Is this an SDL dialog though? I thought it's something triggered by freerdp itself. If it's SDL one, I can report it there.

Looks like something here?
https://github.com/FreeRDP/FreeRDP/blob/bc23b205b54bec3ebd4f74be73aa5a115cb5052c/client/SDL/dialogs/sdl_dialogs.cpp#L330

So far these seems related:

https://github.com/FreeRDP/FreeRDP/blob/master/client/SDL/dialogs/sdl_dialogs.cpp#L317
https://github.com/FreeRDP/FreeRDP/blob/master/client/SDL/sdl_utils.cpp#L147

Not really sure, but it looks like event type is set to SDL_USEREVENT_CERT_DIALOG.
Is it some kind of custom event? How does SDL know to open a dialog in this case?

OK, I think I got somewhere, it's plugging into SDL_ShowMessageBox:
https://github.com/FreeRDP/FreeRDP/blob/master/client/SDL/dialogs/sdl_dialogs.cpp#L484

Hmm, at least according to their documentation, it's hinted it's not limited to X11:
https://wiki.libsdl.org/SDL2/SDL_ShowMessageBox

On X11, SDL rolls its own dialog box with X11 primitives instead of a formal toolkit like GTK+ or Qt.

But I'm not doing it on X11 and I set SDL_VIDEODRIVER='wayland', so something sounds off.

Opened SDL bug above.

@shmerl we´re doing custom dialogs (e.g. sdl windows with sdl-ttf to draw some text and sdl-image to show our logo) for user credential input and, as you already found out, SDL_ShowMessageBox for simpler dialogs with only text and no input.
nothing platform specific with these dialogs.

Yeah, your custom dialogs actually work fine showing Wayland windows. But that one specifically is for some reason X11 one. Let's see what SDL developers have to say.

Wayland developers fixed it both in SDL 3 and SDL 2.


6.0 Feedback: many UI elements offer "Copy Link" contextual menu item

Overview
Most UI elements in the new app UI can spawn a contextual menu item with a "Copy Link" item.

Current Behavior
Most UI elements in the new app UI can spawn a contextual menu item, which usually only contains a "Copy Link" item (and also "Copy" if the text is selectable). This item does in fact copy a file:/// URL to the clipboard, but its contents serve no purpose to the end user.
Expected Behavior
These contextual menus should not appear if their only item is "Copy Link". Alternatively, if the URLs produced by Copy Link serve some internal or debugging purpose, the feature should be enabled by advanced preference / feature flag only.
Steps To Reproduce

Launch the Opentrons App.
Right click on certain interface elements. These include (but are not limited to) sidebar text items, sidebar icons, protocol cards, and robot cards. Labware cards do not spawn these menus.
Click Copy Link.

A link similar to file:///Applications/Opentrons.app/Contents/Resources/app.asar/ui/index.html#/robots will be put on the clipboard. This URL is meaningless because the app.asar file is not a bundle whose contents can be viewed individually.
Note: This behavior is also present in earlier versions of the app; it just manifests on significantly fewer UI elements.
Operating system
Mac
Robot setup or anything else?
No response

we would like to remove all copy link context menus

@ecormany
Do you think we should remove look up too?

"Look Up" is a standard OS option and most importantly does what it claims to do, so I think we can leave it. "Copy Link" doesn't copy a functioning link to anything.

On mac
On Windoes 11 and Linux I get only Inspect element.


Speeding up switching from keyword search to language model search

Would there be anyway to speed up the transition between these two searches

The switch itself is immediate since it is simply a pointer change. There are some other issues you experience. To analyze them you have to dump the times in the logcat and check where your application actually spends the time.


Dasher elections

GET all elections, GET a single election by id, and POST a new election through dasher.

Corresponding PR in dasher

This isn't really a PR yet, as the GET functions still work via oddly placed buttons, but I wouldn't mind a once-over.


TAF not available at many airports

Many European airports do not have TAF available using avwx-engine and avwx.rest.
For example:
>>> import avwx
>>> taf = avwx.Taf('EDDM')
>>> taf.update()
False

and
curl --request GET \
  --url 'https://avwx.rest/api/taf/EDDM?options=&airport=true&reporting=true&format=json&onfail=cache' \
  --header 'authorization: Bearer *******************'

Returns a cached report from 2020-03-30T17:51:54.476000Z.
The same result has been tested on EGLL, EDDF, EBBR, LFPG, LEMD.
I get up to date reports for these locations using NOAA's https://aviationweather.gov/taf/data?format=raw&ids=EDDM

AVWX adds an extra parameter to the URL hours=2 so reports are no more than two hours old. This is to keep old METARs from populating, but I can increase the window to 7 hours when fetching TAFs since they are updated every 6 hours or so.
https://aviationweather.gov/taf/data?ids=EGLL&format=raw&hours=2

Great, thanks!
I think your latest commit fixes exactly that!


Licences

Pull request

[x] I have read and agreed to the code of conduct.
[x] I have read and complied with the contributing guidelines.
[x] What I'm implementing was assigned to me or was not being worked on and is a somewhat requested feature. For reference see our GitHub projects.
[x] I have tested all of my changes.

Added/Changed
Licence

Ayy thanks for doing this, I totally forgot

;)


Rar 5 format

Fix rar 5 format comment

Do you plan on doing more?

I have made IsRar5 function but still not implement.

But really nit have any free time to implement rar5 compatibility. Can we get from 7zip or 7zip.sharp  projects?

Hi Adam,
I may have some bandwidth to help work on Rar5 support.  Do you have a sense for how much work is involved or how to proceed.  I see that rarlabs has open sourced the rar5 unrar source code in C.  Would the plan be to port this code?
I also noticed there is a rar5 branch in SharpCompress but I'm not sure what the status of that branch is.
-Brien

The RAR5 branch is nothing basically.
Really the work should just be implementing reading the headers: https://www.rarlab.com/technote.htm So the work isn't so bad.
I think the decompression is all the same but that needs to be tested.

So just parse the headers and use the existing RAR4 decryption code?  Sounds like work on the order of days to weeks... or am I being optimistic?

I believe that's the work.  It shouldn't be too bad.  I think you're not far off on the estimated time :)

Ok... so just so I have this straight, RAR5 is primarily a change to the archive format and the decompression algorithm has not changed???   So any compression gains are via algo params and/or archive format efficiency?

That's my understanding.  I think he just didn't like the header format and it was a little bit of a mess.
Honestly though, I'm scared I'm wrong about the algorithm not changing but it needs testing.

I'm going to try to get in touch with the winrar developers to get some confirmation (emailed support@rarlabs.com).
For reference here's a list of updates from wikipedia:

Maximum compression dictionary size increased to 1 GiB (default for WinRAR 5.x is 32 MiB and 4 MiB for WinRAR 4.x).
Maximum path length for files in RAR and ZIP archives is increased up to 2048 characters.
Support for Unicode file names stored in UTF-8 format.
Faster compression and decompression.
Multicore decompression support.
Greatly improves recovery.
Optional AES encryption increased from 128-bit to 256-bit.
Optional 256-bit BLAKE2 file hash instead of a default 32-bit CRC32 file checksum.
Optional duplicate file detection.
Optional NTFS hard and symbolic links.
Optional Quick Open Record. Rar4 archives had to be parsed before opening as file names were spread throughout the archive, slowing operation particularly with slower devices such as optical drives, and reducing the integrity of damaged archives. Rar5 can optionally create a "quick open record", a special archive block at the end of the file that contains the names of files included, allowing archives to be opened faster.
Removes specialized compression algorithms for Itanium executables, text, raw audio (WAV), and raw image (BMP) files; consequently some files of these types compress better in the older RAR (4) format with these options enabled than in RAR5.

hey adam-
sorry to bug you but i'm trying to get setup using your solution file and i haven't done .netstandard stuff much so i have a stupid question.
i'm running devstudio 2017 (latest patch) with resharper 2017.2.2.  i had to edit the sharpcompress csproj to remove the net35 target since it's not installed on my machine.
the solution compiles fine but for some reason resharper sees a bunch of unresolved calls from the test project to sharpcompress, eg entry.WriteToDirectory() shows up as red even though i can Ctrl-B and follow the reference fine.
when i try to "Run" any [Fact] from the test project it fails with the dump below.
any tips to getting this setup?  thanks!

2017.12.16 12:30:43.800   ERROR Run: d05a8ab4-8391-41f9-8756-b3d810ff28f7 - Faulted
2017.12.16 12:30:43.801   ERROR System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> JetBrains.ReSharper.UnitTestFramework.DotNetCore.Exceptions.ProcessExitedUnexpectedlyException: dotnet exited unexpectedly with the code (0)
Output stream: Microsoft (R) Test Execution Command Line Tool Version 15.3.0-preview-20170628-02
Copyright (c) Microsoft Corporation.  All rights reserved.
Error stream:
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at JetBrains.ReSharper.UnitTestFramework.Launch.Stages.RunTestsStage.<>c__DisplayClassc.b__8()
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> JetBrains.ReSharper.UnitTestFramework.DotNetCore.Exceptions.ProcessExitedUnexpectedlyException: dotnet exited unexpectedly with the code (0)
Output stream: Microsoft (R) Test Execution Command Line Tool Version 15.3.0-preview-20170628-02
Copyright (c) Microsoft Corporation.  All rights reserved.
Error stream:
--- End of inner exception stack trace ---
---> (Inner Exception #0) JetBrains.ReSharper.UnitTestFramework.DotNetCore.Exceptions.ProcessExitedUnexpectedlyException: dotnet exited unexpectedly with the code (0)
Output stream: Microsoft (R) Test Execution Command Line Tool Version 15.3.0-preview-20170628-02
Copyright (c) Microsoft Corporation.  All rights reserved.
Error stream: <---
<---

disregard.... figured it out (cache clearing and extension disabling fixed it)

marathon coding session and most of the header logic is done.
and.......
yep, there's new decompression code needed!
i assume you are ok with the winrar source license terms (particularly clause #2) as it seems as though the unpack*.cs source code was already ported from it.  i'll have to port unpack50.cpp over for RAR5 support.

******    *****   ******   UnRAR - free utility for RAR archives
**   **  **   **  **   **  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
******   *******  ******    License for use and distribution of
**   **  **   **  **   **   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**   **  **   **  **   **         FREE portable version
~~~~~~~~~~~~~~~~~~~~~
  The source code of UnRAR utility is freeware. This means:

All copyrights to RAR and the utility UnRAR are exclusively
owned by the author - Alexander Roshal.

UnRAR source code may be used in any software to handle
RAR archives without limitations free of charge, but cannot be
used to develop RAR (WinRAR) compatible archiver and to
re-create RAR compression algorithm, which is proprietary.
Distribution of modified UnRAR source code in separate form
or as a part of other software is permitted, provided that
full text of this paragraph, starting from "UnRAR source code"
words, is included in license, or in documentation if license
is not available, and in source code comments of resulting package.

The UnRAR utility may be freely distributed. It is allowed
to distribute UnRAR inside of other software packages.

THE RAR ARCHIVER AND THE UnRAR UTILITY ARE DISTRIBUTED "AS IS".
NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED.   THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS,
DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
OR MISUSING THIS SOFTWARE.

Installing and using the UnRAR utility signifies acceptance of
these terms and conditions of the license.

If you don't agree with terms of the license you must remove
UnRAR files from your storage devices and cease to use the
utility.
Thank you for your interest in RAR and UnRAR.
                                  Alexander L. Roshal

Impressive!
I converted the unrar code from the java version.  But yes, no problem with keeping everything free and open source :)

hey adam
so.... it's going to be a monster of a patch when it's done.
i've done an initial port and no debugging of the rarlabs unpack5 code but unsuprisingly it doesn't quite work,
my approach was just to pull in the minimum amount of code an try to integrate it with the existing stuff that came via your port of junrar.
i think it may not be worth the debugging effort to fix the code though because the unpack15/unpack2/upack5 code is pretty tightly integrated and the end result would be pretty untrustworthy in my eyes.   some examples of issues are liberties taken when junrar ported to java (lack of unsigned types/casting); the current unrar codebase uses size_t in places and supports buffers up to 4GB.  it would also be unproductive to try to identify and reapply all code changes over the past ~10 years to the unrar codebase.
so, that's just a really long explanation leading up to my thought that i'd be better off just re-porting the entire unpack codebase afresh directly from the unrar cpp codebase.
so....  will you have any issues accepting a megapatch that is basically a rewrite of the unrar stuff?
or would you like me to approach it differently somehow?

I just pushed the code to my repository if you want to take a peek.

`so, that's just a really long explanation leading up to my thought that i'd be better off just re-porting the entire unpack codebase afresh directly from the unrar cpp codebase. i'd use the current code as a guide so i'm not that intimidated by the idea.
so.... will you have any issues accepting a megapatch that is basically a rewrite of the unrar stuff?`
Doing a fresh port would be great.  I never attempted to do that myself because of time and lack of experience reading C++
Once things are looking closer to being complete, I can review or help.  My personal life is a mess at the moment otherwise I'd volunteer to do more.

@coderb I'm being lazy and integrating the legacy with your new port to cover the V3 case.
There are some missing test files you had.  Other than that and fixing up encryption, it's working well.

that's cool.  i didn't really mean to leave it like that but just got too busy with the real world.  if you tell me which files are missing i can provide them.  -b

@coderb thanks!  the files are:

Rar5.Encrypted.rar
Rar5.EncryptedParts.part01.rar to Rar5.EncryptedParts.part06.rar
Rar5.encrypted_filesOnly.rar

hmm, it's been a while...

Rar5.encrypted.rar
i think can be removed (replaced by Rar5.encrypted_filesAndHeader.rar and Rar5.encrypted_filesOnly.rar)
Rar5.EncryptedParts.part01.rar to Rar5.EncryptedParts.part06.rar -- i'm not sure i created these.  probably a TODO
Rar5.encrypted_filesOnly.rar -- i think you should have?  see https://github.com/coderb/sharpcompress/tree/master/tests/TestArchives/Archives


WPF +DotNet6

Is WPF with Dot Net 6 already compatible?
Bluetooth.GetAvailabilityAsync() is always returning null for me.
Does it already work or I need to back to Dot Net 4.8?

I will need to use the project on Windows 7. Will it work, which configuration should I use?

.NET 6.0 is supported but Windows 10 is required - Windows 7 doesn't have the underlying Bluetooth LE support.

Thanks for the answer! So there is no way to support BluetoothLE on Windows 7?
Do you have any idea why Bluetooth.GetAvailabilityAsync() is always returning false for me?
I tried to download the source code and then create a new Dotnet6 subproject to be able to debug, but then I can't run it."
"InTheHand.BluetoothLE.dll cannot be referenced because it uses built-in support for WinRT, which is no longer supported in .NET 5 and higher.  An updated version of the component supporting .NET 5 is needed."
"InTheHand.BluetoothLE.dll cannot be referenced because it uses built-in support for WinRT, which is no longer supported in .NET 5 and higher. An updated version of the component supporting .NET 5 is needed.

I managed to make it work with DotNet 6 by changing the TargetOSVersion to 10.0.19041.0.
However, I'm not sure if using .NET 4.8 also requires a minimum version of 10.0.19041.0 for BluetoothLE to function properly. Can you confirm this?

The dll is built against the 10.0.19041 SDK so you must target that or higher, however it will run on 10.0.17763.0 and later.


[PE-D][Tester B] Uninformative command output when changing views

When changing UI views with list, listt or tree commands, the output message is the same both when going to those views and returning to the home view. I think it might be better to have a message like "Switched back to default view" when toggling back just to give users better feedback.

Labels: type.FeatureFlaw severity.VeryLow
original: alvinlim277/ped#9

Thanks for the suggestion. However, this is in line with our design ideas and hence isn't really a feature flaw.


Possible javascript digest fallbacks for insecure (HTTP) sites

I am using js-ipld-dag-cbor which references this package. I would like to be able to calculate hashes even on insecure (HTTP) websites.
When js-multihashing-async tries to access window.crypto.subtle it throws on error in Brave, but works fine in Firefox. Chrome on Android also throws an error.
Is it possible to fallback on a browser implementation to avoid the HTTPS requirement?
Other issue: https://github.com/ipld/js-ipld-dag-cbor/issues/114

Is it possible to add a "compile time" switch which includes a JS hash implementation into the bundle, or perhaps even easier is to add an API to redirect a particular hash algorithm to a external library?

The “compile time” switch would need to be some some kind of configuration in which the developer imports a pure-JS module and passed it into js-multihashing-async. There’s no way to selectively include something in the bundle based on the browser env because bundles are created before they are ever run in a browser env.

Yeah, thats what I meant. When compiling js-multihashing-async I would like to include a pureJS hashing module. So the bundle will be larger.


Inputs has to be named after the first entry of the dict for models with multiple inputs

Keras version: "3.4.1"
For model with multiple inputs, inputs has to be named after the first entry of the dictionary which I think is a bug.
Lets say I have a Keras model with two inputs named a_name and other_name. Error will be raise if I try to train such model with those named inputs
model.fit({"a_name": x_train_1, "other_name": x_train_2}, y_train)

but would be fine if their names are a_name and a_name_whatever or other_name and other_name_whatever
Here is a minimal example on Google Colab to demostrate the issue (https://colab.research.google.com/drive/1oJ5QGMYV7GlHimkquu1SJWd4vyn9-ok0?usp=sharing).
All cells work without raising error if I use Keras 3.3.3

model = keras.Model(inputs=[x, x2], outputs=output)

=> model = keras.Model(inputs={input1_name: x, input2_name: x2}, outputs=output)

Hi @henrysky -
Keras 3.4.1 doesn't directly support dictionary input with model.fit, if the model has named inputs. More details on this you can find here.
def test_case(input1_name, input2_name):
  x = keras.Input(shape=[28, 28, 1], name=input1_name)
  x2 = keras.Input(shape=[10, ], name=input2_name)
  cnn_layer_1 = keras.layers.Conv2D(filters=2,kernel_size=[2,2],)(x)
  maxpool_1 = keras.layers.MaxPooling2D(pool_size=(2, 2))(cnn_layer_1)
  flatten = keras.layers.Flatten()(cnn_layer_1)
  flatten_concat = keras.layers.concatenate([flatten, x2])
  output = keras.layers.Dense(10, activation="softmax")(flatten)

  model = keras.Model(inputs={input1_name: x, input2_name: x2}, outputs=output)
  model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=["accuracy"])
  model.fit({input1_name: x_train, input2_name: y_train}, y_train)

Hi @henrysky -
Does the issue is still reproduce to you ?

The example by you has fixed the issue for me, thanks!


chore(deps): cache cns v1.5.21

What type of PR is this?

What this PR does / why we need it:
Caches a new CNS version which enable state migration for CNI.
Which issue(s) this PR fixes:

Fixes #
Requirements:

[X] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.313%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2285

Relevant Lines:
2881

💛  - Coveralls


Crash when loading

Sorry, I don't know if this mod was ready to be used yet, I just wanted to try it out and see what it was all about.
Here is the server crashlog:
http://pastebin.com/v0yQVQYD
Using:
Ancient Trees 1.1.0
Koresample 1.0.0
Forge 1277

Go to http:github.com/MinecraftModArchive/Dendrology/releases/latest and grab the copy of KoreSample linked there. I think the copy you got is corrupt. I will fix that.
Please let me know if that works. Thank you and sorry for the inconvenience.

OK @BBoldt Thank you for reporting this.
I have replaced all downloads with the correct binaries.
Here is a link: https://github.com/MinecraftModArchive/KoreSample/releases/download/v1.0.0/KoreSample-1.7.10-1.0.0.jar


[WIP] Rename email_address_override_whitelist

…allowlist`

In order to allow migrating to the changed env vars it's probably worth having a period of time where there are both the old whitelist env vars and the new allowed ones so that we don't need to sync app deploys with puppet deploys. Then once the app is switched over remove the whitelist ones.

I've reworked this PR to take on board Kevin's suggestion to support both variables temporarily as we switch over.

Having a stale PR clear out... closing 😓

Thank you to everyone for their feedback!

Looks like Kelvin intended to close this - so I'll do that now.


i need help

I dont know how use #314 method
If it’s not difficult for you, can you send me the finished exe?
@DevilXD

@Kannumberone download the latest build here: https://github.com/DevilXD/TwitchDropsMiner/releases/tag/dev-build
v15 is not working anymore

Don't use v15. Read the description carefully.


added more basic customer fields

can be expanded to add addresses.

I don't know why Go 1.7 failed on tests I didn't change...

Codecov Report

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

@@          Coverage Diff          @@
##           master    #44   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           8      8
  Lines         256    256
=====================================
  Hits          256    256

Impacted Files
Coverage Δ

customer.go
100% <ø> (ø)
:arrow_up:

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 f33730d...c3af6c4. Read the comment docs.

@dlebech I have updated the code. thanks for the feedback

Thanks @jared-fraser :100:


[eks] 1.30 latest is eks2

I'd guessed eks4 based on some link I can't find, but https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html now lists 1.30-eks-2 as the latest version on EKS

I'd guessed eks4 based on some link I can't find

I think you probably referred to kube-apiserver release earlier (which is mentioned in https://github.com/aws/containers-roadmap/issues/2290)

either way, we should probably track down, https://github.com/aws/eks-distro (which does not have 1.30 release yet)

An EKS release doesn’t necessarily require a EKS distro release for it to work within AWS.
But something to keep in check, in case all our future links are breaking.


when kill a container check if it has been deleted

From #4020 . When use cri-containerd and k8s, pod may be  stuck in terminating. It happens when container is delete by runc, however containerd unawares of this or deletes container failed.  When cri retry to delete container it will got a runc error container <cid> does not exist. This is because cri ignore IsNotFound error, but shim is not converting the runc error to a containerd NotFound error.

LGTM


Types don't work with Qwik's built-in class array syntax

With a Qwik component, you can do this:
<Form class={[classOne, classTwo]} />

Modular Forms types class as Maybe<string>. Can we make this Maybe[string]|Maybe[string[]]?

Yes, this totally seems to work.


Filters are not applying as expected

Hi everyone, I'm trying to apply filters to wavesurfer but they not working properly,
what I want tot do is a simple fade in effect.
I tried many ways to use setFilters method,
and there was a case when filter has been applied, but it was reseted after pausing playback, while being found in filters array by calling getFilters method.
in the code example, that is now changed, it is not working as expected
couldn't figure out why.
thanks in advance !
I've studied WebAudioApi docs and Wavesurfer docs and couldn't find a proper example how exactly use filters.
Wavesurfer.js version(s): 4.6.0
latest Chrome on macos big sur
Code needed to reproduce the issue:
https://codepen.io/NikitaProkofyev/pen/VwmOvNm - on this pen it's no working at all
https://codepen.io/NikitaProkofyev/pen/PobroWN - on this pen it works only once
steps to make it work at least once (only on the last pen)
upload audio file
toggle fade radio button
click play
it works!
but then it doesn't, at all
any help appreciated

solution is found
in order to apply filter in time, it is necessary to use context property of the gain node itself,
for example
fadeFilter.gain.setValueAtTime(1, fadeFilter.context.currentTime);
fadeFilter.gain.linearRampToValueAtTime(1, fadeFilter.context.currentTime + filterDuration);

this.example of course works if we need to apply filter at the beginning.
since the time in the context is not connected to the time in the wavesurfer itself

yes the context has to be used, we will see and maybe add an option to handle this for the filters within wavesurver in the future.


Multiple SCC instances with the same Event Notifications

There is a problem with using existing Event Notification instance with SCC.
It turns out that when the ibm_scc_instance_settings resource is used, it creates a source in the EN instance with the same name "compliance", so if two SCC instances are provisioned with this module, the second one trying to use EN will fails with the error about "source with the same name already exists.
It probably has to be fixed at the provider level as there is no name parameter in SCC instance settings resource, but when the integration is created in SCC UI, the source name is set to SCC instance name.
The effect of this is that when the DA is used to create a new SCC instance with referencing an existing Event Notifications service, any additional project/configuration using SCC module fails because of the existing source name.
Currently the only workaround is to use separate Events Notifications instances for each SCC instance.
Affected modules

Terraform CLI and Terraform provider versions

Terraform version:
Provider version:

Terraform output

Debug output

Expected behavior

Actual behavior

Steps to reproduce (including links and screen captures)

Run terraform apply

Anything else

By submitting this issue, you agree to follow our Code of Conduct

It probably has to be fixed at the provider level as there is no name parameter in SCC instance settings resource, but when the integration is created in SCC UI, the source name is set to SCC instance name.

I attempted to deploy the complete example in the terraform-ibm-scc module to check where the source is set to compliance, but it appears to be configured internally. I didn't observe the source being set as compliance during the terraform plan or apply.

The terraform plan showed the following -

scc_instance_details          = [

 + {
      + account_id              = (known after apply)
      + allow_cleanup           = (known after apply)
      + created_at              = (known after apply)
      + created_by              = (known after apply)
      + crn                     = (known after apply)
      + dashboard_url           = (known after apply)
      + deleted_at              = (known after apply)
      + deleted_by              = (known after apply)
      + extensions              = (known after apply)
      + guid                    = (known after apply)
      + id                      = (known after apply)
      + last_operation          = (known after apply)
      + location                = "us-south"
      + locked                  = (known after apply)
      + name                    = "scc-instance"
      + onetime_credentials     = (known after apply)
      + parameters              = null
      + parameters_json         = null
      + plan                    = "security-compliance-center-standard-plan"
      + plan_history            = (known after apply)
      + resource_aliases_url    = (known after apply)
      + resource_bindings_url   = (known after apply)
      + resource_controller_url = (known after apply)
      + resource_crn            = (known after apply)
      + resource_group_crn      = (known after apply)
      + resource_group_id       = (known after apply)
      + resource_group_name     = (known after apply)
      + resource_id             = (known after apply)
      + resource_keys_url       = (known after apply)
      + resource_name           = (known after apply)
      + resource_plan_id        = (known after apply)
      + resource_status         = (known after apply)
      + restored_at             = (known after apply)
      + restored_by             = (known after apply)
      + scheduled_reclaim_at    = (known after apply)
      + scheduled_reclaim_by    = (known after apply)
      + service                 = "compliance"
      + service_endpoints       = (known after apply)
      + state                   = (known after apply)
      + status                  = (known after apply)
      + sub_type                = (known after apply)
      + tags                    = (known after apply)
      + target_crn              = (known after apply)
      + timeouts                = null
      + type                    = (known after apply)
      + update_at               = (known after apply)
      + update_by               = (known after apply)
    },
]

scc_instance_settings_details = [
  + {
      + event_notifications = [
          + {
              + instance_crn = (known after apply)
              + source_id    = (known after apply)
              + updated_on   = (known after apply)
            },
        ]
      + id                  = (known after apply)
      + instance_id         = (known after apply)
      + object_storage      = [
          + {
              + bucket          = "scc-cb"
              + bucket_endpoint = (known after apply)
              + bucket_location = (known after apply)
              + instance_crn    = (known after apply)
              + updated_on      = (known after apply)
            },
        ]
    },
]

@iamar7 - you do not see the name set in terraform because the provider does not support it.
But when you look at the actual Event Notifications source record you will see the hardcoded name.

@iamar7 - you do not see the name set in terraform because the provider does not support it. But when you look at the actual Event Notifications source record you will see the hardcoded name.

That's where I was going, when I checked the source in the EN instance in Cloud UI it has a compliance which seems to be hardcoded from here so I will create a provider issue regarding this.

Raised the provider issue here -> https://github.com/IBM-Cloud/terraform-provider-ibm/issues/5579

This was fixed in https://github.com/IBM-Cloud/terraform-provider-ibm/pull/5818 since the source name is now required when doing EN integration. The fix has already been added to our SCC module and DA


How to make the spider running as daemon?

I running spider by command:
KIMURAI_ENV=production bundle exec kimurai crawl movie_spider

Then close the terminal, spider will stopped.

@caecity43
I think you need Tmux here. Or use cron https://github.com/vifreefly/kimuraframework#schedule-spiders-using-cron if you want to run the spider by schedule.

@vifreefly Thank you, Let me try it.


Flipper UI - Fix issue preventing feature flags being enabled when confirm_fully_enable is on and feature_removal_enabled is off

I noticed that the confirmation text set up by confirm_fully_enable does not work correctly if feature_removal_enabled was set to false.
This was due to the node with ID feature_name only being present within the form included when feature_removal_enabled was set to true. This lead to a situation where your UI would display "undefined" as the prompt text though when that or the actual feature name was used the  flag was not toggled since it was comparing the string "undefined" to an undefined variable.
This commit fixes this edge case by decoupling the confirmation text for both buttons from the feature_removal_enabled form and moving them into data attributes on the button being clicked. This allows them to be enabled/disabled separately without impacting each other. The appearance of these attributes are controlled by the flags themselves.

Before
After

Weird! I never got a notification about this. Checking it now.

@Lockyy thanks!

Thanks for merging this in! Glad to be able to help. :)

@Lockyy I've been giving www.flippercloud.io credits to people who contribute, so if you want to check it out beyond the trial, let me know and I'll spot you several months or more.
Lastly, if you don't mind, I would love to know what you are using flipper for as well and how it is working out for you (what went well, what was hard other than what you mentioned here).
If you aren't comfortable leaving that information here in a public comment, feel free to email me directly<EMAIL_ADDRESS>I'm just always curious. :)


Ensure correct block order on reload

Due to a regression blocks were no longer ordered by time before
being stored in memory. This made data intermittently become unavailable
for queries.
Backport from #332
@brian-brazil @krasi-georgiev This must be included in the vendor update in Prometheus before releasing.

:+1:


Login layout#769

Fixes #769
Describe the changes you have made in this pr -

changed the position of show password icon to inside the text box
added styling to remember me checkbox

Screenshots of the changes (If any) -

@AyanChoudhary Please modify existing system tests so that they can work with the newly renamed HTML elements. This should fix the CI build also

@AyanChoudhary are you still working on this ? @nitin10s shall we close this, no response since a long time

Closing this:

We'll be changing the login design to modal based.
Checkboxes need to be worked upon as a single unit wherever they are used across the platform

Closing this:

We'll be changing the login design to modal based.
Checkboxes need to be worked upon as a single unit wherever they are used across the platform

shall i close #769?

Yeah. I hope all the problems you mentioned have been rectified in the new design.

@nitin10s well, the issue is still valid but since you closed that pr because of

We'll be changing the login design to modal based

That means there is no reason to fix it because it will be changed anyway?

Yeah, by the previous statement, I meant the problems you mentioned have been rectified in the "new" popup design. Yes close that issue as well.


added constant file to optimized string values usages

Added constant files for code usage instead of hardcoded string values in terms of best practice,
optimized code for todo list.
Also, check all functionality is working appropriately. Please do let me know if I need to update/modify anything in the code
Thanks,

please resolve branch conflicts


Does not work with HTTPS protocol

I tried to send request with URL https://httpbin.org/xml and it seems that communication is broken. No response is delivered until timeout.
I have only this one interceptor:
InterceptingProtocol.registerResponseInterceptor(XMLInterceptor())

Does this happen in playgrounds or in app targets as well?

I tried this only in app target - new clean iOS project.

@tomassliz Please check if the latest commit fixed your issue. You may install latest HEAD version by using "master" in your Cartfile:
github "netguru/ResponseDetective" "master"

I can't install latest HEAD version. This is output of carthage update command:
*** Cloning ResponseDetective
*** Checking out ResponseDetective at "99a7428b07a7ffbd54d5613c87f27dd7f0538807"
*** xcodebuild output can be found in /var/folders/3s/5fmt6_0d6zx7m316ynk2_4cr0000gn/T/carthage-xcodebuild.iRaoun.log
*** Building scheme "ResponseDetective (iOS)" in ResponseDetective.xcodeproj
** BUILD FAILED **

The following build commands failed:
	Check dependencies
(1 failure)
A shell task failed with exit code 65

I tried to create new project or clean Carthage cache. So it's maybe problem with your framework settings.
Anyway, if I clone your project and build the latest HEAD version manually everything is ok and the original issue is fixed.

Installation fails because of code signing issues, please make sure that you have a valid provisioning profile for any framework to be built. :smiley:

I don't think that code signing is the problem. Problem is that you have private dependencies and that's why Carthage can't build it. Look at this:
~/Desktop/Detective $ carthage update --platform ios --verbose
*** Fetching ResponseDetective
*** Checking out ResponseDetective at "cc54353fa3994436192298f199bab9f9242350e9"
*** Building scheme "ResponseDetective (iOS)" in ResponseDetective.xcodeproj
Build settings from command line:
    SDKROOT = iphonesimulator8.4

=== BUILD TARGET ResponseDetective (iOS) OF PROJECT ResponseDetective WITH CONFIGURATION Release ===

Check dependencies
The file “Release.xcconfig” couldn’t be opened because there is no such file. (/Users/deny/Desktop/Detective/Carthage/Checkouts/ResponseDetective/Carthage/Checkouts/xcconfigs/Base/Configurations/Release.xcconfig)
The file “iOS-Framework.xcconfig” couldn’t be opened because there is no such file. (/Users/deny/Desktop/Detective/Carthage/Checkouts/ResponseDetective/Carthage/Checkouts/xcconfigs/iOS/iOS-Framework.xcconfig)
Build setting PRODUCT_NAME undefined

** BUILD FAILED **

The following build commands failed:
	Check dependencies
(1 failure)
A shell task failed with exit code 65

Looks like I have to include Carthage/Checkouts as submodules...

Thank you, I♥ this project idea.

@tomassliz FYI, 0.2 is now live. :smiley:


mainContentText is not compatible with lists.

I entered sample text for the Markdown-style list notation provided by Apple, but it is not being reflected.
https://developer.apple.com/documentation/apple_news/apple_news_format/components/using_markdown_with_apple_news_format#2975748
mainContentText
1. First list item\n1. Second list item\n\n1\\. Not a list item
result

That isn't supported by SwiftUI markdown. You're reading the wrong documentation.
https://www.avanderlee.com/swiftui/markdown-text/
Only a few properties are officially supported.

Due to implementing markdown support, many of the elements within Nudge may no longer be in bold if you customize them.
To work around this please add ** elements to these customizations
For example: The mainContentNote value of Important Notes would become Important Notes
More Markup Options
https://github.com/macadmins/nudge/wiki/v2.0-features#breaking-changes

I checked from this wki. So it supports Text-Level Markdown Syntax and does not support Block-Level Markdown.
Thank you.

ah I'll fix the wiki! Thanks for telling me that.

You have always helped me. Thank you too for always getting back to me so quickly.


ci: mark release workflow as workflow_dispatch

According to Github Actions, this should allow to trigger the workflow manually. Let's see.
Cc: Quentin Monnet<EMAIL_ADDRESS>

@qmonnet it seems like something about building bpftool from submodule is broken, it expects LLVM-14 which is not present? Any idea what's going on? Is the fix needed on bpftool side or retsnoop side? See https://github.com/anakryiko/retsnoop/actions/runs/6368016638/job/17287065875

Hi Andrii, I don't know where the issue comes from.
It looks like this is coming from bpftool side, given that the feature probe for LLVM passes but the build fails to find libLLVM-14.so:
Makefile.feature:158: Probing: feature-llvm
Makefile.feature:159: printf '%b\n' '#include <llvm-c/Core.h>\n' '#include <llvm-c/TargetMachine.h>\n' 'int main(void) {' '	char *triple = LLVMNormalizeTargetTriple("");' '	LLVMDisposeMessage(triple);' '	return 0;' '}' | cc  -I/usr/lib/llvm-14/include  -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS  -L/usr/lib/llvm-14/lib  -Wall -Werror -x c - -lLLVM-14 -o /dev/null >/dev/null && (echo 1 && >&2 echo result: 1) || (echo 0 && >&2 echo result: 0)
result: 1
...                        libbfd: [ OFF ]
...               clang-bpf-co-re: [ on  ]
...                          llvm: [ on  ]
...                        libcap: [ OFF ]

[...]

gcc  [...] -lLLVM-14 [...] -o /home/runner/work/retsnoop/retsnoop/retsnoop/src/.output/bpftool/bootstrap/bpftool
/usr/bin/ld: cannot find -lLLVM-14: No such file or directory

I can't reproduce locally, I've got consistent results between the probe and the build on my setup (the probe does fail if libLLVM-14.so is missing). I'll try to reproduce on a GH runner to investigate.
Do you have any idea when the workflow broke? I note that you updated bpftool yesterday, but I can't find changes for bpftool's build system on this diff. There were some changes that you pulled in June, do you know if bpftool built successfully after that?

hey @qmonnet, thanks for taking a look! I don't know when it broke, as this was the first time I used new action to create a release. I updated bpftool after I ran into problems in hope that latest version of bpftool might have a fix.
This fix for retsnoop's Makefile looks good, you can probably put those CFLAGS and EXTRA_CFLAGS after $(MAKE), though? Please do open a PR!

you can probably put those CFLAGS and EXTRA_CFLAGS after $(MAKE), though?

Nope, secret Makefile feature - it's not the same. Passing before passes through the environment and does not override the Makefile contents; passing after passes via the command line and overwrites the contents, making the assignments inside of the Makefile useless (more details), and the build fail.

Please do open a PR!

OK will do :)

Yeah, I knew about the difference for before or after make "envvars", but I just didn't think it matters so much here. Good to know, put that bit into the PR as well, for posterity. Thanks!

Sure, I had documented it in the commit log already. The PR is at #52


Document title length display maximum

Our users often let document titles run long, such as Joint Media Statement From Justice Tim Carmody and Attorney General Yvette D'Ath. Should we implement a character display maximum for titles to avoid hideous title wrapping?
Same would hold for the "Department of Cats" text in the current dev example (and I'm not sure what field that represents).

Should we implement a character display maximum for titles to avoid hideous title wrapping?

I've been mulling over how to deal with that. For now, I made sure wrapping wouldn't destroy layout:

But if this is going to be a regular speedbump, we could:

Truncate: This is okay, but I'd want to make the full title easily accessible via a hover or something.
Hide behind a metadata/info button that triggers a panel with extended metadata: We've considered doing this anyway. I'm entirely okay with this on single page embeds where it's likely the context will identify what you're seeing, less so on full documents where we might need to tee up what they're seeing.
Move to the bottom where it can wrap more easily: This makes the title more like a caption to the thing, which I'm sort of okay with. Our logo looks bad at the bottom.

I had to type all that out to come to the same place as you, @anthonydb. I think an intelligent truncation is the way to, with a hover (click on mobile) trigger for full title.

Same would hold for the "Department of Cats" text in the current dev example (and I'm not sure what field that represents).

That's silly placeholder, but would map to contributor_organization. We'd only show that when the resource was embedded outside of its native domain, to credit the original contributing org. It currently disappears below 300px.

@reefdog I agree on the intelligent truncation with hover. That's a good approach.
For the contributor_organization, a common location for such attribution is at the bottom left of the asset, perhaps using the same attribution style we use now in the viewer: Contributed by Journalist Name, Organization Name. Also in a smaller size font. That would free space at the top too.

:+1:

fwiw i don't like truncation (but could be swayed).  This is a key part of the info about the doc.
The two tensions are that we want the most descriptive possible titles (from the POV of our index) and that if a descriptive title is a problem when embedding normally i'd just tell the uploader to truncate the title of the doc.
But generally speaking, i'm of the opinion that a long title isn't hugely problematic from a display pov, but again, could probably be convinced otherwise.
btw @anthonydb the Department of Cats is the source rather than the contributor_organization.  Justin and i discussed this as a piece of the provenance of the document (as opposed to what org uploaded it).

OK. So I'd suggest that the source get moved to the bottom and be preceded with "Source: " for clarity.
If we get that piece out of the top, then the wrapping of the document title won't look as odd. I suspect/hope that more people will name their documents appropriately once they realize where the headline comes from.

Truncation is basically necessary at certain sizes, but I agree that it should be avoided if possible. What I'll do, then, is truncate only at smaller embed sizes, still with the ability to trigger the full title. And yes, move the source to the bottom (and, ideally, only display it on first-party embeds).

Rethinking truncation. It introduces interface complexity and confusion.
Here's how a long name looks currently:

Suggested changes instead of truncation:

Make including the title at all a user-configurable option (along with other document attributes)
On the middle size, ditch the DC logo at the top and supplement the footer credit (currently "Contributed by {name} of {organization}") with a text link to DC: "Contributed by {name} of {organization} | DocumentCloud"

I agree that title could be jettisoned.
Excellent idea.

Then I'll close this. Did n°2 and will get to n°1 when we allow configuration.


Stable unique id for threads

The thread number can change during execution of an action.
For debugging it would be helpful if the thread id was stable and unique for a given execution path.
eg:
---
deadlock_detection: false
options:
    max_actions: 3
action_options:
    ReceiveSQS:
        max_concurrent_actions: 1
---

action Init:
    sqs_fifo = []
    db = []

atomic action Send:
    sqs_fifo.append(record(score=5, message='Hello'))

atomic  action ReceiveSQS:
    if sqs_fifo:
        process(sqs_fifo[0])
        oneof:
            sqs_fifo.pop(0)
            pass # Do nothing i.e, in this case, don't remove the message

fair action Increment:
    v = db
    v.append("i")
    db = v

func process(message):
    v = db
    v.append("p")
    db = v

In the explorer here, when ReceiveSQS starts it has thread-1 but when thread-0 completes, it becomes thread-0
https://github.com/user-attachments/assets/5e291d69-81e8-491c-85b2-4a4225776215

@tekumara Sorry about the delay. I just merged the fix and updated the playground.
It was a bit of work as the model checker does deduplication if a same state can be reached from different order of operations and the deduplication logic has to be thread-order independent. Can you take a look at let me know if this works for you.

Works well thank you (and I see it's now action rather than thread).


Support multiple APIs for the same data center

Redundancy is a good thing. We should investigate implementing support for multiple APIs within the same data center so that Uchiwa can failover to another API & support rudimentary load balancing.

Guys, Hi. On a slightly different not, I would add distinction between GET and PUT/POST/DELETE API calls and let the administrator decide which API instance to query. It would help reading, for example, from an API connected to a local REDIS slave, and writing to a "master" on a different server. (i.e.: across the Atlantic perhaps)
Regards, Andrei

Added with 0.11.0

Wrong issue, my bad!