fix(ts/analyzer): Overload handling should handle constructor

Description:
I am not sure whether my fix is correct, so I am going to describe what I am doing here.
This MR is fixing #211. The original issue's proposed solution was to handle ClassMember::Constructor in call_property_of_class(). However, when I tried it out, it seems to never call the method.
So I retrace the error and found this, which seems to indicate that it actually does handle the constructor method correctly, and the root cause is that it didn't handle the generic type param T properly:

Hence I set allow_assignment_to_param: true to allow assigning T = 1.
Related issue (if exists):
#211

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Oh yeah it's my bad. The handling logic should be added to extract https://github.com/dudykr/stc/blob/805667830752f229f1674d034e1e9b0eb3fcb076/crates/stc_ts_file_analyzer/src/analyzer/expr/call_new.rs#L1215-L1647

@kdy1 I think it now excludes the module C2. Lemme know if I am still doing something wrong...


[BUG] Unable to connect to Compreface

Describe the bug
I have Double Take installed as an add-on to my Home Assistant OS on RPi, making use of frigate and compreface that are both remotely installed on a PC with access to a CUDA GPU.
I have recently updated the frigate and compreface stacks to their most recent versions (compreface 1.1.0, frigate 0.12.0) and the next time that Double Take restarted it is no longer able to communicate with Compreface i.e. the status dot beside Compreface in the config section is red rather than green.
Version of Double Take
1.13.1-8e2728d
Expected behavior
I expect that the status dot beside Compreface is green, signifying that Double Take can successfully connect.
Screenshots
The container log for Double Take contains the following exception:
error: Error: compreface process error: Something went wrong, please try again
    at Object.module.exports.normalize (/double-take/api/src/util/detectors/compreface.js:72:11)
    at module.exports.normalize (/double-take/api/src/util/detectors/actions/index.js:8:25)
    at Object.module.exports.process (/double-take/api/src/util/process.util.js:163:33)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Promise.all (index 0)
    at async Object.module.exports.start (/double-take/api/src/util/process.util.js:142:17)
    at async module.exports.polling (/double-take/api/src/util/process.util.js:55:25)
    at async Promise.all (index 0)
    at async module.exports.start (/double-take/api/src/controllers/recognize.controller.js:152:7)

Hardware

OS: Home Assistant 2023.6.1

Additional context
Honestly I'm hoping the exception report should give most of the required context, but please let me know if I need to supply more.

Yes, it is set up as it was before the update, the API key sitting in a secret file that (I've just checked now) remains the same as the API key currently listed in the compreface web UI. I've also just checked and, if I change the API key and refresh the config, it correctly shows a json message in the status mouseover that says that the key is incorrect.

Digging further, I've used postman to reproduce the error directly in the compreface API. I guess this means it's clearly not a double-take issue! Thanks everyone.


Separate Writer::write_string and fmt::Write::write_str methods

Avoids confusion by using different names for the two methods (and keeping them both) instead of naming both write_str as before.

bors r+

bors r+


284-Feature-Document-the-usage-of-the-different-scenarios-available-to-test-the-vehicle

Description
Fixes #284
Add a readme to the build folder which describes the functionality.
TODO

[ ] Maybe, docker-compose_dev_distributed.yaml is not correctly modified, as it should use the simple route.
[x] correctly link this readme in the documentation folder.

I made the questionable design choice to add the Readme.md in the build folder and only link the readme in the development guidelines.

Verify that docker-compose_dev_distributed uses the correct simple route.
https://github.com/una-auxme/paf23/blob/844def35bb5725e62bb799c77da565f4d844964d/build/docker-compose_dev_distributed.yaml#L5-L12

@JulianTrommer please look at these changes. I will merge now without a review due to your absence.

I will not delete this branch until you reviewed these changes.


Add support for unwinding

Requires adding support for try/catch in libgccjit.
Requires changing rustc_codegen_ssa API.

I've pushed my work so far to this branch (gcc) and this branch (rustc_codegen_gcc)

@sapir : Any progress on this? If you're not working on this anymore, I'll start working on this myself soon.

@antoyo sorry! I'm not working on this now, I hope the branches I pushed help


Drop ids from borderLayout.ts

borderLayout.ts currently has templates with divs that has very generic ids. That not a good practice. It would also get confusing when there are multiple instances of ag-grid on one page, because ids should not be shared between elements.

duplicate
https://github.com/ceolter/ag-grid/issues/260


drawImage shows white noise

Hello, so I have an image (bg.raw) which i converted to raw using some png to raw converter. Now, i've used display.draw_image("bg.raw", 0, 0, 128, 128) (it's in the root dir) but the display shows white noise only. What am I doing wrong?

bg.zip

The image you uploaded is a PNG file.  I wrote a utility called img2rgb565.py to convert standard image formats such as PNG and JPEG to the required RGB565 RAW format.  It is in the repo's util folder.

Thank you, that worked.


Update welcome-email-to-end-users.rst

please accept my pr

Summary

Ticket Link

Hello @ayrotideysarkar,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

hi can you tell me where to  comment with /check-cla ?
On Sun, 2 Oct 2022 at 12:27, Mattermod @.***> wrote:

Hello @ayrotideysarkar https://github.com/ayrotideysarkar,
Thanks for your pull request! A Core Committer will review your pull
request soon. For code contributions, you can learn more about the review
process here
https://developers.mattermost.com/contribute/getting-started/code-review/
.
Per the Mattermost Contribution Guide
https://developers.mattermost.com/contribute/getting-started/, we need
to add you to the list of approved contributors
https://docs.google.com/spreadsheets/d/1NTCeG-iL_VS9bFqtmHSfwETo5f-8MQ7oMDE5IUYJi_Y/pubhtml?gid=0&single=true
for the Mattermost project.
Please help complete the Mattermost contribution license agreement
http://www.mattermost.org/mattermost-contributor-agreement/?
Once you have signed the CLA, please comment with /check-cla and confirm
that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not
yet a member, please consider joining our Contributors community channel
https://pre-release.mattermost.com/core/channels/tickets to meet other
contributors and discuss new opportunities with the core team.
—
Reply to this email directly, view it on GitHub
https://github.com/mattermost/docs/pull/5908#issuecomment-1264568578,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASKQVJHQGLIRSCPUNWVOHULWBEW4NANCNFSM6AAAAAAQ2YYUJU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello @ayrotideysarkar,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement? Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

/check-cla


⚠ Samsung has degraded performance

In 6dddd6c, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2664 ms

Resolved: Samsung performance has improved in 1a4a8bb.


Q: Detect if draft has changes to be commited before finishDraft

Is there a way to tell if a draft is in a "dirty" state?

@mweststrate I am trying to experiment passing out a draft of the global state to my render tree along with actions bound to these subtrees, let's say updateUser({ name: 'Paul' }) calls a commit function internally that calls finishDraft. If newState and oldState are unchanged setState will be a no-op and I won't have the chance of recreating a new draft while the old draft is closed.

But why do you want to call setState if it didn't change anyway?
Op do 31 okt. 2019 16:58 schreef Kilian Ciuffolo<EMAIL_ADDRESS>
const commit = () => {
draftState._version++
const newState = finishDraft(draftState) as Readonly
setState(newState)
}
This is my current hack.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/immerjs/immer/issues/455?email_source=notifications&email_token=AAN4NBENZZ2L3D2NXNSL4ILQRMFEZA5CNFSM4JHJZCO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECYQEBQ#issuecomment-548471302,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBBDFSP223QSFD4PZBTQRMFEZANCNFSM4JHJZCOQ
.

@mweststrate I don't want to, that's the point.

why forcefully increase the version then? If you finish first, you could
increase the version only if the state actually changed.
On Thu, Oct 31, 2019 at 7:36 PM Kilian Ciuffolo<EMAIL_ADDRESS>wrote:

@mweststrate https://github.com/mweststrate I don't want to, that's the
point.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/immerjs/immer/issues/455?email_source=notifications&email_token=AAN4NBBWMJKEAWPBE3HNNNTQRMXVLA5CNFSM4JHJZCO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECY733A#issuecomment-548535788,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBHOZNRSAEMCEGJH2ITQRMXVLANCNFSM4JHJZCOQ
.

function useGlobalState(init) {
  const [state, setState] = useState(init)
  const draftState = createDraft(state)

  const commit = () => {
    const newState = finishDraft(draftState)
    if (newState !== draftState) setState(newState)
  }

  return [draftState, commit]
}

This will result in a "draft already closed" error if I call commit without changing anything and then call it again.

I think the pattern you are using above is a very dangerous one, it is recommended to not hand out drafts left and right and have components hold on to it over time. In that case you could just use well use mutable objects int he first place and skip immer entirely :) Using drafts and immutable states now just increases complexity: you need to make sure you propage the latest draft with the latest state, and as soon as any component bails on with whatever optimisation that avoids propagating state, you get into a mess because those things will have an old draft.
It basically relates to the principles outlined here: https://egghead.io/lessons/react-write-asynchronous-producers-in-immer-and-why-you-shouldn-t


Update the game over message

pdate the game over message so people know how to play again!

very good


Update model.py to enable CUDA when available

