machine-controller: respect Machine.Spec

The GCE support in machine-controller respects the Machine's ProviderConfig for the basic properties of the VMs it creates, but none of the rest of the Spec is honored when installing/configuring Kubernetes on the host.

Current status: kubelet and controlPlane versions are respected, but container runtime name/version are completely ignored. We don't have to support every CRI, but we should at least set errors on the Machine.Status when unsupported settings are used.

Finished with https://github.com/kubernetes/kube-deploy/pull/413


Add filtering commands.

These new commands allow running queries against a filter that matches 1% or 10% of documents.
Filters are interesting because some optimizations that are easy/obvious for exhaustive evaluation become more complicated when a filter is applied. Yet filters are common, think of an e-commerce search filtered by category for instance.
Only the Lucene 10.0 engine supports filtering for now because I'm not too familiar with Rust, but I assume that it should be easy to add support for it to the Tantivy engine.

Thanks for the PR, filtering is a great addition.
I think the query side should be handled via the query list, with an added tag. The commands are more like different collectors.

This is how I started, but I would really like to see how all queries perform when a filter is applied, not just a few of them, and duplicating all queries didn't feel right (especially if duplicated twice, once for the 1% filter and another time for the 10% filter). This would also make it annoying to add more queries to the benchmark.
So my second idea was to add it as another dimension to the benchmark (one dimension is the command (=collector), another one the query, another one the filter density) but it felt a bit over-engineered. So I came to this 3rd approach of coupling it with the command, which didn't feel great at first, but now feels to me like the least worst approach?

I think duplicating should be fine, but we could have it in code when loading the queries. This has the advantage that you can easily get an overview and compare the different results with a single run.
We may add a FILTER_TAG option or similar to filter queries with certain tags.
Another things that's missing currently is searching on multiple fields, which is probably the much more common use case.

@PSeitz We'd also need to make sure the query language handles it though (filters should not impact scoring). It might be a pain.
I'd go with @jpountz solution for simplicity.

FWIW I had started looking at applying @PSeitz 's approach: https://github.com/quickwit-oss/search-benchmark-game/compare/master...jpountz:search-benchmark-game:filtered_queries?expand=1 in case you want to take a look (the query parsing bits are still missing).

@PSeitz We'd also need to make sure the query language handles it though (filters should not impact scoring). It might be a pain.
I'd go with @jpountz solution for simplicity.

Good point. I think the complexity should be the same for both, where we need to have a special query handling to pass in the filter, but the usage with the queries approach should be easier and would require just one run instead of 3 or 4 runs to get the full picture.


Contentful Entry

Is there an option to create an entry in a specific environment (env_id) ?
Here's a link to one of the other maintainers of this provider - https://registry.terraform.io/providers/kitagry/contentful/latest/docs/resources/entry

https://github.com/kitagry/contentful-go/blob/main/entry.go

Hi @NicholasTing this should not be a problem. However we are currently not using the provider so maintenance has a low priority for us. Feel free to create a PR to add this!

Hello, I'm trying to add a link to Entry. How should we link two components ( eg. We have "mainpage" and inside to link Footer. In content_type it's already declared I just need to forward this component into Entry)

Hello, I'm trying to add a link to Entry. How should we link two components ( eg. We have "mainpage" and inside I want to add link to Footer. In content_type it's already declared I just need to forward this component into Entry)

Hi @dariopetrovic could you create a new ticket for this? I don't think these issues are related


nettraffic: Update to version 1.66.1

Closes https://github.com/lukesampson/scoop-extras/issues/4016
Add checkver

Do you think it is good idea to download and extract HTML page?? Both aria2 and native download should lead to webpage instead of file.
Why do you not test installation, update and installation before posting PR?

Do you think it is good idea to download and extract HTML page?? Both aria2 and native download should lead to webpage instead of file.

I was using NaturalDocs as reference when I did this.

When I try to download from the download location using scoop, I do not get the correct file.
https://files03.tchspt.com/temp/NetTraffic1.66.1.zip
NetTraffic1.66.1.zip (65.2 KB) [==============================================================================] 100%
Checking hash of NetTraffic1.66.1.zip ... ERROR Hash check failed!
App:         nettraffic
URL:         https://files03.tchspt.com/temp/NetTraffic1.66.1.zip
First bytes: 3C 21 44 4F 43 54 59 50
Expected:    dda5a1e6c25750be078d851d09613c17b7f735078625ad10302edf072817ee65
Actual:      49fa44ee8a54e1d36244f9289da81fa733fba796243ba9c54f10238f1b2f567c

Please try again or create a new issue by using the following link and paste your console output:

That is exactly what I told you https://github.com/lukesampson/scoop-extras/pull/4198#issuecomment-636981464 ...
It download HTML page.

Sorry I thought you were referring to checkver section.

adding reference https://github.com/lukesampson/scoop/issues/2634.
Looks like some manipulation needs to be done for the download process.

/verify


issue #1530 - javadoc updates

clarify the contract for FHIRTermServiceProvider.getConcept
update stale javadoc for FHIRTermServiceProvider.subsumes

Signed-off-by: Lee Surprenant<EMAIL_ADDRESS>

I like child instead of nested and removed instead of stripped but otherwise LGTM.


Optional different implementation of flatten

https://github.com/servo/bincode/issues/245
https://github.com/facebookincubator/serde-reflection/issues/8
This suggestion is one of perhaps many ways to solve the above issues.
In both these cases, it's problematic the way flatten is implemented. The implementation works well for self-describing formats of course. But in the cases where one wants to use either of these two crates for example, maybe it should be possible to flatten in a different way? That is, implemented in serde in a way that supports deserializers/serializers like these. Is it possible?
Either a new field attribute like #[serde(inline)], or an item attribute to modulate the implementation of all flatten?

I think, that new attribute is unnecessary. serde(flatten) cause so many weird issues, that it's just broken and should be fully reworked. So this is mostly duplicate of #1183

Yeah I don't feel we need an issue to track this outside of #1183. If there are still remaining limitations after that one has been resolved, please open a new more specific issue at that point.


[MINOR][SQL] Fix typo for config hint in SQLConf.scala

What changes were proposed in this pull request?

This PR fixes typo for spark.sql.legacy.allowCreatingManagedTableUsingNonemptyLocation in SQLConf.scala.
Why are the changes needed?

This is a Broken windows theory change.
Does this PR introduce any user-facing change?

Yes, after merging this PR, the error message for commands such as
spark.conf.set("spark.sql.legacy.allowCreatingManagedTableUsingNonemptyLocation", "true")

, users will get a typo-free exception.
How was this patch tested?

This is a trivial change.

Can one of the admins verify this patch?

that;s fine. but can you take a look and see if there are some more typos? I think it's better to fix in batch while we're here.

