fix: loop through calendarEvents' real keys instead of indexes

Hi there!
I noticed a bug in mergeEvents(), so I decided to open a PR to fix it :slightly_smiling_face:
When one of your calendar is invalid for some reasons (in my case, my URL was returning an HTML file instead of an ICS file), the parsing from the ical.js lib will throw, resulting in the calendar not being added to the list of valid calendars.
Consider your errored calendar had 3 as its uid, Object.keys(this.calendarEvents) will contain ['0', '1', '2', '4'] after having removed it. If you use in instead of of to loop through this array, i will have the value 3 when it should be 4.
Thanks for your work on this module!

Keep in mind that I didn't investigate how the module works, so my PR might not be the correct way to fix this bug :wink:

@closingin sorry for letting this PR hang around for so long.
I had a play with the for...of and for...in in the MDN, and for this array with gaps in the keys this is the right way to do it.

Oh wow. I did not expect a reply anymore, but I'm glad to hear from you!
Thanks for coming back to me, and I hope everything's well on your side!

@closingin Sorry, I became maintainer ecause I like and use it and didn't want it to go stale. But on the other hand there is family and work. So if you want to help, feel free!


Error: cannot find "study" in the seurat object

Hi, thanks for developing this nice tool
I encountered an error when I try to run SPIDER on my own seurat data, and this is my code

SPIDER_predict (seurat_data = sce,
tissue = 'hela',
disease = 'cell_line',
SPIDER_model_file_path = paste0(prefix, '/SPIDER_python/SPIDER_weight/'),
use_cell_type = 'SingleR',
protein = 'All',
use_pretrain = 'T', #Using pretrained SPIDER
save_path = paste0(prefix, '/SPIDER_results/'),
use_python_path = '/work/home/liucan666/software/mamba/mambaforge/envs/SPIDER/bin/python3',
scarches_path = paste0(prefix, '/scarches-0.4.0/'))

and it reported an error: Cannot find 'study' in this Seurat object
I then checked the example data "RNA", and found the column of "study" in the seurat metadata: "healthy pancreas"

My seurat object indeed had no "study" metadata, but I did not find any relevant instructions in the tutorial, so could you please tell me what the "study" column is designed for and how I can set this metadata for my own seurat object, or just set a study name as I like?
Thanks in advance

Thank you for using SPIDER!
On our GitHub page, we wrote about adding the "study" column in our Step 3:
"For other commonly used parameters here:
"seurat_data": The Seurat object of your transcriptomic data after prepocessing. The Seurat object should include Seurat log normalization, clustering and umap reductions. Your meta.data should include a column named "study" which specifies the batch IDs for all cells (this column will be passed to scArches-SCANVI's condition_key parameter). You can look at the example transcriptomic data we provided (using data("sample_query") in R)."
So the "study" column contains the batch IDs for all cells. These batch IDs are used to distinguish cells from different batches (i.e., cells from different experiments/patients), you can use any name you like to represent each batch. e.g., suppose your cells are collected from three separate experiments, it means that you have three different batches of cells, and you can represent the three batches using names of "batch_1", "batch_2", "batch_3" (or any other names you like, as long as one name represents one batch), and in your meta.data, the "study" column is just used to show what batch each cell belongs to.
In our demo data, we only have one batch, i.e., all cells in our demo data come from just one experiment. We use the name "healthy pancreas" to represent the one batch (You surely can use another name you like).
According to the code you provided, you can add the "study" column to your RNA data by:
sce[["study"]] = ...

The "..." contain the batch names that each cell belongs to.

@Ruoqiao2020  Hi, thanks for this early reply!
Sorry for omitting the instruction in the tutorial. Now I got the meaning of "study" column, but would this batch label be passed to the scArches to remove the batch effect? Since I have done this before in my seurat object, I would rather keep this batch effect removal as the same.
By the way, when I run SPIDER with my own seurat object, the output seemed strange that only 1000 features of my seurat object were retained but obviously these were not all features, even no variable features existed. I am sure that I have done all QC and basic data preprocessing steps, including filtering, normalization, scale, find HVGs, clustering. I wonder what is wrong.

Also, it seems slow if SPIDER need to process 74253 cells (~60 hours, it seems linearly scaling with 1200 cells of example data), is there any way to accelerate the computing process? I did not find any parallel options in the function SPIDER_predict. However, I notice the GPU and TPU option in the output, how can I use the GPU?

Any advice or discussion would be greatly appreciated!

About the "study" column: You should still specify the batch IDs in the "study" column. This doesn't affect the original batch effect removal slot in your Seurat data. The results generated by SPIDER will be saved as separate files, not changing your original RNA data file. If you want to use your original batch effect removal slot for data visualization in the future, you can always go back to your original RNA data.
The other problems of yours are answered here: https://github.com/Bin-Chen-Lab/spider/issues/3

@Ruoqiao2020
Thanks for the reply

About the "study" column: You should still specify the batch IDs in the "study" column. This doesn't affect the original batch effect removal slot in your Seurat data. The final prediction results generated by SPIDER will be saved as separate files, not changing your original RNA data file. If you want to use your original batch effect removal slot for data visualization in the future, you can always go back to your original RNA data file.

I understand that the slot of batch effect removal would not be changed and visualization is OK. But what I worried about is that whether the predicting process of SPIDER utilize the embeddings of batch effect removal, e.g., the Harmony embedding. If so, I think it might be better to use the same removal embedding as in the seurat object, rather than another calculation by scArches. And if not, for example, it only utilized the PCA embedding without batch effect removal (with my experience, many tutorials of scRNA-seq analysis tools ignored this..., and use the pca embeddings directly), then the prediction outcome would be not convincing, especially when data integration of scRNA-seq is becomming more and more common.
So, I would like to ask whether the embedding of batch effect removal
Thanks in advance

For SPIDER's prediction, SPIDER will automatically use the batch effect removal in scArches-SCANVI, no matter if you have already done batch effect removal yourself or not. i.e., SPIDER will not use the Harmony embedding done by yourself, it automatically uses the scArches-SCANVI embedding (the scArches-SCANVI embedding itself is after batch effect removal).
More details about it is described in our paper.

Got it. Thanks for your patient reply


Optional record priority in DNSLink TXT records

Extracted from https://github.com/dnslink-std/dnslink-website/issues/33, read it first for the full context

Current state
Currently, when multiple DNSLink records exist, either for the same protocol, or multiple protocols, DNSLink spec suggest sorting them in lexicographic order for deterministic (cacheable) response, and nothing more. Client gets this list of records, and has to make a decision what to use, and in what order.
Do we need priority field?
My understanding is that having priority does not matter in content-addressed contexts like IPFS,
but allows domain owner to fine-tune multi-protocol fallback for protocols that are location-addressed and can have more than one mirror.
@sjoerdvangroning introduced me to https://github.com/pdsinterop/simply-domain spec draft which overlaps with DNSLink in many cases, but is more  http:// focused, and due to that  includes priority field:
<proxy> <priority> <url>
www.resource.com 10 https://example.com/file.jpg
www.resource.com 15 https://mirror.example.org/file.jpg
www.resource.com 20 ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

Lowest priority first
When there are multiple TXT-records with the same destination,
the TXT-record with the lowest priority should be chosen.
The intention is you have a fallback website on a different protocol/location.

We want DNSLink to be useful outside IPFS context. It was created to be a generic protocol.
At the same time, we don't want to complicate the spec and implementations if the value added is not there.
Open questions:

do we really need the priority field?

if so, how to represent it in backward-compatible way (so it is optional, not present by default, and hen present can be ignored by legacy clients)

@sjoerdvangroning do you have more fleshed out use cases / user flows we could  use for discussing and designing this?

The specific usage of keys in dnslink=/<namespace>/<key> is open to the user specification of <namespace>. A fictional specification of ph could easily say: dnslink=/ph/10/<ref> shall be treated higher than dnslink=/ph/100/<ref>; adding priority to the declaration scheme. It could also be at the end like dnslink/ph/<ref> [10] Where the parsing of the content is concerned.
In the use-cases of dnslink that I have seen, it has not been necessary/useful and as such would have been a unnecessary complexity. That being said, outside of the specification the standard libraries could offer support for a priority scheme in their API?
await resolve('dnslink.dev', { usePriority: true })

that uses/respects one of the priority schemes, in case an implementation depends on it?!

Technically and for backwards compatibility, I would suggest, putting the priority at the end.
Already rewritten Simply Domain spec to reflect that. I do think that there should be some people cheering before starting to implement a feature like this in DNSlink. Only do it when enough people see advantages.
Having sorting based on lexographic order feels kind of strange (still better than none). Do you rehash to get the desired content first? Or does http come before ipfs?
Redundancy
Having redundany within a protocol and between protocols is a nice feature I think and that could be accomplished by having a priority. Useful for content, maybe also for other protocols.
It could avoid blockades/firewalls being setup. Default to the optimal protocol and a backup through a completely different protocol.
Backup
When you know an original resource is overloaded (but the links are out already), you could put the data on an decentralized protocol, maybe webtorrent, hypercore, ipfs, torrent and benefit from the advantages that it can share the load of data. As in, you can always find it on the way-back machine, but might want to put it on ipfs for performance reasons.

I think that is a solid idea. When we can do it in such a way not to break existing use cases, that will be great.
Maybe we could also include an additional remark that when you use a / or path, you should see it as a default priority of 100. That way you could even balance ipfs first and use https as a fallback or vice-versa
We are working with solid, which is very young and noticed that even ontologies move/dissapear from their location. Having it fixed on ipns or even a fixed definition on ipfs could be an awesome backup when the original content goes away.


Fix 404 error when retrieving the issues a merge_request will close

Introduced by #271.

Thank you ❤

And thank you for merging ❤

Is there a new release planned?

@revolter I've just released a new version and pushed to Rubygems https://github.com/NARKOZ/gitlab/releases/tag/v4.18.0


⚠ Samsung has degraded performance

In 2263f2e, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2461 ms

Resolved: Samsung performance has improved in 8105c15.


MQTT5 lib

[ ] Search for another library supporting MQTT5
[ ] Or upgrade tortoise

NOTES
Here are some libraries spotted that we can use to replace the tortoise library

GitHub - emqx/emqtt: Erlang MQTT v5.0 Client github.com(updated 2 weeks ago)
GitHub - brianmay/exmqtt: Elixir wrapper for emqx/emqtt github.com(updated last year)
GitHub - brianbinbin/exmqtt: Elixir MQTT v5.0 Client github.co(updated 3years ago)
GitHub - ryanwinchester/exmqtt: Elixir wrapper for emqx/emqtt github.com(updated a month ago)

https://github.com/gausby/tortoise/tree/mqtt-5

Last updated 2years ago

But has numerous bugs, particularly when mqtt server goes down (pub requests can hang - hanging my application) or if trying to dynamically subscribe to topics at run-time. These errors aren’t always easy to reproduce on demand, and at one stage I was told that there were fundamental design issues

https://www.emqx.com/en/blog/mqtt-for-elixir#mqtt-brokers
https://github.com/emqx/emqtt


bug: Unable to view videos in full screen in the app.100xdevs and no video player can be seen from week 14 . The issue seems to be related to video player functionality, causing problems with the display in full screen mode and video clarity issues even in best resolution.

Describe the bug
Unable to view videos in full screen in the app.100xdevs and no video player can be seen from week 14 . The issue seems to be related to video player functionality, causing problems with the display in full screen mode and video clarity issues even in best resolution.
To Reproduce
Steps to reproduce the behavior:

Open the app.
Play a video.
Tap on the full-screen icon to expand the video.
The video fails to load or properly display in full screen.

Expected behavior
The video should play in full-screen mode without issues, showing the entire video content and show the video in best quality as earlier.
Screenshots or GIFs

Info (please complete the following information):

Browser: (if relevant, e.g., Chrome or Safari)
Version: (App version or browser version)

Additional context
The issue may be related to a bug in the video player system. This problem has been noted in the Week 13 .

The screenshot you have attached above is at 1080p (or 720p)? @anpc21
Can't view the video as I am not from the webdev cohort

Should be really simple just a few tailwind classes in the videoplayer2 componentn

Should be really simple just a few tailwind classes in the videoplayer2 componentn

I don't think it's the VideoPlayer2 component. Starting from week 13, the VideoPlayer component seems to have been replaced or modified, and I believe it's now a different component. Could you please confirm? The interface of the video player before week 13 looks completely different from the one used after that. I think it's AppxVideoPlayer.

@devsargam  a video from appx to test video player??

Oh yeah you are right @SahilLamba0008. Also, I think the videoPlayer2 component is also rendering little bad video playback eperience

This is fixed


Pull request for the complete contact us page

Contact us page is working; working on making the contact information forwarded to a specific email.

Can you make pull request into the bugfix-login branch?


Create User Registration Functionality

Description
As a user, I want to save my username, email, and bio description

Authentication and authorization is out of the scope of this story and we don’t need to implement them

Tasks

[x] Create User model
[x] Create function inside User model to store data

Closed with 44ff0a1408dd71d16e80392b245d5280582b1afc


net5 - System.MissingMethodException

System.MissingMethodException: Method not found: 'Microsoft.EntityFrameworkCore.Metadata.INavigation Microsoft.EntityFrameworkCore.ChangeTracking.NavigationEntry.get_Metadata()'.
at Diwink.Extensions.EntityFrameworkCore.DbContextExtensions.insertUpdateOrDeleteGraph[T](DbContext context, T newEntity, T existingEntity, String aggregateType)
at Diwink.Extensions.EntityFrameworkCore.DbContextExtensions.InsertUpdateOrDeleteGraph[T](DbContext context, T newEntity, T existingEntity)

Thank you
I've realized that it will not work on EF core 5.
I'll try to arrange a time to upgrade it to EF core 5.
Thanks

Same issue here, anything planned for EF core 5?

You can replace navigationEntry.Metadata.IsCollection() at line 59 with navigationEntry.Metadata.IsCollection and it will work on EF core(5.0.8 in my case)

I've updated the nuget package to just support the 3.1.* EF core version.
I'll do my best to do another one that supports the newer EF core versions.


SSCS-6926-send MYA link instead of TYA link in email for Is New Digital Case/Ready to List = Yes

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/SSCS-6926
relates to https://tools.hmcts.net/jira/browse/SSCS-7139
Change description
SSCS-6926,SSCS-7139 change to send MYA link instead of TYA link for Is New Digital Case/Ready to List = Yes
The default selection for TRACK_YOUR_APPEAL_LINK is the TYA link. The link will be replaced to MYA only for "Is New Digital Case/ Ready to List = Yes"
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ x] No