Shell out to nvidia-smi for NVidia detection, add device or gpu args to conman as appropriate for docker vs podman.  Import subprocess (to shell out for nvidia-smi) and shutil (to duplicate available() functionality and test whether we're using podman or docker)
Summary by Sourcery
Enhancements:

Enable CUDA support in container setup by detecting NVidia GPUs using nvidia-smi and configuring container arguments accordingly.

Thanks @FNGarvin.  I found some issues.


Integrate Travis CI build

As title, I think we can consider integrating Travis CI build service on this xml project.

In general yes, absolutely (though, this package has also no official release yet). Second please see the discussion in phootwork/lang#5 to merge those package into one repo, which is kinda the cause for this package to have no release. It makes more sense to wait for the merge and then plug in CI.

Integration done in phootwork/phootwork monorepo.


improve code generated for AVX2 signed integer comparisons

Previously, AVX2 gt was implemented, but lt fell back to the AVX lt, which is implemented with SSE2 instructions.
generic_logical has the following mappings:

gt -> lt
ge -> le
le -> lt || eq

so it seems best to just implement eq, lt, and le if it's available.
I've had a brief look at the SSE and NEON comparison code and they don't seem to be affected by this.
It's tempting to go through and delete all the gt and ge implementations as they don't seem to add anything, but I feel like I might be missing something.
Here's an example showing the issue: https://gcc.godbolt.org/z/Gd3K9WfTG

I've put some comparisons of the assembly before and after here: https://gist.github.com/tomjnixon/ad1c8bdb958a3f04385778b79013d06f
This seems to pessimise ge a bit on avx when compiling with clang, though i can't see why that would be; it looks like there's an optimisation swapping x > y || x == y for !(x < y) that doesn't happen for other combinations. I guess might be worth adding this explicitly, or swapping the fallback le implementation to use this in general, as I think it's usually better on X86
Clang also generates some odd left and right shift sequences after some comparison operations, but that's not really relevant here.

This all looks good, thanks for tracking this one!

I've put some comparisons of the assembly before and after here: https://gist.github.com/tomjnixon/ad1c8bdb958a3f04385778b79013d06f
This seems to pessimise ge a bit on avx when compiling with clang, though i can't see why that would be; it looks like there's an optimisation swapping x > y || x == y for !(x < y) that doesn't happen for other combinations. I guess might be worth adding this explicitly, or swapping the fallback le implementation to use this in general, as I think it's usually better on X86

+1 fore adding explicit le that would avoid fallingback to lt || eq. Can you do this?


Small enhancement in lambda_memory.py

Hi! I was using the writen function in lambda_memory.py to write a 68 byte symbolic bit-vector. However, this failed because the writen function only allowed up to 32 bytes of writing to memory which contradicts the purpose of the function: allowing a write up to n bytes given the value to write and a starting offset.
The following is the current writen function:
def writen(self, index, v, n):
        assert is_concrete(n), "writen with symbolic length not implemented"
        assert bv_unsigned_value(n) != 0, "invalid writen with length=0"

        self.invalidate_cache(start=index, end=BV_Add(index, n))

        for i in range(bv_unsigned_value(n)):
            m = BV_Extract((31 - i) * 8, (31 - i) * 8 + 7, v)
            self[BV_Add(index, BVV(i, 256))] = m

        # update cache
        if is_concrete(index):
            # print(f"caching writen {bv_unsigned_value(index)}:{bv_unsigned_value(n)} = {v}")
            self.cache[bv_unsigned_value(n)][bv_unsigned_value(index)] = v

I propose that it should be changed to:
def writen(self, index, v, n):
        assert is_concrete(n), "writen with symbolic length not implemented"
        n_val = bv_unsigned_value(n)
        assert n_val != 0, "invalid writen with length=0"

        self.invalidate_cache(start=index, end=BV_Add(index, n))

        for i in range(n_val):
            m = BV_Extract((n_val - 1 - i) * 8, (n_val - 1 - i) * 8 + 7, v)
            self[BV_Add(index, BVV(i, 256))] = m

        # update cache
        if is_concrete(index):
            # print(f"caching writen {bv_unsigned_value(index)}:{bv_unsigned_value(n)} = {v}")
            self.cache[bv_unsigned_value(n)][bv_unsigned_value(index)] = v

This isn't really a bug. Just a slightly better design/enhancement kind of thing 😊

Hi @khvitri !
Do you mind opening a PR for this? :)
Thanks!


Add Quartz functions

https://www.cairographics.org/manual/cairo-Quartz-Surfaces.html

Will add it in the next hours.

Cool!


Failed to compile

`

warning react-dplayer > dplayer ><EMAIL_ADDRESS>Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
11:22:00.695 | warning react-reader > epubjs ><EMAIL_ADDRESS>This is a stub types definition for localforage (https://github.com/localForage/localForage). localforage provides its own type definitions, so you don't need @types/localforage installed!
11:22:03.541 | [2/4] Fetching packages...
11:22:20.814 | [3/4] Linking dependencies...
11:22:20.816 | warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>11:22:20.817 | warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>11:22:20.817 | warning "react-hot-toast ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>11:22:34.139 | [4/4] Building fresh packages...
11:22:35.024 | success Saved lockfile.
11:22:35.029 | Done in 39.11s.
11:22:35.059 | Detected Next.js version: 12.0.10
11:22:35.060 | Running "yarn run build"
11:22:35.337 | yarn run v1.22.17
11:22:35.364 | $ next build
11:22:36.040 | info  - Checking validity of types...
11:22:42.771 | Failed to compile.
11:22:42.771 |
11:22:42.772 | ./components/FileListing.tsx:77:22
11:22:42.772 | Type error: Type '[IconPrefix, IconName]' is not assignable to type 'IconProp'.
11:22:42.772 |
11:22:42.772 | 75 |     {emoji ? emoji[0] : '📁'}
11:22:42.773 | 76 |   ) : (
11:22:42.773 | > 77 |     <FontAwesomeIcon icon={child.file ? getFileIcon(child.name, { video: Boolean(child.video) }) : ['far', 'folder']} />
11:22:42.774 | |                      ^
11:22:42.774 | 78 |   )
11:22:42.774 | 79 | }
11:22:42.774 | 80 |
11:22:42.798 | error Command failed with exit code 1.
11:22:42.798 | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
11:22:42.808 | Error: Command "yarn run build" exited with 1

`
I have a fork of this repo. After merging your latest commit, build is failing.

This worked. Thank you so much


Decimals in new-chartpie don't seem to work.

it seems i can only use full numbers in the chartpie functionality.
It doesn't matter if i use dots or commas.
My bet is that i'm missing something obvious here.
I have tested with different cultureinfo's as well.
That fixed my problems for new-chartbar (where i had the same problem)
new-chartpie though, i can't get it to work with decimals
Example 1 with dots
Dashboard -Name 'Report' -FilePath "c:\test\test.html" -Show {
        TabOptions -SlimTabs
        Tab -Name 'decimals anyone' -IconRegular hourglass {
            Section -Name "test" -Collapsable {
            New-HTMLPanel {
                New-HTMLChart -Title "test" {
                    New-ChartPie -Name "Uptime" -Value "99.1" -Color Green
                    New-ChartPie -Name "Downtime" -Value "0.9" -Color Red
                }
            }
        }
    }
}

Example 2 with comma's
Dashboard -Name 'Report' -FilePath "c:\test\test.html" -Show {
        TabOptions -SlimTabs
        Tab -Name 'decimals anyone' -IconRegular hourglass {
            Section -Name "test" -Collapsable {
            New-HTMLPanel {
                New-HTMLChart -Title "test" {
                    New-ChartPie -Name "Uptime" -Value "99,1" -Color Green
                    New-ChartPie -Name "Downtime" -Value "0,9" -Color Red
                }
            }
        }
    }
}

It's a bug in my ConvertTo-JsonLiteral function. I'll get it fixed.


支持api切片上传torna

支持api切片上传torna

Please add the configuration of apiUploadNums to the single document as well. The address of the document project is: https://github.com/smart-doc-group/smart-doc-group.github.io


Flagd sync breaks after chart update

Overview
Updating the OFO via helm causes existing flagd subscriptions to stop working. This seems to be related to the service account used by flagd to subscribe to the Kubernetes API.
Steps to reproduce

Deploy OFO using helm version 0.2.22
Deploy a workload that requires flagd to be injected by OFO
Test that flag updates are synced
Update OFO to version 0.2.23 using helm
Attempt to update a flag configure
Confirm that flagd did not receive the flag update
Recreate the workload
Confirm that the new flagd is receiving flag updates

Logs

Expand this section to see the logs output by flagd.
         ______   __       ________   _______    ______
        /_____/\ /_/\     /_______/\ /______/\  /_____/\
        \::::_\/_\:\ \    \::: _  \ \\::::__\/__\:::_ \ \
         \:\/___/\\:\ \    \::(_)  \ \\:\ /____/\\:\ \ \ \
          \:::._\/ \:\ \____\:: __  \ \\:\\_  _\/ \:\ \ \ \
           \:\ \    \:\/___/\\:.\ \  \ \\:\_\ \ \  \:\/.:| |
            \_\/     \_____\/ \__\/\__\/ \_____\/   \____/_/