BTW, Apache Spark repo leverages the Github Actions resources from your forked repository. The PR will start the tests once you enable it in your forked repository (see also https://github.com/apache/spark/pull/33389/checks?check_run_id=3085379864)

Jenkins test this please

Test build #141213 has started for PR 33389 at commit bb52c94.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45726/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45726/

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

that;s fine. but can you take a look and see if there are some more typos? I think it's better to fix in batch while we're here.

I can skim through this file. I'll push a commit in 24 hours.

BTW, Apache Spark repo leverages the Github Actions resources from your forked repository. The PR will start the tests once you enable it in your forked repository (see also https://github.com/apache/spark/pull/33389/checks?check_run_id=3085379864)

When I looked at the settings, GH was telling me it's already enabled

Test build #141213 has finished for PR 33389 at commit bb52c94.

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

Merged to master.

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


multichannel argument

Hello,
I've been looking through the web as well as trying to modify py code but since there are not reported issues, I must be doing something wrong. When I run
python run.py --enable_animation_mode --settings "./runSettings_Template.txt" --model "v1-5-pruned-emaonly.ckpt"
It hits an error soon after
File "E:\stable-diffusion\DeforumStableDiffusionLocal-main\run.py", line 488, in
main()
File "E:\stable-diffusion\DeforumStableDiffusionLocal-main\run.py", line 404, in main
render_animation(args, anim_args, animation_prompts, root)
File "E:\stable-diffusion\DeforumStableDiffusionLocal-main\deforum-stable-diffusion\helpers\render.py", line 396, in render_animation
prev_img = maintain_colors(prev_img, color_match_sample, anim_args.color_coherence)
File "E:\stable-diffusion\DeforumStableDiffusionLocal-main\deforum-stable-diffusion\helpers\colors.py", line 15, in maintain_colors
matched_lab = match_histograms(prev_img_lab, color_match_lab, multichannel=True)
File "C:\Users\Pete Scott.conda\envs\dsd\lib\site-packages\skimage_shared\utils.py", line 326, in fixed_func
return func(*args, **kwargs)
TypeError: match_histograms() got an unexpected keyword argument 'multichannel'
I've tried installing everything from scratch and still hit this issue.
Any suggestions?
Thanks,
Pete

Nevermind ...


Compile bitcode tests with -O3

Having to run them in an unoptimized mode makes for really slow tests due to all the load and store queries that must be made to the solver. This resolves the issue by ensuring that they're compiled in the same way they were in the cmake build system.

Yeah turns out the optimizer saw straight through one of the regression tests and just optimized away the failing bit. I've gone and wrapped that in an optnone attribute. Hopefully it doesn't fail now.


Check if defaultParams is undefined before concatenating

This patch sets "defaultParams" to blank if it's undefined.
Otherwise, if you're missing "defaultParams" in the
"edsConfig" object stored in local storage, you'll get
the string "undefined" in your search string, which
causes it to return no search results.
For example:
/plugin/Koha/Plugin/EDS/opac/eds-search.pl?q=Search?
query-1=AND,:{test}undefined&default=1
TEST PLAN
Assuming that you already have "defaultParams" in your local storage...

Do a "Discovery" search and note that you get results

At the "eds-search.pl" page, press F12

Click on the "Resources" tab

Click the arrow next to "Local Storage" and
click on the web address listed thre.

Go to the "jStorage" key

Right click on the value to the right of it and click
"Edit Value"

At this point, it would be easiest to Ctrl+A Ctrl+C,
and then edit the text in a text editor.

Search for "defaultParams" and remove that property
from the object.

Copy from the text editor back into the local storage
key-value table.

Refresh the page

Click "Go" again on your search

Note that your URL appears as above and your
search box will have "undefined" concatenated to the
end of your actual search string.

Actually, I'm going to close this one and open a new one after I fix my branch structure...


Membership application

A not yet registered user should be able to register via Keycloak. Additionally, there are some user properties we want to gather during the registration process and save in our database. We should also modify the self registration form to include a billing address or other neccessary information for the membership fee (in case not enough coins for a contributing membership are gathered throughout a year). It's also worth considering enabling email verification so that we have a guaranteed channel for communication in case the membership fee is not paid in time.

Unfortunately, Keycloak does not allow to set different redirect URLs between login and signup. That means if we want to do a two step registration as proposed in todays meeting, we would need to check in the frontend application if the user already has data in the database or not. We might also set the redirect URL to an to be implemented profile page so that we can perform this database check at the same location where we already would be fetching the user data, thus not needing to share the api implementation with the rest of the app and having a cleaner seperation of concerns.
@markus2330 what are your thoughts on this?

We will implement everything in PermaplanT and store everything in our DB. Yvonne is investigating which data should be asked for. Please tell us in which format you want the information.
Keycloak and Nextcloud (e.g. change amount of available space) will be done manually after registration in PermaplanT (at a later point API calls to Keycloak/Nextcloud might be used to avoid the manual process).
To make sure to not confuse data submitted initially with the up-to-date data in Keycloak, we will use registration_* in the table names, e.g. registration_email for the email as written in the registration. (Which cannot be seen or changed later in the settings. But obviously it will be removed when a user deletes the account.)
To get a notification when someone registered, we will write something to a Nextcloud chat for now (once #380 is ready).
Email verification ideally should be done with Keycloak (iiuc a password link will be send on temporary accounts).
For the uid we will search for a solution when we configure Nextcloud to work with Keycloak. Maybe it is possible to set the uid manually in Keycloak with the value we already have in PermaplanT.

@ThorbenStaufer The improved version of onboarding is now described in https://github.com/ElektraInitiative/PermaplanT/pull/425/commits/b9e653463c64ee4b17aff28c0cbf83df5b5a4c32
@ThorbenStaufer The forms of Yvonne are still valid, only a few photos (for user and for maps) etc. got added.
@kitzbergerg can you also take a look if this makes sense (especially from Keycloak point of view).


Storybook is out of date

I'd like to update storybook to take advantage of the updated API around adding parameters and decorators to stories.

Closed by #35


Issue reporter: use custom dropdown on Windows

I suggest to use our custom dropdown on Windows for the issue reporter to match the style of dropdowns we have in the workbench:

@RMacfarlane
If you need anything on this, let me know.
I can also pick this up if you wish.

@bpasero I started looking into this and found that using the custom SelectBox widget would introduce a fairly large amount of code bloat:
In short: the Issue Reporter window doesn't have some of the services needed by SelectBox, particularly ContextViewService, which requires a LayoutService. While that can be shimmed to work, we're still left without a styling service. Currently the styles are transferred as query params to the new window, and as the SelectBox builds upon the List widget, it requires a ton of different color keys, which then need to be serialized and deserialized, and all in all it's just a big can of worms.
At that point I consulted with Rachel and we decided this would be more bloat than its worth,  additionally, I consulted with @eamodio and the current Windows dropdowns seem stylistically and functionally fine. Unless you feel differently I'm going to close as out of scope.


Reconnect before every podman call

Reconnect before every podman call.
This is needed, because after every upgraded
exec call, the connection has to be disconnected.
This caused issues when another podman calls
were done on closed connection
Fixes: https://github.com/fromanirh/pack8s/issues/18
/cc @fromanirh
Signed-off-by: Karel Šimon<EMAIL_ADDRESS>

should fix https://github.com/fromanirh/pack8s/issues/18


[FEAT]: Add Fedspring IST as Supported Target Environment

[x] Need to update environment variables to include fedspring ist instance url
[x] Need to update zod schema to support FEDSPRING_IST as valid test env value
[x] Need to update zod schema with FEDSPRING_IST_INSTANCE_URL value
[x] Need to update github workflows to account for new environment variables.
[x] Run small subset of tests locally against fedspring ist instance and verify they pass.

Tests run locally after initial configuration:
playwright-report.zip


Skipping Files that Already have Desired Require Statement

Not sure how to approach the tests. It seems we have a single input/output file per codemod. These changes would require 2 different inputs (1 with the desired require statement and one without it)

@gordillo99 see https://github.com/facebook/jscodeshift/blob/master/README.md#definetest.  It supports multiple test fixtures.


Allow After/BeforeTestWithContext usage in superclass

Allowing usage of

@BeforeTestWithContext
@AfterTestWithContext

in superclasses. It's often used to build a common set of tests and their initialisation for multiple contexts.

CC: @findepi

Would it be possible to have a test for that?
Also, let's make sure (i.e. have a test coverage) than an overridden setup method gets invoked once.

when super is annotated
when super and overriding are annotated

Would it be possible to have a test for that?
Also, let's make sure (i.e. have a test coverage) than an overridden setup method gets invoked once.

when super is annotated
when super and overriding are annotated

Yes added.

I don't see CI results.

@aczajkowski can you please push an empty commit to force CI run?

@aczajkowski can you please push an empty commit to force CI run?

Seems CI is not starting. No idea why 🤷♂

Seems something wrong with Travis CI - https://travis-ci.com/github/trinodb/tempto/requests.

i wasn't aware we're still on travis with this one. Maybe that's why. Travis UI tells me that

Builds have been temporarily disabled for private and public repositories due to a negative credit balance. Please go to the Plan page to replenish your credit balance.

We might need to pick up https://github.com/trinodb/tempto/pull/62 and drive it to completion first.

@findepi @hashhar Hi I've got back after holidays, how can we follow up on this ?

I've created https://github.com/trinodb/tempto/pull/83 as first part of moving to GHA. I have another branch with actual changes which I will open a PR from once #83 gets merged (since workflows don't run unless they are present in master branch).
Once that is done this branch can be tested and we can proceed.


fix ttml background image support

Since #1962, any nodes with begin or end attributes with empty content would not be interpreted as cues (<p begin="xx" end="xxx" smpte:backgroundImage="yyy" /> for example)
This PR fixes this.
To test: Live sim TTML Image Subtitles embedded (VoD)

There we go. I also tested all of our subtitles assets, which seem to be fine :)


Update PinLayout comparison

Hi, I have simply updated the information regarding PinLayout 🙂

PinLayout is only written in Swift, even if the framework support Objective-C
PinLayout support macOS
PinLayout has Run-time Warning, see https://github.com/mirego/PinLayout#warnings

Good job for this nice table and project. Build-time error is a really a good idea

@lucdion Thanks very much for your PR! I'll send you the update of LayoutFrameworkBenchmark's PR later 👍


Show version and update or have new version

Hi guys,
I'm looking here, isn't good idea to put on admin actual version and display if version is new or if have new version and link to changelog or site?

Thanks your feed back!
But I think discussion of this issue should be merged to https://github.com/gogits/gogs/issues/1670 ...


Ranking Algorithm based on pLDDT and pTM scores

I have a question about the ranking pipeline, which is based on pLDDT scores.
However, is there any reason why this pipeline uses pLDDT scores on the monomer pipeline?
Because I thought that sorting pTM could be more suitable than the mean value of pLDDT because of its definition of TM-score.

Hi, we used the average pLDDT for scoring our original CASP14 submissions and thus we are sticking to this score for the monomer system. For multimers, we found using newer pTM-based scores beneficial, as we can also have a weight on the interfaces confidence. In practice, both scores provide model predicted confidence and can be used for scoring.


The electric proxy hangs when LOG_LEVEL: "debug" is NOT set

I'm using the new migration proxy. When pushing migrations via it using yarn prisma migrate deploy --schema prisma/electric-proxy/schema.prisma the tool hangs and never ends. When connecting to the proxy via netcat the proxy accepts the connection but never sends anything back.
The logs of the electric server don't indicate anything was wrong. I then added LOG_LEVEL: "debug" to it to see what is going on. Turns out the prisma migration tool started working! I then proceeded to disable debug mode again and the proxy hanged again .-. Did that a few more times and I get the same result everytime:

With LOG_LEVEL: "debug" the migration proxy works
Without LOG_LEVEL: "debug" the migration proxy hangs forever .-.

In debug mode when i'm running migrations the logs are littered with 18:23:24.440 pid=<0.3431.0> proxy_session_id=6 [debug] unrecognised from_clause object
For example:
18:23:24.440 pid=<0.3431.0> proxy_session_id=6 [debug] unrecognised from_clause object %PgQuery.Node{node: {:join_expr, %PgQuery.JoinExpr{jointype: :JOIN_INNER, is_natural: false, larg: %PgQuery.Node{node: {:join_expr, %PgQuery.JoinExpr{jointype: :JOIN_INNER, is_natural: false, larg: %PgQuery.Node{node: {:range_var, %PgQuery.RangeVar{catalogname: "", schemaname: "", relname: "pg_type", inh: true, relpersistence: "p", alias: %PgQuery.Alias{aliasname: "t", colnames: []}, location: 215}}}, rarg: %PgQuery.Node{node: {:range_var, %PgQuery.RangeVar{catalogname: "", schemaname: "", relname: "pg_enum", inh: true, relpersistence: "p", alias: %PgQuery.Alias{aliasname: "e", colnames: []}, location: 242}}}, using_clause: [], join_using_alias: nil, quals: %PgQuery.Node{node: {:a_expr, %PgQuery.A_Expr{kind: :AEXPR_OP, name: [%PgQuery.Node{node: {:string, %PgQuery.String{sval: "="}}}], lexpr: %PgQuery.Node{node: {:column_ref, %PgQuery.ColumnRef{fields: [%PgQuery.Node{node: {:string, %PgQuery.String{sval: "t"}}}, %PgQuery.Node{node: {:string, %PgQuery.String{sval: "oid"}}}], location: 255}}}, rexpr: %PgQuery.Node{node: {:column_ref, %PgQuery.ColumnRef{fields: [%PgQuery.Node{node: {:string, %PgQuery.String{sval: "e"}}}, %PgQuery.Node{node: {:string, %PgQuery.String{sval: "enumtypid"}}}], location: 263}}}, location: 261}}}, alias: nil, rtindex: 0}}}, rarg: %PgQuery.Node{node: {:range_var, %PgQuery.RangeVar{catalogname: "", schemaname: "pg_catalog", relname: "pg_namespace", inh: true, relpersistence: "p", alias: %PgQuery.Alias{aliasname: "n", colnames: []}, location: 292}}}, using_clause: [], join_using_alias: nil, quals: %PgQuery.Node{node: {:a_expr, %PgQuery.A_Expr{kind: :AEXPR_OP, name: [%PgQuery.Node{node: {:string, %PgQuery.String{sval: "="}}}], lexpr: %PgQuery.Node{node: {:column_ref, %PgQuery.ColumnRef{fields: [%PgQuery.Node{node: {:string, %PgQuery.String{sval: "n"}}}, %PgQuery.Node{node: {:string, %PgQuery.String{sval: "oid"}}}], location: 321}}}, rexpr: %PgQuery.Node{node: {:column_ref, %PgQuery.ColumnRef{fields: [%PgQuery.Node{node: {:string, %PgQuery.String{sval: "t"}}}, %PgQuery.Node{node: {:string, %PgQuery.String{sval: "typnamespace"}}}], location: 329}}}, location: 327}}}, alias: nil, rtindex: 0}}}

Here's the PCAP of when the hang occurs https://drive.google.com/file/d/19lzfrUFxXbc9p_R4CAjBFCELWwG9uqH3/view?usp=sharing
In the pcap first graphile-worker installs itself which succeeds

then when prisma connects the migrations hang forever

Hey @gorbak25. Thanks for the detailed report!
I take it you're using Prisma to manage your app's migrations? What username does it use to connect to the Proxy?
And if possible, please include the full Electric log, both with LOG_LEVEL set to debug and without it. If you can also provide Postgres logs to correlate with, that'd be superhelpful.

@gorbak25 if you could also provide the content of the migration that's failing that'd also be extremely helpful. Thanks

@gorbak25 is this still an issue?

For me it is still an issue. I tried it with log level debug but got the same result. The migrations just hang and never finish without any error.

@andrezimpel Thanks for letting us know! We'll look into this.

I cannot reproduce this using the latest version Electric. Here's what I did:
Create a file named schema.prisma with the following contents:
datasource db {
  provider = "postgresql"
  url      = "postgresql://postgres:proxy_password@localhost:65432/postgres"
}

model Item {
  value String @id

  @@map("items")
}

Start Electric sync service with LOG_LEVEL=debug, connected to an empty DB.
Execute prisma migrate dev --name init --schema schema.prisma and check the output:
Environment variables loaded from .env
Prisma schema loaded from schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:65432"

Applying migration `20240514104020_init`

The following migration(s) have been created and applied from new schema changes:

migrations/
  └─<PHONE_NUMBER>4020_init/
    └─ migration.sql

Your database is now in sync with your schema.

Execute prisma migrate deploy --schema schema.prisma:
Environment variables loaded from .env
Prisma schema loaded from schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:65432"

1 migration found in prisma/migrations

No pending migrations to apply.

Reset the database, restart the sync service with LOG_LEVEL=info and execute prisma migrate deploy --schema schema.prisma once again:
Environment variables loaded from .env
Prisma schema loaded from schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:65432"

1 migration found in prisma/migrations

Applying migration `20240514104020_init`

The following migration have been applied:

migrations/
  └─<PHONE_NUMBER>4020_init/
    └─ migration.sql

All migrations have been successfully applied.

This may have been another symptom of the problem fixed in https://github.com/electric-sql/electric/pull/998.


⚠ Samsung has degraded performance

In 7ceabd8, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2445 ms

Resolved: Samsung performance has improved in 752c540.


Do something if the index might give away the game

Slate has a great article about how they used the index of a document to figure out a bunch of redactions. Basically, a word would be redacted in some places, but not others, so you could look up the word in the index and figure it out:
https://slate.com/news-and-politics/2020/10/ghislaine-maxwell-deposition-redactions-epstein-how-to-crack.html
I suppose this is beyond what computers can do, BUT it'd be nice if we could highlight if there's an index that could be used for this purpose?

This one is a bit tricky but at the very least something like this should be possible:
if index exists:
    for each redacted word w in index:
        x = last alphabetical unredacted word before w
        y = first alphabetical unredacted word after w
        for each location (page, line) of w:
            if there are no redactions in line:
                flag every word between x and y for possible improper redaction
            else:
                ws = words in line between x and y
                for each x in ws:
                    flag x if location in w has redactions and x is not in line

Let's use finding Clinton in the Maxwell deposition as an example of how this would work. Going through the redactions in the index we would check the one between clients and clock. Then, going through the locations of the redacted word, we would see on page 135, line 7 that there are no redactions, so we flag every word between clients and clock, which in this case is only Clinton.
While this won't find every instance of being able to figure out redactions given an index, it should still be helpful

As I was thinking of the previous this I realized that it could be simpler to just start with checking that every location of a redacted word in the index has at least one redaction as a sanity check

Pretty neat. There is a lot of handwaving at hard stuff (like figuring out what line 7 is, say), but the algorithm sure seems about right.


type value "tuple[]" is either invalid or unsupported by ethjs-abi

i get this if my function return an array

We don’t support tuple types, as this library is largely frozen, unless you
want to add this in, I’d recommend using ethers js, particularly their abi
module.
Hope that helps.
On Wed, Sep 9, 2020 at 11:19 AM erlanggalab<EMAIL_ADDRESS>wrote:

i get this if my function return an array
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ethjs/ethjs/issues/38, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACK2CXRCFB5HWYVW67RA3ADSE6MJJANCNFSM4RCQ6MSQ
.


:arrow_up: Bump kairos deps

Signed-off-by: mudler<EMAIL_ADDRESS>

Codecov Report

Merging #202 (64a8498) into main (fc894df) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #202   +/-   ##
=======================================
  Coverage   10.92%   10.92%
=======================================
  Files          15       15
  Lines         879      879
=======================================
  Hits           96       96
  Misses        758      758
  Partials       25       25

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


Fix producer metric reporting non-published version

On each cycle that is run, a toVersion is computed.
The currentVersion metric of the producer is updated on each cycle to the above version. I find that misleading because when there is NO state change, there will be no new version published but the metric will still be updated, pointing to a non-existent version.
If I understood correctly, the producer's readState will be null when there is no state change so I removed the else branch in which the version update happened.
Also added a gradle setting to build the subprojects in parallel.
Use-case for this metric: we want to add an alert for consumers that are out-of-sync with the producer for a given amount of time. For that we look at the consumer's reported version and at the producer's version.

ping @toolbear @rpalcolea @akhaku

Closing this in favor of https://github.com/Netflix/hollow/pull/459


feature request: compact note title/edges for stacked tabs

Hi there,
Would it be possible to set an option to have a compact title for stacked tabs, in the same way there is a compact option for tabs?
For now, the title/border is quite large

I'll look into it!

The option for it is now in the latest update! Please give it a check and let me know if it works.

Closing thread as there seems to be no issue for now!


Ability to add custom CSS files

via @mattdowle @lo5
Proposed API
Add an api similar to ui.script() and ui.inline_script(), but for CSS.

Hi. Excited there's a PR for this already. I'm waiting for it for https://github.com/h2oai/wave-apps/pull/84.
Once it's merged, there need to be a new waved released I assume, and then a new wave package for R too, and then I can use it? If so, is there an ETA for this? Thanks! @lo5 @ashrith


Update am-installing.adoc

@michael-lee-mulesoft Old runtimes (RTF, maybe) might still use that old 5044 port. I think it makes sense to add that in the troubleshooting section. Thoughts?


Do not fallback to default language if the string is not translated

Hi there!
Right now, if some strings are not translated and I'm doing export to Android format - the strings from default language will be used. Sometimes this is not useful so it would be great to have a possibility to disable such stuff. Is there such an option?

@nzakharchenko yes, you can use   --inheritance-mode        Inheritance Mode. Used when there is no translations in the target locale        for a text unit. (USE_PARENT to fallback to parent locale translation,        REMOVE_UNTRANSLATED to remove the text unit from the file        Default: USE_PARENT        Possible Values: [REMOVE_UNTRANSLATED, USE_PARENT]

@aurambaj oh, nice! Somehow I've missed that in the documentation! That's exactly what I need. Thank you!


Feature: Remember Columns Selected between visits

Feature Request: I would like a persistent cookie to remember your columns selected between visits.  I find that most people using this tool really only want to see a specific sub-set of columns, and this is likely to stay the same in your role (eg: you only care about Windows pricing, or you always want to see the GPU column, or you don't care about network performance or EBS volume columns/features).
Reasoning: I use this tool multiple times daily to do my job, every time I re-load this I have to re-select/unselect the desired columns I wish to see to figure out the recommended instances for a specific task.  Since typically these columns are the same for any one individual, it seems annoying to always default to some pre-defined generic column-set and would be more ideal to allow users to persist their desired columns.
Optionally, allow a user to disable this feature.
Note: I would happy to sponsor this feature request with a bounty.  I'd gladly send a couple hundred dollars to the implementer of this feature, either via something like Paypal, Crypto, or some gift card somewhere.  This feature would save me time, and effort and would be happy to support having this.

Hey @AndrewFarley this is currently a supported feature and relies on the built in stateSave (https://datatables.net/reference/option/stateSave) feature in DataTables. It uses localStorage and sessionStorage APIs. Can you let me know what browser you are using and if you are blocking any access to localStorage?

@brookemckim Is there some timeout on this setting?  I use this at least once a day, and I usually close the window afterwards, and as much as I can recall, every day I have to go un-check all the Windows columns.  I do notice if I immediately refresh, or close and reopen after the list and site completely loads then it seems to load the state and change the columns visible after like 5-7 seconds.  But, if I open this later today or tomorrow, it'll have those columns I don't need again.

@AndrewFarley thank you for that debug info. I believe I found the issue. DataTables by default only accepts state less than 7200 seconds old. I am going to change this to permanent and it should resolve this for you.

@brookemckim Amazing!  Going to save me and I assume many others so much time.  Thanks much, please close this when you fix it, and I'll keep an eye on this over a period after and confirm the fix.  Cheers!

Closing, as I have confirmed this is working.


Follow-ups for Rails CSP nonce, #2544

Here are some follow-ups related to community-submitted PR #2544

Add unit tests for the change
Add a changelog entry for the change
Test the change when used in conjunction with NewRelic::Agent.browser_timing_header

Knock it off, workato.


Wrong updated/created date for sensu-influxdb-handler versions

When switching between sensu-influxdb-handler versions on the bonsai page, the "updated" and "created on" dates on the right do not seem to change; it looks like they stay the same as the latest release. See 3.1.1 vs 3.1.2. All the dates are "February 25, 2019".
For comparison the pagerduty handler's page seems to work fine in that regard.

Thanks @ccressent - we'll take a look.   CC @pzupan

All of the versions for sensu-influxdb-handler have a created and updated date of Feb. 25, so it appears the view is working properly.

@pzupan can you clarify what those dates are or where they are coming from then? They don't seem to correspond to anything related to the git/github/release activities, be it for sensu-influxdb-handler or sensu-pagerduty-handler.

It sounds like those dates are generated at the time the asset is added to bonsai, which is the native behavior of rails.  Is this limited to Enterprise hosted assets?  Perhaps the file importn(as opposed to the github import) is not capturing a relevant date.

I'm not sure what the original intent was with those 2 dates on the right hand side, but here are a few notes as a (new) Bonsai user:

Created on can either be:

the date when the asset page was created on Bonsai
the date when that particular version was released on github
the date when that particular release was added to Bonsai
That should be the same as ii. anyway.

Updated can either be:

the date when the asset page was updated on Bonsai
the date when that particular version was updated on github
That shouldn't happen since we would just make a new release, bumping the patch version up.
the date when that particular version was updated on Bonsai
That should be the same as ii. anyway.

Right now I don't know which combination of the above is being used because not all the pages appear to be working the same way: take sensu-influxdb-handler and sensu-pagerduty-handler; the former keeps the same "updated" date across all the versions one picks while the later changes the "updated" date depending on the version one picks.
Also, even if the dates change like on the page for sensu-pagerduty-handler, last time I checked those dates did not necessarily correspond to anything in git/github anyway.

@ccressent I think you are correct.  The only comment I can add is that Bonsai is changing the updated date anytime the asset is re-compiled, so that is why you're seeing some assets with an updated date different than the created date (note I have not confirmed this, but this is the standard configuration in rails).

It's unclear if this has been resolved, however we should revisit what metadata is even displayed on the asset pages and address any issues at that time.


Update the search text field design

Hint color should be white?
Color of text when typing should be different?
Cursor should be different?

Done by Robin


add contact page and update home

@mechamanny Hey Emmanuel! When you get a chance, would you review my code for the solo challenge? Any feedback you can give me would be greatly appreciated! :smile:

Overall good work. You are formatting the page correctly and using tags that make sense. The form element should be posting to the httpbin website and consider using some of the html5 tags to better define your layout.


all extensions syntax highlight not working

Issue Type: Bug
all syntax is recognized as plaintext, all is white, all extensions syntax highlight not working
VS Code version: Code 1.23.1 (d0182c3417d225529c6d5ad24b7572815d0de9ac, 2018-05-10T16:04:33.747Z)
OS version: Linux x64 2.6.32-696.el6.x86_64

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz (48 x 1200)

GPU Status
2d_canvas: unavailable_softwareflash_3d: unavailable_softwareflash_stage3d: unavailable_softwareflash_stage3d_baseline: unavailable_softwaregpu_compositing: unavailable_softwaremultiple_raster_threads: unavailable_offnative_gpu_memory_buffers: disabled_softwarerasterization: unavailable_softwarevideo_decode: unavailable_softwarevideo_encode: unavailable_softwarevpx_decode: unavailable_softwarewebgl: unavailable_offwebgl2: unavailable_off

Load (avg)
3, 3, 3

Memory (System)
125.96GB (21.20GB free)

Process Argv
/usr/local/VSCode-linux-x64/code

Screen Reader
no

VM
0%

@baniyasi you get no syntax highlighting at all for any kind of file? Or what specific kinds of files?

any kind of file,

@baniyasi does this happen with all extensions disabled? And do you possibly having files.associations set in your settings.json?

i just installed it, my settings.json is empty. Is it because the version I use is too old? I use CentOS 6 system

code completion works well, the problem is highlight, even settings.json's highlight is not work

I don't think that should matter. How did you install VSCode? Through the RPM repo? I am not even sure if CentOS 6 is a supported platform by Electron anymore.

I don't think that should matter. How did you install VSCode? Through the RPM repo? I am not even sure if CentOS 6 is a supported platform by Electron anymore.

install by extract  .gz file.   i know that some people use this version of vscode in CentOS 6 as I do, but they don't have the highlight problem, others have the same problem as me.   anyway, thanks for your reply and help

Do you see any errors in your developer tools console?
Could you also provide a screenshot of the issue?

Do you see any errors in your developer tools console?
Could you also provide a screenshot of the issue?

i found an ERR in the developer tool that required glibc2.14. Now that the problem has been solved, thank you very much

No problem. Have a good one :).


CustomCertificateValidationCallback cannot distinguish multiple client connections

My application makes 2 client connections via SSL.  Each connection uses a different CA Root certificate for validation.  Each IMqttClient adds a method to MqttTcpChannel.CustomCertificateValidationCallback that validates the server certificate against the CA Root for that IMqttClient.
The problem is that CustomCertificateValidationCallback is not client-specific, so whenever either client connects the CustomCertificateValidationCallback is called twice, once for each client that has added a callback to the callback list.  In all cases, one of these two callbacks will fail since the server certificate of one client will always fail against the CA Root of the other.  A certificate validation will fail if any callback returns false.
In order to correct this, the callback needs to know which client is trying to connect.  The callback has a MqttClientTcpOptions argument, which contains Server and Port members.  Theoretically the callback could compare Server and Port to the original connection parameters.  But that won't work, as the connection was likely made to a DNS name, not an IP address, and the Server member contains the IP address.  This causes a problem when the MQTT server is behind a reverse proxy where the DNS name may be used to route a connection to a different MQTT server running at the same IP address.  I realize this isn't pertinent to TCP connections, but it is for WebSocket connections.
So, I have to write this code in the certificate validator:
FieldInfo optionsInfo = Client.GetType().GetField("_options", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
if (optionsInfo != null)
{
    IMqttClientOptions ioptions = optionsInfo.GetValue(Client) as IMqttClientOptions;
    if (ioptions != null)
    {
        MqttClientTcpOptions options = ioptions.ChannelOptions as MqttClientTcpOptions;
        if (options != null)
        {
            if (tcpOptions.Server != options.Server || tcpOptions.Port != options.Port)
            {
                // This is not our responsibility, so return true.
                return true;
            }
        }
    }
}

I would like to suggest that the CustomCertificateValidationCallback take an argument of type IMqttClient that identifies the connecting client so that we don't need to dig around in the private members of MqttClient using reflection to be secure.

Hi, I will add the client options to the callback and also add a new callback which can be specified at the client options. I will let you know when the new version is released.
Best regards
Christian


a pull request

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

@linhphi9x94 this looks like a mistake: 0.19.x is for hotfixes to the 0.19.x releases, not all commits from master should go there. Let me know if there is something specific you wanted.


DevLog

Cassidy is a really terrible name, a better one needs to be found

Consider supporting special characters and emojis
E.g:
>>> case.parse('me&you')
['me', 'and', 'you']
>>> case.parse('eggs+ham=delicious')
['eggs', 'add', 'ham', 'equals', 'delicious']

Create a separate library for the parsing side? (e.g. named cleanse)

Make sponge-case non-random so that it's reproducible?

Add examples for all case styles to the README (or use a table)

Create a Parser protocol/abc so the user can use their own?

Support multiple parsing strategies, e.g. for fooBARbaz and IPAddress

Use Python-slugify under the hood for now?

Create a CLI, e.g:
case lower "THIS-IS-A-TEST"

The code base needs to be massively sorted out. KISS

Create abs use interfaces (e.g. for renderer, translator

Don't show parsing as an example in the README, it's out of scope

Create tests for renderers & translators

Support lossless case styling, e.g:
>>> lower('-FOO-BAR-')
'-foo-bar-'

Accept a list of strings instead of a string?

Create a method on models.Case that feeds through a list[str] (so they can use their own)

Reduce typing in renderers:
def _join(sep: str) -> Renderer:
    def renderer(strings: list[str], /) -> str:
        return sep.join(strings)

    return renderer

space: Renderer = _join(' ')

@dataclass
class Joiner(Renderer):
    sep: str

    def __call__(self, strings: list[str], /) -> str:
        return sep.join(strings)

space: Renderer = Joiner(' ')

Change translators to use Iterable[str]
def lower(strings):
    for string in strings:
        yield string.lower()

import case

@case.style
def lower(strings: Iterable[str], /) -> str:
    return ' '.join(string.lower() for string in strings)

import case

@case.style(name='LOWER', translator=case.translators.lower)
def lower(strings: Iterable[str], /) -> str:
    return ' '.join(strings)

Rename translators to middleware?

Standardise all renderers
@dataclass
class Renderer:
    head: str
    tail: str
    lpad: str
    rpad: str
    sep: str

<head>
    <lpad>foo<rpad>
    <sep>
    <lpad>bar<rpad>
<tail>

@dataclass(frozen=True)
class LowerCase(Case):
    translator: Translator = translators.lower
    renderer: Renderer = renderers.space

R.e. Translators, consider foo bar Baz. It needs to know the number of words in the sentence.
for word in sentence:
    if word.index == len(sentence):
        return word.title()

    return word.lower()

Also, add utility methods such as word.is_first(), word.is_last()

Implement a reverse translator

You should be able to use multiple translators, e.g. "foo bar" -> "BAR FOO"

- # NOTE: Use paraterised generic: Entry[str]
@dataclasses.dataclass
class Entry:
    value: str
    index: int = 0
    offset: int = 0

    def __iter__(self) -> typing.Iterable["Entry"]:
        index: int
        entry: str
        for index, entry in enumerate(self.value):
            yield type(self)(
                value=entry,
                index=index,
                offset=self.offset+index,
            )

Go back to old-style translators, no models?
def alternating(strings: list[str], /) -> list[str]:
    string_index: str
    string: str
    for string_index, string in enumerate(strings):
        character_index: str
        character: str
        for character_index, character in enumerate(string):
            ...

Create that ndenunerarw method, then the offset can be built from the coords??

offset: int = 0

string: str
for string in strings:
    character: str
    for character in string:
        print((offset := offset + 1), character)

@character_translator
def alternating(strings: Iterable[str], /) -> Iterable[str]:
    for index, character in itertools.chain(strings):
        yield ...

Rendering should be 2-way (bi-directional). Using the provided <Renderer> will create a .render() and .parse() for you, otherwise you'll have to create them.

It makes sense that, for example, case.flat() keeps track of its words, so that the style can be un-done?

Maybe the source words should never be forgotten?? Or their case can be. Keep it modular.

>>> case.snake('foo bar')
StyledString(words=['foo', 'bar'], ...)

Next steps: create Render.unrender, Render.match

Is '_foo_bar' snake case? If so, how does it unrender - as ['', 'foo', 'bar'] or ['foo', 'bar']

Expected API:
>>> import case
>>>
>>> case.snake
Case(name='snake')
>>>
>>> case.render(['FoO', 'bAr'])
'FoO_bAr'
>>>
>>> case.translate(['FoO', 'bAr'])

As a rule, translators should not add or remove any data, they should only translate it (e.g. change between upper/lower case)

Surely having multiple translators is inefficient. Imagine snake-casing the bee movie script, only want to do one translation parse...

How about, translators can be applied ltr or rtl.
E.g.
>>> list(case.camel.translate(['foo', 'bar', 'baz'], ltr=True))
['foo', 'Bar', 'Baz']
>>>
>>> list(case.camel.translate(['foo', 'bar', 'baz'], ltr=True))
['Foo', 'Bar', 'baz']

Make Renderer.render also return an Iterable.
E.g. case.snake.render(['foo', 'bar', 'baz']) -> ('foo_', 'bar_', 'baz')

Implement Coords:
class Coords(typing.NamedTuple[int]):
    x: int
    y: int

Show a real-world example, e.g:
>>> import case
>>>
>>> class SomeAwesomeClass: pass
>>>
>>> words = list(case.pascal.parse(SomeAwesomeClass.__name__))
>>> words
['Some', 'Awesome', 'Class']
>>>
>>> case.snake(words)
'some_awesome_class'

Drop dependence on parse, that's their problem. If anything, parse should have a dependence on case! (to access case.pascal.parse)


Unsafe call to JSON.parse in CsvError class

Hi there 👋
First, thank you guys for the awesome work on this library!
I might have found a bug in the implementation of the CsvError class: if a malformed CSV file is being parsed, and by malformed I mean one of the rows have less values than expected, a proper error is thrown from the __onRow internal handler, but when the CsvError constructor is reached, an unsafe call to JSON.parse is made.
Here's the stack trace of that error with the latest version (4.6.3) of the library:
SyntaxError: Unexpected token u in JSON at position 0
        at JSON.parse (<anonymous>)

      at new CsvError (/*****/node_modules/csv-parse/lib/index.js:960:26)
      at Parser.__onRow (/*****/node_modules/csv-parse/lib/index.js:636:15)
      at Parser.__parse (/*****/node_modules/csv-parse/lib/index.js:527:40)
      at Parser._transform (/*****/node_modules/csv-parse/lib/index.js:341:22)

This error comes from an anonymous function and is not catchable by the stream error event handler because it's not emitted at all, which makes it impossible to handle it properly.
Just for reference, here's the stack trace for the expected error (got by replacing the JSON.parse(JSON.stringify(value)); with JSON.parse(JSON.stringify(value || ''));):
Error: Invalid Record Length: header length is 24, got 23 on line 3
      at Parser.__onRow (/*****/node_modules/csv-parse/lib/index.js:636:15)
      at Parser.__parse (/*****/node_modules/csv-parse/lib/index.js:527:40)
      at Parser._transform (/*****/node_modules/csv-parse/lib/index.js:341:22)
      at Parser.Transform._read (_stream_transform.js:190:10)
      at Parser.Transform._write (_stream_transform.js:178:12)
      at doWrite (_stream_writable.js:415:12)
      at writeOrBuffer (_stream_writable.js:399:5)
      at Parser.Writable.write (_stream_writable.js:299:11)
      at ReadStream.ondata (_stream_readable.js:709:20)
      at ReadStream.emit (events.js:198:13)

If you are fine with the proposed quick fix, I can also open a pull request.
Otherwise, just let me know what you think and/or how can this be fixed in a better way.
Cheers!

Could you write us a simple example reproducing the issue?

Right, sorry, I completely forgot to provide a way to reproduce this :sweat_smile:
Basically, you need to have a CSV file that looks like this:
col_a,col_b,col_c
foo,bar
foo,bar,baz

If you use the parser without any options, you get the expected behavior.
However, the bug comes in only if you happen to use the feature from the columns configuration option that allows you to skip entire columns in the parsed objects by passing an array and setting a certain value to undefined, null or false.
So, here's the code to reproduce it (having input.csv in the same folder as the following NodeJS script, with both csv-parse and csv-stringify installed as NPM deps):
const {resolve} = require('path');
const {createReadStream} = require('fs');
const parse = require('csv-parse');
const stringify = require('csv-stringify');

const parser = parse({columns: ['a', 'b', null]});
const stringifier = stringify();

createReadStream(resolve(__dirname, './input.csv'))
  .pipe(parser)
  .pipe(stringifier)
  .pipe(process.stdout);

I also tried passing undefined or false as values of the columns array, but they all throw the same way.
Let me know if I can provide additional information or anything else. And as I mentioned before, I'll be glad to help solving it :v:


add support for CGA print function

find out where to redirect messages of "log" type per SOP...

Writing them to LOG_INF for now...


feat: resize onnx import

checklist

[ ] confirmed that run-checks all script has been executed.
[x] made sure the book is up to date with changes in this PR.

related issues/PRs

onnx op import sprint: https://github.com/tracel-ai/burn/issues/1714

changes
support Resize onnx import
testing
cargo test -p burn-import --color=always -- --color=always
cargo test -p onnx-tests --color=always

In the codegen for the node you could get the values in the size tensor. Something like
#size.to_data().value

In the codegen for the node you could get the values in the size tensor. Something like
#size.to_data().value

/edit: shoot I didn't realize the output_size is a fixed size array, that won't work.

it is a good idea, something like:
let data: [i64; 2] = input.to_data()
    .value
    .iter()
    .map(|x| x.elem())
    .collect::<Vec<i64>>()
    .try_into()
    .unwrap();

Yeah something like that could work to preserve the flexibility.
I think in most cases the sizes could be constant so we might be able to get the values directly when parsing the graph, but not entirely sure.
I see in the spec that ONNX also supports providing a scales instead, but let's limit the scope of this PR. We can just parse the other unsupported fields/inputs and throw an error message for the cases we don't support.


Add support for date in ChannelLogsQueryOptions

http://hydrabolt.github.io/discord.js/#!/docs/tag/master/typedef/ChannelLogsQueryOptions
It would be nice if I could pass { beforeDate: date } as an option. My use case is creating a sweeper to delete all messages over x hours old. Date could be a ISO string or a moment js object, whichever works better.
Is there a better way to accomplish this already? Thank you, really enjoying using this so far!

Also, I was wondering how performant querying channel logs is. My current solution sets up a messageCollector every hour that captures all messages, then sets up a cron job to delete the collection after 48 hours. The obvious limitation is that the messages to be deleted are in memory, but I don't have to query the entire message history every hour. Thanks!

The ChannelLogsQueryOptions are just taken straight from the official API. To implement a beforeDate the lib would have to call getMessages recursively until a message sent at beforeDate was reached, which is very impractical.
Also querying channel logs would probably be a lot more performant for you, because you don't have to store all the messages that way as you already said. Some people delete 1000 messages in 10 seconds which shouldn't be a problem. You can currently fetch 100 messages/second so you should be good to go.

Surely a binary search implementation would work? The messages are ordered after all. (bsearch for message with date closest to beforeDate, get id, then do query for { before: id })
Regardless, thanks for the clarification. Would you recommend fetching messages 100 at a time and deleting until I arrive at my time cutoff? (Not in a position to test atm -- do you know if the messages are returned most recently first or least recently first?) Thank you!


[Support Request]: Failed to use Export PDF

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
Hi,
I encounter a problem when I use export-books.php :
PHP Warning:  file_get_contents(http://localhost/api/books?count=100&offset=0): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found  in /home/userbookstack/export-books.php on line 72 PHP Fatal error:  Uncaught TypeError: Return value of apiGetJson() must be of the type array, null returned in /home/userbookstack/export-books.php:81 Stack trace: #0 /home/userbookstack/export-books.php(48): apiGetJson('api/books?count...') #1 /home/userbookstack/export-books.php(20): getAllBooks() #2 {main}   thrown in /home/userbookstack/export-books.php on line 81
First I have to explain my configuration, my bookstack is configured with SSL : https://bookstack.intra.local
This is the apache conf :
<VirtualHost *:443>
       'ServerName bookstack.intra.local
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/bookstack/public/
        SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/bookstack.intra.local cer
                SSLCertificateKeyFile /etc/ssl/private/bookstack.intra.local.key
My API Jeton is ok and this is the export-books.php file :
$apiUrl = getenv('BS_URL') ?: 'http://localhost'; // http://bookstack.local/
$clientId = getenv('BS_TOKEN_ID') ?: 'ThisIsMySecret';'
$clientSecret = getenv('BS_TOKEN_SECRET') ?: 'ThisIsMySecret';
Exact BookStack Version
21.08.5
Log Content
No response
PHP Version
No response
Hosting Environment
Ubuntu 18.4

Hi @Buliwif,
From the first part of the error message:
PHP Warning: file_get_contents(http://localhost/api/books?count=100&offset=0):

The script you're running is attempting to fetch from http://localhost whereas you're saying you have BookStack at  https://bookstack.intra.local.
You either need to configure the export-books.php file to set the $apiUrl as your instance base URL, Or you need to set a BS_URL environment variable when running the script to point at your instance.

As always, thank you for your quick response.
I forgot to say that I tried to set https://bookstack.intra.local in the export-books.php file. The result is :
PHP Warning:  file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in /home/userbookstack/export-books.php on line 72 PHP Warning:  file_get_contents(): Failed to enable crypto in /home/userbookstack/export-books.php on line 72 PHP Warning:  file_get_contents(https://bookstack.intra.local/api/books?count=100&offset=0): failed to open stream: operation failed in /home/userbookstack/export-books.php on line 72 PHP Fatal error:  Uncaught TypeError: Return value of apiGetJson() must be of the type array, null returned in /home/userbookstack/export-books.php:81 Stack trace: #0 /home/userbookstack/export-books.php(48): apiGetJson('api/books?count...') #1 /home/userbookstack/export-books.php(20): getAllBooks() #2 {main}   thrown in /home/userbookstack/export-books.php on line 81

@Buliwif Yeah, you'll get this with a self-signed certificate since it's not trusted by the instance you're running it on.
You'd either need to:

Add the HTTPS CA cert to the CA bundle used by PHP on the command-line machine.
or
Update the file_get_contents references to disable SSL verification, As per this stackoverflow post: https://stackoverflow.com/questions/26148701/file-get-contents-ssl-operation-failed-with-code-1-failed-to-enable-crypto

Thank You Dan,
I'll try it tomorrow and will tell you the result.

Hi,
Sorry for the delay but I was focused on other kind of problem on my job :)
The HTTPS CA is already present in /etc/ssl/certs
And for the file_get_contents solution, I try to modify the export-books.php
Initial :
function apiGet(string $endpoint): string {
    global $apiUrl, $clientId, $clientSecret;
    $url = rtrim($apiUrl, '/') . '/' . ltrim($endpoint, '/');
    $opts = ['http' => ['header' => "Authorization: Token {$clientId}:{$clientSecret}"]];
    $context = stream_context_create($opts);
    return file_get_contents($url, false, $context);
But I'm not sure of what I need to modify, (sorry but php is not my cup of tea... lol)

Hi,
So I finally tried this :
1st try
Modify the /usr/share/php/Composer/CaBundle/CaBundle.php
And add under $caBundlePaths = array( :
'/etc/ssl/certs/IntraLocalCA.cer'
systemctl restart php7.2-fpm.service apache2.service

Same problem

2nd try
Modify the /etc/php/7.2/apache2/php.ini
And add :
curl.cainfo = '/etc/ssl/certs/IntraLocalCA.cer'
openssl.cafile = '/etc/ssl/certs/IntraLocalCA.cer'
openssl.capath = '/etc/ssl/certs/IntraLocalCA.cer'
systemctl restart php7.2-fpm.service apache2.service

Same problem

Hi Dan,
I finally found the php.ini few minutes before you wrote you message, and it works.
Thank you for taking time with me :)
Have a nice day.

Just an additional question please (or do you prefer I open a new issue ?)
Lot of pdf have a size of 0Kb ans are unreadable.
And I think it's linked, I have this error message when using export-books.php :
PHP warning: file_get_contents(https://bookstack.intra.local/api/books/19/export/pdf): failed to open stream: HTTP request failed! HTTP/1.0 500 Internal Server Error in /export-books.php on line 90
Do you have an idea ?

You'll need to check the error log of your BookStack instance as per https://www.bookstackapp.com/docs/admin/debugging/.
My guess is potentially you're getting a timeout on exporting some books.

I think so it's a timeout cause it affect specially the biggest books, but can I easily  increase this timeout ?

It's likely a task of increasing the max_execution_time value in your php.ini as per https://stackoverflow.com/questions/3829403/how-to-increase-the-execution-timeout-in-php.

Thank You, I'll try this way.

Hi,
So, now I'm sure this is a timeout cause it happens only on the 2 biggest books.
So I modify php.ini :
max_execution_time=90
upload_max_files=20M
I check apache and the execution time is set by default at 300 seconds.
But it still don't work,
Is there something I miss ?

@Buliwif How long does it take before it times out?
You should be able to test this quickly via the standard BookStack user interface. Just export the book to PDF in the UI. Does the same actions in the background.

It takes about 20 seconds, from interface and from cli. Far from the 90s I set in the php.ini.

@Buliwif Ah, this timeout is probably for a different php.ini than the one you edited for the certificate stuff. This'll be relevant to the php.ini used by Apache. Likely the /etc/php/<7.3 OR 7.4 OR 8.0>/apache2/php.ini file

So strange...
I try to increase the both values on all my php.ini files :
max_execution_time=300
upload_max_files=20M
Moreover, I try to set no limit in all my php.ini files :
max_execution_time=90
upload_max_files=20M
Another test, I add this in the export-books.php :
set_time_limit (3000);
Same result...


Bug report

Describe the bug
Description says each user can have their own home folder, but nowhere does it say how to do this, as creating a new user is default to the root folder /
To Reproduce
Steps to reproduce the behavior:

Go to Users (after logging in as admin user)
Click on Users link at the top, then click on +New
Scroll down to 'Home Folder' click on the text box
Only folders that were previously created in the admin account are shown, new folders per user can not be created.

Expected behavior
When adding a new user, the option to create a folder under that user name should be available, as it stands, to create a new folder for a new user, one has to manually create the folder using the server command line, then chown it to the web server, then chmod the folder and contents to 755, then open the browser to filegator, login as admin, then create the new user selecting the newly created folder as the users home.  there is no way if using the new user to create a new folder there is only the option to select a folder.
Screenshots
If applicable, add screenshots to help explain your problem.
Logs
If applicable, add relevant FileGator logs entries from /private/logs/app.log or web server logs.
Environment (please complete the following information):

FileGator Version [e.g. 7.0.0]  Filegator v7.9.1
Server: [e.g. Apache 2.4 on Debian Linux] Apache2 on Headless Ubuntu 20.04 LTS
PHP Version [e.g. PHP 7.3] PHP v7.3.33
Browser [e.g. chrome, safari] Chrome Version 109.0.5414.75 (Official Build) (64-bit)

Additional context
Add any other context about the problem here.

Thank you for your feedback. I'll mark this as a feature request.


Update free-courses-en.md

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Added a new C++ lesson.
Why is this valuable (or not)?
It teachers English speakers how to use c++.
How do we know it's really free?
It is on youtube.
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!


uniswapv3 total value locked and tick data corrections

 #1
 new test: /tests/test_tick_caching.py
Fixes #
Checklist

[x ] My branch is up-to-date with upstream/main branch.
[x ] Everything works and tested for major version of Python/NodeJS/Go and above.
[ ] I ran pre-commit checks against my changes.
[x ] I've written tests against my changes and all the current present tests are passing.

Current behaviour
The current uniswapv3 implementation does not compute the correct "total value locked" for liquidity pools in ./total_value_locked.py's caclulate_reserves() function. Additionally, calls to the UniswapV3 helper contract's getTicks() function are very expensive, and they will currently be unnecessarily duplicated if called in multiple processes.
New expected behaviour
test_tvl.py should pass, indicating that the tvl calculation is within accepted accuracy.
get_tick_data() in ./total_value_locked.py should successfully store ticks on the first call, and retrieve cached tick data on a duplicate call.
test_tick_caching.py should pass
Change logs

 added tick caching to the total value locked calculation

 updated imports to work with the current pooler -> snapshotter_computes submodule structure

 Fixed the calculation of total value locked for uniswapv3 pools

Deployment Instructions
 tests can be run using poetry and python module notation:
poetry run python3 -m snapshotter.modules.computes.tests.test_tick_caching

Looks great!


Add post-commit-to-master hook for jenkins

On every commit to master, jenkins ( ci.centos.org ) should invoke cico_build_deploy.sh

This is done.


Made otp field text single digit and override text behaviour added

I will be pushing the changes you suggested above. Thank you.


fix: updated android studio configuration docs

Updated docs for configuration of Android Studio so the Flutter SDK directory is not indexed and shows up in search results. See https://github.com/fluttertools/fvm/issues/354#issuecomment-1135988562

@all-contributors please add @Giuspepe for doc


v1.15 Backports 2023-12-14

[ ] #29849 (@brb)
[ ] #29888 (@gandro)

Once this PR is merged, a GitHub action will update the labels of these PRs:
 29849 29888

/test-backport-1.15

/test-backport-1.15


Support umask

@Furisto I'm sorry, but can I ask you to solve the conflicts?

@utam0k Done

@Furisto Thanks a lot!


sile: 0.15.6 → 0.15.7

Per upstream release notes there are a few build related changes, but none that should affect this derivation.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I do need to add luarocks as a build time (not run time) dependency OR just configure the configure phase to not attempt to use it. AFK.

Done.


Can i only use monthpicker?

when I set format: 'MM' and viewMode: 'months', I also can select years. is there any way to hide yearspicker?

Hide it with css, this a how-to question so closed
.datepicker-months thead {
  display: none;
}


Route Middleware response always access denied

I'm using laravel 5.1 as backend ,angularjs as frontend and entrust as authentication. Im trying to check if the user has a role of administrator using middleware and i put it on route.
Route::group(['middleware' => ['role:administrator']], function(){
Route::resource('/userlist', UserController@getUserlist);
});
However it always throw a response of forbidden / access denied.
Did I miss anything?

+1

+1


Basic PEP-8 Formatting

Coverage remained the same at 100.0% when pulling ac44b5573bd962973fbc208f93e90dfc85ae0146 on thefourtheye:patch-1 into 9bc6ec1e1d2d1d24c08949032749a5019010e786 on mewwts:master.

Thanks @thefourtheye :+1:


CASMNET-1203 - Remove incomplete procedure to update system domain post-installation.

Summary and Scope
The procedure to change the system domain name post-install is incomplete and has not been properly tested.
For example step 7 "Generate and install new certificates for Istio" contains no instructions for generating or installing new certificates.
This procedure should be removed from the documentation until changing the system domain name can be supported.
Issues and Related PRs

Resolves CASMNET-1203

Testing
Tested on:

Local development environment

Test description:
Risks and Mitigations
Pull Request Checklist

[ ] Version number(s) incremented, if applicable
[ ] Copyrights updated
[ ] License file intact
[X] Target branch correct
[ ] CHANGELOG.md updated
[ ] Testing is appropriate and complete, if applicable
[ ] HPC Product Announcement prepared, if applicable

@spillerc-hpe this looks good but there is a broken link detected on the main branch.  Would you please investigate to see if this is a real error?

@gbaker-hpe the broken link was genuine, I have removed the second reference to the procedure I removed.


Changing ship spawn in base system has weird forces affect it or something

What Happened?
idk
What was supposed to happen?
No response
Platform
None
Mods
No response
Logs
No response

Couldnt reproduce


fix: typo in apisix_route_v2alpha1.md

Change remote_addrs field to remoteAddrs to comply with naming convention.

@fhuzero Thanks for your contribution!


Thanks!

Thanks so much for the PR!

You are welcome. I am please to contribute.


Cache miss because of different compression.

I have a deterministic failure: a cache miss across two workflows. It has taken me a whole day to find the fault behind the failure, and still I have no way to help it.
the setting
I have set up a repository specifically to work on this issue. It will be our running example. https://github.com/kindaro/release The logs be my witness.
the task
The task is to write a workflow release.yml that makes a draft GitHub release, builds some executables and attaches them to said release. This workflow waits for another workflow haskell-ci.yml to complete. release.yml should pick up the cache made by haskell-ci.yml whenever it is there. It is known to be there when the target operating system is Linux.
the failure
The failure is that the cache made by haskell-ci.yml is not seen by release.yml.
the hunt
I have undertaken the following steps to find the fault behind the failure:

Check if the cache is not seen across workflows because the action is triggered by a tag.
I made the action run on master. However, the failure still showed up.

Check that the key is matching.
To this end, I replaced the key in both workflows by the same string without variables. However, the failure still showed up.

Look at the caches through GitHub API.
This is the URL I looked at. https://api.github.com/repos/kindaro/release/actions/caches I spotted that there are caches with the same key but different versions. This is an error. However, this error may have any of a few roots: wrong paths, wrong compression, wrong version of the action.

Check if the version of the action is the same for both workflows.
I spotted that it is different! I set it to be the same. However, the failure still showed up.

Reverse engineer the version values.
The version values are hashes, defined in an upstream library. With some trial, I found how the version values of my caches are made:
> [["gzip"], ["zstd"], ["zstd-without-long"], [ ]].map((compression) => {return (require('crypto').createHash('sha256').update(["~/.cabal/store"].concat(compression).concat(["1.0"]).join('|')).digest('hex'))})
[
  '97150208f15627752f4bcfa20bf9811d3688b5b274ffe014984351184e875a74',
  'bb4f75bb6ca5843bf5c49253ee4d5d67796506fa9441ca6cffe69d7960a2bcd4',
  '27a066cbe2873e20fde52127b6017ab7615ab4b954a020235b8fe7737035cbca',
  '1cf722fcd6cb72f17b62fd7954c4ae9118802bdb10b3ef077b4ec06d1f66bfbe'
]

You may see that the latter two hashes match the version values of my caches. So, the error is that one workflow does compression with gzip and another with zstd. Why could that happen? The workflows must be running on different operating systems.

Find out if the workflows are running on the same operating system.
I checked my workflows and it turned out that:

haskell-ci.yml specifies ubuntu-18.04
release.yml specifies ubuntu-latest

I set both to run on ubuntu-18.04. However, the failure still showed up.

Look at all the logs again and see if the compression correlates with the name of the workflow.
Truly it turns out that release.yml always does zstd but haskell-ci.yml always does gzip.

Switch on debug output.
Debug output told me that zstd is not found in the environment run by haskell-ci.yml.

Check if zstd is killed by a forecoming step.
I inserted steps that check if zstd is there. It is not there from the start.

Look again at haskell-ci.yml.
haskell-ci.yml specifies a container, so all jobs are run in that container. Who knows why, but this container does not have zstd. Therefore, the action picks a different compression. Therefore, version of the cache is different. Therefore, cache miss. This is my conclusion from evidence.

the outcome
You now see how hard it is to find the fault behind a failure like this, where at every step of the way the view is further obscured. The fault is not local — it is found in another workflow script, and in another section thereof.

It is not clear what the version hash for a given cache is. The action does not say anything about it. This is easy to make better: make the action say what the version hash is, every time. On top of that — on a cache miss, make the action say a warning if there are caches which key matches, but which version hash does not match.
It is not clear what the version hash is made of. It is a hash — it cannot be undone, only guessed at. How far easier it would be if version was a JSON string. Is there a justification from security for this hashing? If so, the action should say what it makes the version hash from, when it makes a cache, so that I can spot the difference.

Even when the fault is found, I now have to go to some length to run release.yml in the same container as haskell-ci.yml, or delete zstd, or take some other otherwise needless steps.

There is no way to tell the action what compression I want.

Can this be improved?

Thanks for deep investigation and sharing details!
There is a commentary about cache version in README. Hopefully this was of some help to you!

This is easy to make better: make the action say what the version hash is, every time. On top of that — on a cache miss, make the action say a warning if there are caches which key matches, but which version hash does not match.

This sounds reasonable. What makes it difficult is that version is a hash and hence very difficult to make sense of it. It should not end up as more information which is not much useful.

it is not clear what the version hash is made of. It is a hash — it cannot be undone, only guessed at. How far easier it would be if version was a JSON string. Is there a justification from security for this hashing?

Atleast one reason I know: Version is made up of, among other things, path used in action. It can be multiple paths and hence will have problems associated with unbounded strings - will leads to collision due to truncation or escaping special chars. However definitely something to consider.

There is a commentary about cache version in README. Hopefully this was of some help to you!

Yes, there is an overview in README, it was somewhat helpful. It would be better if it mentioned where to find out the caches and their hashes. (A link to GitHub API.) It could also point to the function that does the hashing. (I linked it above.) And then the action should report what ingredients went into the hash and the resulting hash whenever it creates a new cache or tries to access an existing cache. This is of course quite technical, but maybe with a sprinkle of HTML it can be made small print or folded.

What about adding an option to force a specific compression? I am still stuck on my problem and this option would help.

I spent way too much time this week trying to figure this out. I am running cache on 2 different runners. The key is identical (includes the git SHA), so it looks like it is saving the same one, but it isn't. I tried different paths, everything. And then I realized that the compression is different, as the self-hosted runner doesn't have zstd.
@bishal-pdMSFT I think what would be enormously helpful is if it can report the version hash and the parts that make it up. At least that way, we can look at cache saves and restores and have some basis for comparison.

We've also seen a cache miss that I tracked down to this issue. It would be great if this was slightly more debuggable and didn't rely on eyeballing the tar command across actions but had some explicit information.

make the action say a warning if there are caches which key matches, but which version hash does not match.
This suggestion would make it super obvious, so 👍🏽 from me.

https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows is where I tend to go to remember how caches work across branches, as well as the storage limit / eviction, i.e. that's where I go to fundamentally understand how Github's caches work. Maybe not the best page for it either, but it comes closer than the docs for this action imo.

README is updated to add more details about how version is computed #971

I am a bit underwhelmed by the solution.

Same here. Why wouldn't you include enough information in the actual reporting? When caching, "here is the actual key I used to save" and when looking, "here is the key I am looking for and didn't find."

There is a thinking to make the action logs more verbose to include details about version mismatch. But right now I am not too sure about timeline for that. That's why I closed the issue as the docs update are addressing it to certain extent.
cc @Phantsure if you plan to track this then you can chose to re-open this issue.

I plan to add more verbose to include details about version mismatch. As version mismatch can occur due to either compression or path. From my understanding details asked so far are:

Provide all version hashes present for key in case of mismatch.

Feels more like a log to go in debug log. Only seen when running in debug mode.

After a mismatch, tell that reasons can be different, i.e. compression or path. Let user figure out the actual reason.

Feels more like this would be useful for most of the people.

Have added more details about cache version and a list of other cache with same key but different versions and scopes to better debug: https://github.com/actions/toolkit/blob/main/packages/cache/src/internal/cacheHttpClient.ts#L132
Closing this issue as resolved


Commands for starting agents without character profiles

In the package.json there are scripted commands for agents like ruby and spartan, but we do not have their character profiles in /characters
I propose we either:

remove the commands from package.json, or
(preferred) add the character profiles for them

    "start:service:ruby": "pm2 start npm --name=\"ruby\" --restart-delay=3000 --max-restarts=10 -- run start:ruby",
    "stop:service:ruby": "pm2 stop ruby",
    "start:ruby": "node --loader ts-node/esm src/index.ts --characters=\"characters/ruby.character.json\"",
    ...
    "start:service:degen": "pm2 start npm --name=\"degen\" --restart-delay=3000 --max-restarts=10 -- run start:degen",
    "stop:service:degen": "pm2 stop degen",
    "start:degen": "node --loader ts-node/esm src/index.ts --characters=\"characters/degenspartan.json\"",

Thoughts?

Hello @sirkitree, hope you'll be fine. Sorry for being off the topic but I need help setting up this project on my linux machine, I added env's, node v 20.13.1, runned npm i which was successful, and now after node --loader ts-node/esm src/index.ts
I'm seeing below error.

I'll appreciate any of your help. Thank you.

Sorry for being off the topic

Indeed. Please open a new issue when you have such a thing, and we can help you there. I've opened a new one for you here: #76


Big power of integer returns truncated answer

For example, as in $2^N$, Calctus silently returns truncated answer if $N$ is bigger than 49 :
$2^{48} =<PHONE_NUMBER>10656$ (correct)
$2^{49} =<PHONE_NUMBER>21312$ (correct)
$2^{50} \stackrel{?!}{=}<PHONE_NUMBER>842620$ (incorrect)
$2^{51} \stackrel{?!}{=}<PHONE_NUMBER>685250$ (incorrect)
...
$2^{63} \stackrel{?!}{=}<PHONE_NUMBER>854780000$ (incorrect. should be $9223372036854775808$)
$2^{64} \stackrel{?!}{=}<PHONE_NUMBER>3709600000$ (incorrect. should be $18446744073709551616$)
It returns correct answer if we don't directly use ^ with big numbers.
e.g. 2^40 * 2^24 returns right answer of $2^{64}$.
This issue can be especially troublesome on some cases, such as calculating the value of UINT64_MAX or INT64_MAX.

This issue has been reflected in v0.6.
https://github.com/shapoco/calctus/releases/tag/v0.6.8857.6956-beta


Multibyte filename

Coverage decreased (-0.7%) to 83.243% when pulling f0e322e21c1325ebf12e8e7ddb7183cf68d0f96f on ShinjiTanimoto:multibyte-filename into 52610475ee1cfae4f5e1fa6aecde249511956010 on shirasagi:master.


bash tree: command not found

When running the example notebook
%%bash
tree $roms_marbl_caseroot

bash: line 1: tree: command not found
---------------------------------------------------------------------------
CalledProcessError                        Traceback (most recent call last)
Cell In[14], line 1
----> 1 get_ipython().run_cell_magic('bash', '', 'tree $roms_marbl_caseroot\n')

File [~/miniconda3/envs/cstar_environment/lib/python3.12/site-packages/IPython/core/interactiveshell.py:2541](http://localhost:8888/lab/tree/examples/~/miniconda3/envs/cstar_environment/lib/python3.12/site-packages/IPython/core/interactiveshell.py#line=2540), in InteractiveShell.run_cell_magic(self, magic_name, line, cell)
   2539 with self.builtin_trap:
   2540     args = (magic_arg_s, cell)
-> 2541     result = fn(*args, **kwargs)
   2543 # The code below prevents the output from being displayed
   2544 # when using magics with decorator @output_can_be_silenced
   2545 # when the last Python token in the expression is a ';'.
   2546 if getattr(fn, magic.MAGIC_OUTPUT_CAN_BE_SILENCED, False):

File [~/miniconda3/envs/cstar_environment/lib/python3.12/site-packages/IPython/core/magics/script.py:155](http://localhost:8888/lab/tree/examples/~/miniconda3/envs/cstar_environment/lib/python3.12/site-packages/IPython/core/magics/script.py#line=154), in ScriptMagics._make_script_magic.<locals>.named_script_magic(line, cell)
    153 else:
    154     line = script
--> 155 return self.shebang(line, cell)

File [~/miniconda3/envs/cstar_environment/lib/python3.12/site-packages/IPython/core/magics/script.py:315](http://localhost:8888/lab/tree/examples/~/miniconda3/envs/cstar_environment/lib/python3.12/site-packages/IPython/core/magics/script.py#line=314), in ScriptMagics.shebang(self, line, cell)
    310 if args.raise_error and p.returncode != 0:
    311     # If we get here and p.returncode is still None, we must have
    312     # killed it but not yet seen its return code. We don't wait for it,
    313     # in case it's stuck in uninterruptible sleep. -9 = SIGKILL
    314     rc = p.returncode or -9
--> 315     raise CalledProcessError(rc, cell)

CalledProcessError: Command 'b'tree $roms_marbl_caseroot\n'' returned non-zero exit status 127.

Instead of trying to use a bash command (that apparently isn't installed in all systems by default), can we use some python library that we can verify is installed instead?

surprised to learn tree isn't available off-the-shelf on macOS (as it is on Windows and all our supported HPC systems). Seems like there isn't an easy equivalent in Python. Seems we can either delete this cell (though I'm quite fond of the structural representation) or define an equivalent python function within it (kinda clunky).

That's annoying. Maybe for now we just comment out that cell with a note that it's optional, so that the notebook will run start-to-finish on all platforms. Then we leave this issue open to track the idea of doing this in python instead?


Error: Invariant expected app router to be mounted when using notFound

Package + Version

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[x] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore
[ ] other:

Dependencies + versions
{
  "name": "next-clerk",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "@clerk/nextjs": "^4.21.15",
    "@types/node": "20.4.2",
    "@types/react": "18.2.15",
    "@types/react-dom": "18.2.7",
    "autoprefixer": "10.4.14",
    "eslint": "8.45.0",
    "eslint-config-next": "13.4.10",
    "next": "13.4.10",
    "postcss": "8.4.26",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "tailwindcss": "3.3.3",
    "typescript": "5.1.6"
  }
}

Description
Unable to use notFound() from next/navigation when application is wrapped with ClerkProvider in app router configuration. Please see screenshot below, I recreated the issue in a fresh project and the outcome was the same.

Code snippet for context:
import { db } from "@/lib/db"
import { Plan } from "@prisma/client"
import { notFound } from "next/navigation"

async function getPlan(planId: Plan["id"]) {
    return await db.plan.findFirst({
        where: { id: planId },
    })
}

interface PlanPageProps {
    params: { planId: string }
}

export default async function PlanPage({ params }: PlanPageProps) {
    const plan = await getPlan(params.planId)

    if (!plan) return notFound()

    return <div>{plan.id}</div>
}

This is exactly the problem I'm facing!
Making a page notFound() throws this error too
Error: invariant expected app router to be mounted

I had the same issue, found a workaround to it using "next": "13.4.8" instead of the latest one. I wasn't using clerk in my case so probably is a nextjs issue

I have exact same issue with "next": "13.4.10" and the error message doesn't give any clue
@justkahdri suggestion worked 🤗
However it happens to me only when ClerkProvider is wrapping <html> if I stop using ClerkProvider it works fine. So I believe ClerkProvider is doing something when notFound() is thrown

hello @ianwalter i would not suggest to import from the app-beta subpath since (as the name suggests) was intended to be used for App Directory beta version (the beta version of App Router).
@VidhyaKumar could you try the solution proposed by @justkahdri and let us know if that works? https://github.com/clerkinc/javascript/issues/1490#issuecomment-1646181694

@dimkl this no longer seems to be an issue in my project which is currently running Next 13.4.10 & Clerk 4.23.2, I reckon we can close this. Thank you all.

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


#33 make events be abled to get in full screen mode

Hi, I've made some simple changes to the source code so that the missing events could be able to get when entering the full screen mode and no need to proxy these events as workarounds to get if somebody need them. Event timeupdate may not useful in most cases, but ended is quite common in order to exit the full screen mode automatically.

That's a global variable, this won't work if there is more than one video. Also IIV needs to be avoid pushing its own ended event.
I fixed this in 0444341d5ef5526a6d7649858e3360fd1a7d1646, v2.2.0


Best practices for data sync

I was aware that the timing between gyroscope/accelerometer and images may not sync well. I was wondering what is the best practice to sync these? Is STMP needed? I am having both hero 7 white and max.

On MAX the sync is very good, and it internally uses STMP time stamps to keep the IMU data in phase with the video.  You would only use STMP if you wanted sub-frame level precision.  For HERO7 White, I have never tested one of those, as I only personally review the Black and other premium cameras like MAX and Fusion.  I expect that entry level HERO7 is still pretty accurate.

Thanks for the clarification. I only tested hero 7 white and the initial results are not so good. I will do some comparison with MAX to see if it is better.


Fix to handle invalid end date of YYYY-13-01(#2041)

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


test(integration): pinned milestones sync behavior

related to #225

i plan to split the push test file into separate files soon, but want to get this test added since there is something preventing the syncing from working at runtime


wrong path shows up for method

Thank you for your work on this package! I was hoping for a consistent way to make consumers of my service aware of both the REST endpoints and the websockets API and this help a ton!
In my pipeline configuration, I used the following to change the mount point from that which is automatically generated:
app.MapHub<SimOp>("api/v1/operate");
Swagger doc root is at api/v1/docs
I see 2 issues with the generated documentation:
1: The path for the method is always shown as "hubs/"
2: Each method shows up as a  POST
I get that there may not be anything you can do about the 2nd one because of the way swagger works as it natively does not support anything other than the standard set of http verbs and the OpenAPI standard likely limited support for web sockets in general, let alone signalr, but is there a way to determine and/or configure this so the generated documentation either doesn't have any path at all, in which case I can document it above, or shows the correctly mapped path to the method?

@exedor hi, will take a look at this problem in the following days. Sorry for delayed response, very busy lately. Stay tuned.

@exedor you have two options for your first issue. One is to set the path for each hub in particular by using the path parameter of SignalRHub attribute. Second is to set the HubPathFunc of SignalRSwaggerGenOptions, that will generate a path for each hub for which the path was not set explicitly, using option one.


Hash-checking Mode for install_requires

i read https://pip.pypa.io/en/latest/user_guide/#repeatability and wonder if install_requires has hash-checking mode like requirements.txt to ensure the user gets the developer reviewed version. Reasons to ensure integrity +  pypi code changes without version bump. Does/When setuptools have that option?
FooProject == 1.2 --hash=sha256:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
all or nothing: either user get specific version that checks out or raise.

In most cases, requirements indicated in a package's install_requires should be abstract and not be pinned or exhaustive, and thus a checksum is not relevant.
I would recommend you first investigate a tool like pip-compile or pipenv as a way to compile abstract dependencies indicated in install_requires into concrete dependencies (with their pinned versions, transitive dependencies, and checksums). Alternately, if you're not distributing a library/app publically, consider simply defining concrete dependencies in a requirements.txt and using a custom workflow to install those dependencies.
If that doesn't work for you, perhaps you could describe more about your use-case and why the approaches above are unsuitable. I'm not sure Setuptools will want to adopt the solution you've proposed, because that encourages an anti-pattern for the general case, but if the use-case is compelling enough, the team will surely consider it.


Setting the numbers of rows and columns on the virtual keyboard

When I use the virtual keyboard on a vertical phone screen, the keys are too tall and narrow. I would like to be able to set the number of rows and the number of columns, or preferred dimensions of a key, so the dimensions are reasonable for the present screen.
I imagine that these settings would be under “Isomorphic key mapping” next to the settings for steps along the horizontal axis and along the vertical axis.

Related to #717


Chapter3/homework/4

I found this homework challenging to get my head around. I understand the theory behind both covariance and contravariance but found myself struggling to implement the access modifiers (in and out). I think this was due to too much going on in the interfaces. Guidance on where improvements could be made would be appreciated. (Obviously the method in student 'LearnFrom' is both in and out but as mentioned in the lecture you do not state that as it is unecessary)
I believe the implementation of generics is good. I did use inheritance to create the different instances of student, teacher etc where the interface was implemented on the base class.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 66

Complexity increasing per file
==============================
- Src/BootCamp.Chapter/Schools/MiddleSchool.cs  1
- Src/BootCamp.Chapter/Schools/University.cs  1
- Src/BootCamp.Chapter/Simulation.cs  2
- Src/BootCamp.Chapter/Students/MiddleSchoolStudent.cs  1
- Src/BootCamp.Chapter/Subjects/Art.cs  1
- Src/BootCamp.Chapter/Subjects/Subject.cs  1
- Src/BootCamp.Chapter/Subjects/Programming.cs  1
- Src/BootCamp.Chapter/Teachers/HighSchoolTeacher.cs  1
- Src/BootCamp.Chapter/Subjects/English.cs  1
- Src/BootCamp.Chapter/Schools/School.cs  3
- Src/BootCamp.Chapter/Teachers/Teacher.cs  1
- Src/BootCamp.Chapter/Schools/HighSchool.cs  1
- Src/BootCamp.Chapter/Students/HighSchoolStudent.cs  1
- Src/BootCamp.Chapter/Students/UniversityStudent.cs  1
- Src/BootCamp.Chapter/Students/Student.cs  1
- Src/BootCamp.Chapter/Subjects/PE.cs  1
- Src/BootCamp.Chapter/Subjects/Maths.cs  1
- Src/BootCamp.Chapter/Subjects/Music.cs  1
- Src/BootCamp.Chapter/Teachers/UniversityTeacher.cs  1
- Src/BootCamp.Chapter/Teachers/MiddleSchoolTeacher.cs  1

See the complete overview on Codacy