Covered by this PR https://github.com/hmcts/sscs-track-your-appeal-notifications/pull/819 so closing this one.


Tweaks

Description

Test Instructions

Ticket Links

Readiness Checklist

[x] I have run make format to format the changes
[x] I have compiled the firmware and the changes have no warnings
[x] I have compiled the emulator and the changes have no warnings
[x] I have run make cppcheck and checked that cppcheck_result.txt has no warnings for the changes
[x] I have added doxygen comments to any code used by more than one Swadge mode. This includes /*! \file comments with Design Philosophy, Usage, and Example sections for new headers.
[x] I have run make docs and checked that doxy_warnings.txt has no warnings for the new code

@Brycey92 the CI firmware build is failing. Can you confirm by cleaning and building on your machine?

[x] I have compiled the firmware and the changes have no warnings

Please don't check off things if you haven't done them. The firmware build was broken, so now I have trust issues :(


Bug: wrangler d1 execute returns D1_ERROR

Which Cloudflare product(s) does this pertain to?
D1, Wrangler
What version of Wrangler are you using?
2.19.0
What operating system are you using?
Mac
Describe the Bug
Hello, when I run wrangler d1 execute database --local --file=./schema.sql I get an error:
🌀 Mapping SQL input into an array of statements
🌀 Loading DB at .wrangler/state/d1/DB.sqlite3
[NPXI] better-sqlite3 not available locally. Attempting to use npx to install temporarily.
[NPXI] Installing... (npx --prefer-offline -y -p<EMAIL_ADDRESS>[NPXI] Installed into /Users/user/.npm/_npx/7d0049dadb8d11c4/node_modules.
[NPXI] To skip this step in future, run: npm install --save-dev<EMAIL_ADDRESS>
✘ [ERROR] D1_ERROR

If you think this is a bug then please create an issue at https://github.com/cloudflare/workers-sdk/issues/new/choose

There is no additional information. Do you have any idea what the problem could be?

👋🏻 Greetings,
I appreciate the report. This is the repo and issues for Wrangler (Cloudflare Worker CLI) Pages, & Other SDK tooling, this seems D1 specific.
Feel free to check out the Cloudflare Discord where there is a channel for D1 as well: https://discord.com/invite/cloudflaredev
To report issues related to D1 specifically:
https://community.cloudflare.com/c/developers/d1/85/l/latest
Cc: @nevikashah @rozenmd

Hey @penguingl, are you able to share the schema to help debug?

Hello, I figured out what the problem was, I used double quotes instead of single quotes
DROP TABLE IF EXISTS Users;
CREATE TABLE Users (UserID INT, Username TEXT, PRIMARY KEY (`UserID`));
INSERT INTO Users (UserID, Username) VALUES (1, "test_user");

The error occurs only if you use the --local option if I'm not using a local database then command is executed without errors.
Also this error occurs when I use a comment in the schema file after queries
DROP TABLE IF EXISTS Users;
CREATE TABLE Users (UserID INT, Username TEXT, PRIMARY KEY (`UserID`));
INSERT INTO Users (UserID, Username) VALUES (1, 'test_user');

-- some comment

The error also occurs only when using the --local option.
I'm not very good at SQL, but if it works with a remote database, should it also work with a local database? Or it can give more detailed information in the error instead of [ERROR] D1_ERROR.

Wrangler now outputs the full error message:
 NO_D1_WARNING=true && npx wrangler d1 execute d1_init --file ./migrations/0000_test.sql

🌀 Mapping SQL input into an array of statements
🌀 Parsing 1 statements
🌀 Executing on d1_init (fe780a68-xxxx-xxxx-xxxx-406cf5b72a30):

✘ [ERROR] A request to the Cloudflare API (/accounts/xxxxx/d1/database/fe780a68-xxxx-xxxx-xxxx-406cf5b72a30/query) failed.

  ERROR 9009: SQL prepare error: no such table: doesnt_exist [code: 7500]

  If you think this is a bug, please open an issue at:
  https://github.com/cloudflare/workers-sdk/issues/new/choose

Consider upgrading to either wrangler@beta or<EMAIL_ADDRESS>

In my case, It started work after I removed all comments.
DROP TABLE IF EXISTS Users;
CREATE TABLE IF NOT EXISTS Users (
    UserId INTEGER PRIMARY KEY AUTOINCREMENT,
    UserName TEXT,
    AuthToken TEXT
);

DROP TABLE IF EXISTS GHApps;
CREATE TABLE IF NOT EXISTS GHApps(
    InstallId INTEGER PRIMARY KEY AUTOINCREMENT,
    GHInstallId INTEGER,
    GHInstallCode TEXT,
    UserId INTEGER,
    FOREIGN KEY (UserId) REFERENCES Users(UserId)
);


investigate nvidia ARM support

This looks like a duplicate of #45, except that I do have an Nvidia Jetson TX2 lying around that I can contribute, if it'll still talk to me.


Memory leak when using useBlockNumber({watch: true}) -- creates a new websocket subscription on every block until it runs out of memory

Describe the bug
Consider a simple hook like this which consumes the block number for invalidation:
export const useAccountData = () => {
  const queryClient = useQueryClient()
  const { address } = useAccount()
  const { data: blockNumber } = useBlockNumber({ chainId: activeChains.l2.id, watch: true })
  const {
    data: accountData,
    isLoading,
    queryKey,
  } = useReadContract({
    address: env.NEXT_PUBLIC_CONTRACT as `0x${string}`,
    abi: fooAbi,
    functionName: "fooFunction",
  })

  useEffect(() => {
    void queryClient.invalidateQueries({ queryKey })
  }, [blockNumber])

  return { accountData, isLoading }
}

When this is used just one time in the app and you look at the websocket traffic, on every single block event it's creating a new subscription and never closes the old ones. If you have 2 components consuming the hook, it will start 2 subscriptions with every block, etc for each consumer.
In the following screenshot notice it first gets 3 subscription responses, then starts a new one, then gets 4, etc. I ensured that hook above was only called/active one time, and setting watch:false resulted in no websocket activity.

The result is you will run out of memory and the RPC will rate limit the client because eventually it has too many subscriptions.
I tested this with QuickNode and the following:
"@web3modal/wagmi": "^4.0.11",

I tried the same pattern but in a context and it's the same issue. The problem seems to be wagmi just keeps making new subscriptions.
If I instead use viem to get the block number, it works fine and only starts one subscription, even if I have several parts of the app consuming this hook for the block number:
export const useOnL2Block = () => {
  const [blockNumber, setBlockNumber] = useState(BigInt(0))

  const subscribe = useCallback(() => {
    return watchBlockNumber(config.getClient(), {
      onBlockNumber: (blockNumber) => {
        setBlockNumber(blockNumber)
      },
    })
  }, [])

  useEffect(() => {
    const unsubscribe = subscribe()

    return () => unsubscribe()
  }, [subscribe])

  return { blockNumber }
}

export const useAccountData = () => {
  const queryClient = useQueryClient()
  const { address } = useAccount()

  const { blockNumber } = useOnL2Block()

  // const { data: blockNumber } = useBlockNumber({ chainId: activeChains.l2.id, watch: watch })
  const {
    data: accountData,
    isLoading,
    queryKey,
  } = useReadContract({
    address: env.NEXT_PUBLIC_CONTRACT as `0x${string}`,
    abi: fooAbi,
    functionName: "fooFunction",
  })

  useEffect(() => {
    void queryClient.invalidateQueries({ queryKey })
  }, [blockNumber])

  return { accountData, isLoading }
}

As another side note, what's the correct pattern to ensure there's only one bock subscription in the app so i'm not making unnecessary rpc requests?
Link to Minimal Reproducible Example
No response
Steps To Reproduce
No response
Wagmi Version
2.6.5
Viem Version
2.7.16
TypeScript Version
5.3.3
Check existing issues

[X] I checked there isn't already an issue for the bug I encountered.

Anything else?
No response

I'll take

So internally, useBlockNumber uses useWatchBlockNumber which uses WAGMI's watchBlockNumber in a useEffect hook.
There is a note // TODO: wrap in viem's observe to avoid duplicate invocations. which could be relevant here. Inside this function the action viem_watchBlockNumber is being dispatched to viem.
I need to investigate a little bit further and test, but I believe that this might be fixed by setting enabled to be false in the value passed into useWatchBlockNumber inside useBlockNumber. The hook could also auto close its own web socket but I can see how this could cause other complications

I noticed that one of the test suites/dev sites was using the different function getBlockNumber which might be why this was not noticed in testing

I work on a branch with a fix

Is your View instance set to use polling by any chance @acoutts ?
Because Viem's watchBlockNumber is configured to use observer correctly, but the connection version with WebSocket is not. See https://github.com/wevm/viem/blob/main/src/actions/public/watchBlockNumber.ts
My best guess right now is that this is actually a Viem issue

I'm only using websockets in this case, no polling.

You definitely don't see the a WebSocket being created using rpc eth_blockNumber?
It's strange to me that Viem would not be creating additional sockets the way it's configured right now

No i'm not doing anything out of the ordinary. it's very easy to reproduce as i said in my original post

I tried this and also getting the same results. Trying to dig deeper now and so far couldn't pinpoint the cause, but will continue a bit more

So I was tinkering with this a bit, and I did manage to make the issue go away by patching useWatchBlockNumber, basically I think what helped the most was stringifying an object passed to useEffect hook (exhaustive dependency), otherwise this effect keeps re-rendering. But test is failing with my change and it's late here, i'll try to continue tomorrow

Basically the react's Object.is that is used to compare useEffect's previous values with new ones sees this object as not equal to the previous and re-runs useEffect again

@acoutts I created a PR with a potential fix, not super happy with amount of code I had to add, as i'm not familiar with codebase just yet, but if you could check out the branch and test that would be great

edit playgrounds/next/src/wagmi.ts to add wss transport. ie.

[sepolia.id]: webSocket('wss://eth-sepolia.api.onfinality.io/public-ws'),

add to playgrounds/next/src/app/page.tsx

const { data: blockNumber } = useBlockNumber({
    chainId: sepolia.id,
    watch: true,
  })

  console.log('blockNumber', blockNumber)

Launch with pnpm dev:next and check the network tab

I'll have a look

// TODO: wrap in viem's observe to avoid duplicate invocations.

Oh I didn't notice this comment, will check what is this about, perhaps there's a cleaner way

@Yuripetusko @acoutts I just tested this branch with instructions above and I can confirm there is only 1 web socket being created.
I don't see any easier way to handle this. Only kind of strange this is that when I print the result inside of use effect, it will print a function printed first, then undefined.
Given
  useEffect(() => {
    console.log('inside use effect')
    console.log(subscription.current)
    return () => {
      subscription.current?.()
      subscription.current = undefined
    }
  }, [])

I see this printed in the network console:

Are there any obvious edge cases we should be aware of here? Testing what happens when there are 2 subscriptions to useWatchBlockNumber seems like a good test case.

// TODO: wrap in viem's observe to avoid duplicate invocations.

Oh I didn't notice this comment, will check what is this about, perhaps there's a cleaner way

Yes, in theory Viem is supposed to manage all of this internally, if I understand correctly

For reference @Yuripetusko

@Yuripetusko @acoutts I just tested this branch with instructions above and I can confirm there is only 1 web socket being created.
I don't see any easier way to handle this. Only kind of strange this is that when I print the result inside of use effect, it will print a function printed first, then undefined. Given
  useEffect(() => {
    console.log('inside use effect')
    console.log(subscription.current)
    return () => {
      subscription.current?.()
      subscription.current = undefined
    }
  }, [])

I see this printed in the network console:

Are there any obvious edge cases we should be aware of here? Testing what happens when there are 2 subscriptions to useWatchBlockNumber seems like a good test case.

@Yuripetusko @acoutts I just tested this branch with instructions above and I can confirm there is only 1 web socket being created.
I don't see any easier way to handle this. Only kind of strange this is that when I print the result inside of use effect, it will print a function printed first, then undefined. Given
  useEffect(() => {
    console.log('inside use effect')
    console.log(subscription.current)
    return () => {
      subscription.current?.()
      subscription.current = undefined
    }
  }, [])

I see this printed in the network console:

Are there any obvious edge cases we should be aware of here? Testing what happens when there are 2 subscriptions to useWatchBlockNumber seems like a good test case.

Whoops, not sure how this console.log got there. WIll check
Let's move to PR to discuss this, yes there's one test case to test. I'll describe there in a sec

@Yuripetusko @acoutts I just tested this branch with instructions above and I can confirm there is only 1 web socket being created.
I don't see any easier way to handle this. Only kind of strange this is that when I print the result inside of use effect, it will print a function printed first, then undefined. Given
  useEffect(() => {
    console.log('inside use effect')
    console.log(subscription.current)
    return () => {
      subscription.current?.()
      subscription.current = undefined
    }
  }, [])

I see this printed in the network console:

Are there any obvious edge cases we should be aware of here? Testing what happens when there are 2 subscriptions to useWatchBlockNumber seems like a good test case.

I have no idea how you got this console.log, I removed it when I commited the code lol. Unless you checked out the old commit? 🤔  I don't see other explanation hmm

Ah it's your code. Funny because I had exact same console.log message lol. I think the reason for this is that in dev mode react runs useEffect twice to help devs catch issues early (which I think is a stupid idea)

I just tried wrapping with observe in Viem, I'm not sure best practices for testing but I pushed this fix for reference
https://github.com/wevm/viem/pull/1929

Nice! i'll try to update viem once it's released and re-test with that version

Fixed via Viem.

I think the issue is still there, but need to create a unit test that checks for number of subscriptions when using this hook. Will try to do towards the end of the week if I have time, but adding this here just for the reference or in case someone else will try to write a test first


Other languages compatibility?

I want to know what is need to adapt it to another language? (e.g Brazilian Portuguese)
Or is it possible to integrate with Polyglot which already implement a lot of NLTK compatible languages?

Definitely, you can have a look in the papers mentioned in the Readme.MD for the specifics, which you would need to adapt the extraction and scoring process to another language. Likewise, this could be integrated with another library, such as Polyglot.

Hey @fhamborg I took a look at the papers. Replacing the original CoreNLP with another one, trained strictly for another language is enough? Since the classifiers use the NER POS tag which in theory should remain the same for another language. Or we would need to remake the datasets, and other stuff to achieve the language recognition?

I'm not familiar with the characteristics of neither the Brazilian language nor Brazilian news articles, but generally I'd recommend to change the models / language used in Stanford to Brazilian, first, and then see if further adaptions are required. These adaptions may include changes necessary to the extraction methods for the questions, and to the scoring methods.


Update Boulder.java

I think position.y += should not multiply delta twice.

I believe it's correct how it is now. The change in the velocity is the delta * acceleration, and the change in the position is the delta * velocity.


'unable to open database file' when running the sqlite/todos example

When following the exact steps given in the sqlite todos example, I get several of these errors when trying to execute cargo run -- add "todo description":
error: error returned from database: unable to open database file
  --> examples/sqlite/todos/src/main.rs:80:16
   |
80 |       let recs = sqlx::query!(

At the time of the execution of the macro query::expand_from_db, a std::env::current_dir(), that I inserted for debugging, returns the root directory of the sqlx repository, and not the sqlx/examples/sqlite/todos directory, which is where I'm running the example from. The macro attempts to open the sqlite database relative to the repository root, and fails.
This is using the 0.5.5 release

Hi, have you figured out how to run the todo example?

Hi, as mentioned in this comment, you can make it work by using an absolute DB URL:
export DATABASE_URL="sqlite:/YOUR ABSOLUTE PATH/sqlx/examples/sqlite/todos/todos.db"

Relative URLs should work, I'm not really sure why they don't sometimes.

I ran into this problem too, and it was a similar situation where the crate that used sqlx was not the root dir.  I was able to work around it, and still use a relative URL, by creating a symlink to the sqlite DB in the root dir.
E.g.:

fancy-cargo-workspace/

Cargo.toml
sqlite.db -> crate-that-uses-sqlx/sqlite.db (this is a symlink)
crate-that-uses-sqlx/

sqlite.db (this is the ordinary DB used for migrations and compilation)
.env
Cargo.toml
build.rs
src/
migrations/

Superseded by #3099

Create .env file in workspace root
DATABASE_URL=sqlite:C:/folder/example/example.db

it works for me


[Feature Request] Close Popper when you hover over it with mouse

Right now there is no way to tell Popper to close when you hover over it with mouse. Sometimes it is useful when there are buttons behind popper and you can't click on them because popper is in front of them.
This is an issue only when you set the mode to hover=true
It would be nice to have an option to hide it on hover like this
<Popper :hover="true" :closeOnHover="true">
    ....
</Popper>

You can do <Popper hover :interactive="false" content="This Popper is not interactive" />
Would that solve your issue?

:interactive="false"

Thanks, this did the trick for me!


fix(dart_frog_cli): running on message not showing https when providing a security context

Description
When running a Dart Frog server that uses a securityContext the CLI outputs an erroneous message.
Upon secure serving the output should be "Running on https://..." instead of "Running on "http://...".
Steps To Reproduce

Create a Dart Frog project:

dart_frog create sample

Add a secure entry point (sample/main.dart):

import 'dart:io';

import 'package:dart_frog/dart_frog.dart';

Future<HttpServer> run(Handler handler, InternetAddress ip, int port) {
  final chain =
      Platform.script.resolve('certificates/server_chain.pem').toFilePath();
  final key =
      Platform.script.resolve('certificates/server_key.pem').toFilePath();

  final securityContext = SecurityContext()
    ..useCertificateChain(chain)
    ..usePrivateKey(key, password: 'dartdart');

  return serve(handler, ip, port, securityContext: securityContext);
}

Download the server_chain.pem and server_key.pem from this Dart tutorial and save on sample/.dart_frog/certificates
Start the server through the CLI (from sample/):

dart_frog dev --port=8070

Observe that the CLI outputs "http://localhost/8070", opening such shows a ERR_EMPTY_RESPONSE.
Observe that accessing "https://localhost:8070" does respond.

Expected Behavior
The CLI message should output something as: "Running on https:localhost:8080" when the server is using a custom entry point that provides a valid securityContext.

Hi @alestiago  , I ran thorugh a lot of files and figured out that we just have to know whether this is a secure or not . The final thing that we have to change is dart_frog_cli . But How can we get to that the user has provided the secuirtyContext and it is good and working . I have files like daemon_server.dart  , i am just trying to look how the port and ip address from main are passing to the server . May you please help where to start with this.

(cc: @renancaraujo -- I think you're working on a refactor that might be touching these files)

Good

@renancaraujo  may please guide me in this particular issue ? Which files i have to tickle with .

@dhruvpatidar359 Writing a detailed guide to this would be as long as tackling the solution, I can summarize:

The condition to show the correct protocol in the message should come from the existence of a secure context on the running server, this can be defined in the hook of the devserver brick.
This condition has to be communicated back to the CLI somehow.

This is not a beginner-friendly issue, BTW.


[DH-988] Improve search filter validation.

This adds validation to search filters using DRF serializers. I needed to add three serializers:
DateTimeyField - which handles date sent in different formats.
StringUUIDField - we can't use UUID in the ES queries, so this only ensures that given string can be parsed as UUID and returns a string.
SingleOrListField - this extends ListField serializer. If data input is a string, it creates a list of one element. This is to handle case when filter can be either single value or an array.
It changes behaviour in case of date validation, as it now returns which field has a problem, not an error in general.

Codecov Report

Merging #577 into develop will increase coverage by 0.03%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #577      +/-   ##
===========================================
+ Coverage     96.4%   96.44%   +0.03%
===========================================
  Files          123      123
  Lines         3672     3713      +41
  Branches       322      326       +4
===========================================
+ Hits          3540     3581      +41
  Misses          94       94
  Partials        38       38

Impacted Files
Coverage Δ

datahub/search/serializers.py
100% <100%> (ø)
:arrow_up:

datahub/search/investment/serializers.py
100% <100%> (ø)
:arrow_up:

datahub/search/event/serializers.py
96.61% <100%> (ø)
:arrow_up:

datahub/search/omis/serializers.py
100% <100%> (ø)
:arrow_up:

datahub/search/interaction/serializers.py
100% <100%> (ø)
:arrow_up:

datahub/search/company/serializers.py
98.94% <100%> (ø)
:arrow_up:

datahub/search/elasticsearch.py
96.8% <100%> (-0.03%)
:arrow_down:

datahub/search/views.py
95.68% <100%> (+0.03%)
:arrow_up:

datahub/search/contact/serializers.py
100% <100%> (ø)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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

My reason is that at the moment date fields in the FE are free text and people can type in date in various different formats, DateTimeField was not giving enough flexibility.


2145 update cache manager to latest to support refreshthreshold

bump cache-manage to v5
bump @tsed/monorepo-tools to v1.22.6

:tada: This PR is included in version 7.3.0 :tada:
The release is available on:

v7.3.0
GitHub release

Your semantic-release bot :package::rocket:


Unexpected Behavior: If PickerView begins with desired selection, it does not populate the form as such.

Steps from John:

Add inspection
Collected date starts empty.
Tap date, get the spinner, I like the date in it so I tap Done.
Ooops! Done completes the inspection, not the date.
Same with condition. I think in these select contrls, should we populate the field automatically with the default value shown in the select? There’s no way to say Yes, use that value. Unless you select another value, then go back and select the original value.

Completed.


error[E0609]: no field poll on type poll_app::CreateBumps

When I studied your second Seahorse Solana program, copied your code, and executed the build instruction, the following error occurred like this:
Building...
warning: unused macro definition: `Loaded`
 --> src/lib.rs:6:3876
  |
6 | ... ; fn store (loaded : Self :: Loaded) -> Self ; } macro_rules ! Loaded { ($ name : ty) => { < $ name as Loadable > :: Loaded } } pub (...
  |                                                                    ^^^^^^
  |
  = note: `#[warn(unused_macros)]` on by default

error[E0609]: no field `poll` on type `poll_app::CreateBumps`
 --> src/lib.rs:6:5286
  |
6 | ...nts . poll , & programs_map) , bump : Some (ctx . bumps . poll) } ; create_handler (user . clone () , poll . clone ()) ; dot :: progra...
  |                                                              ^^^^ unknown field

warning: `poll_app` (lib) generated 1 warning
error: could not compile `poll_app` due to previous error; 1 warning emitted

I tried to find a solution on the Internet, but couldn't find one. I hope you can give me some advice. Thank you.

I've fixed this issue and modified the code as follows:

@instruction
def create(user: Signer, poll: Empty[Poll]):
    poll = poll.init(payer=user,seeds=['Poll',user])

thanks hnlisf,
yes this seems to be coming up as an issue now,
previously it was fine to initialize without seeds,
feel free to put in a PR to change the program

You still get an error while testing..
class Poll(Account):
ethereum: u64
solana: u64
polygon: u64
@instruction
def create(poll: Empty[Poll], user: Signer ):
poll = poll.init(
payer = user,
seeds =['Poll', user]
)
@instruction
def vote(user: Signer, poll: Poll, voting_op: str):
if voting_op == "eth":
poll.ethereum += 1
elif voting_op == "sol":
poll.solana += 1
elif voting_op == "pol":
poll.polygon += 1
else:
print("Candidate does not exist")
❌  Test 'create' failed:
Instruction index: 0
Reason: A seeds constraint was violated.
How did you fix that

got an error while testing..
Testing 'create'...
❌  Test 'create' failed:
Instruction index: 0
Reason: A seeds constraint was violated.
here is the code
class Poll(Account):
ethereum: u64
solana: u64
polygon: u64
@instruction
def create(poll: Empty[Poll], user: Signer ):
poll = poll.init(
payer = user,
seeds =['Poll', user]
)
@instruction
def vote(user: Signer, poll: Poll, voting_op: str):
if voting_op == "eth":
poll.ethereum += 1
elif voting_op == "sol":
poll.solana += 1
elif voting_op == "pol":
poll.polygon += 1
else:
print("Candidate does not exist")
Using solana playground....
how can i fix this ?


[SPARK-25291][K8S] Fixing Flakiness of Executor Pod tests

What changes were proposed in this pull request?
Added fix to flakiness that was present in PySpark tests w.r.t Executors not being tested.
Important fix to executorConf which was failing tests when executors were tested
How was this patch tested?
Unit and Integration tests

@mccheah for merge

Test build #96050 has started for PR 22415 at commit 33bf91e.

Test build #96050 has finished for PR 22415 at commit 33bf91e.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/96050/
Test FAILed.

Test build #96053 has started for PR 22415 at commit 1c66537.

Test build #96053 has finished for PR 22415 at commit 1c66537.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/96053/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3096/

@holdenk @liyinan926 @felixcheung for merge since @mccheah is out

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3096/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3096/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3098/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3098/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3098/
Test PASSed.

@holdenk @felixcheung @liyinan926 further thoughts before merging?

Test build #96145 has started for PR 22415 at commit 9b00bc4.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3164/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/3164/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3164/
Test PASSed.

Test build #96145 has finished for PR 22415 at commit 9b00bc4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/96145/
Test PASSed.

I'm gonna merge this to master and branch-2.4 before noon if there's no more comment.


[MySQL] Fail to acquire new connection during the transaction

After started the transaction I can no longer acquire new connection, until the transaction was finished.
Is this an intentional behaviour?
Thanks!!
let conn_pool: AnyPool = task::block_on(async {
    AnyPoolOptions::new()
        .max_connections(10)
        .connect_timeout(Duration::from_secs(3))
        .connect(&db_url)
        .await
        .unwrap()
})

Fail Case
let mut transaction = task::block_on(async {
    match conn_pool.begin().await {
        Err(e) => panic!(e),
        Ok(c) => c,
    }
});

... Insert & Update Actions

// ERROR: failed to get connection
let mut conn = match self.connection.conn_pool.try_acquire() {
    None => return Err("failed to get connection".into()),
    Some(c) => c,
};

Successful Case
let mut transaction = task::block_on(async {
    match conn_pool.begin().await {
        Err(e) => panic!(e),
        Ok(c) => c,
    }
});

... Insert & Update Actions

task::block_on(async {
    transaction.commit().await.unwrap();
});

// ERROR: failed to get connection
let mut conn = match self.connection.conn_pool.try_acquire() {
    None => return Err("failed to get connection".into()),
    Some(c) => c,
};

When you call connect it creates just 1 connection. When you begin a transaction - that acquires one connection from the pool it's not returned to the pool until transaction is committed. Therefore there is no more idle connections in the pool so try_acquire returns None.
If you want to create 10 connections, then specify min_connections in pool options.
If you want to wait for additional connection to be opened (or become idle), then use acquire instead of try_acquire.

@billy1624 It would be great if you had these changes since we have these problems very often

Was there any solution to this problem?

.try_acquire() does not connect. If there is no idle connection available at the time it is called, it will fail. This is documented on the method itself.


register ECSchemaRpcInterface with web viewer template

Web viewer template throws error when querying elements because the ECSchemaRpcInterface is not registered. Also add bing maps integration.

Tested locally FYI


I am not getting the link after starting the cam-virus it says " Url 1:" and there's nothing there after the, on any attack mode and on nagrok.io
I am using Termux and have disabled phantom process killer

I'm sry bro.I'm not update this tool.wait for next version


Changes to uploadIndexFile groovy library to update the latest build number for each distribution.

Is your feature request related to a problem? Please describe
We are currently depending on a single index file which has latest build number information to retrieve a latest distribution artifact for a given version. The current implementation is restricting us to maintain latest at distribution level in situations where the the whole build job fails without updating latest build number even when single distribution stage fails.
Describe the solution you'd like
Maintain individual index.json files for each distribution separately along with the index.json we are currently maintaining. Each json file is related to a distribution is updated at corresponding stage.

Idea is to store index.json files in subfolders for each distribution in the s3 bucket
Add code changes to related groovy library to update the latest build number for each distribution type w.r.t to supported architectures to fetch the new index file path.

Additional context

Closing as corresponding PR is merged


Debian Buster: xsession cannot launch command with args

On my system gdm-x-session fails to launch gnome-session --session=i3-gnome:
Feb 23 09:16:46 nike /usr/lib/gdm3/gdm-x-session[3582]: Xsession: unable to launch "gnome-session --session=i3-gnome" X session ---
Feb 23 09:16:46 nike /usr/lib/gdm3/gdm-x-session[3582]: "gnome-session --session=i3-gnome" not found; falling back to default session.

I looked into the gnome-classic-session and found out that they use a helper script, so I copied it and changed it a little:
.-(~)-------------------------------------------------------------------------(mist@nike)-
`--> cat =gnome-session-classic
#! /bin/sh
env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic "$@"
.-(~)-------------------------------------------------------------------------(mist@nike)-
`--> cat =gnome-session-i3
#! /bin/sh
env GNOME_SHELL_SESSION_MODE=classic gnome-session --session i3-gnome "$@"

and put that helper script into the xsession-file. Now it is starting.
My gnome-settings don't have everything the have in Gnome - but it is usable which it wasn't when using the old method with starting gnome-settings-daemon from withing i3.
More information:
Debian testing (buster)
gnome-session: 3.26.1-2
gnome: 1:3.22+8
gnome-shell: 3.26.2-4
I can file a PR for this fix if you want to add it.

Hi,

I can file a PR for this fix if you want to add it.

Please, i would like to see, i'll take time on this.

Closing.

I didn't come to test if I missed something in the commit because I made the changes locally first. That's why there is no PR yet.

Oh, my apologies, i just misunderstood the course of this issue. Sorry for a late answer since the beginning.
Re-opening

Using debian stable here (9, gnome 3.22) and I get the same error. I didn't manage to setup the gnome-session-i3 properly to fix the problem tho. Interested to know how to fix that.

@Khady ,
i highly recommend you to update GNOME to the latest version (3.28.0) because there are a lot of changes, especially regarding the GNOME session infrastructure, actually, every update of GNOME breaks this (i3-gnome) tweak, that's the reason why you can't get it work.
Once you updated GNOME you can install i3-gnome with make, if you still have the issue, you can try @mist 's approach.
Cheers

I screwed the following of the issue with @mist didn't get an answer after re-opening this issue, don't know if his approach still works with the latest version of GNOME. You should consider that as well.
P.D: sorry @mist

So, sorry for my late reply. After updating gnome my approach didn't work again, so I merged current head and it worked.
Still have to figure out if my approach is needed at all now.

So, sorry for my late reply. After updating gnome my approach didn't work again, so I merged current head and it worked.
Created PR for it.

@mist no problem! i'll take a look at your PR.


Change some OSB request logs level to info

Pull Request Template
OSB requests were not traceable without setting log level to debug. Change some logs to info level.

Coverage remained the same at 89.793% when pulling 14772f61414369f34b063ff51469c70a5ffe74f2 on osb_logs into 79868307daa64f722f96fffa8a45360633096ec5 on master.


removed vuln_lab twitter account - URL shows page not found

I've made a pull request to remove "vuln_lab" from the README.md file as it appears to be unavailable. The commit message is: "removed vuln_lab twitter account - URL shows page not found"
Could you please review my contribution and let me know if it's valid? Also, if approved, I'd appreciate being added to the list of contributors.

LGTM! Thank you!


Update Interception.md

Did you mean this repo?

@Serg046 Yep. Thanks for the catch.
Before merging you also need to change the Interception.cs file the same way.

Great, merging.


zim: 0.69.1 -> 0.70

Motivation for this change
Update to latest release. Includes port to python3 and gtk3. A full list of changes is available at
https://github.com/zim-desktop-wiki/zim-desktop-wiki/blob/master/CHANGELOG.md
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg eval

@GrahamcOfBorg build zim


Microsoft Edge support

I used this extension for Chrome but since, Edge has snatched me (Mainly because I agree that internet browsers should have a fair share of the browsing ecosystem and chrome owns more than 75% of it) and from what iv seen with the differences of the Chromes and Edges extension api's, they don't seem that different.
I would help make this but I know very little about video codecs and don't feel like I am skilled enough to contribute to this extension yet.

Ported it following this Microsoft Guide 1 and it works almost perfectly (it lacks accesible options menu to disable 60fps). You should try it.

Edge version: https://microsoftedge.microsoft.com/addons/detail/ldjamdlpbjpcfagnckgipdjiamhdcnbd?hl=en-US�


Type narrowing not working in conditional inner functions

Environment data

Language Server version: 2021.6.3-pre.1
OS and version: Windows 7
Python version (& distribution if applicable, e.g. Anaconda): 3.8.10 Anaconda

Sample
from __future__ import annotations

def f(x: int | str) -> None:
    if isinstance(x, int):
        def work_with_int():
            _ = x + 1

        work_with_int()
    else:
        def work_with_str():
            _ = x + "a"

        work_with_str()

Expected behavior
No errors/warnings.
Actual behavior
Type of x is not narrowed in either inner function, so both assignments got warnings.

Is it possibly because x may be re-assigned after the inner functions are declared?

My last guess should be correct and Pylance is doing right. I'll try some work-around in my case.


Camera images are not visible on camera view

Version of the custom_component

5.2.0 5b9f4f7738c8755c3958a002f7cadfd72244ca4d
Describe the bug
Since ha 2024.4.4 the camera view does not work (now on 2024.5.1. When I go to the browser camera's I can see the images. When I press the play button it stays empty. Network tab of the browser I can see a undefined token?

I'm using the default picture card:
show_state: true
show_name: true
camera_view: live
aspect_ratio: 50%
entity: camera.voordeur
type: picture-entity

In the media section I do see that the thumbnails are loaded with the token, just the live view not.

"Me too."
And bugs don't go stale. Should I add a comment every day that the bug still occurs? How is this game supposed to be played?

I'm not able to reproduce this issue, what is your frigate config.

I have something similar. Have not attempted to debug much yet. On the latest beta, running frigate on a separate lxc container with docker compose. Previously everything was fine, I can see the cameras in HA and in my HomeKit pass through but the snapshots don't update. If I click the camera it'll pull it up and update the snapshot but when I view on HomeKit they are all days old.

mqtt:
  host: mqtt.host.domain
  user: nvr
  password: XXXX
  client_id: nvr-01

birdseye:
  enabled: true
  mode: motion
  width: 1920
  height: 1080
  layout:
    max_cameras: 4

ffmpeg:
  hwaccel_args: preset-vaapi

objects:
  track:
  - bicycle
  - bus
  - car
  - cat
  - cell phone
  - dog
  - laptop
  - motorcycle
  - person

detectors:
  coral:
    type: edgetpu
    device: usb

motion:
  threshold: 40
  lightning_threshold: 0.7
  contour_area: 30

record:
  enabled: true
  retain:
    days: 7
    mode: motion
  events:
    retain:
      default: 30
      mode: active_objects
      objects:
        bicycle: 5
        bird: 1
        bus: 30
        car: 30
        cat: 1
        cell phone: 5
        dog: 1
        handbag: 5
        laptop: 5
        motorcycle: 30
        mouse: 1
        person: 30
        suitcase: 5

snapshots:
  enabled: true
  retain:
    default: 30

cameras:
  Voordeur:
    enabled: true
    detect:
      fps: 4
    ffmpeg:
      inputs:
      - path:
          rtsp://<IP_ADDRESS>:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1
        roles:
        - record
        - detect
    motion:
      mask:
      - 744,1080,0,1080,0,0,0,0,1274,0
      - 1769,72,1513,887,1415,735,1581,318,1382,93,1692,145,1727,62
    zones:
      zone_entree:
        coordinates:
          1444,746,1479,699,1581,288,1380,99,1220,86,1184,354,885,838,641,845,642,1080,1586,1080
    mqtt:
      enabled: true
      timestamp: true
      bounding_box: true
      crop: true
      height: 270
      quality: 70

  Oprit:
    enabled: true
    detect:
      fps: 4
    ffmpeg:
      inputs:
      - path:
          rtsp://<IP_ADDRESS>:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1
        roles:
        - record
        - detect

    zones:
      zone_oprit:
        coordinates: 1168,1080,1779,320,1379,236,0,868,0,1080
    motion:
      mask:
      - 1206,124,1201,39,72,26,74,126
      - 1384,1022,1649,1024,1644,955,1386,955
      - 0,0,984,0,1301,282,276,788,158,892,0,574
      - 1920,1080,1920,0,1572,0,1259,1080
    mqtt:
      enabled: true
      timestamp: true
      bounding_box: true
      crop: true
      height: 270
      quality: 70

  TuinGarage:
    enabled: true
    detect:
      fps: 4
    ffmpeg:
      inputs:
      - path:
          rtsp://<IP_ADDRESS>:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1
        roles:
        - record
        - detect
    zones:
      zone_terras:
        coordinates: 0,1080,1920,1080,1920,0,1361,0,1299,78,1191,79,1191,256,898,367
    motion:
      mask:
      - 69,122,1195,116,1194,54,75,43
      - 1920,1026,1920,946,1385,938,1389,1022
      - 1363,0,782,0,900,368,1191,254
      - 407,271,897,292,976,683,428,1080,264,965,116,565
    mqtt:
      enabled: true
      timestamp: true
      bounding_box: true
      crop: true
      height: 270
      quality: 70

  TuinTerras:
    enabled: true
    detect:
      fps: 4
    ffmpeg:
      inputs:
      - path:
          rtsp://<IP_ADDRESS>:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1
        roles:
        - record
        - detect
    motion:
      mask:
      - 1189,121,1189,45,59,38,58,126
      - 1395,1016,1596,1018,1599,954,1388,952
      - 1920,0,1920,1018,542,246,665,227,656,69,524,0
      - 1061,688,1087,471,715,305,481,341,500,495,771,772
    zones:
      zone_terras:
        coordinates: 1920,1013,1920,1080,0,1080,0,0,660,60,662,241,536,240
      zone_keuken_deur:
        coordinates: 356,459,532,401,461,309,341,329
    mqtt:
      enabled: true
      timestamp: true
      bounding_box: true
      crop: true
      height: 270
      quality: 70

  TuinZijkant:
    enabled: true
    detect:
      fps: 4
    ffmpeg:
      inputs:
      - path:
          rtsp://<IP_ADDRESS>:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1
        roles:
        - record
        - detect
    zones:
      zone_terras:
        coordinates: 0,1080,1647,1080,1120,852,938,906,748,764,887,725,501,499,142,511,146,0,0,0
    motion:
      mask:
      - 74,132,1195,121,1200,40,73,40
      - 1920,952,1920,1035,1387,1026,1379,946
      - 1920,0,1920,1080,1614,1080,1142,855,914,925,718,758,891,727,487,491,134,518,127,232,161,0
    mqtt:
      enabled: true
      timestamp: true
      bounding_box: true
      crop: true
      height: 270
      quality: 70

you don't have go2rtc setup so only snapshots will be available

@NickM-27 thanks for the reply. But how do you set this up? The information on https://docs.frigate.video points to an external site to setup but when I look at the external site https://github.com/AlexxIT/go2rtc/tree/v1.8.4#configuration I need to redefine all camera's?
The help is appreciated!

https://docs.frigate.video/guides/configuring_go2rtc

@NickM-27 thanks for the quick reply. I was looking in the wrong location. It needs a little refactor then on the config side. I'll test it and let you know.


feat: Add slow query tracker and function profiler

Log all queries with a warning slower than 1.3 seconds so we can start looking into performance
Auto enable query profile for dev environments
Add a performance profile so developers can quickly profile code to find bottlenecks

Good stuff, this is neat 👍🏻

Thanks! Most of it is straight from the SQLAlchemy documentation. I saw your name on a lot of the util/hook work related to the repo and view handlers so I figured you'd be a good person to review this one.


matrix-sliding-sync: 0.99.5 -> 0.99.6

Description of changes
https://github.com/matrix-org/sliding-sync/releases/tag/v0.99.6
diff: https://github.com/matrix-org/sliding-sync/compare/v0.99.5...v0.99.6
This release reports the version info inconsistently, because the hardcoded version string has not been updated yet.
❯ result/bin/syncv3
Sync v3 [0.99.5] (v0.99.6)

See https://github.com/matrix-org/sliding-sync/blob/v0.99.6/cmd/syncv3/main.go#L29
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Oh wow, v0.99.7 got released less than 10 minutes after my merge 🫠


Add TCK cases about NULL comparison and NULL with math functions

Well done! Could you format the tck tests by make fmt in the directory nebula-graph/tests at first?

These cases are shown in the doc. So if any feature breaks these cases, you will notice.

before formating your feature file, you can follow the tutorial to initialize your environment.


Console errors and no animation when we turn the token

When we use Shift + Ctrl in v.0.8.6 of Foundry, to turn the tokens, we receive this error in the console.
The token turn at the end but we have no animation during the rotation.

@Grards - Thanks for the detailed report (the console screenshot was very helpful).  I wasn't able to reproduce this bug but I attempted to add a fix on v1.2.2 that should prevent it from happening.  Please try updating the module and telling me if it works!
(technical details:  the visualEffectsGraphics is seemingly null, even though it should have been defined in the canvasInit hook.
my fix is to just redefine it if needed, whenever it's used)

Hello !
I've just tested the v.1.2.2 of AlternativeRotation. And I have no more error in the console. The token turns as he must.
Great job ! And thank you for this highly appreciate module !

Hello again !
Well, I have another issue in the console when I turn the tokens :

But the token turns well. It's just an error in the console this time.
Tested on Google Chrome, version 91.0.4472.106 (Build officiel) (64 bits)
Foundry 0.8.6
Sandbox System 0.9.7

Are you using the "Fast Preview" setting?
Does this always happen, or only sometimes (e.g. only after switching scenes, only after selecting a tile)


Focus Trap

@Kennie12345, not sure if this is worth focusing on at the moment. But sometimes clicking the  "contact us" button and then clicking off the model results in the following warning:
There are no focusable elements inside the
Along with the page freezing up and not being able to be scrolled anymore.

I think this might actually be related to the following:
https://github.com/assistancechat/assistance.chat/issues/44
Potentially when I fix that, this other issue will go away


a User instance should always have a stream Address

Currently, the User structure contains a field stream_address, whose type is Option<Address>.  When a User is instantiated, this field is set to None, and when either User::create_stream() or User::receive_announcement() are called, it is populated with the address of the stream.
If we take a step back, we can realize that a User without stream_address is pretty much useless. In fact, any user must call either User::create_stream() or User::receive_announcement() to actually do anything else. This connascence of execution might seem harmless in trivial examples, but in use cases where the creation of the user becomes more dynamic and complex, it can become the source of hidden runtime bugs. These use cases would greatly benefit from this being a compile error instead of a runtime one.
In practice, this means converting the stream_address field to Address instead of Option<Address>. This also means that the constructor must take a stream_address: Address parameter, and create_stream() or receive_announcement() should have been called before the User instance is created.
If we take a step back again, we can realize that receive_announcement() is the main procedure to connect to a stream, regardless of being the author of a subscriber. create_stream() will only be called on new streams, in a one-off execution path. However, there's a distinction between author's and subscribers with regard of the additional information that they are supposed to provide to connect to a stream. Technically, an author only needs the base topic of the stream in order to infer the stream's Address, because it already knows its own identity. All these factors led me to conclude in the following API proposal:
    let mut author = User::builder()
        .with_identity(Ed25519::from_seed(author_seed))
        .with_transport(transport.clone())
        .with_psk(psk.to_pskid(), psk)
        .as_author(BASE_BRANCH)  // <-- addition
        .build().await?;  // gets the announcement message or creates it if it does not exist yet

    let mut subscriber = User::builder()
        .with_identity(Ed25519::from_seed(subscriber_seed))
        .with_transport(transport.clone())
        .as_subscriber(author.identifier(), BASE_BRANCH)  // <-- addition
        .build().await?;  // gets the announcement message or fails if it does not exist yet

This proposal has 2 main benefits, apart from addressing the main issue:

For each kind of user, asks only what is truly necessary, no duplication prone to potential inconsistencies
Abstracts the logic of creating an stream if it does not exist yet.

The only weirdness of this proposal is on what is the intuitive behaviour when the user for some reason uses both builder methods. In my opinion, the last one should prevail:
    let mut subscriber = User::builder()
        .with_identity(Ed25519::from_seed(subscriber_seed))
        .with_transport(transport.clone())
        .as_author(BASE_BRANCH)
        .as_subscriber(author.identifier(), "another base topic")
        .build().await?;  // connects as subscriber to author's "another base topic" stream

One thing I'm particularly not convinced: what is more usable for subscribers: provide the author's identifier and the stream topic, or just the stream address? The former lets parties exchange the author's identifier once and benefit from the human-readability of topics. The later is less coupled to the current implementation of the address generation, and is only one string that needs to be shared, instead of two.


:sparkles: Enhance ScreenBlend with opacity and content mode

Description
Enhance ScreenBlend with opacity and content mode
Screenshots

@Justin-Ruan @Vivienne0206
Feel free to share any suggestions or simplified solutions.


Sigv4a as trait - 2 CRs to SEP need to be included

There were to CRs to the SEP post our implementation which need to be incorporated - Refer to SWIFT-575

We think these are already done; this ticket is to verify completion.

When I&A was done, smithy.api#noAuth was used correctly to begin with (as I referred to Smithy spec and not sep for the trait tag)
Because Swift SDK currently supports SigV4/Sigv4A only, second ticket might not apply to us.
Will double check regardless before marking post-GA.

Also in scope: find out status on cross-SDK decision on sigv4a trait exceptions given to services. Update list of services that rules based auth scheme resolver gets used for accordingly.

Verified that there's no relevant change that requires action from us. Closing the ticket.


Opening a drawer scrolls to the top again

This is the same issue in #55, but the fix for it seems to have broken. Here is the bug again in the v0.7.5:
https://codesandbox.io/p/sandbox/drawer-scrolls-to-top-8lpqx9

I can't reproduce this on Safari iOS 17. Can you provide reproduction instructions and which device you are using?

I can't reproduce this on Safari iOS 17. Can you provide reproduction instructions and which device you are using?

I also encountered the problem of page scrolling up in my projects.
How to play:
I'm using next js 14 with an app router, the drawer is located in the layout and accordingly is initialized only once.
When I open the first page of the site and open the drawer, it does not scroll to the top, but if I then go to another page of the site and open the drawer, after closing it, the page scrolls to the top.
This is due to the fact that the drawer is initialized once and in the file use-position-fixed.ts the address of the page during initialization is written in the activeUrl, but when I go to another page, the activeUrl does not update and when I open the drawer, this code is executed, blocking scroll up.
       if (activeUrl !== window.location.href) {
          setActiveUrl(window.location.href);
          return;
        }

For myself, I solved the problem by adding
  const pathname = usePathname();

  React.useEffect(() => {
    if (!isOpen) {
      setActiveUrl(window.location.href);
    }
  }, [pathname, isOpen]);

I don’t know if this requires any changes, but just in case I described the problem I encountered =)

Im actually experiencing this unwanted behavior on closing the drawer. The scroll position is undesirably jumping to the top of the page.

Best I can do to prevent this and "keep" scroll position was double up the notion of scroll restoration...
<Drawer
  open={modalType !== null}
  onClose={() => {
    drawerRestorePosition.current = document.body.style.getPropertyValue('top');
  }}
  onOpenChange={(open) => {
    if (!open) {
      requestAnimationFrame(() => {
        window.scrollTo(0, -parseInt(drawerRestorePosition.current, 10));
      });

      router.replace('/', { scroll: false });
    }
  }}
>
  <DrawerContent>
    {/* ... */}
  </DrawerContent>