{"level":"warn","ts":1673279286.986885,"caller":"kubernetes/kubernetes_sync.go:57","msg":"Client not initialised","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279286.988456,"caller":"kubernetes/kubernetes_sync.go:104","msg":"Starting kubernetes sync notifier for resource dev/end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279287.0330749,"caller":"service/connect_service.go:109","msg":"metrics listening at 8014","component":"service"}
{"level":"info","ts":1673279287.1486142,"caller":"kubernetes/kubernetes_sync.go:136","msg":"kube sync notifier event: add dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279287.150566,"caller":"kubernetes/kubernetes_sync.go:136","msg":"kube sync notifier event: add dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279287.160034,"caller":"runtime/runtime.go:84","msg":"configuration change (write) for flagKey hex-color (dev/end-to-end)","component":"runtime"}
{"level":"info","ts":1673279347.1486418,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279347.1491268,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279353.633195,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279353.6428063,"caller":"runtime/runtime.go:84","msg":"configuration change (update) for flagKey hex-color (dev/end-to-end)","component":"runtime"}
{"level":"info","ts":1673279407.1487696,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279407.1490867,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279443.8719244,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"error","ts":1673279443.8738065,"caller":"runtime/runtime.go:61","msg":"fetch: featureflagconfigurations.core.openfeature.dev \"end-to-end\" is forbidden: User \"system:serviceaccount:dev:default\" cannot get resource \"featureflagconfigurations\" in API group \"core.openfeature.dev\" in the namespace \"dev\"","component":"runtime","stacktrace":"github.com/open-feature/flagd/pkg/runtime.(*Runtime).startSyncer\n\t/workspace/pkg/runtime/runtime.go:61\ngithub.com/open-feature/flagd/pkg/runtime.(*Runtime).Start.func1\n\t/workspace/pkg/runtime/start.go:31\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\t/go/pkg/mod/golang.org/x/sync@v0.0.0-20220929204114-8fcdb60fdcc0/errgroup/errgroup.go:75"}
{"level":"info","ts":1673279467.1476731,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279467.1482906,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279527.148567,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279527.1488688,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279587.1494663,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279587.149673,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279647.1501207,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279647.150266,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279707.1502128,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
{"level":"info","ts":1673279707.1507156,"caller":"kubernetes/kubernetes_sync.go:142","msg":"kube sync notifier event: update dev end-to-end","component":"sync","sync":"kubernetes"}
E0109 15:55:39.151978       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: unknown
W0109 15:55:40.274607       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:55:40.274644       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:55:43.169613       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:55:43.169648       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:55:48.773706       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:55:48.773739       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:56:01.272456       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:56:01.272487       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:56:16.079723       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:56:16.079764       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:56:45.909843       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:56:45.909875       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:57:32.709040       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:57:32.709074       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:58:16.944866       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:58:16.944903       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
W0109 15:58:50.831425       1 reflector.go:424] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope
E0109 15:58:50.831508       1 reflector.go:140] pkg/mod/k8s.io/client-go@v0.25.4/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: featureflagconfigurations.core.openfeature.dev is forbidden: User "system:serviceaccount:dev:default" cannot list resource "featureflagconfigurations" in API group "core.openfeature.dev" at the cluster scope

Ive investigated this bug and have found the cause:
Helm now uses a 3 way strategic merge patch (instead of the 2 way merge seen in helm 2), this means that the current state of resources are taken into account when actions such as rollback or upgrade take place. As such, any external changes to the deployed resources will have their state set back to the 'default' rather than these changes persisting.
e.g.
helm install myapp ./myapp (containing a deployment with 3 replicas)
kubectl scale --replicas=0 deployment/myapp
helm rollback myapp

results in the deployment of myapp having 3 replicas.
This behaviour breaks the logic used within the pod_webhook. When a pod requests access to the FeatureFlagConfiguration, its service account is added to the flagd-kubernetes-sync cluster role binding, granting access to the get, watch and list verbs for the core.openfeature.dev API resources. This is a requirement for the Kubernetes sync. Over time the cluster role binding's subject array grows as service accounts are added.
If we then run a helm upgrade, this mutated state of the flagd-kubernetes-sync cluster role binding is rolled back to the new desired state held within the chart, scrubbing the permissions for any previously authorised pods, with the only method of 're-adding' the permissions being a pod restart.
There are a few options for solving this issue, and I am certain that this list is not exhaustive:

use a wildcard to allow all resources access to the core.openfeature.dev API (this just bypasses the need for the pod_webhook to write these permissions)
add the default/default service account to the role binding, with an option to overwrite this value via the helm chart
on pod_webhook startup, query all pods and backfill service accounts for those with the enabled annotation
on pod_webhook startup, restart all currently running pods in the cluster with the enabled annotation

cc @AlexsJones

I assume Helm uses a merge strategy similar to what is defined by K8s. For example merging lists [1]. And it says "If no patchStrategy is specified for a field of type list, then the list is replaced." Which could be the root cause.
From the suggested solutions, it is best to avoid wildcards due to security concerns and implement a sync mechanism in the operator.
[1] - https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/#merging-changes-for-fields-of-type-list

Another option is to manage cluster role bindings through the operator itself, making it independent from the helm layer. However, this has the potential to pollute clusters during the uninstallation of OFO and require complex logic to handle all scenarios.


Link to versions in dev

Would be good to be able to navigate to deployed versions even when in local dev mode. However, how do we get back to local?

If localhost is defined in the config file, could there not just be a special "local-dev" entry in the versions drop-down that links to whatever URL localhost specifies?
In other words, explicit version numbers always link to a deployed version and "local-dev" links to your local.
I guess static builds should then remove the "local-dev" entry.

That's been added, however I noticed an issue with resolving the right host, probably in generateLink, for the local dev button. storybook-playground demonstrates this.

Fixed in 0.3.4


Security implementation

We're not checking anything about clients using the web interface, and do everything via http.
This works for private pcs and networks, but we should still change it.

This might also include some way to delete experiments - maybe with user tracking or experiment passwords?


Add protection for wrong API call without decoder Initialize

See code review at: https://www.rbcommons.com/s/OpenH264/r/1476/

Add another judgement,


Failed to create server socket

Steps to Reproduce

Create a normal Flutter project with the Atom creator project
Remove the internet permission in the manifest
Run the app

Flutter Doctor
[✓] Flutter (on Linux, channel alpha)
    • Flutter at /home/kleak/flutter
    • Framework revision 9a0a0d9903 (13 days ago), engine revision f8d80c4617

[✓] Android toolchain - develop for Android devices (Android SDK 24.0.1)
    • Android SDK at /home/kleak/Android/Sdk
    • Platform android-24, build-tools 24.0.1
    • Java(TM) SE Runtime Environment (build 1.8.0_101-b13)

[✓] Atom - a lightweight development environment for Flutter
    • flutter plugin version 0.2.4
    • dartlang plugin version 0.6.38

Logs and Crash Reports
vm-service: Error: Unhandled exception:
SocketException: Failed to create server socket (OS Error: Permission denied, errno = 13), address = <IP_ADDRESS>, port = 0
#0      _NativeSocket.bind.<anonymous closure> (dart:io-patch/socket_patch.dart:511)
#1      _RootZone.runUnary (dart:async/zone.dart:1404)
#2      _FutureListener.handleValue (dart:async/future_impl.dart:131)
#3      _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:637)
#4      _Future._propagateToListeners (dart:async/future_impl.dart:667)
#5      _Future._completeWithValue (dart:async/future_impl.dart:477)
#6      _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:528)
#7      _microtaskLoop (dart:async/schedule_microtask.dart:41)
#8      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#9      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#10     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:149)

This is expected behavior.  But perhaps we could handle this better?  Not sure if you can detect if you have the internet permission?  Or maybe where-ever we kick off the service isolate from should catch this and suggest adding internet permission?  I guess this is the same bug as https://github.com/flutter/flutter/issues/2138 ?

yep @eseidelGoogle same error exact sorry

This is a duplicate of https://github.com/flutter/flutter/issues/2138.


fix linebreak-style

I use windows and i have CRLF and i have problem with eslint linebreak-style option ... this option cancel of check CRLF or LF linebreak style ...

HI @khaninD I think you can try to add .editorconfig and the content can be
end_of_line = lf

Not sure if it is work on widows, but if it's work, please consider to use this solution also it's worthy to commit to code base. thanks

@AllenFang , eslint show errors.

If i added end_of_line = if to .editorconfig,, new files will be with LF style, but old files will be CRLF ...

If i added end_of_line = if to .editorconfig,, new files will be with LF style, but old files will be CRLF ...

hmm... that's correctly, how about you delete the repo and clone again? or use --fix to fix the legacy CRLF files?
Anyway, I dont think disable the linebreak-style is gest solution, it will make our codebase without consistency line break, if above solution is not work for you, I think you can enforce the line breaking on widows with CRLF by:
"linebreak-style": ["error", "windows"]
This solution maybe more safety.


{ARM} Bump api-version for Microsoft.Resources from 2021-04-01 to 2022-09-01

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

ARM


Segfault with too deep recursion

This code:
require "big_int"

def fib(n)
  n > 1 ? n * fib(n - 1) : n
end

fib(100_000.to_big_i)

Just gives a segfault. Reducing the value to 1000 solves. Compiling it with -d and running in gdb gives:
Starting program: /tmp/test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff3649700 (LWP 3833)]
[New Thread 0x7ffff3e4a700 (LWP 3832)]
[New Thread 0x7ffff464b700 (LWP 3831)]
[New Thread 0x7ffff4e4c700 (LWP 3830)]
[New Thread 0x7ffff564d700 (LWP 3829)]
[New Thread 0x7ffff5e4e700 (LWP 3828)]
[New Thread 0x7ffff664f700 (LWP 3827)]

Program received signal SIGSEGV, Segmentation fault.
0x0000000000401991 in __crystal_realloc ()

Not very useful. Running on valgrind gives a LOT of messages related with GC_* functions and this one, which may be the cause of segfault:
==3255== Stack overflow in thread 1: can't grow stack to 0xffe801c48

