[BUG] cf config not used for auth

Is there an existing issue for this?

[X] I have searched the existing issues

What version of the Terraform provider are you using?
v1.0.0-rc1
What version of the Terraform CLI are you using?
1.9.4
What CF API version are you using?
3.167.0
What type of issue are you facing
bug report
Describe the bug
When logged in to the cf cli with existing ~/.cf/config.json, the terraform provider responds with:
│ Error: Unable to create CF Client due to missing values
│
│   with provider["registry.terraform.io/sap/cloudfoundry"],
│   on provider.tf line 12, in provider "cloudfoundry":
│   12: provider "cloudfoundry" {
│
│ Either user/password or client_id/client_secret or access_token must be set with api_url or CF config must exist in path (default ~/.cf/config.json)

cf cli version: cf version 8.7.11+b1b4068.2024-07-09
Expected Behavior
The provider uses the existing cli login (as documented)
Steps To Reproduce

terraform init
cf login --sso
terraform plan

Your Terraform Configuration
terraform {
  required_providers {
    cloudfoundry = {
      source  = "SAP/cloudfoundry"
      version = "1.0.0-rc1"
    }
  }
}

provider "cloudfoundry" {
  # resolve API URL from environment instance
  api_url = "https://api.cf.us10-001.hana.ondemand.com"
}

resource "cloudfoundry_space" "dev" {
  name = "DEV"
  org  = "<org-id>"
}

Roles
No response
Add screenshots to help explain your problem
No response
Additional context
No response

Hi @Akatuoro
Can you please try removing the api_url from the configuration?
provider "cloudfoundry" {}

Hi @vipinvkmenon
Thanks for the hint, it's working.
I also saw that it's actually documented in the Authentication.md. What I checked initially was the documentation in the provider registry where it simply states that cf cli login would also be used without mention of the configuration needing to be empty.
Imho it would make sense that it works even if the api_url is specified and matches the login.

Hi Akatuoro,
Great to hear :)
Actually, the issue with that approach is that when using this cf login method the go-cfclient relies on the Authentication token that is saved in the config. This I believe would be against a specific cf API endpoint that is present in the config, so a different API on the provider and the one in the config would not work as the token would not work.
(The CF CLI wouldn't work either if you authenticate against one API and then switch the API.)


Codenarc uses worker api

Uses an IsolatedAntBuilder for all code-quality plugins.  Codenarc now uses the worker api, reimplementing the changes backed out by #23308.
Fixes #23534

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

With respect to testing for memory leaks, we already had a test for this (IsolatedAntBuilderMemoryLeakIntegrationTest) but it was testing multiple builds.  I cannibalized this and made it use a multiproject build with 20 projects and max-workers=1.  I believe this should be good enough to catch an issue with a worker.

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge


drivers: dma: stm32: DMA V1 channel direction

The channel direction for a V1 DMA is not allowed to be memory to memory
and there is a check in place for this. However, the check is being
performed on the stream prior to actually configuring the stream. This
results in the check always failing regardless of the channel direction.
The check has been modified to be performed on the incoming
configuration.
Signed-off-by: Abe Kohandel<EMAIL_ADDRESS>

Right, stream->direction	= config->channel_direction is assigned afterwards.
However as the MEMORY_TO_MEMORY is 0 and stream->direction is 0-initialized, the fact is that without st,mem2mem, defined the DMA configuration fails.

This change would fail all MEMORY_TO_MEMORY channel directions by checking the requested config->channel_direction so there should be no concern about allowing a MEMORY_TO_MEMORY configuration to go through.
Are you suggesting we should check the st,mem2mem device tree property on the given DMA instance instead of blindly always failing the MEMORY_TO_MEMORY channel direction?

Not necessarily,
I think that, as you set config->channel_direction == MEMORY_TO_MEMORY is fine.  that's the way other parameters are checked (source_data_size, head_block,etc.).
The DMA instance is controlled by the dev_config->support_m2m : meaning true if mem2mem is supported (other modes are also supported), false if it's not (other modes are supported, like for DMA1 in stm32f411)
If a memory-to-memory transfer is programmed, then is the dma_cfg.channel_direction set to MEMORY_TO_MEMORY : this comes to the dma_configure through the config->channel_direction.

@FRASTM, based on your last comment the change is acceptable as is? Wondering if I need to do anything to move this pull request along.


The speedtest average calculation should be unified for exported proto files and the rewarding

The speedtest average calculation is not the same for speedtest average file generation (avg of last 6 measurements) and for the rewarding (avg of last 6 measurements in the last 48 hours).
Users have the first one to see how their hotspot is doing, but the real result can be different. Thanks to the recent changes with the mobile reward share messages, now we can see what Oracles are actually seeing for the reward calculation.
If there is no specific reason, can we have get_latest_speedtests_for_pubkey() and aggregate_epoch_speedtests() use the same approach?

We now output a new speedtest average that is used during reward calculation.


INP001 check should respect ruff.src setting or have it configured separately

A lot of projects nest code under src directory by adding src to PYTHONPATH:
src/
  some_package/
    __init__.py
    ...
  main.py

pyproject.toml

ruff .

src\main.py:1:1: INP001 File `\src\main.py` is part of an implicit namespace package. Add an `__init__.py`.
Found 1 error(s)

Ruff version: 0.0.225
Ruff configuration:
[tool.ruff]
select = ["INP"]
src = ["src"]

A solution to this might be using ruff.src or different settings to exclude files contained directly in that directory
But this might be an issue for packages that would want to use ruff.src for example for isort checks but would still want their package directory to be checked by INP001

Adding __init__.py actually breaks some tools like mypy:
# src/some_package/test.py
def a() -> int:
    return 42

# main.py
from some_package.test import a

reveal_type(a())

Without __init__.py:
$ mypy .
src\main.py:3: note: Revealed type is "builtins.int"
Success: no issues found in 3 source files

With __init__.py:
$ mypy .
src\main.py:1: error: Skipping analyzing "some_package.test": module is installed, but missing library stubs or py.typed marker  [import]
src\main.py:1: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
src\main.py:3: note: Revealed type is "Any"
Found 1 error in 1 file (checked 4 source files)

Hmm. I think omitting directories specified by src makes sense? Trying to think of where that would cause problems.

Libraries might use the following structure:
root/ # Which is the project root
  library/
    __init__.py
    ...
  pyproject.toml

In this case developers would want to treat import from library which would be in ruff.src as first party, but it also should not be omitted from INP check

Note that flake8-no-pep420 has the same behavior:
$ tree check_inp001
check_inp001
└── src
    ├── main.py
    └── some_package
        └── __init__.py

$ flake8 --select INP check_inp001
check_inp001/src/main.py:1:1: INP001 File is part of an implicit namespace package. Add an __init__.py?

I'm also not sure how common it is to have modules directly nested under src/, but the single file in the case above could be ignored:
[tool.ruff.per-file-ignores]
"src/main.py" = ["INP001"]

I'd say having src directory is quite common, and specifying multiple files in per-file-ignores is a bit tedious
Maybe there is a way to ignore files that are placed directly in a directory? 🤔

I'd say having src directory is quite common

Oh, I'm aware of that, I use it all the time 😄. It's how common it is to have Python files directly nested, e.g. src/main.py that I wonder.

I'd say having src directory is quite common

Oh, I'm aware of that, I use it all the time 😄. It's how common it is to have Python files directly nested, e.g. src/main.py that I wonder.

I'd say it's common, if there can be a package, there can be a module, they're interchangeable in some sense

But in that case, should there not be an __init__.py in that directory?

(Genuinely asking. I'm not certain.)

In src? src itself is not a package, so, no 🤔
@charliermarsh Maybe there's a way to select direct children in per-file-ignores? This would kind of solve this

Hmm, yeah, right now, this matches any Python file under src, even in nested directories:
[tool.ruff.per-file-ignores]
"src/*.py" = ["INP"]

It's possible to change this internally, such that * doesn't match /, in which case, these would mean two different things:
[tool.ruff.per-file-ignores]
"src/*.py" = ["INP"]
"src/**/*.py" = ["INP"]

(The globbing library supports this as the literal_separator option.)
Let me look at how other tools do this. It would be a breaking change so I'd like to be confident in it.

(Flake8 has the same behavior ("src/*.py" matches recursively).)

@not-my-profile - Do you have an opinion on enabling literal_separator here? It seems strictly more expressive for users, at the cost of being a breaking change in some cases. (I know you mentioned that setting in https://github.com/charliermarsh/ruff/issues/1545.)

If we enable literal_separator, then *.py will no longer match "any Python file, anywhere" -- you'll have to do **/*.py.

Regarding the problem described by this issue: I think ideally ruff would be smart enough to understand the packaging config in pyproject.toml to correctly determine the purpose of the src directory, e.g by understanding:
[tool.setuptools.packages.find]
where = ["src"]

(see setuptools-specific configuration)
However since there are a bunch of such packaging tools (setuptools, poetry, flit, etc.) accurately supporting all of them would be quite the challenge (I think it's unfortunate that such configuration isn't better standardized via a PEP).
So yes per-file-ignores does seem like a good way of solving this for now and increasing the expressivity of our glob patterns also seems like a good idea. I want to add that the glob.glob function from the Python standard library also does not have * match /, so following that behavior might actually be what Python developers are more accustomed to.
I do think that such breaking config changes, that could break stuff without you noticing are unfortunate ... perhaps we could introduce something like Rust's package.edition .... so perhaps tool.ruff.config-version so changes like these would result in a config version bump with ruff still supporting the older version and supporting an automated config upgrade (which would translate all existing globs to the new syntax). Implementing that would however of course take some effort and such "sneaky" config changes (that just change how values are interpreted) are probably quite rare anyway ... although as ruff continues to gain adoption the collective pain caused by such breaking changes would also grow, so perhaps we should consider it?

I'd say since glob uses ** for recursive matching it's a good idea to either make it standard or add an option to choose between the two formats.

Yeah using ** does seem better to me. But it does feel like a disruptive change if it's not coupled with some kind of opt-in. Let me think about how to handle.
It still seems to me that omitting the src directories from this check would solve this problem, since anything is src is assumed to be part of the Python path, effectively.

Yes agreed.


Inline Results Widget

The ability to add inline blocks of html and have the editor display and not overlay other lines allows extensions to build very rich and interactive experiences, versus just writing something to a console.
An issue for this feature was created in the main vscode project (https://github.com/Microsoft/vscode/issues/3220) but I suspect that the functionality to add this feature would need to be added to Monaco, so I've created an issue here. Please see the comments on vscode issue for additional discussion.
Here's an example of what the inline results might look like

https://cloud.githubusercontent.com/assets/3878949/13206676/8e2dcb02-d90b-11e5-829a-bab589bdbb8c.png

Atom has also implemented a similar feature called Block Decorations which appears to be used by a plugin already.

http://blog.atom.io/2016/02/03/introducing-block-decorations.html
https://github.com/nteract/hydrogen

The editor has the view zone API: editor.changeViewZones((accessor) => { ... })

I'd be interested in this too. I can't see how changeViewZones works (there doesn't appear to be much documentation on what this function does or how it could allow placement of inline blocks).
It's not clear if ContentWidgets could cover this use case either.
My use case: implementing inline error widgets much like these: https://godbolt.org/g/6Y90j3 (I'm currently using the CodeMirror editor but am considering moving to Monaco).

You can set error/warning markers on a model and the editor's built-in Error widget can kick in via F8:

That widget is implemented by using both a view zone and an overlay widget. The trick is to listen to the view zone's callbacks in order to align the overlay widget on top of the view zone.

That's fantastic: thanks @alexandrudima


Otg 1.17.1 0.0.20 don't generate mobs.

OTG Plugin or Mod
[Please specify if it's about Forge Mod or Spigot server Plugin placing "x" into []]

[ ] OTG Mod for Forge
[x] OTG Plugin for Spigot

OTG Version
[Please specify the full OTG version that you are running by placing "x" into []]

[ ] 1.12.2_v8_r1
[ ] 1.12.2_v7_DEV_r26
[ ] 1.12.2-v6
[ ] 1.12.2-v5
[ ] 1.11.2-v8
[ ] 1.11.2-v9
[ ] 1.10.2-v21
[x] Other - 1.17.1 0.0.20

Forge or Spigot Versions
Paper version git-Paper-264 (MC: 1.17.1)
Description
In the whole overworld no mob is generated, only villagers.

Is this because we haven't added in mob spawning for the 1.17 branch yet or is there something going wrong?
I think that in general the support for mob generation has not been added, I'm not sure.

Three questions before I start looking deeper at this

What preset are you running?
How is mob spawning configured in that preset?
Does the preset as configured spawn mobs in 1.16?

Three questions before I start looking deeper at this

What preset are you running?
How is mob spawning configured in that preset?
Does the preset as configured spawn mobs in 1.16?

WildLands, in the 1.16.5 it worked, but now in the latest release for 1.17.1 it doesn't works.

And also I'm using all the default settings, I didn't change nothing

It appears to me that OTGNoiseChunkGenerator.addMobs() is non-existent. Maybe it was left out for a reason?

that method is now called spawnOriginalMobs, and is implemented the same way as it was in 1.16

Note that mob spawning happens at two moments, once at the end of decoration (animals), and on tick (monsters). In both cases all we should be doing is registering mob spawn lists to biomes, the rest is mc flow. Our spawnOriginalMobs should basically do the same as vanilla's, the only time we do any explicit spawning of mobs is for Entity(). Would be good to check if mobs are being registered to biomes properly. Not sure if /otg biome -m properly reports that yet (it used to just report biomeconfig spawn list)?

Fixed in 1.17-0.0.21 by https://github.com/PG85/OpenTerrainGenerator/commit/2a77b3fa35bef7bfaf9c5b5fe4f47c10c3cd8839
Root cause was paper's resource locations changing format from "minecraft:entity/chicken" to "minecraft:entity.minecraft.chicken"

dev build.zip
Here's a build with these specific fixes. Note that this is an unoffocial build, and not the full 1.17.1-0.0.21 build.

dev build.zip
Here's a build with these specific fixes. Note that this is an unoffocial build, and not the full 1.17.1-0.0.21 build.

Thanks, I'll test that build in some hours 😄.

Yes, fixed, thank you.


endless while loop

In the parser code:
def get_string(self):
        """Read a null-terminated string from macho."""

        string = bytearray()

        c = self.__file.read(1)

        while c not in (b'\x00', ''):
            string += c
            c = self.__file.read(1)

        return string.decode('utf-8', errors='replace')

This row:
while c not in (b'\x00', ''):

should change to:
while c not in (b'\x00', b''):

Otherwise it won't stop when reaching EOF

you can try to reproduce with: 4dd66bed0582e73a1248a62f1123e8a1132028ccd6fbbef94acec03c6d0ab7f1 (sha256)


External links on Activity Log and Pages do not use correct hosts

Describe the Bug
All external links on the Activity Log and Pages use the default domain of the Website rather than the actual hosts that are now supported since v2.12.0. This results in the external links all being broken except for those on the primary domain.
Fix:
External links should be constructed using their respective hosts rather than the default domain.
Database
PostgreSQL
Relevant log output
N/A

Which Umami version are you using? (if relevant)
v2.12.1
Which browser are you using? (if relevant)
Chrome
How are you deploying your application? (if relevant)
Railway

We are aware of this issue. Need to bring in the host column into the dataset so we can correctly map the external links.


Online tutorial's links do not support Cmd-click, do not preserve browser history, and more

I'm listing several bugs here, but they all have the same root cause and fix, related to how internal links are handled.
Bug #1: from https://leanprover.github.io/tutorial/index.html, I click the drop-down list and select "02 Dependent Type Theory". The URL address does not meaningfully change; if I send the address to someone and they open it, it brings them to chapter 1.
Expected behaviour: if I am on the chapter 2 page, the URL should be a permalink to chapter 2.
Bug #2: if I go further down this page, there is a link to the chapter on type classes. Cmd-click (OS X) creates a new tab with the chapter in question, but the current page also moves to the type classes chapter.
Expected behaviour: Cmd-click should have the same effect as right-click -> open in new tab.
Note: this is probably reproducible on Windows with Ctrl-click.
Bug #3: after opening one internal link, all other internal links appear purple, as if visited.
Expected behaviour: only links to chapters which I've actually visited should appear purple.

I'll take this occasion to express how excited I am about Lean. The tutorial is especially user-friendly.

Thanks for reporting the bugs! I'll fix them soon.

You're welcome. Normally I'd try to contribute pull requests, but finals are looming in Canada so I can't start anything. Good luck.

@lilred, sure. When you have a change, please contribute to this repo :-) Good luck with your finals!

There's a related issue which I'm not sure how to consistently reproduce. Sometimes, when using the drop-down list to go to one chapter to the next, I end up on, say, section 4.3 instead of the top of the Chapter 4 page. I'm going to open an issue once I figure out how to repro.


NAS-122225 / 23.10 / Remove unnecessary os.fdopen call

We don't need to os.fdopen() in order to fstat() an open file. It's probably a good idea to set the value of fd to -1 (bad fd) after closing it to protect against possibility of closing same fd twice (even though bug where this was happening has already been fixed). On a busy system the fd number may be reused rather quickly resulting in inexplicable errors, so let's protect against this here.

Jira URL: https://ixsystems.atlassian.net/browse/NAS-122225


chore: release v27.0.0

Releasing new APIs as v27.0.0.

27.0.0
This release contains updates to various APIs and various fixes.
New APIs

chat v1
genomics v2alpha1
serviceusage v1
vision v1p2beta1

Removed APIs

firebaseremoteconfig v1

Fixes

(#1016) raise default of maxContentLength
(#1020) treat 304 responses as success
(#1010) move pify to deps (resolves #1007)

[x] npm test succeeds
[x] Pull request has been squashed into 1 commit
[x] I did NOT manually make changes to anything in apis/
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate JSDoc comments were updated in source code (if applicable)
[x] Appropriate changes to readme/docs are included in PR

Just to nit on process, typically we draft the release notes and then post the link to it here :)


Update website for 2.4.1 release

Update website for 2.4.1 release

update with latest master

Hey the website's search bar is broken now. Any ideas why?
On Tue, Sep 3, 2019 at 4:56 PM Jia Zhai<EMAIL_ADDRESS>wrote:

Merged #5080 into master.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or mute the thread.

Jerry, it happened last time when we released 2.4.0. It is most likely due to the index issue in Algolia doc search. We might need to wait for a few hours until the reindex completes. We can help double check if that is the case this time.

Change the Milestone to 2.4.2, because of conflict.


Calling #link from another page

How can I tell the plugin to wait for the page to load before going to the section? Having an issue of it just landing in the middle of the page on any link when coming from another page.

This is probably not the plugin you are using.
It doesn't animate anchor links.
This one is for mouse wheel smooth scrolling

Haha, should of checked the git before posting. Sorry!


mcrypt deprecated

Edit: it seems that libsodium is the future (ref)
As this SO question/answer indicate, the mcrypt extension in php is deprecated. I need to replace my usage of it in this package with:

Use Libsodium - A PHP extension
If you can't use Libsodium, use defuse/php-encryption - Straight PHP code
If you can't use Libsodium or defuse/php-encryption, use OpenSSL - A lot of servers will already have this installed. If not, it can be compiled with --with-openssl[=DIR]

WIP in branch issue_1_mcrypt_to_libsodium


Add new column object: IterationSpeedColumn

Type of changes

[ ] Bug fix
[x] New feature
[ ] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[x] I've run the latest black with default args on new code.
[x] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[x] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
This pull request addresses the requirement raised in discussion #926  to add a new column for the number of iterations per second.

Looks good. I'd need tests for the new column. And an entry in the docs.

done.

Thanks

Had to revert this PR I'm afraid. Assigning an attribute with setattr is a deal-breaker. It doesn't play well with static type checkers, and is best avoided. Can you not store the value on the Column object?


building:part=* and building=* on the same element makes no sense

What steps will reproduce the problem?

Create closed way
add building:part=yes
add building=yes

What is the expected result?
Validator complains, as building part is for part of the building.
Either building=* tag was added incorrectly (as way of mapping for renderer) or this is entire building and building:part is not needed.
What happens instead?
Nothing.
Additional information:
39k+ affected objects - see https://taginfo.openstreetmap.org/keys/building:part#combinations
inspired by https://github.com/openstreetmap/iD/issues/6204#issuecomment-485016991 comment
proposed and implemented in JOSM https://josm.openstreetmap.de/ticket/17630

I'm thinking we could have a "Conflicting Tags" validation rule that issues warnings like this based on a JSON file and makes it easy to pick one thing or the other.

Worth keeping in mind it could be the case that both are correct but should just be on separate elements.
I like this idea though - Osmose has a similar validation type.

Worth keeping in mind it could be the case that both are correct but should just be on separate elements.

Sure, so the warning would be framed like "which is this one?"


parse .NET resources

The ManifestResource metadata table may contain rows for .NET resources, external and internal.  These are different from PE resources and have their own format as far as I can tell.

working on this in a branch

What I have found out so far:

a ManifestResource (listed in the MetaData Table of that name, see also https://ntcore.com/files/manifestres.htm) points to data that starts with a uint32 (little-endian, aka uint32le) value followed by that many bytes of data.  The data is either a raw (my term) resource (e.g. zip file, GIF, another PE, etc) or a ResourceSet
a ResourceSet is identified by the first four bytes, interpreted as a uint32 (little-endian), equal to 0xbeefcace (https://docs.microsoft.com/en-us/dotnet/api/system.resources.resourceset?view=net-6.0).  The popular dnlib library refers to this as ResourceElementSet (https://github.com/0xd4d/dnlib/blob/master/src/DotNet/Resources/ResourceElementSet.cs)
a ResourceSet is a list of objects, each one of either a built-in type (https://github.com/0xd4d/dnlib/blob/master/src/DotNet/Resources/ResourceTypeCode.cs) or user-defined type (https://github.com/0xd4d/dnlib/blob/master/src/DotNet/Resources/UserResourceType.cs) identified in the ResourceSet as a list of type strings

Each of these may be an external reference (see codedindex.Implementation) or an internally embedded (when ManifestResource.struct.Implementation_CodedIndex == 0).
A ResourceSet is formatted in the following way.  The first three dwords are always interpreted as Magic value, NumberOfReaders, and SizeOfReaderTypes.  Following those three dwords is the ReaderTypes string of length SizeOfReaderTypes bytes.  Then three dwords interpreted as Version, NumberOfResources, and NumberOfResourceTypes.
Now it gets more complicated.
We do the following NumberOfResourceTypes times:

read a compressed integer (see utils.read_compressed_int)
read a string of length equal to that value we read (the integer from previous step)

Now we align to 8-byte boundary relative to the resource data.
Then do the following NumberOfResources times:

read dword Hash value

Then do the following NumberOfResources times:

read NamePtr (offset into TableOfNames)

Next dword is DataSectionOffset.
Now we are at the TableOfNames.  For each NamePtr from above, do the following:

go to TableOfNames + NamePtr
read a compressed integer (see utils.read_compressed_int)
read a string (Name) of length equal to that value we read (the integer from previous step)
read a dword (DataOffset)

Then for each DataOffset:

go to DataSectionOffset + DataOffset (relative to the resource data)
read dword (Type)
parse based on Type (variable sizes, some built-in, some parsed by NumberOfResourceTypes loop above)

dnlib assumes that all resources in a ResourceSet are non-overlapping and at the end of the resource data, so it just sorts by DataOffset and reads from one to the next (or to end for last one).  If this is not how the runtime works, then adversaries can (and I assume will) abuse this assumption in that parser; I would like to avoid that here.


Adding logic check for no options selected, see notes

#65 Hello! I made a few changes:
-In App.js I added a new value called errorMsg that displays the error in the DialogContentText element.
-If the length is not at least 8 or no more than 32, it clears out the previous password & sets the errorMsg there.
-Similarly, if at least 1 option is not selected, it clears previous password & sets the errorMsg.
-One line was causing Chrome errors. I tried to debut it, but when I commented it out the program seems to work fine without it.
-In password.js it does a second check to make sure at least 1 option is selected, to prevent generating 0-length passwords.
-In the passwordDisplay.js I was getting some Chrome Inspector errors, so I changed a few things from class to className, and readonly to readOnly.

Thanks a lot for contributing..


Automatic screen tracking doesn't work

Expected Behavior
Using defaultTracking.screenViews = true or DefaultTrackingOptions.ALL on Amplitude initialisation should enable automatic screen tracking
Current Behavior
Screen events don't track automatically.
Debugging shows that UIViewController.viewDidAppear swizzled successfully, but tracking fails on bundle check:
https://github.com/amplitude/Amplitude-Swift/blob/0b77c2e123f8e47531ea62d2d31da105c74d7391/Sources/Amplitude/Plugins/iOS/UIKitScreenViews.swift#L55-L58
where
(lldb) po bundle.bundlePath
"/System/Library/PrivateFrameworks/UIKitCore.framework"

(lldb) po Bundle.main.bundlePath
"/private/var/containers/Bundle/Application/4AC5FC00-2EE0-446D-AB8F-190B8B030758/myapp.app"

For context which might be related: my UIViewControllers are in a separate framework, not in the main bundle, but either way it must not interfere with tracking.
If I understand correctly, and as lldb printing above suggests - tracking can't happen because  in my caseBundle.main.bundlePath obviously can't be a prefix for bundle.bundlePath.
Possible Solution
Revise bundle checks. I wonder what could have been the reason to put this check in the first place?
Steps to Reproduce

Create a ViewController, potentially in a framework (referenced by main app target).
Check if screen events are being tracked.

Environment

SDK Version: Amplitude-Swift 1.1.0
iOS version: 15.7.3
Xcode: 15.1
OS Info: MacOS 14.3.1 (23D60)

My bad, I misdiagnosed the issue, further investigation required on my part

Hi @fvolchyok - this should be fixed in the latest release.


Hotfix: PDF causing JSON error when generating metadata report

Error: Report generator was successfully loading all files, but crashing when generating the report
Cause: A certain PDF had an IndirectObject in its producer field, which cannot be converted to a JSON object so json.dumps threw an error
Fix: Forced all author and producer fields to be string objects in the PDF Processor

Sorry for making multiple PRs; the other one included changes from the batch runner and I couldn't reset the changes so I made a new PR


No such file or directory

Running the command when installed globally with yarn. It works fine locally though.
Thanks for the package! :)

Thanks for reporting this issue. I'm happy to hear that my package is useful for you.
To be honest I haven't tried yarn before. Now that I tried to install my package with it, I got an error message during installation on Windows.
What is your operating system? Would you please attach a more detailed error log?

@flagello I think it is a bug in yarn. Updating to v0.24.4 resolved the issue on my side.
On windows yarn v0.23.x added a non-existing .bin directory to Path. Looks like they have fixed it.
Do you still get the error message after updating?

I found the issue to be cmd.js line ending encoding. Converting from DOS to UNIX solves the issue.

@flagello Thanks for the idea! Turned out there is a long standing conversation about this at npm. Someone also proposed a workaround there. I'll give it a try.
https://github.com/npm/npm/issues/12371


Generic/ByteOrderMark: improve code coverage

Description
This PR improves code coverage for the Generic.Files.ByteOrderMark sniff. It adds two more tests that need to go into separate files to exercise the code that handles the cases when the files do not contain a BOM character.
There are no tests for the UTF-16 BOM characters, and the sniff does not support BOM characters used in other UTF encodings. I don't know much about this topic, so I'm not sure if we should add that or not.
Related issues/external references
Part of #146
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

[ ] This change is only breaking for integrators, not for external standards or end-users.

[ ] Documentation improvement

PR checklist

[x] I have checked there is no other PR open for the same change.
[x] I have read the Contribution Guidelines.
[x] I grant the project the right to include and distribute the code under the BSD-3-Clause license (and I have the right to grant these rights).
[ ] I have added tests to cover my changes.
[x] I have verified that the code complies with the projects coding standards.
[ ] [Required for new sniffs] I have added XML documentation for the sniff.

I'd very much like to see tests added for the UTF-16 BOM characters too. Let me know if you need help generating those files.

I think I managed to create the files with the UTF-16 BE and UTF-16 LE BOM characters, but there is a significant chance that I missed something, as this was the first time that I was playing with these encodings. So any help is appreciated.
I used the following script to create the files (changing the encoding in the iconv() call):
<?php

$file = fopen('src/Standards/Generic/Tests/Files/ByteOrderMarkUnitTest.5.inc', 'w');

fwrite($file, "\xFE\xFF");

$phpCode = "<?php\n// File with a UTF-16 Big Endian byte order mark (BOM) character before the opening PHP tag.";
$phpCodeUtf16 = iconv('UTF-8', 'UTF-16BE', $phpCode);
fwrite($file, $phpCodeUtf16);

fclose($file);

And I checked the files using file and od -c:
$ file src/Standards/Generic/Tests/Files/ByteOrderMarkUnitTest.5.inc
src/Standards/Generic/Tests/Files/ByteOrderMarkUnitTest.5.inc: PHP script, Unicode text, UTF-16, big-endian text
$ od -c src/Standards/Generic/Tests/Files/ByteOrderMarkUnitTest.5.inc
0000000 376 377  \0   <  \0   ?  \0   p  \0   h  \0   p  \0  \n  \0   /
0000020  \0   /  \0      \0   F  \0   i  \0   l  \0   e  \0      \0   w
0000040  \0   i  \0   t  \0   h  \0      \0   a  \0      \0   U  \0   T
0000060  \0   F  \0   -  \0   1  \0   6  \0      \0   B  \0   i  \0   g
0000100  \0      \0   E  \0   n  \0   d  \0   i  \0   a  \0   n  \0
0000120  \0   b  \0   y  \0   t  \0   e  \0      \0   o  \0   r  \0   d
0000140  \0   e  \0   r  \0      \0   m  \0   a  \0   r  \0   k  \0
0000160  \0   (  \0   B  \0   O  \0   M  \0   )  \0      \0   c  \0   h
0000200  \0   a  \0   r  \0   a  \0   c  \0   t  \0   e  \0   r  \0
0000220  \0   b  \0   e  \0   f  \0   o  \0   r  \0   e  \0      \0   t
0000240  \0   h  \0   e  \0      \0   o  \0   p  \0   e  \0   n  \0   i
0000260  \0   n  \0   g  \0      \0   P  \0   H  \0   P  \0      \0   t
0000300  \0   a  \0   g  \0   .  \0   ;
0000310

One potential problem with the files that I created is that when using iconv(), I specified that the encoding should be BE or LE. I don't know if that defeats the purpose of the BOM character or not. I first tried creating the file using iconv('UTF-8', 'UTF-16', $phpCode), but that resulted in a file that file did not identify as UTF-16 encoded, and that is why I didn't proceed with this approach.

@rodrigoprimo UTF-16 always needs to be with LE or BE, UTF-16 without indicator is not a valid encoding.
I have checked the encoding of the files (using NotePad++ which has a great little feature for that) and they look fine to me.
I also checked the encoding for the other files - The 1.inc file is as advertised UTF-8 with BOM, the 2.inc and 3.inc are both ANSI/iso-8859-1 (UTF-8 compliant). We could consider to change one of these to UTF-8 without BOM, as that looks to be the only case not covered now.

I have checked the encoding of the files (using NotePad++ which has a great little feature for that) and they look fine to me.

Thanks for checking!

I also checked the encoding for the other files - The 1.inc file is as advertised UTF-8 with BOM, the 2.inc and 3.inc are both ANSI/iso-8859-1 (UTF-8 compliant). We could consider to change one of these to UTF-8 without BOM, as that looks to be the only case not covered now.

Sure, I can do that. I guess the easiest way is to add a character outside of the ASCII (together with a comment explaining why it is there and why it should not be removed) to either 2.inc or 3.inc. Or do you have a different approach in mind?
Outside the scope of this PR, while checking the sniff code once again, I realized that it might make sense to return the number of tokens instead of void if $stackPtr !== 0. This way, the sniff is not unnecessarily called multiple times if there are multiple T_INLINE_HTML in a file. A tiny performance improvement. Happy to create an issue or a PR for that if you agree.

Sure, I can do that. I guess the easiest way is to add a character outside of the ASCII (together with a comment explaining why it is there and why it should not be removed) to either 2.inc or 3.inc. Or do you have a different approach in mind?

That would very much depend on what editor you use to make that change and whether it automatically changes the file encoding if needed. It would also depend on the character used as files in iso-8859-1 can contain characters outside ASCII too...
Shall I make it easier and just add a commit to sort this out with a file encoding conversion ?

Outside the scope of this PR, while checking the sniff code once again, I realized that it might make sense to return the number of tokens instead of void if $stackPtr !== 0. This way, the sniff is not unnecessarily called multiple times if there are multiple T_INLINE_HTML in a file. A tiny performance improvement. Happy to create an issue or a PR for that if you agree.

💯 Good catch! I made a change like that for a number of other sniffs not too long ago (PR #95).
For this sniff, I think that change should be made for all exit points of the function - not just the $stackPtr !== 0 case - as any file only needs to be checked once for a BOM.
Go right ahead and create a PR for this 👍🏻

Shall I make it easier and just add a commit to sort this out with a file encoding conversion ?

Works for me. Thanks.
(I failed to provide more details, but I had checked that my editor defaults to UTF-8 when characters outside of the ANSCII range are added to the file)

💯 Good catch! I made a change like that for a number of other sniffs not too long ago (PR https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/95).
For this sniff, I think that change should be made for all exit points of the function - not just the $stackPtr !== 0 case - as any file only needs to be checked once for a BOM.
Go right ahead and create a PR for this 👍🏻

Ok, I will create a PR for this.

Shall I make it easier and just add a commit to sort this out with a file encoding conversion ?

Works for me. Thanks.

I'll do that now and will rebase the PR (and squash some commits) before merging.


Update microbe.py

I am changing the sum function to len to allow for a representation of cheaters in the model. See https://github.com/DEMENT-Model/DEMENTinteractions/blob/main/DEMENTpy/model/microbe.py for reference.

Changes to allow cheaters in the model.

Great to allow cheaters!


The text color of the items displayed in the Autocomplete list

Describe the bug
I want to change the text color of the items displayed in the autocomplete, is it possible?

I found the solution by myself, it takes the bodyText2 style


[1.12.2] "Blur"-Mod incompatibility

Using the Blur mod, you can't see anything when using the GUI. I already lowered the blur settings, so by default you wouldn't see anything with a fresh Blur installation:

You can exclude GUIs in the Blur config, but I'm not sure how to only target CSB:
    # A list of classes to be excluded from the blur shader. [default: [net.minecraft.client.gui.GuiChat]]
    S:guiExclusions <
        net.minecraft.client.gui.GuiChat
     >

Not sure if I can hook into Blur but add this for now:
tennox.customselectionbox.CSBSettingsGUI

Oh wait. Is this repository not for the 1.12.2 version at all? That's really confusing, as it links here on CurseForge 💇

This repository is for Rift & Fabric only but I track bugs here
On Sat, 16 Mar 2019 at 10:56 PM, Thomas<EMAIL_ADDRESS>wrote:

Oh wait. Is this repository not for the 1.12.2 version at all? That's
really confusing, as it links here on CurseForge 💇
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/shedaniel/CustomSelectionBox-New/issues/6#issuecomment-473538141,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhSxvfvh0Squ0eVQaL-4qAVhM7I0rOtGks5vXQYhgaJpZM4b2M3X
.


Vanish mod does not work

https://modrinth.com/mod/vanishmod
mc: 1.20.1
mod: 3.1.4
loader: Forge
loader version: 47.2.17
crater: 2.0.2
Mod prevents messages to be sent from minecraft to discord.

Should be fixed with 3.1.5 and CraterLib 2.0.3 :)
Thanks for reporting


util.decorateRequest mechanism may edit user provided strings

Copied from GoogleCloudPlatform/google-cloud-node#1891@ofrobotsDecember 19, 2016 20:15
Environment details

OS: all
Node.js version: all
npm version: all
google-cloud-node version: master

Steps to reproduce
The request mechanism provided used by Service and ServiceObject go through the request body and modify all occurrences of the string {{projectId}} and replace it with the actual project Id.
const translate = require('@google-cloud/translate');
translate.detect('{{projectId}}', (err, results) => {
  console.log(results);
});

Output:
{ language: 'fr',
  confidence: 0.15950840711593628,
  input: '{{projectId}}' }

It is surprising that the above example discovers french in the input string {{projectId}}! It does so happen that the actual id for my project on Google Cloud is a Quebecois phrase.
The above example is a bit contrived, but it is possible for user input to happen to contain the string {{projectId}}.  This is a real concern for us in the Cloud Debug agent as we capture program state upon user request and send it to the debugger API. It is quite possible for the user application to have the above string, or any other possible string, that will be silently replaced in transit. Other services like Storage, compute or resource might also have plausible failure cases.
I do like the convenience of the projectId placeholder string auto-replaced to the projectId during transit, but this leaves open the possibility that valid user input may get replaced accidentally. It might be a bit less elegant/convenient, but I think we should not use a mechanism that can accidentally edit user provided strings, however unlikely.@ofrobotsFebruary 10, 2017 22:34Bump. Any traction on this?@stephenplusplusFebruary 16, 2017 19:32The only thing I can think of is a more randomized string, e.g. {{projectId + uuid.v1()}}. Do you have any ideas?@bjwatsonMarch 2, 2017 00:10@stephenplusplus Could we add an optional boolean that says to interpret the string literally, rather than doing auto-replace? Kind of like the difference between grep and fgrep?

Adding the approach here from an email from @ofrobots:

implement Service.prototype.projectIdPromise. Ideally we should remove Service.prototype.projectId as it is asynchronously initialized. (GAX based libraries will need their analogue for this. It would have been nice if there was a common-gax, but that not existing, perhaps the generator needs to be modified. I don't fully understand how the generator works)
anything that needs a projectId to be available should do const promise = await this.projectIdPromise or use a promise.then. This should be easy in libraries that are already using TypeScript, but that is not a strict requirement.
Get rid of all instances of the string {{projectId}} from across of all repos.

Closing based on age, and I think it was addressed. Feel free to reopen if not.


Keyvisuals needed

Hey @janlauber
I need the logos and icons from Natron to implement in the GUI.

Got them, thanks. I added them to /src/Assets


Export vnode class

I have my own h()-like function that wraps preact's h() function but it would be nice if I could skip the middle man and just import vnode and return them from my function.

I think you can set this up in your .babelrc via transform-react-jsx plugin:
{
  "plugins": [
    ["transform-react-jsx", {
      "pragma": "h" // your own h-like function name
    }]
  ]
}

and then import your h-like function in class file

Also - worth noting that h() does more than just instance VNode. It normalizes arguments in a way that is required by the diff.

@yaodingyd Thanks, but I'm not using jsx or babel.
@developit Could you elaborate on that?
It looks like VNode is just an empty class so this works just fine, in which case there's no need to import vnode. Thanks.
var vnode = {
	nodeName: 'div',
	children: ['test']
};
render(vnode, document.body);

@Qrokqt yep, VNode is an empty class and your code will work fine. Just be aware that when somebody else uses your code they may expect h to work like preact's h. That's what @developit meant.
For example when props has a children property wie move copy that over to the vnode's children property and delete it from props.
h("div", { children: "foo", bar: "baz" })

// Without normalization
const VNode = {
  nodeName: "div",
  attributes: { children: "foo", bar: "baz" },
  children: [],
}

// Compare that to with normalization by preact's built h function
const VNode = {
  nodeName: "div",
  attributes: { bar: "baz" },
  children: ["foo"],
}


AutoCNet Trifocal Tensor estimation

I am currently looking for a Python implementation of algorithms to estimate the trifocal tensor. I stumbled upon AutoCNet from @jlaura which claims to support such algorithms inside the transformations module. I browsed the code but I don’t see any mentions to the trifocal estimation.
Is the trifocal tensor estimation implemented? Can you provide additional information on how to use it? I found nothing on the documentation unfortunately.
Thanks for your time!

Hi! Thanks for your interest!
I'm not aware of the functionality you describe being implemented in PySAL currently. Where did @jlaura make this suggestion? Maybe there is some more contextual information we can use to try to get you what you need?

I don't think this is either claimed to be in PySAL nor something that we support. I think you should check out the AutoCNet package's transformation module.
https://github.com/jlaura/autocnet/tree/main/autocnet/transformation

Apologies, the "Report Bugs" in the AutoCNet docs had a link to this repository Issues.

Ah! That's very confusing 😄 I hope you can find what you need in the autocnet repository nonetheless!


Periodic weather events

This should be labeled as an enhancement, also if you want to mark it help wanted then I may be able to contribute a proof of concept when I come into some free time.
To go along with the other enhancement of location-matching, I thought of this idea which would be a great addition to making this plugin more immersive and seamless with the game world.
The goal of this enhancement is to provide a configurable probability section in the plugin's settings. The probability should be tied to some basic weather parameters, with some of them being affected by the location-matching feature. To start with we could use these basic parameters to affect the probability of certain weather events:

Temperature
Precipitation
Humidity
Wind

There are a few others we could define, which wouldn't add much additional value to the simulation, so to keep things relatively simple and easy to implement I think the only necessary ones are the above listed.
For a description of how this should work:

Humidity is the amount of water being held in the air, so the magnitude or how much rain or snow will be rendered in the event of probability returning true
Water starts as a gas, so unless probability returns true then the weather event will remain invisible
Precipitation is the likelihood of the gas turning into liquid (rain) or solid (ice)
Rain or snow event probability should be a check to see if an RNG between 1-100 is greater than the probability chance
The temperature value should determine whether the rendered event is rain or snow
The numbers generated for each of the four probability weather parameters should be tied to location and generated within a certain range, for example - when in the Ice Mountain area:

Temperature will have a RNG value between 1-10, representing the 'degrees' (in celsius)
Precipitation will be more likely with an RNG value between 80-100
Humidity will be higher with an RNG value between 70-100 (percent of full humidity)
Wind will be higher due to the elevation so it will have an RNG value between 60-100 (percent of wind speed)

Weather parameters should be re-generated periodically, so every X seconds, configurable from the settings

Due to the nature of this enhancement, depending on which enhancement is completed first (this or the location-matching), the location-based values can use predefined ranges for each parameter that are configurable within the settings to use as a placeholder.

Love this idea, I think you're right that it can be merged with the proposed in-game region based weather.
If we get in-game region based weather working, eg. Barbarian village is raining, on a CSV or JSON feed basis, then we can periodically shuffle that data feed of regional weather to reflect the algorithmic changes you're describing.
Then, as you describe, it could be cold in Lumbridge on a given day and all users of the plugin with In-Game-Regional-Weather enabled will get the appropriate cold weather.
This would work on a region-based weather basis, not a real-world matching basis.
Now I know there's an appetite for more granular changes between regions I'll program that into any region weather system I build, originally I was going to do the basis on/off for the various effects.
Note to readers; The in-game region-based weather proposal is not to be confused with the real-world location aware weather (which is currently awaiting a merge by the Plugin Hub maintainers).

Love this idea, I think you're right that it can be merged with the proposed in-game region based weather.
If we get in-game region based weather working, eg. Barbarian village is raining, on a CSV or JSON feed basis, then we can periodically shuffle that data feed of regional weather to reflect the algorithmic changes you're describing.
Then, as you describe, it could be cold in Lumbridge on a given day and all users of the plugin with In-Game-Regional-Weather enabled will get the appropriate cold weather.
Now I know there's an appetite for more granular changes between regions I'll program that into any region weather system I build, originally I was going to do the basis on/off for the various effects.
Note to readers; The in-game region-based weather proposal is not to be confused with the real-world location aware weather (which is currently awaiting a merge by the Plugin Hub maintainers).
EDIT This can work with real-world location matching too but I'd like to let that feature lay untouched for a while as it had some very messy development and hasn't been merged by the Hub maintainers yet.

Having a JSON map of weather values for the game regions sounds good. We could check for tiles that match a certain region, for reference here is a good region map with IDs overlayed to get an idea of what range of IDs are in a similar geographical region:

Hi @Billybishop, so I have been working on this (Sorry I'm a year later lmao). I hope to release soon but no promises. I've attached some work in progress videos and screenshots here.
I tried Region based weather but it felt strange and too blocky. So I went to Tile based instead. I was really keen to tie it into the world map too, after some real headaches I got the following working using a SimplexNoise algorithm. This algorithm does a great job at generating infinite sets of smooth patterns that mimic real weather forecast maps pretty well.
https://github.com/bogstandard/rl-weather/assets/9356170/55d44fe0-bdcf-4f9f-bcd8-06dec1bbe69b
Things to note here:

The pattern formations move slightly every 1 second, I will likely delay this be 10 seconds at release.
The patterns can be panned around and zoomed in on.
The colours are changeable if need be.
This runs off Java's Random using a seed and tied to unix time, meaning everyone using it will get the same random but natural feeling patterns as each other, forever, with no need for a server or someone planning the weather. It also means, if you log out, close RuneLite and come back immediately, the same weather patterns will be there.5.
There is room for making the pattern types change gradually between big heavy cloud patterns and very patchy portions of cloud. (See below screenshots).

Things I want to do before I'm happy to publish:

Designate specific areas where cloud patterns should not occur (eg. the desert).
Designate specific areas where it produces snow instead of rain.
Designate the "peaks" of the blobs to create lightning effects instead of just rain.

Things that could be cool:

Graphical clouds possibly animated instead of coloured blobs (eg. lighting flashes in the clouds).
Because of the the nature of the algorithm backing this technique, it is possible to forecast the pattern movements infinitely into the future. It would be cool to setup a GitHub based microsite which provides weather forecasts for this.


replacement glitch using Jupyter lab

when I type Ctl +H for replace nothing happens
(whereas when I type Ctl+ F I do see a box in upper right)
when I attempt to replace using the replace in files and I click submit nothing happens
vs code over wsl2
python 3.7

\extPython


Only the first task runs in a list of 1+ BackgroundTasks tasks.

Describe the bug
In the file ...plugins/dispatch_slack/events.py, in event_functions, in the key ["message"], five (in my case six) functions/background tasks are added during the execution of handle_slack_event, but only the first task in the list runs successfully.
To Reproduce
Change the order of the tasks in the list, the execution always stops during the second; execution seems to be stopping here: ...->...>BackgrounTask/run_in_threadpool -> starlette.concurrency/run_sync ->anyio.to_thread.get_asynclib() -> anyio._backends._asyncio/run_sync_in_worker_thread ->  await checkpoint()
Environment and Setup
Using the latest version.

Thanks for the report. I'll look into it and circle back.

I wasn't able to repro. All functions under the message key executed and in the listed order. If you have more info that can help me try to repro the issue you're observing, let me know.
executing <function increment_activity at 0x14dce5430>
executing <function after_hours at 0x14dce55e0>
executing <function ban_threads_warning at 0x14dce5940>
executing <function message_tagging at 0x14dce5a60>
executing <function message_monitor at 0x14dce5b80>

Interesting. I can get it to reliably fail after the first task; the execution just seems to stall during the second task.
Original order of tasks
Adding -- <function increment_activity at 0x7fb6313108b0>
Adding -- <function handle_message_to_channel at 0x7fb631310790>
Adding -- <function after_hours at 0x7fb631310a60>
Adding -- <function ban_threads_warning at 0x7fb631310dc0>
Adding -- <function message_tagging at 0x7fb631310ee0>
Adding -- <function message_monitor at 0x7fb63bb7f040>
Executing-- <function increment_activity at 0x7fb6313108b0>
Executing -- <function handle_message_to_channel at 0x7fb631310790>
Order changed
Adding -- <function handle_message_to_channel at 0x7fa7efc75790>
Adding -- <function increment_activity at 0x7fa7efc758b0>
Adding -- <function after_hours at 0x7fa7efc75a60>
Adding -- <function ban_threads_warning at 0x7fa7efc75dc0>
Adding -- <function message_tagging at 0x7fa7efc75ee0>
Adding -- <function message_monitor at 0x7fa7f7149040>
Executing -- <function handle_message_to_channel at 0x7fa7efc75790>
Executing -- <function increment_activity at 0x7fa7efc758b0>
The second seems to be start, but is silently failing at anyio._backends._asyncio:functools.partial(<function increment_activity at 0x7fa7efc758b0>:run_sync_in_worker_thread:784.
Not sure what other info I can give you.? Any other ideas?
Thank You,

I setup a simple web app (using starlette==0.19.1) in my dev env, with three BackgroundTasks and ran it with uvicorn==0.18.2; all of them ran successfully. I am kind at a loss here :); I will continue to debug and update with any findings.

Update: According to https://github.com/encode/starlette/issues/1438, it looks like BackgroundTasks are cancelled if the client closes connection. It also looks like there is still discussion around the best way forward (several others seem to have reported similar issues).
As a workaround, I added the below line to .../starlette/background.py (essentially shielding the tasks from cancelling; was suggested in the comments), and all the tasks have been running successfully since. Although sometimes, there is a 1-2 minute pause after the first|second task has run before (2|3)-6 resume operation (need to look into this more).

   if self.is_async:

       await self.func(*self.args, **self.kwargs)

   else:

       await run_in_threadpool(self.func, *self.args, **self.kwargs)

   with anyio.CancelScope(shield=True):

       if self.is_async:

           await self.func(*self.args, **self.kwargs)

       else:

           await run_in_threadpool(self.func, *self.args, **self.kwargs)

I am guessing that Slack API servers are closing the connection (should they? probably not?) after sending the command to the request/load URL defined in the app's settings, causing the tasks to be cancelled before completion; I ran tcpdump on my end to confirm the 4-way handshake (FIN(from_slack)->ACK(from_server)->FIN(from_server)->ACK(from_slack)).
This behavior might also explain why only the first task was running prior to this change.
If it's ok, I'd like to leave this issue open for a few days before closing it, as it may help others.
Thanks again.

Nice work troubleshooting it. Agree, let's keep it open until the issue is fixed on the starlette side.


Tabnet on Vertex pipelines

REQUIRED: Add a summary of your PR here, typically including why the change is needed and what was changed. Include any design alternatives for discussion purposes.

Cloud Storage bucket permission issues resolved.
Textual corrections.

REQUIRED: Fill out the below checklists or remove if irrelevant

If you are opening a PR for Official Notebooks under the notebooks/official folder, follow this mandatory checklist:

[X] Use the notebook template as a starting point.
[X] Follow the style and grammar rules outlined in the above notebook template.
[X] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
[X] Passes all the required automated checks. You can locally test for formatting and linting with these instructions.
[ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
[X] This notebook has been added to the CODEOWNERS file under the Official Notebooks section, pointing to the author or the author's team.
[X] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

313 self.submit(

Step #5: Step #4:     314     service_account=service_account,
Step #5: Step #4:     315     network=network,
Step #5: Step #4:     316     create_request_timeout=create_request_timeout,
Step #5: Step #4:     317 )
Step #5: Step #4: --> 319 self._block_until_complete()
Step #5: Step #4:
Step #5: Step #4: File /workspace/workspace/env/lib/python3.9/site-packages/google/cloud/aiplatform/pipeline_jobs.py:464, in PipelineJob._block_until_complete(self)
Step #5: Step #4:     461 # Error is only populated when the job state is
Step #5: Step #4:     462 # JOB_STATE_FAILED or JOB_STATE_CANCELLED.
Step #5: Step #4:     463 if self._gca_resource.state in _PIPELINE_ERROR_STATES:
Step #5: Step #4: --> 464     raise RuntimeError("Job failed with:\n%s" % self._gca_resource.error)
Step #5: Step #4:     465 else:
Step #5: Step #4:     466     _LOGGER.log_action_completed_against_resource("run", "completed", self)
Step #5: Step #4:
Step #5: Step #4: RuntimeError: Job failed with:
Step #5: Step #4: code: 9
Step #5: Step #4: message: "The DAG failed because some tasks failed. The failed tasks are: [exit-handler-1].; Job (project_id = python-docs-samples-tests, job_id =<PHONE_NUMBER>569011200) is failed due to the above error.; Failed to handle the job: {project_number =<PHONE_NUMBER>416, job_id =<PHONE_NUMBER>569011200}"
Step #5: Step #4:
Step #5: Step #4:


fix(header): filter out what roles to be able to select based on what roles you have in Azure

Need a bit more information to start:

desired behaviour?


Bump to 0.6.0

Also updates the CHANGELOG to explain what we did.
It's a major bump because we now require embedded-io traits to be implemented.

Can someone tag and publish? I can't do it on my phone.


Add davidrothera.me to users.md

Adding new site to the users list
👍 thanks for the awesome work @jpanther

Thanks for using Congo, @davidrothera! I'll merge this change in and your site will appear on the public list when the next theme release is published.


limbo: add 'features' set to testcases

Closes #16.

NB: I named this features instead of tags (as in #16) to avoid confusion around the purpose here -- tags felt pretty generic.

Thinking about it more, I think features should really be list[Feature], where Feature is an enum. That'll give us the ability to document what each feature actually means.


Cancel Builds On Update is not exposed via DSL

I couldn't set 'Cancel Builds On Update' extension using DSL. As a solution I fall back to configure block using
configure { projectNode ->
    projectNode / 'triggers' / 'org.jenkinsci.plugins.ghprb.GhprbTrigger' / 'extensions' << 'org.jenkinsci.plugins.ghprb.extensions.build.GhprbCancelBuildsOnUpdate' {
        overrideGlobal(false)
    }
}

I think it would be great to have it also exposed in the DSL.

@bsudy do you want to take the chance and contribute that change? :)

I have a PR for this: #664

Just an FYI: PR for this was merged a long time ago but no release happened since then. Any plans to release soon?


Can't obtain 'npb-benchmark-suite' resources as x86-npb has missing v24

Describe the bug
I cannot obtain the resource 'npb-benchmark-suite' from v24, especially because of x86-npb.
#a.py
from gem5.resources.resource import obtain_resource
obtain_resource("npb-benchmark-suite")

Terminal output:
$ build/ALL/gem5.opt -v a.py
gem5 Simulator System.  https://www.gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version <IP_ADDRESS>
gem5 compiled Aug 16 2024 13:16:46
gem5 started Aug 16 2024 13:21:11
gem5 executing on **, pid 16092
command line: build/ALL/gem5.opt -v a.py

info: Using default config
Exception: Resource with ID 'x86-npb' not found.

At:
  src/python/gem5/resources/client.py(280): _get_resource_json_obj_from_client
  src/python/gem5/resources/client.py(198): get_multiple_resource_json_obj
  src/python/gem5/resources/resource.py(1128): _get_workload
  src/python/gem5/resources/resource.py(1073): _get_suite
  src/python/gem5/resources/resource.py(998): obtain_resource
  a.py(2): <module>
  src/python/m5/main.py(669): main

Similarly obtain_resource("x86-npb") doesn't work with the same message.
But when I manually hack the atlasclient.py from
                condition["gem5_versions"] = {
                    "$regex": f"^{resource.get_gem5_version()}", # (which chooses v24 here)
                    "$options": "i",
                }

to
                condition["gem5_versions"] = {
                    "$regex": f"^23.1",
                    "$options": "i",
                }

it worked.
npb-benchmark-suite is said to be working w/ v24, so x86-npb should also support v24, I think?
(btw, out of curiosity, then how the current CI on benchmark suites succeed in fetching the resource?)
Affects version
v<IP_ADDRESS> (b1a44b89c7)
gem5 Modifications
No
To Reproduce
scons build/ALL/gem5.opt
build/ALL/gem5.opt -v a.py

Host Operating System
macOS
Host ISA
arm
Compiler used
Apple clang 15

This error is due to a change that was pushed to resources in gem5 that dont get the resource if it is not compatible with the gem5_version.
I will push a PR that updates this part of the code and throws a warning instead, but still returns the resources.

Fixed by #1475


bcachefs-tools: 1.7.0 -> 1.7.0-unstable-2024-05-09

Description of changes

Fixes #313350 , which affects LVM users (unencrypted) who can not mount a bcachefs volume.
Also vendor the updated patch added in #310504, which affects encrypted partition mounting on boot
Moved to pkgs/by-name

Things done

[x] Reviewed changelog https://github.com/koverstreet/bcachefs-tools/compare/v1.7.0...3ac510f6a41feb1b695381fa30869d557c00b822
Built on platform(s)

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

[x] 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

[x] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

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

[x] Fits CONTRIBUTING.md.

CC @jezcope @codebam @reedriley for testing
Add a :+1: reaction to pull requests you find important.

@ofborg build bcachefs-tools
@ofborg test bcachefs-tools.passthru.tests

@JohnRTitor Seems to work for me:
❯ bcachefs version
1.7.0-unstable-2024-05-09

and everything is mounted correctly. Thanks! 👍🏻

@ofborg build bcachefs-tools

@ofborg build bcachefs-tools

We can't backport whatever patch fixes the bug?  Generally we prefer not to use non-release versions of packages.

I am not sure which commit specifically fixes that.
Also commits like these fix a bug that throws error messages at boot involving scanning other non-bcachefs filesystems.

I have reviewed the changelog and the changes are pretty harmless bug fixes, also daily driving this as we speak.
That's why I decided to move to to a unstable commit without substantial changes.


docs(rate-limiting) added missing conf options

I see the advanced rate limiting plugin has these fields but not the fallback information. Does that need to be ported to Enterprise?

I just checked the code and yes, the advanced rate limiting also fallback to IP when the configured field can't be found. It should be ported.

I see the advanced rate limiting plugin has these fields but not the fallback information. Does that need to be ported to Enterprise?

I just checked the code and yes, the advanced rate limiting also fallback to IP when the configured field can't be found. It should be ported.

OK I'm working on the advanced plugin in the private repo right now. I'll port it over. Thank you.


Platform channel method invocation fails when waiting await to finish

This supersedes #20378. I open this new issue to describe the problem more precisely and correctly base on my latest findings.
The code that reproduces the issue (at least on my machine) can be found here. The repo uses firebase_messaging plugin to reproduce the issue, but I suspect the problem relates to Flutter and is a more generic one.
(I didn't include google-services.json in the repo, but am happy to provide one if needed)
Flutter's firebase_messaging plugin sets up a method channel to communicate with the platform code. On Android, calling FirebaseMessaging.configure() in Dart will trigger FirebaseMessagingPlugin.onMethodCall() to be called in Java, followed by some logic to retrieve the FCM token. When the Java code receives the FCM token through a callback, it calls Dart's onToken() method through method channel, which in turns trigger's the method call handler of the Dart code i.e. FirebaseMessaging._handleMethod() to run.
The problem is that if I have a long enough await statement after FirebaseMessaging.configure(), the Java code can still get the FCM token and calls channel.invokeMethod("onToken", token);, but this will no longer trigger the execution of FirebaseMessaging._handleMethod() in Dart. The message is lost, casuing the FCM token never returned to Dart. So if we wait for the FCM token to return in Dart, it will block forever.
Strangely this seems to be broken only when the code appears before runApp. If I move the configure and await code to the init method of a widget, the FCM token will return properly. Not sure if this is of any indication though.
I had a hard time isolating the exact cause of the problem and constructing a codebase that reproduce this issue 100%, which I don't want to repeat here. But this means that I'm not sure if the issue is reproducible on other people's machine. Please see #20378 to know more of my journey and some screencasts.
I am yet to have the time to test it on iOS.
[√] Flutter (Channel dev, v0.8.1, on Microsoft Windows [Version 10.0.17134.228], locale zh-HK)
    • Flutter version 0.8.1 at C:\flutter
    • Framework revision 0235ec59d1 (2 days ago), 2018-09-06 20:23:13 -0700
    • Engine revision 9b297b3b51
    • Dart version 2.1.0-dev.3.1.flutter-760a9690c2

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\CY\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio 3\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[!] Android Studio (version 3.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 22.2.1
    • Dart plugin version 171.4424
    X Unable to determine bundled Java version.
    • Try updating or re-installing Android Studio.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio 3
    • Flutter plugin version 28.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] Android Studio (version 2.1)
    • Android Studio at C:\Android\android-studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    X Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[!] VS Code, 64-bit edition (version 1.23.0)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected devices (1 available)
    • Nexus 5X • 00e1c63e154fae10 • android-arm64 • Android 8.1.0 (API 27)

! Doctor found issues in 3 categories.

I think https://github.com/flutter/plugins#869 was supposed to fix that.
Feel free to add a comment to have it reopened if you disagree.


See task workflow for indefinite time

I've seen lot of issues and codes but was not able to find a definite solution. I've setup db, created by custom luigi.cfg files. I'm able to see all task in /history window. I'm using central scheduler.
But what I need is to see the workflow indefinitely in the UI window. Is there any way to achieve it.
Any kind of work around will be highly appreciated.
Thanking all in advance.

I tried using two kind of config
[scheduler]
remove_delay=-1
and
[scheduler]
remove_delay=99999
but still UI data is not visible for more than a day,


Basic Scala 3 compilation (no derivation)

Basic Scala 3 compilation (no derivation)

This has aged, so will close for now, but supporting Scala 3 is very much a top priority for this project!


Allow to pass custom params to ParticleEmitterConfig#particleClass

Currently, the ParticleEmitter's particleClass only accepts a class reference, and (assumption) creates instances of this class without passing any optional constructor arguments, except the required Phaser.GameObjects.Particles.ParticleEmitter argument. This makes such particle classes tied to implementation. It would be preferable to be able to pass array (or an object) of (optional) arguments, so that when for ex the configuration for the particle system comes from server as a game-variation-specific configuration, it can be set dynamically. This would make the custom particle itself more generic, which is a good thing.
Similar system is used by tweens eg onComplete and onCompleteParams, and could be used by custom particles eg particleClass and particleClassParams.
To take a live example from 3.55.2:
http://<IP_ADDRESS>:55572/phaser3-examples/edit.html?src=src/game objects/particle emitter/custom particles.js
It could look like:
class AnimatedParticle extends Phaser.GameObjects.Particles.Particle
{
    t: number;
    i: number;

    constructor (emitter, params: any)
    {
        super(emitter);

        this.t = params.t as number;
        this.i = params.i as number;

        // OR:
        // this.t = params[0] as number;
        // this.i = params[1] as number;
    }

Maybe its possible to spread the params (something in JS akin to rest?), not sure about the exact JS implementation..
class AnimatedParticle extends Phaser.GameObjects.Particles.Particle
{
    t: number;
    i: number;

    constructor (emitter: Phaser.GameObjects.Particles.ParticleEmitter, myArg1: number, myArg2: number)
    {
        super(emitter);

        this.t = myArg1
        this.i = myArg2;
    }

Thanks for the suggestion. This would be easier to pull off if we were able to use ES6 and spread operators, but as it is, it would be an intensive operation to invoke for every single particle that ever gets created (which could be thousands per emit), never mind being a nightmare to define for TypeScript :) I can't think of an elegant way to manage it for an area of the system which is pretty intensive I'm afraid.


Managing User Accounts And Groups In Linux Systems

Proposed title of the article
Managing User Accounts And Groups In Linux
Introduction paragraph (2-3 paragraphs):
Considering Linux is a multi-user operating system, numerous people may be logged in and actively working on the device at
the same time. It is not secure for people to share the credentials of a single account. System administrators hence have to create and modify user accounts for numerous people.
Similarly, the need may arise for two or more users to share access to certain system resources, such as directories or files. Group management kicks in to allow us to manage how users share access to the system resources.
This article introduces the various commands associated with user accounts and group management on Linux platforms. It also shows how each operation in the management of user accounts and groups is performed and the permissions required to perform these operations.
Key takeaways:

Files and commands associated with user accounts and groups.

Adding a user to the system.

Deleting a user account and related files.

Adding and removing a group from the system.

Modifying a user account.

References:
N/A

Hello @FINCH285, check to see if this was covered here: https://www.section.io/engineering-education/user-groups-and-permissions-linux/


Document the  relative link strategy

Current doc:
https://github.com/fvsch/kirby-staticbuilder/blob/master/doc/options.md#html-pages-outside-of-a-web-site
I’m not really happy with how poorly it explains how to prepare for a fully static site that may not be served with HTTP or hosted at the root of a domain.
Anyway, document the other option, which is:
// config.localhost.php
c::set([
    'plugin.staticbuilder.enabled'  => true,
    'plugin.staticbuilder.baseurl'  => '',
    'plugin.staticbuilder.uglyurls' => true
]);

// snippets/header.php
<head>
<?php
  $base = './';
  $max = $page->isHomePage() ? 0 : $page->depth();
  for($i=1; $i < $max; $i++) { $base .= '../'; }
  echo "<base url=\"$base\">";
?>

I'm tempted to remove the relative URLs feature, only keeping the <base url="..."> strategy.
This means:

providing a helper function to output the base tag or nothing (depending if we're running a build or not)
removing a bunch of code and complexity (https://github.com/fvsch/kirby-staticbuilder/blob/master/src/Builder.php#L202-L269)
major release (breaking feature)

Nope, I’ll keep the relative URLs feature and make it the default in 3.0.
It seems to work well in simple settings, and if it's broken for some things it should be fixed.


Synchronization issue when the model is just launched

Describe the bug
There is a synchronization issue at the launch of the Pod with the current images:

the containers get all Ready:

flan-t5-small-gpu-predictor-00001-deployment-6768c548d8-8btqc   4/4     Running   0          41s

the model appears as Loaded in the inference service:

  modelStatus:
    copies:
      failedCopies: 0
      totalCopies: 1
    states:
      activeModelState: Loaded
      targetModelState: Loaded

but the model takes several extra seconds to be able to serve requests:

HOST=...
METHOD=caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict
while true; do
  GRPCURL_DATA=$(echo "{'max_new_tokens': 25, 'min_new_tokens': 25, 'text': 'At what temperature does liquid Nitrogen boil?'}" | sed "s/'/\"/g")
  grpcurl  -insecure  -d "$GRPCURL_DATA"  -H "mm-model-id: flan-t5-small-caikit"  $HOST  $METHOD
  sleep 1
done

ERROR:
  Code: Internal
  Message: Unhandled exception during prediction
ERROR:
  Code: Internal
  Message: Unhandled exception during prediction
ERROR:
  Code: Internal
  Message: Unhandled exception during prediction
ERROR:
  Code: Internal
  Message: Unhandled exception during prediction
ERROR:
  Code: Internal
  Message: Unhandled exception during prediction
ERROR:
  Code: Internal
  Message: Unhandled exception during prediction
ERROR:
  Code: Internal
  Message: Unhandled exception during prediction
{
  "generated_text": "74 degrees F.C., a temperature of 74 degrees F.C., a temperature of ",
  "generated_tokens": "25",
  "finish_reason": "MAX_TOKENS",
  "producer_id": {
    "name": "Text Generation",
    "version": "0.1.0"
  },
  "input_token_count": "10"
}

in the transformer-container logs, we can see this error:
{"channel": "GP-SERVICR-I", "exception": null, "level": "warning", "log_code": "<RUN49049070W>", "message": "<_InactiveRpcError of RPC that terminated with:
\tstatus = StatusCode.UNAVAILABLE
\tdetails = \"failed to connect to all addresses; last error: UNKNOWN: ipv4:<IP_ADDRESS>:8033: Failed to connect to remote host: Connection refused\"
\tdebug_error_string = \"UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:<IP_ADDRESS>:8033: Failed to connect to remote host: Connection refused {created_time:\"2023-10-24T11:48:51.016344787+00:00\", grpc_status:14}\"
>", "model_id": "flan-t5-small-caikit", "num_indent": 0, "stack_trace": "Traceback (most recent call last):
  File \"/caikit/lib/python3.9/site-packages/caikit/runtime/servicers/global_predict_servicer.py\", line 283, in _handle_predict_exceptions
    yield
  File \"/caikit/lib/python3.9/site-packages/caikit/runtime/servicers/global_predict_servicer.py\", line 260, in predict_model
    response = work.do()
  File \"/caikit/lib/python3.9/site-packages/caikit/runtime/work_management/abortable_action.py\", line 118, in do
    return self.__work_thread.get_or_throw()
  File \"/caikit/lib/python3.9/site-packages/caikit/core/toolkit/destroyable_thread.py\", line 188, in get_or_throw
    raise self.__runnable_exception
  File \"/caikit/lib/python3.9/site-packages/caikit/core/toolkit/destroyable_thread.py\", line 124, in run
    self.__runnable_result = self.runnable_func(
  File \"/caikit/lib/python3.9/site-packages/caikit_nlp/modules/text_generation/text_generation_tgis.py\", line 237, in run
    return self.tgis_generation_client.unary_generate(
  File \"/caikit/lib/python3.9/site-packages/caikit_nlp/toolkit/text_generation/tgis_utils.py\", line 315, in unary_generate
    batch_response = self.tgis_client.Generate(request)
  File \"/caikit/lib64/python3.9/site-packages/grpc/_channel.py\", line 1161, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File \"/caikit/lib64/python3.9/site-packages/grpc/_channel.py\", line 1004, in _end_unary_response_blocking
    raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
\tstatus = StatusCode.UNAVAILABLE
\tdetails = \"failed to connect to all addresses; last error: UNKNOWN: ipv4:<IP_ADDRESS>:8033: Failed to connect to remote host: Connection refused\"
\tdebug_error_string = \"UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:<IP_ADDRESS>:8033: Failed to connect to remote host: Connection refused {created_time:\"2023-10-24T11:48:51.016344787+00:00\", grpc_status:14}\"
>
", "thread_id":<PHONE_NUMBER>42720, "timestamp": "2023-10-24T11:48:51.017178"}

Platform

quay.io/opendatahub/text-generation-inference@sha256:0e3d00961fed95a8f8b12ed7ce50305acbbfe37ee33d37e81ba9e7ed71c73b69
quay.io/opendatahub/caikit-tgis-serving@sha256:adb8d1153b900e304fbcc934189c68cffea035d4b82848446c72c3d5554ee0ca

Sample Code
caikit_tgit_config.yaml.log
inference_service.yaml.log
serving_runtime.yaml.log

Are there any errors in the tgis container (kserve-container)?

no, no error message in this container
On Tue, Oct 24, 2023 at 2:10 PM Daniele @.***> wrote:

Are there any errors in the tgis container (kserve-container)?
—
Reply to this email directly, view it on GitHub
https://github.com/opendatahub-io/caikit-tgis-backend/issues/7#issuecomment-1777084832,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZVQIVMURRBQ4OMBYDLASTYA6V3FAVCNFSM6AAAAAA6NSLDN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGA4DIOBTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Fix lfs_file_seek doesn't update cache properties correctly.

lfs_file_seek doesn't update cache properties in read-only mode. Invalidate cache to fix it.
How to reproduce issue:

Create a read-only lfs FS with a read, write, cache parameters set to 256 and erase to 4096.
Open file bigger than 4096 and read 78B from it.
Seek the file to position 0.
Read from the file. This read will continue from offset 78 instead of 0.

Hi @opilat, thanks for the PR and fix! Will merge this in shortly, though I may tweak it slightly for bikeshedding reasons.
Unfortunately we don't test read-only mode at the moment, it's a bit tricky to since you need write functions to test read functions.


buffer_ get send back even if the an error occured

https://github.com/boostorg/beast/blob/201105e66ab738bd8e027cff8c11ddd7cd5c7587/example/advanced/server-flex/advanced_server_flex.cpp#L324
buffer_ get send back even if the an error occured.
Instead of
        if(ec)
            fail(ec, "read");

it should be
        if(ec)
            return fail(ec, "read");

Thanks for this. Great catch!
If you'd like your name on beast, feel free to send in a PR.
If not, I'm happy to fix it.


Zip+4 doesn't match zone

We're building zones based on zip for the purposes of taxing. If a customer checks out using their zipcode+4 (44311-4401 vs 44311) then the zone doesn't match and they don't get charged tax.

Found a solution: I monkeypatched app/models/solidus_zip_zones/zone_decorator.rb and changed this
      base.scope :for_address, ->(address) do
        if address
          with_member_ids(address.state_id, address.country_id, address.zipcode)
        else
          none
        end
      end

to this:
      base.scope :for_address, ->(address) do
        zipcode = address.zipcode
        if address.country.iso == "US"
          zipcode = zipcode.split('-').first
        end
        if address
          with_member_ids(address.state_id, address.country_id, zipcode)
        else
          none
        end
      end

Since I'm not currently sure if there are any countries that have a legitimate - in their zip code structure, I limited the changes to addresses in the US.
At some point I think it would be neat to try to add a checkbox to the zone to match the +4 if required instead of just flat-out ignoring it, but for now my use case requires that I strip it from the string.

Thanks for reporting this (and the solution), I wasn't aware of this +4 zip codes thing. Let's stick this issue here for now, but a contribution is definitely welcome if you have time!


Support for recursive json

Counterpart to VoxSupplyChain/json-schema-parser#2, incorporates changes from #4.

Once a json-schema-parser with cyclic JSON support is released, I'll update this branch


UUID, or not UUID, that's the question!

We already discussed this question within issue #66, which has been closed to keep this issue in the lead and avoid duplicates.


Defer initializing BasisU encoder until it is needed

This is something I noticed while playing around with XCode's CPU profiler. On my M2 Macbook, initial startup of a near empty project with a debug build takes about 2.5 seconds. 1.3 seconds of that is from generating a LUT while initializing the BasisU encoder. This initialization is only needed in the editor and only when importing textures set to use BasisU. In other words, most projects will never need this LUT.
Since this runs at startup, the cost is payed every time a user hits the "play" button. Despite the fact that the functionality will only ever be used inside the editor.
This PR defers the initialization of the basisu encoder functions (the transcoder is initialized at startup as before) until the pack function is called. We use a mutex to cover the initialization since this function can be called from multiple threads.
Startup Time On M2 Macbook

Before
After

Debug
2.5 seconds
1.2 seconds

Release
650 ms
325 ms

Startup time on my Windows (Ryzen 5 3600)

Before
After

Release
1.9 seconds
650 ms

Startup time on my Linux laptop (i7-1165G7)

Before
After

Debug
2.2 seconds
950 ms

Release
1.0 seconds
600 ms

The test used is just hitting play in the editor with an empty scene containing a single script that prints Time.get_ticks_msec() in the _ready() function

I don't remember if the basis encoder is exposed to runtime, but it should be slower rather than error.

Thanks!


Jest crashes with "SceneMap not found" error

Current behaviour
I want to test react-native-tab-view in one of my integration tests, using react-native-testing-library, on a component that has a TabView with 2 tabs. When I run the test, I get the following error -
TypeError: react_native_tab_view_1.SceneMap is not a function

Expected behaviour

I want to test interactions on the different scenes, so it's necessary, that I can access all components in the rendered scenes.
Code sample

const renderScene = SceneMap({
    tab_primary: PrimaryTab,
    tab_secondary: SecondaryTab,
  });

  return (
    <ComponentNavigationContext.Provider value={navigation}>
      <TopTabBar
        navigationState={{ index, routes }}
        renderScene={renderScene}
        onIndexChange={setIndex}
      />
    </ComponentNavigationContext.Provider>
  );
};

What have you tried

I've tried passing a mock renderScene function but that doesn't help.
Your Environment

software
version

ios or android
N/A

react-native
0.63.4

react-native-tab-view
2.15.2

node
15.2.1

npm or yarn
7.0.10

Mock the library like this:
import {View as mockView} from 'react-native';

jest.mock('react-native-tab-view', () => ({
  TabBar: mockView,
  TabView: mockView,
  SceneMap: jest.fn(),
}));


kWebSocketGUID constant

you have a line that assigns constant kWebSocketGUID
is that a fossil? it's embedded well down in the code, so i wonder if it shouldn't be there.

Hi, This is a constant used by the protocol itself and found 27k times on github.
You can search for it on Google.  Let me know if that clarifies it, and if we can close this issue.
Do you have any recommendations?

ah, you're right. when i read the rfc, i thought it was supposed to be random for each session, but that's not correct.

I know, when i first saw it I thought the exact same thing.  Thanks for taking a look.


Update deploy-identity-solution-overview.md

Fixed the broken link
Fixes https://github.com/MicrosoftDocs/microsoft-365-docs/issues/13054

@JohanFreelancer9 please copy review

@kelleyvice-msft Please merge this PR. Thanks

@tiburd Please merge this PR. Thanks


Game Summary

Last year I was able to get a summary to team stats for a game via the boxscore api, has anyone figured out where that is now?

https://api-web.nhle.com/v1/gamecenter/2024010039/right-rail

I found what I was looking for: https://api-web.nhle.com/v1/wsc/game-story/{game id}


Invalid Windows start script

Your manipulated Windows start script contains %APP_HOME%lib while it should contain %APP_HOME%\\lib and thus no modules are found.

Java Modules, and start script generation for modules, is supported by Gradle 6.4 directly.


CASMTRIAGE-5998 pre-install-toolkit ISO subdir

Description

The ISO is in one level deeper than what CASMTRIAGE-5933 had updated the docs to point to.
Checklist

[ ] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[ ] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

/backport release/1.5


IConfiguration.Get behavior should be more consistent

Both the root IConfiguration and the "focus"-ed configuration should accept null or string.empty as a .Get() argument. They're interpreted as the value at the current prefix (often null for the root config).
Also the implementation of .ToString on objects which implement IConfiguration should return the value provided by .Get(null)

Your bugs should be more consistent. #182

Closed, duplicate #182

@lodejard did you really mean to close both bugs??


Improvements for search/replace

Just used the search/replace feature, and had some ideas for improvements:

Add keyboard shortcuts for the Yes/No/Stop buttons
Add "Yes to all" button
Scroll the current match into viewport

The current match should be scrolled into the viewport. Can you describe what you did that resulted in a match not being visible?

Scroll did not work: Not sure, but trying to replicate the effect, i think it was a match on line 1, which was covered by the dialogue itself...
Plus a new thing i saw:
The existing replace all function is saying "replace" in the dialogue, same as the replace function... maybe change this to "replace all"? or, it would be kind of obsolete if there was the proposed "Yes to all" button on the replace function.
Did i mention? CodeMirror is awesome, thanks!

I've made some adjustments (attached patches). The scroll issue you are seeing does exists when

You use the persistent dialog
Your match is on the first line of the editor

Our current dialog addon doesn't provide a proper way to work around this, but I've pushed a hack that make the dialog transparent when this happens.


Error starting simple application during connect phase

Hi,
I have a 3 member Mongo replica set (v3.4.7).  Linux I'm using is Ubuntu 16.04 LTS (fully patched).  When I set up a simple Elixir project to connect to this instance get the following error:
** (exit) an exception was raised:
    ** (ArgumentError) argument error
        :erlang.send(Mongo.Events, {:notify, %Mongo.Events.TopologyOpeningEvent{topology_pid: #PID<0.145.0>}})
        (elixir) lib/gen_event.ex:221: GenEvent.notify/2
        lib/mongo/topology.ex:70: Mongo.Topology.init/1
        (stdlib) gen_server.erl:365: :gen_server.init_it/2
        (stdlib) gen_server.erl:333: :gen_server.init_it/6
        (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3

Elixir Version:
elixir --version
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:6:6] [ds:6:6:10] [async-threads:10] [hipe] [kernel-poll:false]

Elixir 1.5.1

Deps:
Running dependency resolution...
Dependency resolution completed:
  connection 1.0.4
  db_connection 1.1.2
  mongodb 0.4.1
  poolboy 1.5.1
All dependencies up to date

The connect statement I'm using:
{:ok, conn} = Mongo.start_link( database: "db", seeds: ["ip1:27017", "ip2:27017", "ip3:27017"], username: "user", password: "pass", auth_source: "auth_db", pool: DBConnection.Poolboy )

I have checked to make sure that I can connect to Mongo through the Mongo client from this machine.  I've checked all the iptables configurations as well.

Is this by chance happening in a mix task?

I think this is a duplicate of #146. Can you verify?

Hi,
It isn't a mix task.  I just stepped away from my office.  I'll get you more information shortly.
Mark

Closing - was an issue with the escript configuration.  Now that I've resolved that, it is attempting connections as expected.  Thanks for the prompt reply!


changed uint to int

my first pull request

Thank you for the pull request, but I'm going to have to reject it until you fix the indentation. The file uses 4 spaces for tabs, but you've committed it with tabs instead.
Please use existing indentation settings in committed files.

Not needed anymore.


Add example of sphinx doc to README

Currently this extension has no preview of what it would look like in the repo README.
For some reason the homepage entry on PyPI points to https://pyproject-api.readthedocs.io/en/latest/ , which does have a valid output of this extension.

It's because of this - https://github.com/tox-dev/sphinx-autodoc-typehints/blob/main/pyproject.toml#L12
we should change that to become the URI for this repo, and in the readme at top add a link to that as example 👍  PR welcome

PR'd

we should change that to become the URI for this repo

That would be helpful, thanks!


schema/metadata: exports

Allows defining the identifiers of exports that should be exported by default by higher level tools, or in the future by osbuild itself to circumvent the need of passing --export multiple times.

Example content of exports would be: ["bootiso", "raw", "tar"] for an omnifest that contains pipelines by that name.
An alternate solution would be a boolean on pipelines themselves but that requires more knowledge about osbuild manifests on higher level tooling.

Does this require a change to osbuild as well? I can't tell for sure. Looks like a good idea though.

Does this require a change to osbuild as well? I can't tell for sure. Looks like a good idea though.

A change could be made in the future to have an --export=* or --export-defaults argument that makes use of this metadata if it's available.

I'm curious what the use-case is? Could you please elaborate a bit more? And if there is more to make it fully work (like the --eport=* or "export-defaults" would it make sense to have that here too (assuming it makes the PR not too big) to add this extra context?

Sure, it's specifically for a higher level tool such as otk (or by extension: koji) to know which files to export by default. Something like otk build omnifest.yaml which shows nice progress and exports all defaults instead of a user doing:

otk build omnifest.yaml
having to check the manifest for the output names
osbuild --export=. --output-directory=.

[..]

Sure, it's specifically for a higher level tool such as otk (or by extension: koji) to know which files to export by default. Something like otk build omnifest.yaml which shows nice progress and exports all defaults instead of a user doing:
[..]

Fwiw, we are currently building an image-builder build command with a similar feature set on top of the images library. My understanding was that we would integrate otk into images (see pr https://github.com/osbuild/images/pull/797) so that we can provide a unified library for traditional and otk based definitions and a unified user experience. Is this no longer the idea?

[..]

Sure, it's specifically for a higher level tool such as otk (or by extension: koji) to know which files to export by default. Something like otk build omnifest.yaml which shows nice progress and exports all defaults instead of a user doing:
[..]

Fwiw, we are currently building an image-builder build command with a similar feature set on top of the images library. My understanding was that we would integrate otk into images (see pr osbuild/images#797) so that we can provide a unified library for traditional and otk based definitions and a unified user experience. Is this no longer the idea?

Yes, we are though I'm not sure if image-builder build $omnifest.yaml is going to be a thing or if we will only have a vetted list of upstream omnifests available?

I don't think the image-builder cmdline should operate on otk manifests. My understanding is it is basically composer-cli but without needing a service running, so blueprints would be the input to it. You can already build using otk compile and osbuild fairly easily so adding another tool to do that is unnecessary.