</Drawer>

I don't love this. While it does effectively restore my scroll position it feels hack af and comes with an unavoidable content flicker on iOS devices.
I'm beginning to think the whole approach to locking body scroll along with setPositionFixed and restorePositionSetting might need adjusting or even an alt solution. The underlying radix components effectively prevent body scrolling without the need for these techniques.
I'm wonder if it is possible "keep" the pre-drawer scroll position without jump/flicker on touch device with the current approach of toggling from a position fixed + overflow hidden body + html back to the natural document flow.

I am facing the same issue in next14. I used nextui's modal, which you can change the position. So by this I was able to replicate drawer
link: NextUI's Modal

Can someone create a codesandbox demo that shows this problem and include your browser and device? It's hard to reproduce these issues consistently for me so I'd appreciate a demo, thank you!

Seems like the issue is caused by
 html {   scroll-behavior: smooth; }
Here is a codesandbox link

@yoannakr Thank you, I will try to fix it somewhere this week once I have some time.

@emilkowalski I'm facing the exact issue @yoannakr is facing, any updates?
And btw thanks for this awesome work, I'll definitely be using this for Linkwarden due to the amount of time it saves!

@emilkowalski I'm facing the exact issue @yoannakr is facing, any updates? And btw thanks for this awesome work, I'll definitely be using this for Linkwarden due to the amount of time it saves!