So I think Crystal isn't checking if it can allocate more memory on the stack. The same code on ruby gives:
test.cr:4:in `fib': stack level too deep (SystemStackError)

This is essentially a duplicate of #271

Hum, sorry about that. I should have looked  before posting. Closing it now, thanks!


Ipython console very slow on Mac

Description
What steps will reproduce the problem?

The Ipython console runs extremely slow on Macbook when any backend other than Tkinter is selected.
Steps:

Install latest version of Spyder for Mac
Run any code in console.

Sometimes when OSX backend is selected, the first code executions with console are fast. However, soon after the problem returns.
Traceback
  File "/Users/ruslan/anaconda3/lib/python3.7/site-packages/spyder/widgets/variableexplorer/collectionseditor.py", line 911, in contextMenuEvent
    self.refresh_menu()
  File "/Users/ruslan/anaconda3/lib/python3.7/site-packages/spyder/widgets/variableexplorer/collectionseditor.py", line 838, in refresh_menu
    self.refresh_plot_entries(index)
  File "/Users/ruslan/anaconda3/lib/python3.7/site-packages/spyder/widgets/variableexplorer/collectionseditor.py", line 843, in refresh_plot_entries
    is_list = self.is_list(key)
  File "/Users/ruslan/anaconda3/lib/python3.7/site-packages/spyder/widgets/variableexplorer/namespacebrowser.py", line 326, in is_list
    return self.var_properties[name]['is_list']
KeyError: 'pdiff_00_01'
WARNING:spyder.widgets.github.backend:Failed to send bug report on Github. response={'code': 401, 'json': {'message': 'Bad credentials', 'documentation_url': 'https://developer.github.com/v3'}}

Versions

Spyder version: 3.3.4
Python version: 3.7.0
Qt version: 5.9.6
PyQt5 version: 5.9.2
Operating System: Darwin 17.7.0

Dependencies
pyflakes >=0.6.0  :  2.1.1 (OK)
pycodestyle >=2.3 :  2.5.0 (OK)
pygments >=2.0    :  2.4.2 (OK)
sphinx >=0.6.6    :  2.1.0 (OK)
rope >=0.9.4      :  0.14.0 (OK)
jedi >=0.9.0      :  0.13.3 (OK)
psutil >=0.3      :  5.6.2 (OK)
nbconvert >=4.0   :  5.5.0 (OK)
pandas >=0.13.1   :  0.24.2 (OK)
numpy >=1.7       :  1.16.4 (OK)
sympy >=0.7.3     :  1.4 (OK)
cython >=0.21     :  0.29.10 (OK)
qtconsole >=4.2.0 :  4.5.1 (OK)
IPython >=4.0     :  7.5.0 (OK)
matplotlib >=2.0.0:  3.1.0 (OK)
pylint >=0.25     :  2.3.1 (OK)

The Ipython console runs extremely slow on Macbook when any backend other than Tkinter is selected

This is a known issue (#2902) and unfortunately there's no fix for it at the moment.


BREAKING Export as an ES6 module

Resolves: #922
Change-type: major
Signed-off-by: Thodoris Greasidis<EMAIL_ADDRESS>
Contributor checklist

[ ] Includes tests
[ ] Includes typings
[ ] Includes updated documentation
[ ] Includes updated build output

Now part of the sdk v15 release branch #932


stand alone configuration?

Can you please share some details on how can this be used as a stand alone configuration?
It seems like this is only meant for Home Assistant and is (maybe) missing a file/s and some information on how can this be run outside of HA.
Your help is much appreciated!

Check the usage section: https://github.com/snjoetw/py-august#usage
You should be able to run it without HomeAssistant, let me know if you have problem running it


Add NuGet Link To The Page

For the beginners, it is hard to find the NuGet package. So, I add the link to README

Hello, apologies for the delay. Thank you for the contribution! Could you rebase and update this PR so that we can merge this ?

@GGJason Feel free to ping me here once you're done rebasing and I can review it.

Hi @yojagad ,
I have done rebasing, but I am not sure that if I did it correctly

Doesn't look like it unfortunately :(. It might be easier to close and open a new PR after ensuring your fork matches the current dev?

Ok


[docs] Windows WSL2 offline usage (windows-side hosts file) [skip ci][ci skip]

The Problem/Issue/Bug:
Recently, my network was offline and I was unable to access the internet. No problems, I though, I develop locally in WSL. Unfortunately, I was getting DNS errors when attempting to access my site from Windows. I looked in the DDEV documents but couldn't see an obvious reference to my problem.
Once I found a solution, I did a search of the docs for hosts, but didn't see anything.
How this PR Solves The Problem:

adds specific instructions for Windows browsers, to a WSL DDEV website when Windows is offline.

Automated Testing Overview:
NA

This general issue is one of the biggest confusions about WSL2. It affects lots of things besides offline. I think in future revs of the docs we'll recommend running the browser (and IDE) inside WSL2, since that's super easy to do in upcoming Windows versions. I've been using that for a while.

No problems. Just happy to make great software better.


[BUG] DWA Compression for single channel EXR images only works with tiles

Describe the bug
For single channel EXR images, I understand that DWAA/DWAB compression only works for images bigger than 16 x 16 and if the width and height are powers of two (from this line of code). However, in the way it is implemented, it only works for tiled images.
To Reproduce
The compression level of this image is zip (by default because it is not tiled)
% oiiotool --pattern checker 1024x512 1 -d half -compression dwaa -o test.exr
% oiiotool --info -v -a test.exr
Reading test.exr
test.exr             : 1024 x  512, 1 channel, half openexr
    channel list: Y
    compression: "zip"
    DateTime: "2023:04:26 12:25:09"
    PixelAspectRatio: 1
    screenWindowCenter: 0, 0
    screenWindowWidth: 1
    Software: "OpenImageIO <IP_ADDRESS> : oiiotool --pattern checker 1024x512 1 -d half -compression dwaa -o test.exr"
    Exif:ImageHistory: "oiiotool --pattern checker 1024x512 1 -d half -compression dwaa -o test.exr"
    oiio:ColorSpace: "Linear"
    oiio:subimages: 1

The compression level of this image is dwaa
% oiiotool --pattern checker 1024x512 1 -d half -compression dwaa -tile 1024 512 -o test.exr
# compression is dwaa
% oiiotool --info -v -a test.exr
Reading test.exr
test.exr             : 1024 x  512, 1 channel, half openexr
    channel list: Y
    tile size: 1024 x 512
    compression: "dwaa"
    DateTime: "2023:04:26 12:25:31"
    PixelAspectRatio: 1
    screenWindowCenter: 0, 0
    screenWindowWidth: 1
    Software: "OpenImageIO <IP_ADDRESS> : oiiotool --pattern checker 1024x512 1 -d half -compression dwaa -tile 1024 512 -o test.exr"
    Exif:ImageHistory: "oiiotool --pattern checker 1024x512 1 -d half -compression dwaa -tile 1024 512 -o test.exr"
    oiio:ColorSpace: "Linear"
    oiio:subimages: 1
    openexr:dwaCompressionLevel: 45

Expected behavior
It seems like the first command should not default to zip since the image is bigger than 16 x 16 and the width and height are powers of 2
Platform information:

OIIO branch/version:  Installed oiiotool from brew
OS: MacOS

(I can open a PR, I just want to be sure there's no specific reason for this behavior)

Interesting.
I am presuming that the switch to zip is intended to apply only to tiled files, since the logic only mentions tile_width and tile_height, and not the image size at all.
But note the clause
    && ((spec.tile_width < 16 && spec.tile_height < 16)

because for non-tiled files, the tile_width and tile_height are 0, so all single channel non-tiled channels are getting swept up in this.
If we believe that this is only a restriction for tiled files, then I would recommend changing that whole clause to
// For single channel tiled images, dwaa/b compression only seems to work
// reliably when tile size > 16 and size is a power of two.
if (spec.nchannels == 1 && spec.tile_width != 0
    && Strutil::istarts_with(comp, "dwa")
    && ((spec.tile_width < 16 && spec.tile_height < 16)
        || !ispow2(spec.tile_width) || !ispow2(spec.tile_height))) {
    comp = "zip";
}

which by checking tile_width != 0 restricts the whole action to tiled images.
Now then, there are two important questions remaining:

Is there also a problem with non-tiled (scanline) single-channel images with dwa compression if the image size is < 16 or not a power of 2? We should check empirically, and have an example in the testsuite to prove it. If it is a problem (which we have been avoiding only due to inadvertently excluding all 1-channel scanline images from dwa compression!), then the logic needs to be adjusted to also make the compression switch for non-tiled images with the right properties, for example by adding this after tile case

  // For single channel scanline images, dwaa/b compression only seems to work
  // reliably when image size > 16 and size is a power of two.
  if (spec.nchannels == 1 && spec.width == 0
      && Strutil::istarts_with(comp, "dwa")
      && ((spec.width < 16 && spec.height < 16)
          || !ispow2(spec.width) || !ispow2(spec.height))) {
      comp = "zip";
  }

But this is something that needs to be checked, I really don't know if it's a problem. (@kdt3rd @peterhillman do you have any thoughts?)

Whatever the status of whether this is also a problem for non-tiled images, we might want to also establish whether it's true for all/current versions of OpenEXR. If it affects the current or fairly recent OpenEXR releases, then we need to keep all this logic. If it is only very old versions affected, we might debate at which point we should restrict this clause to only certain exr versions, or eliminate it altogether (for example, if it was fixed before the minimum openexr version that we claim to support).

@RoseHirigoyen It would be very helpful if you could try to determine whether the suppression of dwa compression for 1-channel images should or should not be taken for scanline images (based on image size) as well as for tiled images (based on the tile size), and also confirm whether it's still an issue at all for the latest OpenEXR release, then make the appropriate PR with whatever logic changes seem to be called for by those results.

Ah, this is a addressed by https://github.com/OpenImageIO/oiio/pull/3884
I knew that one felt like I had recently fixed the issue! I had not, but I had discussed it here, that's why it seemed familiar.
Closing because I do think #3884 should fix your problem. It's fixed in master and in the in-progress dev-2.4 branch which will be release <IP_ADDRESS> which I expect to be tagged and released on or very close to July 1.


launch: launch.json must be configured. Change 'program' to the path to the executable file that you would like to debug.

VSCode Version: 1.12.2 (1.12.2)
OS Version: OSX macOS Sierra 10.12.4

Steps to Reproduce:

as per https://github.com/Microsoft/vscode/issues/27872 - simply create a new mvc app via dotnet new mvc
open code in the directory. Get it to build. Hit F5

Receive this error:

Closing / opening VS Code has no effect (as per other instructions I've found on this)

Please file this against the C# extension here https://github.com/OmniSharp/omnisharp-vscode
Bottom line issue is to open your .vscode/launch.json and configure it properly just like the error is telling you

More tutorials around the web https://blogs.msdn.microsoft.com/visualstudioalm/2016/03/10/experimental-net-core-debugging-in-vs-code/
https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger.md


Updated pricing estimates

What does this PR do?
Handles the unused balances when upgrading / downgrading a plan with relevant plan prices and additional seats costs [if any].
See -

Free to PRO

PRO to SCALE

SCALE to PRO

Test Plan
Manual.
Related PRs and Issues
N/A.
Have you read the Contributing Guidelines on issues?
Yes.

Failing diagnostics check seems to coming from the upstream branch.


Use standard tooltips in stream_ui_updates.js

Some tooltips in stream_ui_updates.js are implemented as popovers. They should instead be normal tooltips, to match the rest of the tooltips in the app.

@zulipbot claim

@zulipbot claim


TreeViewAdv Exception in PackageManager

Summary
When using the Package Manager tree view with keyboard input, an unhandled exception is thrown when attempting to scroll past the end of the list.
How to reproduce

Open the Package Manager.
Select "Online Repository" as a source.
Click into the package list.
Hold the down arrow key until reaching bottom. Each subsequent keydown of the down arrow will result in a logged exception.

Attachments
[Edit] Error:   An error occurred: ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
CallStack:
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Aga.Controls.Tree.NormalInputState.NavigateForward(Int32 n)
   at Aga.Controls.Tree.NormalInputState.KeyDown(KeyEventArgs args)
   at Aga.Controls.Tree.TreeViewAdv.OnKeyDown(KeyEventArgs e)
   at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
   at System.Windows.Forms.Control.WmKeyChar(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

This should be happening because when you switch to the Online Repository as source, the package manager will load all available plugins first, and then removes the incompatible ones, but my guess would be that the TreeViewAdv is not updated to reflect this change.
In other words, the package manager should only load compatible packages, instead of loading all Duality packages.

This should be happening because when you switch to the Online Repository as source, the package manager will load all available plugins first, and then removes the incompatible ones, but my guess would be that the TreeViewAdv is not updated to reflect this change.

It actually is updated, but I had to add some custom code in order to be able to filter items efficiently. I suspect that I forgot a bit of code (or introduced a bug) when using keyboard navigation to select the next element in order to account for hidden / fitlered items. There's probably some code in NavigateForward that doesn't properly check hidden items and gets an index wrong.

In other words, the package manager should only load compatible packages, instead of loading all Duality packages.

Not sure if this is really the cause of the problem, but I've been thinking about this as well. The reason it is implemented like this is that displaying only items that are compatible requires the system to wait until compatibility is determined. This increases wait time a lot since dependency information needs to be downloaded from the repository and you get the usual web delay while waiting for a server response. As a result, these are the options:

Only display compatible ones: It takes longer for items to appear and you may end up waiting for an item you already know is compatible, but the system isn't sure yet.
Display all, determine compatibility later: Items appear immediately and disappear again when deemed incompatible.

I've preferred the first one, but it's an arguable choice. In any case, this is probably not part of the issue, so we shouldn't add too much design discussion here :)

There's probably some code in NavigateForward that doesn't properly check hidden items and gets an index wrong.
My guess would be this while loop in here. Perhaps changing the while to if should fix the issue. I'll get to testing it.

My guess would be this while loop in here. Perhaps changing the while to if should fix the issue. I'll get to testing it.

I'm pretty sure this needs to be a while - how else would it handle N consecutive hidden elements? That said, I think you spotted the correct line, the while loop will simply run over the last element if it's hidden.
What needs to be done instead:

Do the while loop, but have a range check.
When exceeding the range, break out of the loop. However, this means we found only hidden elements.
So, instead of breaking out of the loop (which would lead to executing the forward navigation), we need to return instead (and thus do nothing, since we're apparently already at the last element).
NavigateBackward needs to be adjusted in the same way.

What about completely removing the while, and checking for visible nodes only? Would it be better than range checking?

What about completely removing the while, and checking for visible nodes only? Would it be better than range checking?

Well, that's what we're doing here. :smile: The purpose of this method is to navigate to the next visible element. In order to do so, we'll need to skip all the elements that aren't visible, which is the purpose of the while loop in question.

I was looking around and found that there's a property which is Tree.VisibibleRowCount, returning the count of the visible nodes. Why not use it instead?

I was looking around and found that there's a property which is Tree.VisibibleRowCount, returning the count of the visible nodes. Why not use it instead?

Because the count doesn't tell us where exactly these visible items are.

Fixed as described in one of the previous comments. Closing this.


Simplify --test_filter values for JUnit5

Description of the feature request:
When filtering tests for JUnit5, the plugin is generating filter expressions that look like these:
mypackage.myClass#
mypackage.myClass#myMethod$
mypackage.myClass1#(myMethod1|myMethod2)$|mypackage.myClass2#myMethod$

The trailing # and $ were a recent change. While $ may be useful in JUnit3 to determine where a "class boundary" ends, as the plugin is using , for enumeration (i.e. mypackage.myClass1#myMethod1,myMethod2$), it is not needed when the enumeration is between () as in JUnit5.
It should be possible to simplify the filter expressions to something like:
mypackage.myClass
mypackage.myClass#myMethod
mypackage.myClass1#(myMethod1|myMethod2)|mypackage.myClass2#myMethod

While a minor change, this is more closely related with JUnit's selector "language", as these will convert to:
--select-class=mypackage.myClass
--select-method=mypackage.myClass#myMethod
--select-method=mypackage.myClass1#myMethod1 --select-method=mypackage.myClass1#myMethod2 --select-method=mypackage.myClass2#myMethod

and it requires less postprocessing in the test runners.
Which category does this issue belong to?
Intellij
What underlying problem are you trying to solve with this feature?
No response
What operating system, Intellij IDE and programming languages are you using? Please provide specific versions.
No response
Have you found anything relevant by searching the web?
No response
Any other information, logs, or outputs that you want to share?
No response

@tpasternak regarding https://github.com/bazelbuild/intellij/pull/7060, I'd like to discuss the changes proposed here.


[ISSUE-600][Refactor] Translate Chinese comments to English

What changes were proposed in this pull request?
Translate found Chinese character to English
Why are the changes needed?
What are the items that need reviewer attention?
Related issues.
#600
Related pull requests.
How was this patch tested?
/cc @related-reviewer
/assign @main-reviewer

May I know that is there any maven plugin could help to check if comments or code contains Chinese or other languages? I wanna use checkstyle plugin at first, but I didn't find any rules related with the language checking and it is also deprecated from project.


Support Sanctum of Twilight

Can't believe I'm writing this, but slow down FFG!  I can't keep up.
https://www.fantasyflightgames.com/en/news/2017/12/6/sanctum-of-twilight/

The german Streets of Arkham isn't even out yet. ^^

I'll be getting it if you need items and things again. (Hopefully I remember)

Wow, at least there will probably have a few months to work on IA before this hits the ground.

Floating tiles as a new feature...

Just sounds like a remove/add to me, no new features required at this stage.

It is satisfying to know at least they have high hopes for MoM 2E. Thank you guys for also allowing the community to create extra content from the base game and expansions!

Tokens done, need:
INVESTIGATOR_CHARLIE_KANE,Charlie Kane
INVESTIGATOR_LILY_CHEN,Lily Chen
COMMON_ITEM_PAINKILLERS,Painkiller
COMMON_ITEM_BINDING_POWDER,Binding Powder
COMMON_ITEM_CONVINCING_DUMMY,Convincing Dummy
COMMON_ITEM_LUCKY_RING,Lucky Ring
COMMON_ITEM_RIOT_WHISTLE,Riot Whistle
COMMON_ITEM_SENSIBLE_SHOES,Sensible Shoes
COMMON_ITEM_SILVER_TWILIGHT_DAGGER,Silver Twilight Dagger
COMMON_ITEM_SWORD_CANE,Sword Cane
COMMON_ITEM_TOTE_BAG,Tote Bag
COMMON_ITEM_TRACK_SHOES,Track Shoes
UNIQUE_ITEM_MEMBERSHIP_RING,Membership Ring
UNIQUE_ITEM_TWILIGHT_DIADEM,Twilight Diadem
SPELL_BINDING,Binding
SPELL_SPECTRAL_RAZOR,Spectral Razor
CONDITION_STRESSED,Stressed
TILE_CAFE_MAD26,Café 
TILE_DUNGEON_HALL_MAD26,Dungeon Hall 
TILE_CEREMONY_ROOM_MAD26,Ceremony Room 
TILE_INNER_SANCTUM_MAD26,Inner Sanctum 
TILE_LOUNGE_MAD26,Lounge 
TILE_PARADE_FLOAT_1_MAD26,Parade Float 1 
TILE_PARADE_FLOAT_2_MAD26,Parade Float 2 
TILE_PHARMACY_MAD26,Pharmacy 
TILE_STORAGE_ROOM_MAD26,Storage Room 
TILE_VAULT_MAD26,Vault 
MONSTER_WRAITH,Wraith
MONSTER_WRAITH_MOVE_01,The {0} moves 2 spaces toward the nearest investigator. Then it attacks each investigator in its space.
 If you pass, you hold on to your belief that it has no physical form and the creature's blows pass harmlessly through you. If you fail, your flesh parts and pain sears in the wake of the spirit's touch; suffer 1 Damage."
MONSTER_WRAITH_MOVE_02,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space who has suffered the least Damage.
MONSTER_WRAITH_ATTACK_02,"Face distorting into a parody of the human form, the spirit begins to chant, then shriek, then roar in a forgotten tongue (; 3). If you pass, you recognize it as a traditional death curse from antiquity and intone the proper apology. If you fail, the apparition's tirade ends with a sudden slash from a spectral sword, ethereal but more than capable of cutting your flesh; suffer 2 Damage."
MONSTER_WRAITH_MOVE_03,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the lowest .
MONSTER_WRAITH_ATTACK_03,"The spirit howls, then reaches out and begins hurling heavy objects at you with nothing more than gestures (; 1)! If you pass, you scramble for cover but drop something important as you go; drop 1 random Item. If you fail, you dodge the first attack only to blunder into the second; suffer 2 Damage."
MONSTER_WRAITH_MOVE_04,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the highest .
MONSTER_WRAITH_ATTACK_04,"The spirit moans and sinks into the ground as if it were not there (; 2). If you pass, you see hints of the spirit's passage around you and step smartly away.
MONSTER_WRAITH_MOVE_05,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space who has suffered the most Horror.
MONSTER_WRAITH_ATTACK_05,"Plunging through an ocean of broken glass, you find yourself trapped in a labyrinth (; 2). If you pass, you find your way back out of the prison of your mind.
MONSTER_WRAITH_MOVE_06,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space who has suffered the least Damage.
MONSTER_WRAITH_ATTACK_06,"The apparition flickers and takes on a tangible, almost skeletal form. With a shriek, it reaches for your face with fingers like knives; you grab its wrists and do your best to stop it. Suffer 3 Damage (+1 negates)."
MONSTER_WRAITH_MOVE_07,The {0} moves up to 2 spaces to be within range of as many investigators as possible. Then it attacks the investigator within range who has the highest .
MONSTER_WRAITH_ATTACK_07,"You flail desperately as the specter surrounds you, attacking from all sides. Too late, you realize that it is your own wild blows, against yourself and against your surroundings, that are the true danger. Suffer 4 facedown Damage ( negates)."
MONSTER_WRAITH_MOVE_08,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the highest .
MONSTER_WRAITH_ATTACK_08,"The spirit vanishes, but you can feel its menace around you and see threats glinting in the shadows. Suddenly, with fingers like knives, it strikes! Suffer 2 Damage ( negates)."
MONSTER_WRAITH_MOVE_09,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space who has suffered the least Damage.
MONSTER_WRAITH_ATTACK_09,"The apparition rages forward, shrieking accusations and laying crime after crime on your head (; 3). If you pass, your quick patter as you defend yourself seems to slow the spirit down.
MONSTER_WRAITH_MOVE_10,The {0} moves up to 2 spaces to be within range of as many investigators as possible. Then it attacks the investigator within range who has suffered the most Horror.
MONSTER_WRAITH_ATTACK_10,"The apparition screeches and rushes toward you, drawing a spectral blade from within its tattered form (; 3).  If you fail, the creature slashes with its blade at empty air and matching wounds appear on your body; suffer 2 Damage."
MONSTER_WRAITH_MOVE_11,The {0} moves up to 2 spaces to be adjacent to as many investigators as possible. Then it attacks the investigator in an adjacent space who has the highest .
MONSTER_WRAITH_ATTACK_11,"The glowing eyes of the apparition paralyze your feet as the phantom splinters toward you, sharpened nails whistling through the cold silence. The being's jagged fingers rake through the air, giving you little time to dodge their strikes. Suffer 1 Damage and 1 Horror ( negates)."
MONSTER_WRAITH_MOVE_12,The {0} moves up to 2 spaces to be within range of as many investigators as possible. Then it attacks the investigator within range with the lowest .
MONSTER_WRAITH_ATTACK_12,"The stench of rotting flesh and rancid meat fills the air as the spirit materializes (; 2). If you pass, you recognize the incantation of transfiguration being performed and you whisper the appropriate counterspell. If you fail, your attempt to halt the incarnation only deflects the phantom's curse toward yourself, draining your body of living cells; suffer 2 Damage."
MONSTER_WRAITH_MOVE_13,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the most Items.
MONSTER_WRAITH_ATTACK_13,"Your vision goes dark as the air chills around you (; 2). If you pass, you sense the specter's frosty aura in the darkness and duck out of its way as it rushes over your head.
MONSTER_WRAITH_MOVE_14,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the highest .
MONSTER_WRAITH_ATTACK_14,"The specter's large, spindly hands latch around your shoulders, lifting you high in the air. From its glowing mouth the fiend unleashes a nightmarish howl as it drops you to the ground below. With just a second to angle your body, you must think quickly to avoid a jarring collision with the ground. Suffer 2 Damage (+1 negates). If you suffer 1 or more Damage, become Dazed."
MONSTER_WRAITH_MOVE_15,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the lowest .
MONSTER_WRAITH_ATTACK_15,"The specter cackles and disappears into a fog. You confront the shrouded darkness, commanding any presence to leave at once (; 2)! If you pass, you feel the air grow warmer as the fog dissipates. If you fail, your bold attempt only infuriates the being more, causing it to bind you with an ethereal curse; become Restrained, then flip 2 Damage faceup."
MONSTER_WRAITH_MOVE_16,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space who has suffered the least Horror.

MONSTER_WRAITH_MOVE_17,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the highest .
MONSTER_WRAITH_ATTACK_17,"The specter shatters the space around it into dimensionless granules, melting all matter in its path into the infinitesimal.  Suffer 3 facedown Damage ( negates). If you suffer 1 or more Damage, drop 1 random Item."
MONSTER_WRAITH_MOVE_18,The {0} moves up to 2 spaces to be in a space with as many investigators as possible. Then it attacks each investigator in its space.
MONSTER_WRAITH_ATTACK_18,"The spirit dances around you, swiping its claws in calculated motions while hissing arcane phrases. As the ritual reaches a close, you frantically search your memory for a way to stop such an incantation as your body slowly begins to dematerialize. Suffer 2 facedown Damage ( negates)."
MONSTER_WRAITH_MOVE_19,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the lowest .
MONSTER_WRAITH_ATTACK_19,"Striding to outpace the spirit's screams, you sprint for a safehaven while clutching your ears (; 3). If you pass, you make it out of earshot, leaving the ghoulish howls behind for now; you may move 1 space.
MONSTER_WRAITH_MOVE_20,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the lowest .
MONSTER_WRAITH_ATTACK_20,"You see the flash of an emaciated apparition materialize at the edge of your vision before quickly flitting out of sight. Turning your head to escape the fright, you see the same haunting apparition, this time appearing a few steps closer. Turning once more, your eyes are now blinded by the dazzling glow of the specter's open mouth, emitting cosmic rays that wrack every bone of your body. Suffer 2 Damage ( negates)."
MONSTER_WRAITH_MOVE_21,The {0} moves up to 2 spaces to be within range of as many investigators as possible. Then it attacks the investigator within range who has the most Clues.
MONSTER_WRAITH_ATTACK_21,"Sensing that you know too much, the spirit sails into your mind, taking control of your thoughts (; 2). If you pass, your mystical fortitude casts the phantom out, draining it of its lifeforce; the monster suffers 1 damage.
MONSTER_WRAITH_MOVE_22,The {0} moves up to 2 spaces to be in a space with as many investigators as possible. Then it attacks each investigator in its space.
MONSTER_WRAITH_ATTACK_22,"With its gangly reach the phantasm pins you to the ground, its glowing mouth hanging open above you (; 2). If you pass, you wrestle yourself away from the creature's grip.
MONSTER_WRAITH_MOVE_23,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the lowest .
MONSTER_WRAITH_ATTACK_23,"Illusion and reality become one as the spirit plays tricks with your vision. The phantom peels back the curtain of being, casting you endlessly adrift through the void which remains. Suffer 1 Damage and become Dazed."
MONSTER_WRAITH_MOVE_24,The {0} moves 2 spaces toward the nearest investigator. Then it attacks the investigator in its space with the most Items.
 If you pass, you remember a spell that lightens your travel, allowing you to escape freely.
MONSTER_WRAITH_EVADE_01,"The specter locks eyes with you as it begins to mirror your exact movements (; 2). If you pass, you avoid its gaze, no longer entranced by the foe's stare. If you fail, the phantasm floats down through the ground as your body collapses to attempt the same, thwacking your head against the ground's hard surface; become Dazed."
MONSTER_WRAITH_EVADE_02,"The poltergeist barrels after you on all fours, breaking into a sprint. The being pounces on you, teeth glistening against the bright light emanating from the spirit's throat. Out of desperation you conjure one of the only incantations you can remember to save yourself. Suffer 3 facedown Damage (+1 negates)."
MONSTER_WRAITH_EVADE_03,"You try to sneak away while the agitated spirit ravages its surroundings (; 2). If you pass, you proceed unbothered. If you fail, the apparition turns from its ruckus to hurl a bundle of debris in your direction; suffer 1 Damage."
MONSTER_WRAITH_EVADE_04,"The spirit picks up a rusty nail and drives it through its own forehead (; 2). If you pass, you remind yourself that the phantom is already dead. If you fail, a searing pain pulsates within your skull; suffer 1 facedown Damage."
MONSTER_WRAITH_EVADE_05,"The phantom disappears, preferring to stalk its prey from the fourth dimension. Suddenly, you recall a fresh memory of the spirit encircling your baby crib, muttering cursed incantations. You quickly search your mind for enchantments to stop the creature before your memory runs its course. Suffer 2 facedown Damage and 2 facedown Horror (+1 negates)."
MONSTER_WRAITH_EVADE_06,"The spirit screams in a spiteful fit. Fed up with its cries, you scream back (; 1). If you pass, the startled apparition recoils. If you fail, it takes your cry as a challenge, baring its glistening fangs to unleash a bloodcurdling screech inches from your face; suffer 1 facedown Horror, then flip 1 Horror faceup."
MONSTER_WRAITH_EVADE_07,"The spectral being bends time and space around you (; 2). If you pass, you pause to let your momentary vertigo fade before going on your way. If you fail, lifting your leg in the air to take your first step, you experience yourself stepping simultaneously in every direction and trip hard over your own feet; suffer 2 Damage."
MONSTER_WRAITH_EVADE_08,"The spirit becomes simultaneously colorless and infinitely colorful (; 1). If you pass, you take a deep breath and rationalize the apparent contradiction. If you fail, the paradox is too much for any finite being to comprehend; forfeit your action."
MONSTER_WRAITH_EVADE_09,"You attempt to calm the wailing spirit by calling out its earthly name (; 2). If you pass, the phantom's drive for vengeance is satiated momentarily and you scurry on your way. If you fail, you get its name wrong, stoking it into an even fiercer rage and holding you still captive; forfeit your action."
MONSTER_WRAITH_EVADE_10,"You watch as the creature's enormous hands lower slowly from above until your vision goes dark. Clawing at the cold hands obstructing your sight, you eventually wrench them off of you. Recalibrating your vision, you find yourself inexplicably hovering upside down in the air, the phantom cackling maniacally from the ground now beneath you. As soon as you orient yourself, the hex is lifted, sending you tumbling harshly downwards. Suffer 2 Damage (+1 negates)."
MONSTER_WRAITH_EVADE_11,"Understanding the anger and pain the specter must feel, you softly console the weeping wretch (; 2). If you pass, the creature's wails fade to whimpers as it considers its unfortunate lot.
MONSTER_WRAITH_EVADE_12,"Feeling clever, you confidently shout occult utterances at the phantom, the meanings of which are unbeknownst to you (; 2). If you pass, your arcane phrases surprisingly form a ward of protection, allowing you to go along your way as the spectral predator cowers.
MONSTER_WRAITH_HORROR_01,"The apparition draws its hands to its temples, and you are overwhelmed by a feeling of vertigo (; 2).
MONSTER_WRAITH_HORROR_02,"The spirit proclaims arcane phrases and conjures three duplicates of itself. The group circles you while wailing loudly in dissonant unison, and you have difficulty discerning one apparition from another.  Suffer 3 Horror ( negates). If you suffer 1 or more Horror, discard 1 Clue."
MONSTER_WRAITH_HORROR_03,"The phantasm's wavering skin undulates, resonating against this earthly dimension (; 2). If you pass, you avert your mind from the eldritch figure and focus on the investigation at hand.
MONSTER_WRAITH_HORROR_04,"The apparition conjures a music box from the interdimensional void. Cranking the mechanism slowly, otherworldly cries fill the air and you barely pick out your own. Suffer 2 Horror ( negates). If you suffer 1 or more Horror, become Stressed."
MONSTER_WRAITH_HORROR_05,"The wallowing specter screeches with fury as it pulls out its hair, translucent locks cascading down from the phantom's perch. As one strand of ethereal hair passes through your head, you immediately forget a fond childhood memory; discard 1 Clue. In an attempt to soothe the wailing spirit, you hum it a song from your childhood whose words escape you. Suffer 3 facedown Horror (–1 negates)."
MONSTER_WRAITH_HORROR_06,"""Want to dance?"" the specter beckons with a crooked smile (; 3). If you pass, you see through the phantom's sly tricks and keep your guard up. If you fail, you foolishly accept the offer, only for the spirit to take control of your legs; suffer 2 Horror and move 2 spaces toward the {0}."
MONSTER_WRAITH_HORROR_07,"You remember that spirits usually take the form of the recently deceased. Why does this one look so much like you, then (; 1)? If you pass, you assure yourself that everyone has at least a few look-alikes.

MONSTER_WRAITH_HORROR_09,"The phantasm contorts its features to become a hollow doppelgänger of yourself. Staring into your eyes, the spirit peals back the ephemeral skin from its face, revealing nothing but inky blackness within. Suffer 2 Horror ( negates). If you suffer 1 or more Horror, become Stressed."
MONSTER_WRAITH_HORROR_10,"""This will only hurt a bit,"" the spirit hisses in your ear, raising its spectral claw (; 2). If you pass, you convince yourself the unearthly fingernail is immaterial and you gain confidence knowing it cannot hurt you; flip 1 Horror facedown.
MONSTER_WRAITH_HORROR_11,"The events around you begin to rewind. Played in reverse, you can make out the cries of the ghostly being repeating ""Help me {0}. Help me {0}."" in a shrill, pleading tone. Suffer 3 Horror ( negates)."
MONSTER_WRAITH_HORROR_11_ALT,"The events around you begin to rewind. Played in reverse, you can make out the cries of the ghostly being repeating ""Help me {0}. Help me {0}."" in a shrill, pleading tone. Suffer 3 Horror ( negates)."
MONSTER_WRAITH_HORROR_12,"The spirit opens its mouth wide, sharp teeth parting to reveal a shining light blotted out from hundreds of squirming legs. Spiders spill out of its gaping mouth as the being cackles at your frantic retreat. Suffer 2 Horror (–1 negates). If you suffer 1 or more Horror, move 1 space away from the {0}."
MONSTER_WRAITH_MOVE_00,"The spirit bares its sharp fangs, searching for prey. Drawn to the warmth and light of your living essence, the specter blinks out of existence only to rematerialize again, closer. The {0} moves to the nearest space within range of an investigator."
SOCRATIC_BURDEN_01,The stars change formation overhead. This mythos event affects the investigator in an outdoor space with the highest .
SOCRATIC_BURDEN_02,"The stars weave into intricate patterns against the night sky, as though they were communicating with you (; 2). If you pass, you comprehend the celestial meaning broadcast from above. Some of its contents may be useful to your investigation. Gain 1 Clue.
TALKING_IS_HARD_01,"From off the street, a news reporter from the local gazette picks you out to share your experience of the strange occurrences in town recently. This mythos event affects the investigator with the lowest ."
TALKING_IS_HARD_02,"“Give a compelling story and you’ll be the talk of the town,” the reporter insists (; 2). If you pass, you respond eloquently with bold words of communal support. The reporter thanks you for your comment and your positive impact on the community; become Focused. If you fail, you stumble over your words, unable to complete a coherent thought; become Stressed."
THAT'S_BETTER_01,An odd sensation washes over you. This mythos event affects the investigator in an outdoor space who has suffered the most Horror.
THAT'S_BETTER_02,"Something compels you to grab a nearby sharp rock and drive it into your forearm. You feel relieved as blood drains out of you, as if an itch you were previously unaware of has dissipated. Suffer 1 facedown Damage and discard 2 facedown Horror."
FOLLOW_THE_GREEN_FOOT_ROAD_01,Glowing emerald footsteps illuminate the ground ahead of you. This mythos event affects the investigator with the highest .
FOLLOW_THE_GREEN_FOOT_ROAD_02,"You are inexplicably drawn forward, marching perfectly in the grooves of the shimmering radiance. The footsteps lead you to a fresh corpse lying on the ground. Looking closer, you recognize it as a doppelgänger of yourself, its feet glistening the same hue of green yours are now. You hear your own voice from the lifeless body coax, “Join me.” Suffer 2 Horror ( negates). Then move 1 space toward the {0}."
AND_BEYOND_01,You are suddenly drawn to the painting over the desk. This mythos event affects the investigator in the study with the highest .
AND_BEYOND_02,"You remove it from the wall to find a liquid portal pulsating with colors you’ve never seen before. Reaching your arm through the glutinous void, your fingers stretch onward to infinity. The experience leaves you feeling feeble and hollow. Suffer 1 facedown Horror."
GIMME_01,"The belongings of other investigators begin to glow bright red, drawing you toward them. This mythos event affects the investigator with the highest  in a space with at least 1 other investigator."
GIMME_02,"The enchanted items call to you, sparking a deep desire from within (; 2).  If you fail, you cave to your possessive appetite, slyly swiping those precious items for yourself.; take 2 random Possessions from each other investigator in your space."
SWARM_01,"A swarm of insects amasses into a thick, whirring cloud. This mythos event affects the investigator in an outdoor space with the lowest ."
SWARM_02,"You feel your body lift off the ground, pulled by the sheer mass of bugs clinging to your skin. The buzzing of a thousand sets of wings vibrates your body. Suffer 1 Horror and 1 Damage ( negates)."
DRAGGED_UNDER_01,The dust and scattered belongings on the nightstand spark your curiosity. This mythos event affects the investigator in a bedroom with the highest .
DRAGGED_UNDER_02,"As you inspect the nightstand, long slithering tentacles unfurl from beneath the bed.  If you pass, you desperately wriggle yourself out of the writhing tentacles’ clutches, terrified they might return; suffer 1 facedown Horror. If you fail, you dig your nails into the splintering wood as you’re dragged further underneath the bed; suffer 2 facedown Damage and 1 Horror."
OTHER_MOTHER,"An older woman in a billowing sweater appears from out of nowhere by {0}’s side. {0} greets her warmly as a familiar kin, extending his arms. The woman shuffles forward uncomfortably to accept his embrace, as if her feet were suctioned to the ground. She puts her sweatered arms around him, revealing tentacles that she plants firmly along {0}’s spine.
OTHER_MOTHER_ALT,"An older woman in a billowing sweater appears from out of nowhere by {0}’s side. {0} greets her warmly as a familiar kin, extending her arms. The woman shuffles forward uncomfortably to accept her embrace, as if her feet were suctioned to the ground. She puts her sweatered arms around her, revealing tentacles that she plants firmly along {0}’s spine.
ASHES_ASHES_01,"Suddenly, the piano starts playing a familiar tune from the corner of the room, its keys pressed with no one controlling it. This mythos event affects the investigator in the ballroom with the highest ."
ASHES_ASHES_02,"You recognize the melody as the lullaby your mother sang to you as a child, but in a chilling minor key. A muffled cackling reverberates from inside the piano as the tune fades away. Suffer 3 Horror ( negates)."
NIGHTY_NIGHT_01,The weather suddenly calms for the first time in hours. This mythos event affects the investigator in an outdoor space with the lowest .
NIGHTY_NIGHT_02,"A calming wind makes you feel drowsy. As you drift off to sleep, you see a murky, stooped figure appear out of the corner of your vision. You suddenly fear that if you fall asleep, you will never wake up. Suffer 2 Horror ( negates). If you suffer 1 or more Horror, become Stressed."
RUMPLED_SNAKE_SKIN_01,"From behind a nearby rock you see the head of a coiled snake, stretched as if awaking from its slumber. As you look closer, you can see its muscles rippling from beneath human-like flesh. This mythos event affects the investigator in an outdoor space with the highest ."
RUMPLED_SNAKE_SKIN_02,"The snake locks its glowing green eyes upon yours and, with one swift movement, launches its body toward you (; 2)! If you pass, you dodge the incoming mass and escape before the snake reorients itself.
IDENTITY_CRISIS_01,A flash of blinding light sears your vision. This mythos event affects the investigator with the lowest .
IDENTITY_CRISIS_02,"You clench your eyelids in an attempt to make it stop. When you open them, you do not recognize your surroundings. You look down at unfamiliar hands attached to what can only be your body. Scouring your mind for any trace of memory, you find no recollection of your identity. Flip all Horror faceup and become Stressed."
CLOUD_APPRECIATION_01,"The clouds above you ripple and bulge as if a colossal, otherworldly being is slithering its way atop the clouded fabric. Each investigator in an outdoor space suffers 1 Horror and becomes Stressed."
DOUBLE_DREAM_01,"Waking up, you find yourself in a familiar bed, a cold sweat dripping from your forehead. A flood of relief fills you as you reason the eldritch monstrosities you experienced must have all been a dream. That is, until the walls begin to drip with thick slime. In a flash, you wake up once more with no memory of falling asleep. Each investigator suffers 2 facedown Horror faceup."
WHAT_SCRATCHES,"{0} stares down at his aching fingernails as blood oozes out from underneath them. Panning across a nearby wall, he sees deep gouges scratched into the wood paneling. As he glances back again, the clawed grooves have disappeared. {0} suffers 2 facedown Damage and 1 facedown Horror."
WHAT_SCRATCHES_ALT,"{0} stares down at her aching fingernails as blood oozes out from underneath them. Panning across a nearby wall, she sees deep gouges scratched into the wood paneling. As she glances back again, the clawed grooves have disappeared. {0} suffers 2 facedown Damage and 1 facedown Horror."
IT_WAS_YOU_ALL_ALONG_01,How useless your actions seem compared to the daunting task ahead of you.  This mythos event affects the investigator who has suffered the most Horror.
IT_WAS_YOU_ALL_ALONG_02,"A sudden vision envelops your mind. From an estranged perspective, you see yourself gasping for breath, rough hands gripped firmly around your throat. As you look to the assailant, you recognize them as none other than yourself. Suffer 3 Horror (–1 negates). If you suffer 1 or more Horror, become Stressed."
BEES,"A vase precariously perched atop a shelf begins to vibrate violently. {0} bumps it as he walks by, tipping over its contents. A hundred thousand bees pour out, densely packing the room as they attack everyone in sight. Each investigator in {0}'s room suffers 3 facedown Damage ( negates)."
BEES_ALT,"A vase precariously perched atop a shelf begins to vibrate violently. {0} bumps it as she walks by, tipping over its contents. A hundred thousand bees pour out, densely packing the room as they attack everyone in sight. Each investigator in {0}'s room suffers 3 facedown Damage ( negates)."
DOUBT_CONFIRMED_01,Your perseverance is waning. What hope do you have of succeeding? This mythos event affects each investigator.
DOUBT_CONFIRMED_02,"You are turning into the failure you have always feared you would become (; 2). If you pass, you push away the doubt for now but still feel its lurking presence waiting to strike again. If you fail, you realize you will never amount to anything. Nothing you do is ever good enough; flip all of your Horror faceup and become Stressed."
MMM_MMMM_MMPH_01,It is better to stick together. This mythos event affects the investigator with the lowest  in a space with at least one other investigator.
MMM_MMMM_MMPH_02,"The sudden sound of nearby scurrying startles one of your companions, and you instinctively reach your hand out to silence their screams. Their skin bubbles and contorts beneath your fingers.  Unable to speak, a terrified shriek gurgles in the back of their throat. You and each other investigator in your space suffer 3 facedown Horror."
YOU_CAN_DO_IT,Everything is beginning to come together. {0} and {1} each gain 1 Clue.
YOU_CAN_DO_IT_ALT,Everything is beginning to come together. {0} and {1} each gain 1 Clue.
THUMP_THUMP,"Your heartbeat slows, and you can feel your blood pump through your veins. No immediate effect."
MONOCHROMATIC_OMEN,"For a moment, everything goes dark. Light returns, but you are only able to view your surroundings in black and white. The only spark of color is a deep crimson that pulses from other people's chests, but looking down to your own, you see nothing but a pitch-black void. Each investigator within range of a Person token or another investigator suffers 3 facedown Horror ( negates). If you suffer 1 or more Horror, become Stressed."
SPIDERPERSON_01,"A cloud of flies buzzes about, and you are overtaken with an urge to devour them. This mythos event affects the investigator who has suffered the least Horror."
SPIDERPERSON_02,"Your vision fractures, and you feel your bones shifting within your body. Suddenly, two human arms sprout from each side of your ribcage, ripping through previously undisturbed flesh. Unleashing a pained howl, your voice transforms into a foreign chittering. You clench every muscle in your body to fight the metamorphosis in fear that you might lose touch with your humanity forever. Suffer 2 Damage and 3 Horror (+1 negates). Then become Stressed."
FIRE_AND_BONES_01,"The earth begins to open up, and a flaming skeleton crawls up from the depths. This mythos event affects the investigator with the lowest ."
 If you pass, splintered bone narrowly avoids your head and the being collapses into a pile as you escape unharmed; you may move 1 space.
PANIC_ATTACK_01,You cannot keep your fears bottled up forever. This mythos event affects the investigator who has the lowest Sanity.
PANIC_ATTACK_02,"A cold sweat coats your forehead as suddenly every nagging worry floods your mind (; 2). If you pass, you repeat a calming mantra to yourself and your anxiety passes. If you fail, you are unable to find the words to soothe yourself and your troubles send your heart pounding; become Stressed."

Images:
Monster, investigators, tiles, items, spells
MAD26, Scenario_BCD, Scenario_BCD2, Scenario_TD

Releasing Investigators, Images, Mythos, Tiles and Wraith in 2.0.  Tokens (#764), Items (#795) and Wraith Brawn (#803) can come later.


default ams adapter

I'm definitely open to doing things differently but historically our APIs we always use a semantically relevant root node, so if I fetch GET /cars/1 then my response body is something like { car: { id: 1 } }, or { cars: [ { id: 1 } ] } if I fetch GET /cars.
By default AMS will not include a root node, which I find odd given the (historical?) security concern in returning naked arrays in JSON.
Anyway, I think best practice may be transitioning to generic roots (e.g. data:). But either way I think specifying a preferred/sensible default in new apps is best.

@hiattp @janklimo This PR should be merged for sure, but I wonder if the long term we should replace AMS with something else entirely. See What's happening to AMS from their README for some background.
They themselves seem to suggest that jsonapi-rb itself may be a good alternative.


Add data on the number of decapod crustaceans killed for food

This PR is almost identical to https://github.com/owid/etl/pull/1481 . The same processing worked for these files (just the names and metadata is a bit different).
NOTE: I noticed that the dataset name of this and the farmed fish dataset were wrong. They corresponded to the dataset title of one of the origins. I have explicitly added dataset.title in the yaml files, but the title in grapher is still wrong. I'll look into this.

Good! I only added a couple of comments


Sign-up & Sign-in forms allow user enumeration attack

By sending a valid username with an incorrect password, it's possible to determine if a user exists in the app. This is possible on the sign-up form and on the sign-in page.
To reproduce:

On the sign-in page submit the form with an email of a user that already exists but a wrong password.
On the sign-up page submit the form with en email of a user that already exists.

https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/03-Identity_Management_Testing/04-Testing_for_Account_Enumeration_and_Guessable_User_Account

Good flag, I was thinking about this but didn't get around to it. Might be a good first issue for folks to contribute 😄


Possible issue in MP4MuxerTrack

Using MP4MuxerTrack.addFrame(Packet pkt) to record the video portion of my AAC and H264 media file is yielding odd playback were the video appears to melt / skew near the bottom third of the display. I used the elcard analyser to see what the file looked like and as seen in the screencaps attached, the file written by jcodec has all the I frames grouped in one section at the beginning and never again in the file and P frames are interspersed. In a "standard" mp4 that I had to check against, the I and P frames are not grouped like this.

I've looked throughout the code and I see no sorting or grouping of frames that's obvious, so does anyone have an idea as to why this happens?

Hi, off the bat I can't see why this could be happening. I think it would help if you could extract a portion of your code into an isolated test-case that demonstrates a problem. Then I could take a look at it.

Thanks for the quick reply @svitvitskiy I'll see what I can do to isolate something that's testable outside my project.

Not certain if its related to a query I sent to the project email earlier today, but here's that:
I'd like to know what entryNo is meant to represent in the below snippet of code; its always 1 so it's meaning eludes me.
    @Override
    public void addFrame(Packet pkt) throws IOException {
        addFrameInternal(pkt, 1);
        processTimecode(pkt);
    }

    public void addFrameInternal(Packet pkt, int entryNo) throws IOException {

Sure, this goes back to QuickTime that supported combining multiple media types in the same track. I suppose QT player somehow was able to handle this correctly. Anyway, the first and the only sample entry in the track has number 1, other sample entries will have higher numbers and will correspond to a different media type. Think combining multiple h264 sequences encoded with different settings (different sps/pps) into one track, that was the purpose of entry numbers.

@svitvitskiy I finally got my test app finished sorry for the delay. All the source and the test input dat file are all there, if you want to take a look https://github.com/mondain/h264app/tree/jcodec My latest test shows that the while the I Slices are no longer grouped (so that's working), but my output is being cut short as far as I can tell. The input data is 23 seconds long, but VLC can only play 9 seconds before it freezes. I am not sure what I'm doing wrong and I appreciate your help.

I updated my test project / readme; I made a mediatags2.dat file which exhibits the I frame grouping.

@svitvitskiy Any insights? Should I try this with HEAD?


Fix control plane readiness

The control plane should be set to ready only after successfully loading the model.

Fixed via #4812.