same here :DD

This has been fixed in #219, I updated the package on npm so you guys can update and get it working right away. Have a nice Sunday!

Seems like this issue is still present when used with @tanstack/react-virtual. Unfortunately, I don't have a repro currently, will try to make one when i can. I'm currently not sure what specifically causing this though, but it seems to work all good without the tanstack virtual

Couldn't replicate the exact behaviour, but if you try scrolling down a bit (seems like the items lower the initial 100vh) and click the drawer trigger then the drawer won't open - https://codesandbox.io/p/devbox/drawer-scrolls-to-top-forked-mx755p.
I pretty much put the code from tanstack window example into the OP's repro.
I think the scroll to the top issue also may occur if window + infinite scroll is used (rough guess, since that's what im using)

I'm experiencing the same, on lastest version - upon opening the Drawer - the body styles are reset causing the page to jump to the top (not even scroll) - that's the body once the drawer opens:

@franzwilhelm Opened an issue here:
https://github.com/emilkowalski/vaul/issues/318

To all the folks who are still encountering the issue, as @yoannakr pointed out, you have
html { scroll-behavior: smooth; }
somewhere in your code. Remove that and it’ll be fixed.

That's not the case for us, no html { scroll-behavior: smooth; } in our code base ...

To all the folks who are still encountering the issue, as @yoannakr pointed out, you have html { scroll-behavior: smooth; } somewhere in your code. Remove that and it’ll be fixed.

hi, anyone can fix the undesirably scroll to top after closing drawer

still getting a sharp spike to the top when opening the drawer

hi, anyone can fix the undesirably scroll to top after closing drawer

Downgrade to 0.9.2 it worked for me. I think the bug was reintroduced in 0.9.3 / 0.9.4

I experienced the same issue, and removing explicit height style(100dvh) in my body tag worked for me


Added 2 notebooks for Quantum Teleportation and general qubits and gates

Added 2 notebooks for Quantum Teleportation implementation and Understanding qubits, gates and implementing them in Amazon Braket
Issue #, if available: None
Description of changes:
Added 2 notebooks for Quantum Teleportation implementation and Understanding qubits, gates and implementing them in Amazon Braket. These are in tutorial style for introduction to Quantum Computing.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Also, remember to update the README with the new examples

Updated the README with new examples

Also, remember to update the README with the new examples

Updated the README with new examples

Hi @jag-p! We appreciate your contribution. I am closing this PR as stale.
If you are still interested in contributing this content, we encourage you to open a new PR. For the quickest turn around for your next PR, I recommend opening a separate PR for each notebook.


Started with GeoJSON intersection, but it is not complete yet

Polygon end needs to be the same as the start point

Will be redone after merging with refactors from diMosellaAtWork


Add @throws declaration to methods on Billable which can throw Payment exceptions

In the documentation https://laravel.com/docs/6.x/billing#payments-requiring-additional-confirmation it's stated the the methods charge invoice and invoiceFor on a user can throw IncompletePayment exceptions but the methods documention wasn't marked as such.
This PR just adds those @throws tags to the methods.

Thanks!


.ts and .tsx files aren't being copied to the sandbox, but .d.ts are?

Summary
I have a project with three relevant directories:

config/: unrelated or miscellaneous configuration and setup scripts, such as polyfills and machine setup
src/: actual source files in the application
test/: config files specifically for tests, particularly unit tests

stryker run is failing to run Jest because no tests are found. When I look in the .stryker-tmp/sandbox~~~~~~~ directory, src/ exists, but only .d.ts files have been copied.
☹.
[2018-06-28 12:01:18.456] [ERROR] TestRunnerChildProcessAdapter - Child process exited with non-zero exit code 1. Last 10 message from the child process were:
        [2018-06-28 12:01:14.832] [DEBUG] PluginLoader - Loading plugins stryker-webpack-transpiler (matched with expression stryker-*)

        [2018-06-28 12:01:14.832] [DEBUG] PluginLoader - Loading plugins stryker-baseline-reporter

        [2018-06-28 12:01:14.906] [DEBUG] PluginLoader - Loading plugins stryker-html-reporter

        [2018-06-28 12:01:14.939] [DEBUG] PluginLoader - Loading plugins stryker-jest-runner

        [2018-06-28 12:01:14.969] [DEBUG] PluginLoader - Loading plugins stryker-typescript

        [2018-06-28 12:01:15.503] [DEBUG] PluginLoader - Loading plugins stryker-webpack-transpiler

        [2018-06-28 12:01:17.209] [DEBUG] IsolatedTestRunnerAdapterWorker - Changing current working directory for this process to C:\Code\Client\.stryker-tmp\sandbox9151313

        [2018-06-28 12:01:17.210] [DEBUG] JestTestRunner - Project root is C:\Code\Client\.stryker-tmp\sandbox9151313

        [2018-06-28 12:01:17.247] [TRACE] JestPromiseTestAdapter - Invoking Jest with config {"collectCoverageFrom":["src/*/**/*.ts*","!src/*/**/*.stubs.ts*","!src/*","!src/*/Adapters/**","!src/*/External/**","!src/Browser/*","!src/BrowserMain/*","!src/Boot/*","!src/ServerSideRendering/*","!src/typings/**"],"coverageDirectory":"./reports/coverage","globals":{"ts-jest":{"tsConfigFile":"./tsconfig.test.json"}},"moduleFileExtensions":["js","ts","tsx"],"rootDir":"C:\\Code\\Client\\.stryker-tmp\\sandbox9151313","setupFiles":["<rootDir>/config/polyfills/nodePolyfills.js"],"setupTestFrameworkScriptFile":"<rootDir>/test/unit/setup","testMatch":["<rootDir>/src/**/?(*.)test.ts?(x)"],"transform":{"^.+\\.tsx?$":"ts-jest"},"collectCoverage":false,"verbose":false,"bail":false,"reporters":[]}

        No tests found
In C:\Code\Client\.stryker-tmp\sandbox9151313
  523 files checked.
  testMatch: C:\Code\Client\.stryker-tmp\sandbox9151313\src\**\?(*.)test.ts?(x) - 0 matches
  testPathIgnorePatterns: \\node_modules\\ - 523 matches
Pattern:  - 0 matches

[2018-06-28 12:01:18.464] [ERROR] StrykerCli - an error occurred Test runner child process exited with non-zero exit code 1

Stryker config

module.exports = function(config) {
    config.set({
        coverageAnalysis: "all",
        files: [
            "config/**/*.js",
            "config/**/*.js.map",
            "config/**/*.ts",
            "src/**/*.ts",
            "src/**/*.tsx",
            "test/unit/setup.js",
        ],
        mutate: [
            "src/**/*.ts",
            "src/**/*.tsx",
            "!src/**/*.d.ts",
        ],
        mutator: "typescript",
        reporter: ["baseline", "clear-text", "dashboard", "html", "progress"],
        testRunner: "jest",
        transpilers: ["typescript"],
        tsconfigFile: "tsconfig.json",
    });
};

Stryker environment

    "stryker": "0.24.1",
    "stryker-api": "0.17.2",
    "stryker-baseline-reporter": "1.0.3",
    "stryker-cli": "0.1.3",
    "stryker-html-reporter": "0.14.2",
    "stryker-jest-runner": "0.7.0",
    "stryker-typescript": "0.11.2",
    "stryker-webpack-transpiler": "0.5.1",

Your Environment

software
version(s)

node
10.X

yarn
1.6.0

Operating System
Windows 10

Hi Joshua, thanks for reporting this issue.
The typescript files are not directly copied. Instead, they are first passed through the transpilers. You defined the typescript transpiler, so I would expect js and DTS files to be copied after transpiling.
In see you are using jest. Jest itself normally takes care of transpiling on the fly, no need for stryker to transpile typescript. Could you remove the typescript transpiler from your config and try again?

If I remove transpilers, I get this error:
[2018-06-28 13:13:51.213] [ERROR] StrykerCli - an error occurred Error: Could not instrument "D:\Code\WebClient\src\Authoring\Adapters\DraftJs\DraftJsUtils.test.ts" for code coverage. Inner error: SyntaxError: 'import' and 'export' may appear only with 'sourceType: "module"' (5:0)
SyntaxError: 'import' and 'export' may appear only with 'sourceType: "module"' (5:0)
    at Parser.pp$5.raise (D:\Code\WebClient\node_modules\babylon\lib\index.js:4454:13)
    at Parser.pp$1.parseStatement (D:\Code\WebClient\node_modules\babylon\lib\index.js:1881:16)
    at Parser.parseStatement (D:\Code\WebClient\node_modules\babylon\lib\index.js:5910:22)
    at Parser.pp$1.parseBlockBody (D:\Code\WebClient\node_modules\babylon\lib\index.js:2268:21)
    at Parser.pp$1.parseTopLevel (D:\Code\WebClient\node_modules\babylon\lib\index.js:1778:8)
    at Parser.parse (D:\Code\WebClient\node_modules\babylon\lib\index.js:1673:17)
    at Object.parse (D:\Code\WebClient\node_modules\babylon\lib\index.js:7305:37)
    at Instrumenter.instrumentSync (D:\Code\WebClient\node_modules\istanbul-lib-instrument\dist\instrumenter.js:123:31)
    at CoverageInstrumenterTranspiler.instrumentFile (D:\Code\WebClient\node_modules\stryker\src\transpiler\CoverageInstrumenterTranspiler.js:73:45)
    at CoverageInstrumenterTranspiler.instrumentFileIfNeeded (D:\Code\WebClient\node_modules\stryker\src\transpiler\CoverageInstrumenterTranspiler.js:65:25)
    at CoverageInstrumenterTranspiler.instrumentFile (D:\Code\WebClient\node_modules\stryker\src\transpiler\CoverageInstrumenterTranspiler.js:79:19)
    at CoverageInstrumenterTranspiler.instrumentFileIfNeeded (D:\Code\WebClient\node_modules\stryker\src\transpiler\CoverageInstrumenterTranspiler.js:65:25)
    at D:\Code\WebClient\node_modules\stryker\src\transpiler\CoverageInstrumenterTranspiler.js:19:80
    at Array.map (<anonymous>)
    at CoverageInstrumenterTranspiler.<anonymous> (D:\Code\WebClient\node_modules\stryker\src\transpiler\CoverageInstrumenterTranspiler.js:19:45)
    at step (D:\Code\WebClient\node_modules\stryker\node_modules\tslib\tslib.js:133:27)
    at Object.next (D:\Code\WebClient\node_modules\stryker\node_modules\tslib\tslib.js:114:57)
    at D:\Code\WebClient\node_modules\stryker\node_modules\tslib\tslib.js:107:75
    at new Promise (<anonymous>)
    at Object.__awaiter (D:\Code\WebClient\node_modules\stryker\node_modules\tslib\tslib.js:103:16)

sourceType: "module" isn't a field option in styker.conf.js and does nothing.

I suppose jest.config.js might be useful?
/*!
 * Copyright Microsoft Corporation. All rights reserved.
 */

const path = require("path");

module.exports = {
	collectCoverageFrom: [
		"src/*/**/*.ts*",
		"!src/*/**/stubs.ts*",
		"!src/*/**/*.stubs.ts*",
		"!src/*",
		"!src/*/Adapters/**",
		"!src/*/External/**",
		"!src/Browser/*",
		"!src/BrowserMain/*",
		"!src/Boot/*",
		"!src/ServerSideRendering/*",
		"!src/typings/**",
	],
	coverageDirectory: "./reports/coverage",
	globals: {
		"ts-jest": {
			tsConfigFile: "./tsconfig.test.json",
		},
	},
	moduleFileExtensions: [
		"js",
		"ts",
		"tsx",
	],
	rootDir: path.join(__dirname, "../../"),
	setupFiles: [
		"<rootDir>/config/polyfills/nodePolyfills.js",
	],
	setupTestFrameworkScriptFile: "<rootDir>/test/unit/setup",
	testMatch: [
		"<rootDir>/src/**/?(*.)test.ts?(x)",
	],
	transform: {
		"^.+\\.tsx?$": "ts-jest",
	},
};

Could you try and set coverageAnalysis: 'off'? I don't think it is supported yet for Jest.

Ah, that did it, thanks! I now get v8::internal::FatalProcessOutOfMemory errors on my 9486 mutations; will file a separate issue...
Is the lack of Jest support documented somewhere? Are there issues tracking adding it in?

Is the lack of Jest support documented somewhere?

I don't think it's documented anywhere yet. Did you use stryker init to get your project up and running?

Yes, and it created approximately those settings.

@nicojs @mthmulders @Archcry Shall we change the jest runner to initialize Stryker with coverage analysis off?

Yes, we could forcibly turn it off. Or investigate the possibility of getting coverage analysis to work....
By the way, the lack of coverage analysis support is documented.

Its clear we're still missing coherent documentation somewhere.
In the mean time, I've created a PR to turn coverage analysis of when stryker init is used and jest is configured: https://github.com/stryker-mutator/stryker-jest-runner/pull/55


AMBARI-24086. Start of components fails if HDFS is not installed

Traceback (most recent call last):
File "/var/lib/ambari-agent/cache/stack-hooks/before-START/scripts/hook.py", line 43, in
BeforeStartHook().execute()
File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 353, in execute
method(env)
File "/var/lib/ambari-agent/cache/stack-hooks/before-START/scripts/hook.py", line 29, in hook
import params
File "/var/lib/ambari-agent/cache/stack-hooks/before-START/scripts/params.py", line 198, in
hdfs_pid_dir = format("{hadoop_pid_dir_prefix}/{hdfs_user}")
File "/usr/lib/ambari-agent/lib/resource_management/libraries/functions/format.py", line 95, in format
return ConfigurationFormatter().format(format_string, args, **result)
File "/usr/lib/ambari-agent/lib/resource_management/libraries/functions/format.py", line 59, in format
result_protected = self.vformat(format_string, args, all_params)
File "/usr/lib64/python2.7/string.py", line 549, in vformat
result = self._vformat(format_string, args, kwargs, used_args, 2)
File "/usr/lib64/python2.7/string.py", line 582, in _vformat
result.append(self.format_field(obj, format_spec))
File "/usr/lib64/python2.7/string.py", line 599, in format_field
return format(value, format_spec)
File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/config_dictionary.py", line 73, in getattr
raise Fail("Configuration parameter '" + self.name + "' was not found in configurations dictionary!")
resource_management.core.exceptions.Fail: Configuration parameter 'hadoop-env' was not found in configurations dictionary!

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2688/
Test PASSed.


Right click on actor in actor tab not working with PDF pager module active

I just tried this with two different systems in Foundry v12, Simple worldbuilding and Pathfinder 2e. Minimal modules activated, in PF2e only libwrapper besides PDF Pager which is required. So unless it's a libwrapper problem then it's a problem with this module.
Right click on an actor does not work. There is an error in the console.

Thanks for reporting the issue. The error is definitely being generated by the PDF Pager module, but I don't understand how the situation could occur where this error would be reported.
Could you try uninstalling the pdf-pager module and reinstalling it again please. Just in case something got misconfigured somehow.
Another possibility is to check the console log to see if the pdf pager module reports any errors during world startup, which might cause the setting not to get registered.

Ok. Uninstalled and reinstalled. Same problem.
There is an error on startup though.

That would be the cause.
My check for the presence of the color-picker module was wrong - this is fixed in version 1.5.2 that I've just created.

Thanks :)


Make Auth0User load generically in Auth0

The idea is that tokens can have different payload metadata. It is interesting to be able to set the pydantic model to deserialize dynamically when creating the auth object. Most probably this model will inherit from the base Auth0User lib model.

@dorinclisu I'm not sure why tests are failing though. Does them need some service that is not up? It should be transparent changes from your implementation.

Sorry, it seems that any merge request would fail due to the way github environment secrets are restricted. I'll try to fix this and then I'll have a look at your code.

I had to disable the actual tests for pull requests, because I don't see any way to perform meaningful testing without calling auth0 api, which requires secret credentials available only for approved collaborators.
But I'm leaving the linting and mypy checks, since they don't involve any API call.
Now to your proposal. I like the idea, as it means you can change the email alias and use your own rule namespace or add other claims according to other rules (didn't investigate more, but I see a bunch of rules available in the dashboard).
The last commit looks fine, leaving Type[BaseModel] certainly wasn't good as user could shoot themselves in the foot by providing a model that doesn't inherit from Auth0User, and then getting unhandled exceptions that lead to the nasty 500 code. But with Type[Auth0User] I suppose the type checker will complain if you pass a random model, right? Might need to add a test for this, though.

Published as 0.1.6

Awesome! Thanks!, the library works like a charm 😄


Add Portuguese (Brazil) (pt_BR) localization

Translation to portuguese from Brazil

Nice. Thank you!


Launchdarkly trajectory workshop 2021

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@punkdata - All set ✅


add calc_init to objective trait

R's gbm package calculates the starting value for each objective given the target array. A function could be added to the objective trait that calculates.
For example, from R's bernoulli objective we see the code for the sample log-odds.
{
        double dSum=0.0;
        for(i=0; i<cLength; i++)
        {
            dSum += adWeight[i]*adY[i];
            dTemp += adWeight[i];
        }
        dInitF = log(dSum/(dTemp-dSum));
    }

And for their gaussian objective:
for(i=0; i<cLength; i++)
        {
            dSum += adWeight[i]*adY[i];
            dTotalWeight += adWeight[i];
        }
        dInitF = dSum/dTotalWeight;

Merged into main, will go out on next release