Looking For Sensecap M1 Support

looking to see if it is possible to support SensecapM1

I'm not sure how to implement this either, would be useful for sure.

It's not an issue:
./processlogs.php -s 2022-04-01 -e 2022-04-02
Using logs in folder /var/log/miner/
General Witnesses Overview
Total witnesses                   =    29  (3.19/hour)
Succesfully delivered             =    13 (44.83%)
Failed                            =    16 (55.17%)
├── Max retry    =   16 (55.17%)
└── Crash/reboot =    0     (0%)
Max Retry Failure Reasons
Timeout                           =     7 (24.14%)
Not Found                         =     8 (27.59%)
Other challenger issues           =     1  (3.45%)
Challengers
Not Relayed                       =    19 (65.52%)
Relayed                           =     7 (24.14%)
Unknown (Probably Not Relayed)    =     3 (10.34%)
/opt/miner #
it just works as designed ;-)

It's not an issue: ./processlogs.php -s 2022-04-01 -e 2022-04-02
Using logs in folder /var/log/miner/
General Witnesses Overview
Total witnesses = 29 (3.19/hour) Succesfully delivered = 13 (44.83%) Failed = 16 (55.17%) ├── Max retry = 16 (55.17%) └── Crash/reboot = 0 (0%)
Max Retry Failure Reasons
Timeout = 7 (24.14%) Not Found = 8 (27.59%) Other challenger issues = 1 (3.45%)
Challengers
Not Relayed = 19 (65.52%) Relayed = 7 (24.14%) Unknown (Probably Not Relayed) = 3 (10.34%) /opt/miner # it just works as designed ;-)

hi @pokeplayer2 , ./processlogs.php command is not working with my sensecap. it says:
root@8547038:~# ./processlogs.php -s 2022-04-06 -e 2022-04-07
-sh: ./processlogs.php: No such file or directory
@inigoflores hi. would you please support this script into sensecap's too? I tried lot but no way :( please help

Hi
The problem with SenseCap is that the log folder is different between miners. I currently don't have a SenseCap, so I can't test it.
Also, this tool will stop working in two weeks' time with the activation of HIP55, so it doesn't make much sense to invest more time in developing it.
But you should be able to run it from within the docker container. As per the Readme instructions:
If you are unable to install PHP at the miner OS, you should be able to do so inside docker. You can access the container with:

sudo docker exec -it miner sh

You may need to replace "miner" with the name of the docker container running the Helium miner.

Once inside the docker container, run the following to install PHP.

apk add php-cli

Note that any changes to the running docker container are not persistent and will be lost at the next reboot.

I hope it helps.

@inigoflores Hey there, great job with this script!
Was trying it lately with Sensecaps logs that I manually pulled to my local machine via SSH.
Always getting this as an output:
Using logs in folder ./

Warning: Division by zero in C:\Users\...\processlogs.php on line 168

General Witnesses Overview
----------------------------------
Total witnesses                   =     1   (INF/hour)
Succesfully delivered             =     0     (0%)
Failed                            =     1   (100%)
  ├── Max retry    =    0     (0%)
  └── Crash/reboot =    1   (100%)

Max Retry Failure Reasons
----------------------------------
Timeout                           =     0     (0%)
Not Found                         =     0     (0%)
Other challenger issues           =     0     (0%)

Challengers
----------------------------------
Not Relayed                       =     0     (0%)
Relayed                           =     0     (0%)
Unknown (Probably Not Relayed)    =     1   (100%)

Hi
This is being discussed on #11. Apparently it has to do with running the tool on Windows. When did you download the tool?

Hi
This is being discussed on #11. Apparently it has to do with running the tool on Windows. When did you download the tool?

Yes, lets continue there, thanks.

It should be now fixed.
Please provide your path to the logs, see if I can add the logic for the tool to work on the SenseCap M1.

It should be now fixed.
Please provide your path to the logs, see if I can add the logic for the tool to work on the SenseCap M1.

You could get the path and correct folder name through the "metadate.db" file in /mnt/data/docker/volumes which has the name of the folder written in one line:
"Options":{}}xxxxxxx_miner-log{"Name":"xxxxxxx_miner-log","Driver":"local","Labels":{"io.balena.supervised":"true"}
The final path of console.log will be /mnt/data/docker/volumes/xxxxxxx_miner-log/_data

That folder is already included in the code.
$logsFolders = [
        'Docker'         => '/var/log/miner/', //Also Controllino
        'Pisces P100'    => '/home/pi/hnt/miner/log/',
        'Sensecap M1'    => 'in /mnt/data/docker/volumes/xxxxxxx_miner-log/_data/',
        'Milesight UG65' => '/mnt/mmcblk0p1/miner_data/log/', //adding it for future use,as PHP and opkg are missing (OpenWrt)
        'Panther X2'     => '/opt/panther-x2/miner_data/log/',
        'RHF2S308'       => '/opt/helium/miner_data/log/'
];

What happens when you run the tool inside SenseCap? What is the output?

@inigoflores sorry my bad, it works when running inside Sensecap :)

Cool" 😄  I've updated the Readme, for some reason it was missing from the list of supported devices.

Can someone help a noob? I can't get this to work on my sensecap, i always get  "sudo: command not found" when trying "sudo docker exec -it miner sh   ". I'm not sure what should i replace "miner" with

I am currently testing the script on a Sensecap M1.
Instead of docker, you need to use balena.
Use the following command to get the container name:
root@ac7bbbc:~# balena ps
CONTAINER ID        IMAGE                                COMMAND                  CREATED             STATUS                 PORTS               NAMES
3d4dc64326c5        a6457f6c5f0c                         "python3 /opt/status…"   2 hours ago         Up 2 hours                                 statusd_4829004_2147054_fcde69c51c4bf3302d1c9eaba732f3c2
f6ac2cf27cd3        743a7241b071                         "sh /opt/start.sh"       2 hours ago         Up 2 hours                                 gateway-config_4829002_2147054_fcde69c51c4bf3302d1c9eaba732f3c2
bd451c4209c7        7a8a79700674                         "/opt/miner/start-mi…"   2 hours ago         Up 2 hours                                 miner_4829001_2147054_fcde69c51c4bf3302d1c9eaba732f3c2
d97c6e3ea12a        528fbbb123c6                         "python3 app.py"         2 hours ago         Up 2 hours                                 turbo-sync_4829005_2147054_fcde69c51c4bf3302d1c9eaba732f3c2
210495f59dc6        7f72b548d14f                         "/opt/start.sh"          2 hours ago         Up 2 hours                                 dbus-server_4828999_2147054_fcde69c51c4bf3302d1c9eaba732f3c2
62a09499121d        ac3c0f6e9f7a                         "./start.sh"             2 hours ago         Up 2 hours                                 pktfwd_4829000_2147054_fcde69c51c4bf3302d1c9eaba732f3c2
d15abc6afd04        balena/aarch64-supervisor:v12.10.3   "/usr/src/app/entry.…"

Wonderful, thanks a lot, i got it working!

@inigoflores I'm running it inside the miner container.

@inigoflores I'm running it inside the miner container.

I see. I previously understood that it worked at the host OS. So I guess the SenseCAP M1 is not supported "out of the box".
Thanks!

@inigoflores I'm running it inside the miner container.

I see. I previously understood that it worked at the host OS. So I guess the SenseCAP M1 is not supported "out of the box".
Thanks!

Its fine I guess.
Basically the "installation" is to

Get the name of miner container
balena ps
Replace "miner_xxxxxxx_xxxxxxx" with the according miner container name
balena exec -it miner_xxxxxxx_xxxxxxx sh
Then install php and download the script
apk add php-cli  wget -O processlogs.php https://raw.githubusercontent.com/inigoflores/helium-miner-log-analyzer/main/processlogs.php; chmod a+x processlogs.php
Afterwards you can run the script

By the way, any clue how the new logs after LHS activiation will look like?


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


create a new file and add content

Title
On the title describe
what you've fixed (or created) with this Pull Request (PR).
Summary
Insert a short (one or two sentence) summary here.
Fixes #Issue_Number

Note: The "Fixes #nnn" syntax in the PR description causes
GitHub to automatically close the issue when this PR is merged.
Remove that line if you don't have issues associated with this
PR. Click on the Guidelines for Contributing link above for details.

Details
Explain your changes, and why you made them. If that
information is already available in the issue referenced
above, just referencing the issue is preferred to copying
the text.
This may not be necessary depending on the scope of the PR
changes. For example, "fix typo in introduction.md" is
sufficient to describe that PR.
Suggested Reviewers
If you know who should review this, use '@' to request a review.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

test.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/TestingPullRequest.md
:warning:Warning
View
Details

docs/test.md
:white_check_mark:Succeeded
View

docs/testfile.md
:white_check_mark:Succeeded
View

test.md
:white_check_mark:Succeeded

docs/TestingPullRequest.md

Line 4: [Warning] Invalid file link:(~/nonexisted1.md).
Line 5: [Warning] Invalid file link:(~/nonexisted2.md).
Line 6: [Warning] Invalid file link:(~/nonexisted3.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/TestingPullRequest.md
:warning:Warning
View
Details

docs/test.md
:white_check_mark:Succeeded
View

docs/testfile.md
:white_check_mark:Succeeded
View

test.md
:white_check_mark:Succeeded

docs/TestingPullRequest.md

Line 4: [Warning] Invalid file link:(~/nonexisted1.md).
Line 5: [Warning] Invalid file link:(~/nonexisted2.md).
Line 6: [Warning] Invalid file link:(~/nonexisted3.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/TestingPullRequest.md
:warning:Warning
View
Details

docs/test.md
:white_check_mark:Succeeded
View

docs/testfile.md
:white_check_mark:Succeeded
View

test.md
:white_check_mark:Succeeded

docs/TestingPullRequest.md

Line 4: [Warning] Invalid file link:(~/nonexisted1.md).
Line 5: [Warning] Invalid file link:(~/nonexisted2.md).
Line 6: [Warning] Invalid file link:(~/nonexisted3.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/TestingPullRequest.md
:warning:Warning
View
Details

docs/test.md
:white_check_mark:Succeeded
View

docs/testfile.md
:white_check_mark:Succeeded
View

test.md
:white_check_mark:Succeeded

docs/TestingPullRequest.md

Line 4: [Warning] Invalid file link:(~/nonexisted1.md).
Line 5: [Warning] Invalid file link:(~/nonexisted2.md).
Line 6: [Warning] Invalid file link:(~/nonexisted3.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fixing config not able to match flavor+buildType

The piece of code to fetch the env file for different configs was using a non existing variable.
This PR Fixes that
cc @pedro

@pedro

Oh! We fixed this just a bit earlier, in #195.
Thank you!


Add version: VPNetwork.TorGuard version 4.8.9

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.2 schema?

Microsoft Reviewers: Open in CodeFlow

.


verifyHostnameCallback does not exist

I added the section:
NativeMessageHandler.verifyHostnameCallback = (hostname, session) =>
{
return true;
};
In App.xaml.cs I have:
public static NativeMessageHandler handler = new NativeMessageHandler
{
EnableUntrustedCertificates = true,
DisableCaching = true
};
public static HttpClient Client = new HttpClient(handler);
I suspect there is something I'm missing or something mismatched but not having much luck finding it (my google-fu is weak today)...

nevermind... I was on the wrong side of a curly brace...


Add support for JavaScript-based transformation

@ninjabear - I think we should add this into the 0.1.0:
Replace:
"transformer": "SNOWPLOW_TO_JSON", Or null

with:
"transformer": {
  "builtIn": "SNOWPLOW_TO_JSON"
} // union with
"transformer": null
  // union with
"transformer": {
  "javascript": "BASE64 ENCODED STRING"
}

where the javascript must be a function:
function transform(record) {
    return record; // identity
}

This will instantly make this Kinesis Tee much more powerful. What do you reckon?

Hey @alexanderdean ! I like it! The only question I have is, if you're using this with Snowplow you'd probably want to run both the SNOWPLOW_TO_JSON transformer and your custom js afterwards right? So we'd need a way to chain transformations together?
Perhaps we can schedule this in an 0.2.0 after we get some feedback? Is there a specific use case you have in mind?

Hey @ninjabear - I think for non-Snowplow users just having it without chaining would still be useful (it would also be useful for Snowplow users who want to manipulate the enriched events as a TSV) - but I take your point, this needs a bit more cooking. Let's push back to 0.2.0... I still think we should add the builtIn bit though to make the transformer a valid Avro union for the future, will update the README now...

Actually, @ninjabear was right - it's important to allow chaining of these transformations from the 0.2.0 onwards. Because it's valuable to e.g. use SNOWPLOW_TO_FLATTENED_JSON and then alias some column names.

We need chaining, and this should be done first in 0.2.0.

@yalisassoon will use this to test the issues seen in Kinesis Analytics, hence why this should be done first...

This should be done first as a blocker on @yalisassoon's R&D

I ran into a blocker with the config proposed by @alexanderdean. Avro4s does not play well with multiple named records in a Union.
unions not yet supported beyond nullable fields

So I propose the following change for the config:
[{
	"name": "transformer",
	"type": [
		"null", {
			"name": "Transformer",
			"type": "record",
			"fields": [{
				"name": "type",
				"type": "string"
			}, {
				"name": "value",
				"type": "string"
			}]
		}
	]
}, {
	"name": "filter",
	"type": [
		"null", {
			"name": "Filter",
			"type": "record",
			"fields": [{
				"name": "type",
				"type": "string"
			}, {
				"name": "value",
				"type": "string"
			}]
		}
	]
}]

Example:
{
  "schema": "iglu:com.snowplowanalytics.kinesistee.tbd",
  "data": {
    "name": "My Kinesis Tee example",
    "targetStream": {
      "name": "my-target-stream",
      "targetAccount": null
    },
    "transformer": {
      "com.snowplowanalytics.kinesistee.config.Transformer": {
        "type": "BuiltIn",
        "value": "SNOWPLOW_TO_NESTED_JSON"
      }
    },
    "filter": null
  }
}

The Transform/Filter records could be an array of their corresponding type, which would play well with chaining transformers & filters by composing them into a pipeline.
Thought @snowplow/ed-lewis @alexanderdean

Hey @nakulgan - first off, I think confusingly the ticket description and the README to this project are both out-of-date, sorry about that. If you look at @ninjabear 's wiki page, which should be up-to-date:
https://github.com/snowplow/kinesis-tee/wiki/Guide-for-devops-users#setting-up-the-dynamodb-configuration-table
    "transformer": {
      "com.snowplowanalytics.kinesistee.config.Transformer": {
        "builtIn": "SNOWPLOW_TO_NESTED_JSON"
      }
    },

I'm not clear on why we have to break the configuration down further into:
    "transformer": {
      "com.snowplowanalytics.kinesistee.config.Transformer": {
        "type": "BuiltIn",
        "value": "SNOWPLOW_TO_NESTED_JSON"
      }
    },

Could you clarify?

Yes @alexanderdean Turns out Avrohugger does not support unions with more than two records.
See here
From the Avro docs, it does support multiple named records, as in:
 {
         "name":"transformer",
         "type":[
             "null",
             {
                "name":"Transformer",
                "type":"record",
                "fields":[
                    {
                        "name":"builtIn",
                        "type": { "name": "BuiltIn", "type": "enum", "symbols": ["SNOWPLOW_TO_NESTED_JSON"] }
                    }
                ]
             },
             {
                 "name":"JavascriptTransformer",
                 "type":"record",
                 "fields":[
                     {
                         "name":"javascript",
                         "type": "string"
                     }
                 ]
              }
         ]
      }

which is what we need. This throws the runtime exception
unions not yet supported beyond nullable fields

Does it make sense to open an issue with Avrohugger?

Thanks for clarifying! I reckon we open an issue with Avrohugger and see how big a job they think it is? Perhaps we can do the heavy lifting if it's not a huge refactor...

Hi @nakulgan and @alexanderdean,
Supporting unions in full is certainly on the radar, but the blocker is that IMHO there is currently no suitable representation of unions in Scala, and so I'm eagerly, but stubbornly, awaiting dotty's union types to be included in Scala.
Obviously dotty is still sometime off, and other representations have been proposed, but I can't see a path to adopting either (well, without first establishing a friendly, standard default):

Shapeless unions - would be nice to support, but, as a standard representation of unions in avrohugger, it violates the principle of least power, locks in users to another dependency, and scares away contributors
Any - Since Java Avro uses Object to represent unions, Any was proposed, however have personal qualms with being responsible for a tool that generates unsafe code.
Either 1 or 2, but sitting behind the current Option[T] strategy - a complication/technical debt/trap in some use-cases.

While I do warn that I'll be stubborn about unions, I'm certainly open to suggestions, and I don't discourage a fork. E.g., RelateIQ seems to have a higher tolerance for Any.

Hi @julianpeeters - thanks for the detailed explanation. It feels like first class language support for union types is going to be the killer feature for Scala.next, given how mainstream schema tech like Avro and JSON Schema has made unions...
Given the above, I reckon @nakulgan's suggestion of a map[string, string] is the way to go... @ninjabear thoughts?

You can limit the use of Any a bit by making a kind of marker trait e.g.
sealed trait MyUnion {}
case class TypeA extends MyUnion
case class TypeB extends MyUnion

Collections from that point have the type MyUnion but can be partitioned/matched against their sub-types in a type-safe way.
I think maps is a legitimate way to go though, especially if making a change like above would be very time consuming or has other problems.

Thanks for the good suggestions, I'll be sure to include them in any future discussions.
Avrohugger supports both data-first (from schemas) and code-first (expanding existing Scala code to implement SpecificRecordBase) use cases, and both Map and ADTs are already used to represent Avro features.

Map represents MAP of course, and since MAP and UNION are both datatypes, Avrohugger would be unable to decide which to Avro type it represented in code-first situations

ADTs are used to represent protocols, and so it does indeed seem possible to search the compilation set to see if it's used as a field type in order to disambiguate protocols from unions

So, while I don't want to raise any hopes, the sealed trait approach looks promising. I need to think a bit more about any pitfalls this may introduce, particularly in terms of schema/protocol evolutions, and if that looks ok I'll solicit some feedback from Avrohugger's gitter channel.

Thanks @julianpeeters !


Steel work items

This issue elaborates on this wiki page https://github.com/FStarLang/FStar/wiki/Steel-(Outline) enumerating a breaking down of our current work items.

Semantics and effectful interface

[x] Revise semantics so that it uses pre/post directly instead of WP (Aseem)

[x] Define a Steel layered effect (Aseem):

[x] Define a preorder indexed generic monotonic state monad (Aseem)

[x] Revise semantics to layer it on top of the above-defined state monad + div, instead of on top of div alone (Aseem)

[x] Make the bind rule in the semantics more canonical, and provide an implicit weakening in the layered effect bind combinator (Aseem)

[x] Define combinators to build fp_props (Aymeric)

[x] Figure out how to hook up a tactics to check that a requires/ensures with a particular footprint is included in the expects/provides foot print

[x] Try to prove the WP/pre-post equivalence lemma (Guido)

[ ] Define another layer on top of the Steel layered effect where the pre- and postconditions are viewable predicates (instead of fp_prop predicates), provide a non-structural frame rule in this layer that uses viewable selectors for the frame prop in its pre- and postconditions (Aymeric/Aseem)

F* typechecker internal work

[ ] Consider adding support for simplifying formulas that result from converting triples -> WPs -> triples, so that this round trip is almost the identity (Guido, Aseem, Nik?)

[x] Modify the return combinator for layered effects, so that it has type a:Type -> x:a -> <some binders> -> repr a is, instead of the current type a:Type -> <some binders> -> x:a -> repr a is. This is needed for the return combinator in the Steel effect (for parametricity of the lpost) (Aseem)

Memory model

[x] Add support for arrays (Denis)

[x] Debug proof performance
[x] Support for sharing and recombining arrays

[ ] Consider adding support for other user-defined resources (e.g., provide a way for a user to define a struct)

Tactics

[ ] Instantiate frame inference symbolic execution tactic with Steel.Memory (Denis)
[x] Add the frame rule optimization so that framing tactics that compute delta only run once at each application of frame (Denis, Aymeric) (you already had something like this working)
[ ] Native compilation of all the tactics (Guido, already has something working)

Example programs

[ ] Swapping with disjoint or equal pointers (Nik)
[ ] See https://github.com/FStarLang/FStar/wiki/Steel-(Outline)#3-steel-in-action for more examples

Libraries

[ ] Storable locks built abstractly from a ref (lock p)

Open ended stuff

[x] What do preorders on hprops look like? Can we revisit things like rgrefs, francois pottier's monotonic state, support for generic PCMs? (Danel, ...)

This is essentially done or superceded by all the work on the SteelCore paper. We'll track ongoing work on Steel in other issues.


Refactor state components

This is just the initial PR. In the future though we can:

[x] Separate editor into Component (contains container instance) and function (responsible for all DOM elements)

[x] Remove prop-drilling and have deeper components subscript to editor state

[x] Make <Toolbar/> (Buttons and settings) <TextInput> (Carbon + DnD target) top level with no function props

[ ] separate state into multiple containers

[ ] Editor -> Carbon, Carbon -> Coder, Coder -> Editor

Closes #307
Will reopen another issue with other TODOs

Adds linting

Closes #275

Removes old dependencies


Fulfilling Sheet Request

'cuz it was easy.  Validated .json file.  We'll see if this works

Hooray!  Part 3 (you knew this was coming)


Transition can break when the presenting and presented view controllers have different status bar styles

I've just spent hours pulling my hair out trying to figure out why my project was exhibiting a strange bug but your project works fine, and I've finally got it! (but not how to fix it, sadly)
If you use view-controller based status bar styles (UIViewControllerBasedStatusBarAppearance in Info.plist), there's a nasty bug that breaks the transition and leaves the app unusable. To replicate, see the following:
Try to drag down on the modal view a tiny bit very quickly (for example, drag down about 50 pixels only just clicking the mouse for a split second)
In the original project, this works as expected - the modal view snaps back to the top, you can continue to do this (or drag further down to dismiss) and the "close" button continues to function.
Now change the status bar style of one of the view controllers so that they're both different - e.g. in  ModalViewController.swift:
override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return UIStatusBarStyle.LightContent
}

Run the app and try the same thing a couple of times, and the transition will break: the modal will snap back to the top but will no longer respond to the gesture recognizer, and the "close" button does not work to dismiss the modal view manually. The status bar will be stuck in the state of the presenting view controller.
This only happens when the status bar is a different style between the two view controllers, but I need this in my app, and I'm not sure how to fix it at all. :(

Update: In particular, it seems that something about changing the status bar styles cancels the UIView animation in [DismissAnimator animateTransition:]. The animation seems to be completely cancelled without calling the completion block and therefore [transitionContext completeTransition:] is never called.
I have tried tracking whether or not this completion block is called, and then after a delay calling completeTransition if the block was never called. I'm using Objective-C, so I've got the following code:
__block BOOL didComplete = NO;

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    if(!didComplete && [transitionContext transitionWasCancelled]) [transitionContext completeTransition:NO];
});

[UIView animateWithDuration:[self transitionDuration:transitionContext] animations:^{
    fromVC.view.frame = finalFrame;
} completion:^(BOOL finished) {
    didComplete = YES;

    [transitionContext completeTransition:!([transitionContext transitionWasCancelled])];
}];

This works but it's not great - the transition still breaks for a split second before fixing itself. :(

@ev0lution Thanks for reporting this issue and including detailed troubleshooting. I'll take a look.

@ev0lution I've been banging my head against the wall on this one, and it looks like your approach is the way to go.
I found two radars on this issue:

http://www.openradar.me/21961293
http://www.openradar.me/radar?id=5212752213704704

iOS 8.3 introduced a cross-fade animation when the status bar changes between .Default and .LightContent. As you explained earlier, a very quick pan will trigger cancelInteractiveTransition(). However, since the status bar animation is still in flight, animateWithDuration's completion block never gets called. This means completeTransition isn't called either, and the transition enters an inconsistent state.
According to the radar, this issue is fixed in iOS 9.3ß2. In the meantime, your workaround appears to be the way to go. It captures the transitionContext via closure, and does the cleanup work of calling completeTransition if the animateWithDuration completion block is never called.
Here are some of my failed attempts:

Setting preferredStatusBarUpdateAnimation to .None in hopes of reducing the status bar animation duration
Using setAnimationDelegate in hopes of hooking into an animation failure event
Adding setNeedsStatusBarAppearanceUpdate in the animation block in hopes of incorporating the status bar animation into the interactive transition

For posterity, here are some of the more helpful links I've found surrounding on this issue:

https://github.com/vlas-voloshin/InteractiveDismissalBug
https://www.cocoanetics.com/2015/03/4-radars-percentage-driven-modal-transitions/

@chenr2 Thanks so much for your time and research on this, super helpful! Good to hear that it's fixed in the latest beta, I'll check it out. :)

Is there any update on fixing this? This works very well except for when this issue presents itself.

@nevinjethmalani It's actually an iOS issue, and it's fixed in 9.3. You can use my workaround (above) for versions <9.3 if you're okay with the transition being broken for a split second. Another alternative is to set the status bar style manually, before and after the transition/view change, so that the transition isn't trying to animate the status bar style change (which is what seems to break).

We have the latest iOS installed on our devices and we are getting the same error. I will try the work around that you posted here. We are using a scrollview instead of a table view to do this maybe that is the reason.
What do you mean by set the status bar style manually? Do we have to create a navigation bar in the storyboard manually? How would we do this?

I don't know why, but it is ok for me.You can try in viewWillDisappear to reset status bar style.

Do you know if this has been fixed in iOS 10?

Totally need this so bad in my ios app Tipped, on webviews and collectionviews..... But swift 3 not working :( how to fix

Working on ios < 9.3
@interface ModalViewController ()

@property (nonatomic, assign) UIStatusBarStyle preferredStatusBarStyle;

@end

@implementation ModalViewController

@synthesize preferredStatusBarStyle;

- (void)viewDidLoad {
    [super viewDidLoad];

    self.preferredStatusBarStyle = UIStatusBarStyleLightContent;
}

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];

    self.preferredStatusBarStyle = UIStatusBarStyleDefault;
    [self setNeedsStatusBarAppearanceUpdate];
}

@end


Crashes with an empty array

sqflint is crashing with the line
["acre2$defaultpttkey", []] call EFUNC(common,setkey);

If I change it to not have that empty array, it works just fine.
Using version 0.3.1

Why would you send an empty array as a parameter to a function?

There are many different use cases for empty arrays.
In the code above it is unbinding a CBA keybind.
Setting a units loadout will most likely have empty arrays in the loadout.
Even just private _array = []; will cause sqflint to crash.
I can't run sqflint on a third of the files I am working on due to this bug with empty arrays.

Duplicate of #38. This is fixed in master branch.

I've published a new version of it, 0.3.2, that contains this bug fix. You should be able to pip install it. Hope it helps.


Mob Yoinker - Bigger Stacks compat

Minecraft version
1.19.2
LibX version
1.19.2-4.2.8
UtilitiX version
1.19.2-0.7.11
Forge version
43.2.21
The latest.log file
n/a
Issue description
A stack (bigger stacks 1.19.2-3.8.1) of empty mob yoinkers, when used on a mob, turns into a stack of populated mob yoinkers with the same mob.
When a stack of populated mob yoinkers is used, it turns into a stack of empty mob yoinkers.
When a stack of populated mob yoinkers is divided, and one of the resulting stacks is used, the other stack becomes unusable.
Steps to reproduce

install forge, utilitix and bigger stacks in a minecraft 1.19.2 instance.
edit config/biggerstacks-rules.xml like so:

<ruleset>
	<!-- stackable mob yoinkers -->
	<rule stacksize="64">
		<condition>id = utilitix:mob_yoinker</condition>
	</rule>
</ruleset>

perform steps described in issue description

Other information
Expected behaviour:
When a stack of empty mob yoinkers is used, the stack count goes down by one and a populated mob yoinker is added to the inventory or thrown on the ground if the inventory is full.  Other issues would then be avoided.

bigger stacks is not the only way to get stacks of unstackable items, it's just the method I used.


Windows 7 support

Is it possible to use CISDSC for Windows 7?

@alitavakoli-moonfare Current included Windows builds are listed here (not including Windows 7):
https://github.com/techservicesillinois/SecOps-Powershell-CISDSC/tree/main/src/CISDSC/dscresources
I'm currently not aware of any core maintainer who intends to add Windows 7.
That said, a pull request adding Windows 7 could be created by following this guide:
https://github.com/techservicesillinois/SecOps-Powershell-CISDSC/blob/main/CONTRIBUTING.md
Closing this as answered, but will re-open if a relevant pull request is submitted.


[Bug]

Version
No response
Current Behavior
When using the hypercrx （installed on Edge）, I found that the visual graphs of fork and star are not displayed when I am not logged in.
Expected Behavior
Hope it could be displayed even when not logged in.
Environment
- OS:
- Browser:

Any additional comments?
No response

Hi @florajing thanks for reporting the issue. it was reproduced when I signed out and had a try.
the issue is same as #775 and will be fixed ASAP.

Thank you for your attention!
I just tried  and found that it still didn't show the visual graphs for fork and star when signed out.
Maybe it has something to do with Edge. Doesn't matter though, I'll just log in later if I need to.

OK! Looking forward to~😊


Fatal error

Fatal error: Uncaught Error: Class 'Kernel\Snmp\Olt' not found test.php:18

sorry to hear that , I'm not use php for many years you can fork and rebuild new code


Miro contributor lookup to Tandem Vault does not normalise source code

So where image_source_code is lowercase the lookup fails.

How many are actually broken?

It looks like the only issue we can sensibly fix is lowercase-to-uppercase, so let's just do that.

L, M and V will be re-run by #1172, so I’ll fix the B and N instances by hand.


Release 3.0.0

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@43715d4). Click here to learn what that means.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master        #593   +/-   ##
============================================
  Coverage          ?   98.29222%
============================================
  Files             ?          86
  Lines             ?        2108
  Branches          ?           0
============================================
  Hits              ?        2072
  Misses            ?          36
  Partials          ?           0


Amazon login page goes in timeout

After poking around a bit it finally launched (having to disable service as well because port 9090 seems to be hardcoded) I accessed the webpage but it just keeps loading while saying: Switch to 'Login with Amazon' page...
After a while I get "connection refused"
Also, there's an error in the manual where it says N to continue instead of stopping but it is now Y apparently.

Try lexigram login --no-browser true

Ok, one step further.
Now I get this vague message:
lexigram init-skill kanzi
✖ Initialize kanzi skill
→ Could not create skill. Please try again.
Retrying gives the same message of course.
Since there is no error, I don't know what to do next. :(
Does it require a file? Where is the auth code saved from the login command?

What OS are you running this on?

Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64)

Auth code is saved in ~/.ask.
Try this:
npm install -g<EMAIL_ADDRESS>ask new -n kanzi

See if that gives you an error

ask new -n kanzi
[Error]: Cannot resolve profile [default]

Yeah, sounds like it doesn't like your login. Do you know what's causing a conflict on that port when it tries the regular login?
Also, it'd be better if you post this on the Kodi forum so everyone else can see the same issue. Or you can email me (address is in my Github profile)

Or did you not use the default profile when you logged in without the browser?

Forum works pretty well.
The init command will only create the folder and keep information about the skill. It won't show up in Amazon until you've run the deploy command.

Support conversation being carried over email since this isn't a code related issue.


Error: listen EADDRINUSE :::5858   is there a way to skip this port and start listinng on next avaialbe port ?

It's possible, but I don't see a huge advantage of doing this. This seems like it would only be useful in development environment. In my experience, most staging/production environments will expect a specific port to run the application in, or the environment itself (not the application) will assign a port when the app starts.
If you wanted to achieve this, you could abstract the assignment of the port, in your express configuration, out into a recursive function that checks the availability of a port number, and returns the first available. You might want to have a max amount of tries for this, and/or base this off of a range of available port numbers. I believe express has a way for you to check if a port is in use already.

im running mutiple meansjs app in dev and I always got this error

@keithics Simply assign a different port number to each of your meanjs instance, the first paragraph in @mleanos answer above; many different way to do it; the simplest, arguably, is to mention the port number as an environment variable in your command line (when starting the instance).


Deprecate 1-26 branch to remove pre-submits

Issue #, if available:
#2399
Description of changes:
As we started supporing 1-31 from this release, we do not need 1-26 jobs to be run as presubmits anymore. This change deprecates the 1-26 presubmits and removes 1-26 from the list of release branches used by the generator.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


The ImageNet pre-trained weight for MiT-B2 encoder mit_b2.pth

solved..

@Andyyh00
The mit_b2.pth file seems to be missing...
https://drive.google.com/file/d/1m8fsG812o6KotF1NVo0YuiSfSn18TAOA/view?usp=sharing


Replace the animation tween with a text timer

Will allow us to dynamically speed up/slow down/pause/etc. the timer in the future

Works great! Only issue I find is that if you set the text speed to be 0.
The text speed set to 0 should make the text to show up instantly on the screen, but it is not working properly right now. I think that because this is not a tween you will have to make a special conditional when starting the timer and if the speed is 0 just show all and set it to finished instantly. Once that is fixed we can merge :)


Add missing TileMap collider import

It seems like import korlibs.math.geom.collider.* import was missing, so the HitTestDirection was not resolved.

Yes, right. This is missing. Thanks for the PR! :)


mapping from schema?

Hey!
First of all, nice work, very useful library.
Second, I would like to ask if there is any way of mapping a GraphQL schema into a python object in your library, if not, could be possible?
Thanks!

Hi,
thanks for your feedback and for opening an issue (I enabled the Discussions section for any further idea to evaluate).
Currently there is no management of schemas nor types, I am creating a builder for that and I will upload it as soon as I feel it stable.
In the meanwhile if you have any further detail you would like to share on this matter please do not hesitate.
Thanks

Hi,
I am almost done with the basic schema mapping implementation.
Please, let me know for what purposes you will use the mapped python object so I can adapt the implementation to your needs as much as possible.
Thanks

Hi @dapalex ,
My idea was to create a kind of GraphQL client that allows you to query/mutate against APIs without having to write GraphQL language at all, or at least making easy for the user to work with it. So if you map a GraphQL schema into a
Python Object you can later write some generic methods to insert and query data easily in a pythonic way.
Again, good work and congratz for the repo! Looking forward to use it.

Hi @gplazashell ,
Next release the code generator will be available, thanks for your advice.
Cheers

Hi @gplazashell,
I recently developed a code generator which takes a schema in json and creates the python classes corresponding to the GraphQL Object Types.
The updated version is available in the 'code-generator-draft' branch so far since it is in progress: right now it works only for queries involving arguments as Literal Values.
I am working closely on it so there will be updates soon.
Thanks again

Hello again @dapalex ,
I'll review it as soon as I can. Nice work!


V0.3.1

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/100783
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.3.1 -m "<description of version>" 6bdaa404df409b453c3b84574b8b89efb030e0f9
git push origin v0.3.1

@JuliaRegistrator register
Release notes:
Added Type interfaces for convenience

Registration pull request updated: JuliaRegistries/General/100783
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.3.1 -m "<description of version>" 6bdaa404df409b453c3b84574b8b89efb030e0f9
git push origin v0.3.1


undefined | string property of object incorrectly narrowed to string in union type

Bug Report

🔎 Search Terms

union undefined incorrectly narrowed
🕗 Version & Regression Information

This is the behavior in every version I tried (back to 3.3.3), and I reviewed the FAQ for entries about bugs, undefined and unions.
⏯ Playground Link

Playground link with relevant code
💻 Code

let a: string | undefined;

type B_1 = { a: string, c: 'test', d: 'yeah' };
type B_2 = { c: 'test'}
type B = B_1 | B_2;

// this should complain that
// - property a should not not exist
// - or property a should be string and property d is missing
const b: B = { a, c: 'test'};

if ('a' in b) {
    // because of this issue, b is narrowed to B_1 here, while a is undefined and d is not present
    console.log(b);
}

🙁 Actual behavior
const b: B = { a, c: 'test'}; does not throw a TS error.
🙂 Expected behavior
const b: B = { a, c: 'test'}; throws a TS error.

The assignment is allowed, because { a, c: 'test' } is a valid B (specifically, it's a valid B_2). Excess property checks is not performed for union types, see #51873.
This unfortunately leads to an intentional unsoundness using the in operator, see #34975.

Thanks for your quick reply! I think this issue can then be closed as it doesn't add much to the two issues you mentioned. Sorry for wasting your time.


[Update Snap] RariMe

Checklist
All items in the list below needs to be satisfied.

[ ] Is the summary of the change documented in this ticket?
[ ] Has a MetaMask Snaps team member reviewed whether the changes need to be vetted?
[ ] If there are changes that need to be vetted, attach a description and the relevant fixes/remediations to this issue.
[ ] The corresponding pull request in this repo has been merged.

This update solely contains changes to the metadata of the Snap, including the correct casing in the proposedName field: https://github.com/rarimo/rarime/commit/77e2503acbe297b7dab78d5eff63d719738a30d3


Update the Python target version for black to 3.8

What does this PR do?

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Filter msag longtexts by master language in database

It's honestly not that much faster but might save some data transfer. I also improved the variable names a bit.

@FreHu thanks, can you help updating the branch? looks like I don't have access


Add ADR link to README

Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] All tests are passing yarn test
[ ] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[ ] Prettier run on changed files
[ ] Tests added for new functionality
[ ] Regression tests added for bug fixes

@Rugvip better?

Noooo...?


Support for Plausible events

Clear and concise description of the problem
There currently doesn't seem to be any support for creating and sending Plausible events (https://plausible.io/docs/events-api).
I'm currently trying to migrate from vue-plausible because I need Vue 3 support, but can't find any information about how to send events like it is possible with vue-plausible
Suggested solution
Add a way of creating events from a function call on the v-plausible instance?
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Isn't that what the composables example specifically gives you?


Remove unnecessary line of code in Express.js/vhost/index.js

This pull request aims to enhance the Express.js framework by removing an unnecessary line of code. The identified line, which has been deemed redundant, does not contribute to the functionality or efficiency of the framework.

Hello, and thank you for your pull request. Unfortunately this breaks the example, as the logger variable is used a few lines below where you removed the declaration.


It looks like the Pasteboard does not support copied images from Google docs

The image property is empty.

In the clipboard there are some format available (after copying image to clipboard from google docs web client):
"DataObject" - 49161
"HTML format" - CF_TEXT
"application/x-moz-custom-clipdata" - 49772
and some more
But in the Pasteboard package the function IsClipboardFormatAvailable checks only for CF_DIB (BITMAPINFO) and CF_HDROP - list of files.


vendor ruby-macho 0.2.5

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you successfully run brew tests with your changes locally?

This brings ruby-macho 0.2.5 (with a slew of new changes) into brew.
Of note:

The bugs exposed by Homebrew's virtualenv bottling have been fixed (https://github.com/Homebrew/ruby-macho/pull/55, https://github.com/Homebrew/ruby-macho/pull/54)
ruby-macho's public API is now entirely documented (https://github.com/Homebrew/ruby-macho/pull/46)
Full support for RPath addition, deletion, and modification is implemented (https://github.com/Homebrew/ruby-macho/pull/35).
Load commands can now be synthesized and serialized dynamically, giving us a lot more flexibility with respect to future additions to the Mach-O spec (https://github.com/Homebrew/ruby-macho/pull/38).

This PR also updates the bridge code between ruby-macho and brew.
cc @UniqMartin

Like last time, I've temporarily tagged the PR with “do not merge” as I want to test drive it a bit more thoroughly on my local machine before merging. (You can expect some more feedback from me tomorrow or the day after. I'm signing off for today.)

Nice work! Any thoughts on when this will be ready to replace the current implementation? It's been pretty rock solid so far.

I think we're getting close to making this the user-facing implementation. In particular, this version contains a completely new implementation of load command modification, one that's a lot nicer (and more correct/generic) than the one that I originally wrote.
We're probably going to find small bugs here and there, but I'm much more comfortable exposing this to users than I would have been a few months ago :smile:

Any thoughts on when this will be ready to replace the current implementation?

I'd like it to see some more testing in some corner cases, but that's probably just me being overly cautious. Overall I'm pretty pleased with how this has shaped up.
At this point, the main thing that stops us from delivering this to all users is a hard dependency on Ruby 2.0+. We've worked with this assumption as this simplified some of our work, giving us more time to focus on things that really matter. If we wanted to enable this for everyone, we would need to add a check for a sufficiently new Ruby and otherwise fall back to the cctools implementation. The other option would be to ship vendored Ruby 2.0 (if it's ready) and stop worrying about Ruby versions that are more than obsolete nowadays …

The other option would be to ship vendored Ruby 2.0 (if it's ready) and stop worrying about Ruby versions that are more than obsolete nowadays …

I am strongly in favor of this option, but falling back to cctools seems like reasonable edge behavior for older systems if the vendored ruby 2.x won't be ready in the foreseeable future.
It's also worth noting that users on older systems may be susceptible to the bad install_name_tool behavior we (re)discovered. Whether or not they get ruby-macho immediately, it definitely makes sense to get them away from their system copies of cctools.

Just a minor thing, but the Library/Homebrew/vendor/README.md file also needs an update.

Agreed with shipping this to users and waiting on Ruby 2.0. We can probably ship it by default to HOMEBREW_DEVELOPER-setting folks first, though.

Just a minor thing, but the Library/Homebrew/vendor/README.md file also needs an update.

I knew I forgot something...

Quick status update: Things are looking pretty good in local testing and the currently running test should finish in 3-4 hours. The only bugs I found so far (two of them) are in the now almost “legacy” cctools-based code Mach-O handling. :joy: (Though to be honest, both are relatively minor things and are unlikely to impact users.)
I'm increasingly confident about rolling this out to all users. :tada: Expect a few PRs very soon that will address the discovered bugs and will add a new mode of testing this more thoroughly on the bot that I briefly discussed with Mike (sorry for the tease, more details to follow soon).

All my local testing finished successfully, thus I'm inclined to merge this as soon as possible.
However, the stricter behavior we've been previously enforcing (by accident) and that we're now about to loosen to the standards of install_name_tool et al. is helping to uncover real problems, like in Homebrew/homebrew-core#3704 for a very recent example (somehow all of them are related to Python 🙈), thus I'm wondering whether we should actually stick with the stricter behavior. An upside is that we bottle less broken stuff, a downside that this is creating (very infrequently) more friction for our contributors. Thoughts?
Also, because I've improved the error reporting to simplify debugging cases like the above in the future, there's a merge conflict that needs to be addressed (but should be trivial).

thus I'm wondering whether we should actually stick with the stricter behavior

This is fine by me; now that we actually have the ability to switch between the two programatically, reverting to the more lenient behavior is trivial if the maintenance load becomes untenable. That being said, I'm also 100% fine with having :strict => false in this PR - it's your call :smile:

An upside is that we bottle less broken stuff, a downside that this is creating (very infrequently) more friction for our contributors.

Shipping bottles that are more correct/less likely to explode is a big :+1: for me. I don't like creating extra trouble for contributors, but it definitely makes sense to encourage the double-checking of build/linkage flags that make build products (needlessly) inconsistent.

there's a merge conflict that needs to be addressed (but should be trivial).

Got it, I'll resolve it when I'm home.

Thanks, @woodruffw! :tada: Let's see how that fares (I'm pretty confident it will do quite well) and unless something comes up over the weekend consider switching ruby-macho on for everyone by default (unless they're the minority not using Ruby 2.0 yet). How does that sound?

Is there a plan to turn on strict mode later?

Is there a plan to turn on strict mode later?

I don't think we have a firm idea about whether we want to do that or not. Currently, the stricter behavior was blocking a PR from progressing (Homebrew/homebrew-core#3704), so we might need to figure out what to do with such cases to unblock them, as they previously finished just fine and in this sense it would be a bit of a regression.
Any ideas or opinions surrounding this are more than welcome! I definitely would like to revisit this at a later time (but in the not too distant future).

Do we know of any formula/builds that intentionally include inconsistent fat binaries?
If the chance of an inconsistent binary being intentional turns out to be vanishingly small, we should probably retain default to strict mode. Then, when intentional inconsistencies do occur, we could have formula annotate their inconsistency so that ruby-macho knows to disable its strictness assumptions. Of course, feel free to ignore that (spontaneous) idea if changing the formula DSL is undesirable.

Do we know of any formula/builds that intentionally include inconsistent fat binaries?

I don't but @DomT4 might.

If the chance of an inconsistent binary being intentional turns out to be vanishingly small, we should probably retain default to strict mode.

I'd probably prefer to default to the functionality that matches the previous behaviour for end-users. We could adjust it for the bots.

I'd probably prefer to default to the functionality that matches the previous behaviour for end-users.

Sounds good to me! Adjusting it for the bots sounds good, although we'll need a way to exempt formulae that are intentionally inconsistent. I'll look into that :smile:

Do we know of any formula/builds that intentionally include inconsistent fat binaries?

Given our experience with ruby-macho on the bot during the past few weeks/months, all of the cases we've come across so far where fat binaries have been inconsistent has been some build system failure or some other failure.

If the chance of an inconsistent binary being intentional turns out to be vanishingly small, we should probably retain default to strict mode.

I somewhat agree, but I think this is impractical unless we have a plan for how to deal with the diverging cases (allow opt-out, be able to fix issues if the diverging case turns out to be actually broken). Given that there's no strict requirement for fat binary to be consistent with respect to their linkage and RPATHs, inconsistent fat binaries are perfectly valid, and some (though very few) system fat binaries on macOS are inconsistent, I think we best stick to the previous behavior (compatible with install_name_tool) as far as Homebrew is concerned.

I somewhat agree, but I think this is impractical unless we have a plan for how to deal with the diverging cases (allow opt-out, be able to fix issues if the diverging case turns out to be actually broken). Given that there's no strict requirement for fat binary to be consistent with respect to their linkage and RPATHs, inconsistent fat binaries are perfectly valid, and some (though very few) system fat binaries on macOS are inconsistent, I think we best stick to the previous behavior (compatible with install_name_tool) as far as Homebrew is concerned.

Agreed.


Stop using a forked Rally

Our local Rally changes should be pushed upstream and we should not rely on a fork [1].
[1] http://ovn-scale-test.readthedocs.io/en/latest/install.html

@l8huang @huikang @hzhou8 FYI on this one, I have opened this to track the merge back of our forked rally upstream.

@mestery Thanks for tracking this. The ongoing work of unbounding from openstack in Rally seems not yet completed. I saw this spec [1] merged, but some related works has been pending for a long time, e.g. [2], [3].
[1] https://review.openstack.org/#/c/244353/17
[2] https://review.openstack.org/#/c/294521/4
[3] https://review.openstack.org/#/c/294520/6

@hzhou8 I remember months ago you or @l8huang mentioned that rally has been undergoing radical change to support more workload than openstack. This feature accommodates integrating rally-ovs to upstream rally. Is there any update on this? Thanks.

unbound rally from openstack [1]
[1] https://github.com/openstack/rally/blob/master/doc/specs/in-progress/deployment_type.rst

As I know, the work of unbound rally from openstack is still going on. If we want to stop to use https://github.com/l8huang/rally.git as early as possible, we may make changes on ovn-scale-test to make it depending on upstream rally.

@l8huang Does that mean we need to rebase our change against the latest rally codebase? Thanks.

We'd better rebase to a release, e.g 5.0, because the master stream may not stable.  Any suggests?

@l8huang not yet; it seems the only way to get rid of this issue. Thanks.


(2Beta3) Script Bug

Describe the bug
Scripts in an Event Group sometimes doesn't do anything when copied and pasted in another Scene
To Reproduce
Steps to reproduce the behavior:

Create a BG Scene
Make a long script inside an Event Group in BG's On Init tab
Copy and paste the script on another new BG's On Init tab
Play Test Game exit BG1 enter BG 2
Test to see if script should do anything on both scenes.

Expected behavior
sometimes the script won't do anything when entered a new BG scene, vice versa.
`Screenshots

The long script such as a player controller (move, idle attack, jump, crouch, special ability, pause menu) is copied and pasted onto every scene, now sometimes while play testing the script won't work like the attack or walking script
Platform (please complete the following information):

OS: Windows 10
App version GB Studio 2 beta 3 Dev Build

Edit: Forgot to add that this bug was only tested on Platformer Mode so far.

Odd that you are using a timerscript to re set every attached script every 16 frames.
When you say sometimes the script won't do anything switching scenes, are you talking about the scene init script? Or just the buttons being attached?
Do you have something visible at the end of init to confirm if init has run or failed regardless of attached buttons?
I have a suspicion holding or pressing a button while it is attached, and causing a scene switch, might somehow interupt the next init?
That or more likely it is a timerscript counter error where any actor with update script, and no wait, could cause timer to never count down / fire timerscript. #555

The script has sprite player change if you press left or right to a walking player sprite and change it idle when not pressed, same goes for attacking . Attached a weapon: item/projectile on A while changing sprite to an attack sprite sheet. It's copied and pasted ton every on init scene. The cue is that the attack thing sometimes won't work  whenever I switch scenes when its script is copied and pasted on that scene.

But the attack/all of this is only ever assigned by a timerscript set on init?
Very likely a problem with the timer script not counting/firing, rather than init failing.

Yes its all in a timer script, what do you think is a better script alt for it then?


30 minutes to 24 hours is no longer accurate (time for records to show up in logs)

I officially have spotted at least 1 audited activity which took ~53 hours to show up in the log.  It was for the operation Set-InboxRule (workload = Exchange) which we use for O365 Alerts.  Is the information on this page out of date / inaccurate or would that be considered an issue?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3494b782-92ad-e365-3398-bd2d760d10c6
Version Independent ID: fa4bca98-3975-23dd-dfac-f23049c71d01
Content: Search the audit log in the Security & Compliance Center - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/search-the-audit-log-in-security-and-compliance.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@JeremyTBradshaw Nothing has changed in terms of the 30-minute SLA for when Exchange activities are searchable in the unified audit log. So this sounds like an issue. Would suggest you contact Microsoft Support if this continues.


How to start the code at a specific line

I want to have a readonly code editor. that starts on line two. how can I do this?
It should add an empty line at the beginning and one at the bottom

You can use setHiddenRanges


Lock module

bondage level can be bigger then 5 (up to player level)
some kinds of bondage are now lockable
it is very difficult to remove locked items unless the lock is removed first
universal key is contraband now and is no more possible to buy it
new item lock picker can help you to remove the lock
new item safety cutter can help you to remove some type of bondage stuff
lockpicker an cutter can be easily destroyed
removed items can be damaged that reducing their level, especially the cutter usually destroys it
increased bondage level impact to the difficulty
rarity modifier make some bondage stuff rare to use by npc
easier to apply bondage with higher levels in combat
some bondage perks are more generic and not depend on specific minigame
even without the proper perk is a chance to get some bondage gear
instant escape is more easier escape, instant is only simple stuff
unified minigames flow
new match dice minigame
new minigame for development (if you are in dev mode you get it)
removed info about game effectiveness (total progress is still here)
new text processing for struggle allows better text compose

This is too much, I'm sorry, you -have- to split it. One feature at a time pls :o


do_image_garagesign fails with java 10

I get the following error:
Log data follows:
| DEBUG: Executing python function set_image_size
| DEBUG: Python function set_image_size finished
| DEBUG: Executing shell function do_image_garagesign
|
| The java installation you have is not up to date
| requires at least version 1.6+, you have
| version 10.0.1
|
| Please go to http://www.java.com/getjava/ and download
| a valid Java Runtime and install before running .
|
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_image_garagesign

Edit: This is on Ubuntu 18.04. I also have java 8 installed, but I'm not sure how to convince yocto to use that instead.

Hi,
meta-updater will pick up the version of java from the host environment, so the easiest way to change it is with update-alternatives
We've been able to build successfully on Ubuntu 18.04, so this should work.  One thing to be careful of if you have upgraded from an older installation is that the tmp directories and sstate cache will need to be blown away because the host compiler has changed.

Thanks, will try this later.
The thing is that it did work with java 10 after I edited out the broken version check from the garage-sign startup script :woman_shrugging:

Internal Jira reference is PRO-5445

@Bubu Our CI server has the fix now, but until it gets deployed to the production server, you can put something like this into your local.conf to force using the fixed version:
GARAGE_SIGN_VERSION = "cli-0.4.0-26-gbd9fd3c.tgz"


py2exe not working on Python3.7

Describe the bug

py2exe does not support python 3.7
while trying to make an exe_file from "FileManager.py" I get the following error:
PS C:\Users\telli\Desktop\FileMaker> py -3.7 -m py2exe.build_exe -s .\FileManager.py
Traceback (most recent call last):
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\build_exe.py", line 145, in
main()
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\build_exe.py", line 141, in main
builder.analyze()
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\runtime.py", line 160, in analyze
self.mf.import_hook(modname)
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\mf3.py", line 120, in import_hook
module = self._gcd_import(name)
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\mf3.py", line 274, in _gcd_import
return self._find_and_load(name)
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\mf3.py", line 357, in _find_and_load
self._scan_code(module.code, module)
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\mf3.py", line 388, in _scan_code
for what, args in self._scan_opcodes(code):
File "C:\Users\telli\AppData\Local\Programs\Python\Python37-32\lib\site-packages\py2exe\mf3.py", line 417, in _scan_opcodes
yield "store", (names[oparg],)
IndexError: tuple index out of range
Expected behavior

make an exe_file out of given python script
To Reproduce

try py2exe with python 3.7
My Platform

windows 10
Additional context

i fail to see how this is a issue with warehouse

Hi @telli01, sorry you're having problems. Unfortunately this is not the right place for a bug report about py2exe -- this tracker is only for issues with the software that runs pypi.org itself. It cannot help with support requests or issues in packages installed from there.
You'll need to find the support channels for the package you're having trouble with. It looks like this mailing list might be a good bet: https://sourceforge.net/projects/py2exe/lists/py2exe-users

Hi,
Thanks for mentioning. I didn’t realize that. Have a nice day.
Gesendet von Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 für Windows 10

Von: Dustin Ingram<EMAIL_ADDRESS>Gesendet: Tuesday, July 17, 2018 4:51:56 AM
An: pypa/warehouse
Cc: Gökhan Yesilyayla; Mention
Betreff: Re: [pypa/warehouse] py2exe not working on Python3.7 (#4305)
Hi @telli01https://github.com/telli01, sorry you're having problems. Unfortunately this is not the right place for a bug report about py2exe -- this tracker is only for issues with the software that runs pypi.org itself. It cannot help with support requests or issues in packages installed from there.
You'll need to find the support channels for the package you're having trouble with. It looks like this mailing list might be a good bet: https://sourceforge.net/projects/py2exe/lists/py2exe-users
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/pypa/warehouse/issues/4305#issuecomment-405443036, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AglLYcMcwh6dIsbk6nsIrQZyh50UrP61ks5uHVFMgaJpZM4VQ0xa.


updated

Checklist

[ X] Used a personal fork of the feedstock to propose changes
[X ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ X] Ensured the license file is being packaged.

@conda-forge-admin, please rerender</code

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Add auto-completion

When you type in part of a command and press TAB it should auto complete that command
set # => TAB = SETNAME

If there are multiple matches, show each command which starts with given input
s # => TAB =
SAY
SETNAME

Nice feature,
Well it seems this intractive needs more code than the core function, and I prefer to keep it simple.
I think console.js was meant to be like a game console, or use to add some debug utillity, easter egg,
these use cases are simple, auto-completion is nice, but not necessary, a handy help helper may archive same goal but more lightweight.
If in your case it is necessary, let me know :)
And besides, maybe we could add a plugin api for that?

Sure it would be awesome with plugin, but that also increases complexity. The idea was to replicate the console in Quake 3. It doesn't have to be anything fancy.
I did at one time implement auto completion in my own replication of a Quake console which I made a long while ago. I'll see if I can dig it up from the dust.

Oh I got it, I was thinking about tab effect of fish.
This should be simple enough:
# history commands
set # => TAB = SETNAME

and
# history commands
  - SAY say something
  - SETNAME set user name
s # => TAB = show those hints.

btw, I can't remember how the tab works in Quake 3,
could you provide some screenshot or video or so, showing how the tab exactly acting in Quake 3?

When typing e.g. sv and tabbing it will show a list of commands and auto complete to ´sv_´, because there's multiple commands starting with sv_

If continuing typing e.g. sv_che and a single command starts with sv_che it will auto complete to sv_cheats

Same as the first example if typing e.g. g_e it will auto complete to g_enable, because there's multiple commands starting with g_enable

:+1:

ping @fnky See if it works as expected http://gh.amio.us/console.js/

@amio That works wonderfully. Nice job!


Landing page handling according to Login/Signup/Logout is missing

Pls add support to signup.
Show tutorial page only once when application is started first time.
User can see schedule list only after sign-in.
Once user logout, user will be redirected to login page until successful login.
Login session should be maintained.

add reference to previous discussion with brandyscarney in https://github.com/driftyco/ionic-conference-app/issues/54
"Yes, I agree the user should be able to view the app without viewing the login or signup screen."

submitted a pull request for login status persistence in local storage: https://github.com/driftyco/ionic-conference-app/pull/111

"Show tutorial page only once when application is started first time."
do you want to implement that and submit a pull request ?
perhaps want to discuss with the core team first before making changes ?
that this tutorial pages could be purposely showing everytime, since this conference app is more demonstrating the Ionic features.
not sure their stand on this change.

"No, I am not agree that a user should be able to view the app without viewing the login or signup screen."

User should first signup/Login to see app
Once user logged-in and open app again then only user can see app without re-login for a period of time(cache)

User can also have some roles so, he should be redirected to role based screens.

@rajeevkumarsharma
no offense
but it looks like you are dictating the way this app should work like what you personally expect
this repo is more for demonstrating the Ionic framework
and we should come up together what this app should look like so that other Ionic developers can benefit from (and I believe the driftyco organization has the final say with this github repo)
there are many workflows that Ionic framework can implement
perhaps you start a new git repo, and let community contribute as another ionic v2 starter template ?

It's not what i personally expect but what every one expect from an framework to handle authentication workflow

Thanks for the feedback. Adding login/logout capabilities is definitely on the roadmap. It is the reason that the login, signup, and account pages aren't checked here, as they are not completed: #54
Please understand that we are working on building out the SDK at the same time we are updating this app, and any major issues with the SDK itself take priority over adding new features to this demo. If there is a feature you really want added, PR's are welcome, I have merged a few from @3dd13 already.
If you have suggestions for how something should work, please add it to that issue (#54). As @3dd13 stated, there are many workflows that could be implemented, and whichever workflow we decide on won't work for everyone. We want to use this app to show off the components of Ionic 2, but it is hard to make everyone happy with the way it works. Thanks again!


Preview without black borders

Hi,
it is not an issue. It is a wish.
It would be nice if the pdf-preview in the tab would be without the black borders.
This is what one gets by using the latex-plus package.
Thank you
nic

Can you please provide screenshot? The desired one is also preferred.

The screenshots are attached.
Am 21/03/2017 um 16:33 schrieb James Yu:

Can you please provide screenshot? The desired one is also preferred.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/James-Yu/Atom-LaTeX/issues/25#issuecomment-288117456, or mute the thread https://github.com/notifications/unsubscribe-auth/AZWGIp_zEjUvR0L4C-a-5De0kheEb_z-ks5rn-3ngaJpZM4Mj--y.

See comparison
Left is pdf-view

@aa-b Sorry the attachment is not available.
@ashthespy I did not see much difference. If you refer to the gray spaces at sides of the pdf, there is a automatic width option in the dropdown menu displaying 80%. Is that what you need?

Sorry for some reason I can not upload files.
I'm getting: Something went really wrong, and we can’t process that file.
Can I send the screenshots per email?

imgur is preferred. tho email is ok.

http://imgur.com/kwYayTV
http://imgur.com/Sr7nvIY

Hmm I get what you mean... I will need to dive into the viewer code of pdf.js for modifications. This is not on the top of priority list, yet I will check.

@James-Yu
The options is:
 * @property {boolean} removePageBorders - (optional) Removes the border shadow

Fix merged.

Just checked the no-border viewer and I have to say it is much better than the previous one IMO :p


Update Discord.Discord.installer.yaml URL

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run

/AzurePipelines run

But the installer hash should be the same.

These files do indeed have different hashes. The new one is first:
PS C:\ManVal> get-fileHash .\Installers\DiscordSetup.exe

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256<PHONE_NUMBER>E7BF490E90429D7FDFF85D6EBB923CDB3F4262D218559F670C554E       C:\ManVal\Installers\DiscordSetup…

PS C:\ManVal> get-fileHash '.\Installers\DiscordSetup (1).exe'

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          CA5CF79D0B02543FF39FF904243D566B091CE94126DFA55221A40E74E8E4B4DB       C:\ManVal\Installers\DiscordSetup…

Publish pipeline succeeded for this Pull Request. Once you refresh your index, this change should be present.

@stephengillie can you please correct it so that in the message as above from @wingetbot between “Request.” and "Once" the space was not highlighted as a link?

@rakleed I don't have direct access to the code, but I'll pass your request up to the team that does.


18 signed vector angle

Is there a reason not to have the unsigned vector angle function?

I feel PositiveVectorAngle and VectorAngle function could be combined in a way. (Like adding the reference to VectorAngle function.)

What about changing positive to unsigned, or they are different?

without the reference vector / plane you are always calculating the smallest angle. Sometimes though, especially in 2D, you want to know the angle between two vectors in respect to the order they are positioned

giving an optional 3d vector / plane to the vector angle method would practically be the same but a bit less explicit so it's as you wish? it's a slightly more expensive method  but not sure that is important? :)

unsigned is not the right word. signed and positive are the same though because angles are periodic (-PI === PI) so it's just a matter of convention whether you return angles [0, 2PI] or [-PI, PI], I choose the former (:

Ah I see. Can we do it like:
Add optional reference to VectorAngle function.
The PositiveVectorAngle uses the VectorAngle function can turn it into periodic angles?

@JonasWard Is it still something you would amend or shall I take it over?

@jch I just pushed a commit, it's like you suggested but for clarity, I kept the positive angle method as a private static method around for legibility? Do you agree, or you think it should be one method (:

it looks like these two functions actually do the same thing.. the VectorAngle funtion would also not return any negative value.
Below is the implementatoin from rhinocommon, which results the same from what I read.
/// <summary>
    /// Computes the angle on a plane between two vectors.
    /// </summary>
    /// <param name="a">First vector.</param>
    /// <param name="b">Second vector.</param>
    /// <param name="plane">Two-dimensional plane on which to perform the angle measurement.</param>
    /// <returns>On success, the angle (in radians) between a and b as projected onto the plane; RhinoMath.UnsetValue on failure.</returns>
    public static double VectorAngle(Vector3d a, Vector3d b, Plane plane)
    {
      { // Project vectors onto plane.
        Point3d pA = plane.Origin + a;
        Point3d pB = plane.Origin + b;

        pA = plane.ClosestPoint(pA);
        pB = plane.ClosestPoint(pB);

        a = pA - plane.Origin;
        b = pB - plane.Origin;
      }

      // Abort on invalid cases.
      if (!a.Unitize()) { return RhinoMath.UnsetValue; }
      if (!b.Unitize()) { return RhinoMath.UnsetValue; }

      double dot = a * b;
      { // Limit dot product to valid range.
        if (dot >= 1.0)
        { dot = 1.0; }
        else if (dot < -1.0)
        { dot = -1.0; }
      }

      double angle = Math.Acos(dot);
      { // Special case (anti)parallel vectors.
        if (Math.Abs(angle) < 1e-64) { return 0.0; }
        if (Math.Abs(angle - Math.PI) < 1e-64) { return Math.PI; }
      }

      Vector3d cross = Vector3d.CrossProduct(a, b);
      if (plane.ZAxis.IsParallelTo(cross) == +1)
        return angle;
      return 2.0 * Math.PI - angle;
    }

yes, but, they project onto a plane first, which is the same as me doing the plane to plane transformation, and then checking the crossproduct of the pair with the plane to check whether the direction is opposing, which I don't have to do because I reduced the problem to a 2D angle calculation (:

if you think it should be one method sure! but the result is for sure different when using both methods!


New version: pizzaboxer.Bloxstrap version 2.5.0

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/114155&drop=dogfoodAlpha

@wingetbot run

/azp run

Automatic Validation ended with:

@wingetbot waivers Add Validation-Unattended-Failed


Triggers refactor

Highlights:

Rewrite Trigger trait as TriggerExecutor to support deduplication of
CLI logic
Add TriggerExecutorCommand and TriggerExecutorBuilder to deduplicate
trigger command logic
Deduplicate FollowComponents logic into ExecutionContextConfiguration
Opportunistically refactor HttpTrigger:

Reduce duplication between serve & serve_tls
Replace cloneing of HttpTrigger with Arc wrapper

Unfortunately the conflicts are pretty significant. I'm going to try to deal with #520 first.


Template Fixes for Futures - American Football (NFL, NFL Draft, NCAA)

retire old  templates and add title property to template source
Use this title in the market list cards for SB
NFL
Which NFL team will win the [Year] [Event]?
Header: [Year] NFL [Event]
Title: Winner
Which NFL team will [Player] sign with?
Header: [Player] Free Agency
Title: Which NFL team will [Player] sign with
Which NFL player will win the [Year] season [Award] award?
Header: [Year] NFL [Award] award
Title: Winner
**NFL Draft - All NFL Draft Markets need to be Future markets
[Year] NFL Draft: Who will be the [pick number] overall pick?
Header: [Year] NFL Draft [pick number] overall pick
Title: Who will be selected
[Year] NFL Draft: Who will be the first [position] selected?
Header: [Year] NFL Draft: first [position] selected
Title: Who will be selected
[Year] NFL Draft: The First draft pick by the [Team]?
Header: [Year] NFL Draft: [Team] first overall pick
Title: Who will be selected
[Year] NFL Draft(O/U): [Whole #].5 Total [Positions] drafted in Round 1?
Header: [Year] NFL Draft(O/U): [Positions] drafted in Round 1
Title: Over/Under [#] [position]
[Year] NFL Draft(O/U): When will [Person's Name] be selected? Over/Under, Pick [Whole #].5?
Header: [Year] NFL Draft(O/U): [Person's Name] pick number
Title: Over/Under [#]
NCAA
Which college football team will win [Year] National Championship?
Header: [Year] NCAAF FBS National Championship
Title: Winner
Which college football player will win the [Year] Heisman Trophy?
Header: [Year] Heisman Trophy
Title: Winner

NCAA Football National Championship updated


SQL PS Module Generates two GUIDs

Steps to reproduce
Run the command:
New-MarkdownHelp -Module SQLPS -WithModulePage -Locale en-US -HelpVersion <IP_ADDRESS> -FwLink Http://someLink

Expected behavior
The YAML meta data block in the module landing page only has one GUID.
Actual behavior
Two GUIDs show up.
Module Name: SQLPS
Module Guid: 00000000-0000-0000-0000-000000000000 59832c13-c460-4d15-992a-c2dab1056a13
Download Help Link: Http://someLink
Help Version: <IP_ADDRESS>
Locale: en-US

Environment data
PlatyPS - 0.6.1 with latest changes not yet released to PS Gallery
Windows 10
PowerShell 5.0

This seems to be an issue with SQLPS itself, on import, it loads a script as well as the module. The script has a all-zero GUID. will follow up, but does not look like a platyps issue.

@jongeller - not sure on why this happens with SQLPS as this doesn't happen with the newer SQLServer module
However you can get round this with the below
Import-Module SQLPS
Remove-module ((Get-Module SQLPS) | Where-Object {$_.ModuleType -eq 'Script'})
New-MarkdownHelp -Module SQLPS -WithModulePage -Locale en-US -HelpVersion <IP_ADDRESS> -FwLink Http://someLink

Hope that helps

@kilasuit thanks! It's good to have this in a back pocket when needed.


Enable command override for PostgreSQLContainer

This corrects #937 for postgres removing the setCommand call in PostgreSQLContainer#configure() and thereby enabling command overrides.

Shall we complete this? @kellen please let us know if you don't have time - it is something I could pick up and finalise.

@rnorth Yes, please do. I've just started a new job so this has been a low priority for me, sorry!

@kiview I've finished this off - please could you take another look? 😁

Fixes #937


Remove LICENSE from package.json/files

The LICENSE file is being included regardless of what's specified in package.json/files.

Good catch, thanks! (ref: https://docs.npmjs.com/files/package.json#files)


focus fails to connect if GSSAPI is configured

I'm using GSSAPI and PLAIN. focus fails to connect with invalid username/password. If GSSAPI is disabled, the focus user connects as expected. It appears that focus is trying to connected using GSSAPI. This may be the case with other saslmech that are avail on the server, but not supported by jicofo.  This appears to be an issue with jicofo.  I have raised the issue here. https://github.com/jitsi/jicofo/issues/203

I've submitted a PR to jitsi for this issue.

this is no longer an issue with 0.94


Fix jaxlib pin for jax 0.4.16

Checklist

[x] Used a static YAML file for the patch if possible (instructions).
[x] Only wrote code directly into generate_patch_json.py if absolutely necessary.
[x] Ran pre-commit run -a and ensured all files pass the linting checks.
[ ] Ran python show_diff.py and posted the output as part of the PR.
[x] Modifications won't affect packages built in the future.

<!-- Put any other comments or information here --!>

Please post a link to an issue or other place where this is documented.

https://github.com/conda-forge/jax-feedstock/pull/130
https://github.com/google/jax/blob/jaxlib-v0.4.16/jax/version.py#L122


[Bug]: System cache not cleared when a new database is loaded with same persitent_directory

What happened?
I create a database locally and store it on the filesystem. I am using persistent_directory to define the storage location. I have multiple database like this, I usually store them as a tar.gz archive. Now I restore a certain database (=unpack the tar.gz) and load the database.
What happens is the following: The first database I unpack works fine. But then I unpack a second archive and create a new instance on chroma then under the hood the cache still contains data from the old database resulting sometimes in exception like:
ValidationError(model='Document', errors=[{'loc': ('page_content',), 'msg': 'none is not an allowed value', 'type': 'type_error.none.not_allowed'}])

or
InvalidCollectionException('Collection d45cbd56-f13a-4c67-8237-f0769592eb2c does not exist.')

Which seem linked to the fact that the client system cache contains still old data. To work around it I can is calling clear_system_cache() on the client. However as you can see here the method is annotated with documentation stating it should only be used for testing purpose.
I would say the actual bug is that old data remains in the cache that should not.
Calling clear_system_cache() is valid workaround but it would be nice to officially document it as a full API functionality and not a method only intended for testing purpose.
Versions
Chroma v0.5.3, Python 3.11.8, MacOS 14.5
Relevant log output
No response

@sjoerd222888, let me confirm your use cases:
client = PersistentClient(path="dir1")
# do some work with the client
client = PersistentClient(path="dir2")
# This is where things start to go wrong with the above error message.

By the way the ValidationError seems to be FastAPI/pydantic validation error from your application correct?
We had a little while ago a PR about adding a close() method to both persistent and http clients -https://github.com/chroma-core/chroma/pull/1792.

Note that we use the clear_system_cache workaround even in our tests:
https://github.com/chroma-core/chroma/blob/28b37392594dd7ba60e35c53f098d7f88a9d3988/chromadb/test/test_api.py#L39-L41
I'll try to reproduce your issue on my end.

@sjoerd222888, did some more experimentation. So let's consider the following two PersistentClient:
import chromadb

local_client = chromadb.PersistentClient(path="source")
remote_client = chromadb.PersistentClient(path="target")

collection = local_client.get_or_create_collection("my_source_collection")
collection.add(
    ids=["1", "2"],
    documents=["hello world", "hello ChromaDB"],
    metadatas=[{"a": 1}, {"b": 2}])
remote_collection = remote_client.get_or_create_collection("my_target_collection",
                                                           metadata=collection.metadata)
existing_count = collection.count()
batch_size = 10
for i in range(0, existing_count, batch_size):
    batch = collection.get(
        include=["metadatas", "documents", "embeddings"],
        limit=batch_size,
        offset=i)
    remote_collection.add(
        ids=batch["ids"],
        documents=batch["documents"],
        metadatas=batch["metadatas"],
        embeddings=batch["embeddings"])

The above code copies a source collection to a target collection with two different PersistentClients with their respective locations.
Introspecting Chroma internals will show you that each client keeps its own cache correctly:
from chromadb.api.segment import SegmentAPI
from chromadb.api.shared_system_client import SharedSystemClient
print("Persistent Clients: ",SharedSystemClient._identifier_to_system)
print("Collection Cache - source client: ",SharedSystemClient._identifier_to_system["source"].instance(SegmentAPI)._collection_cache)
print("Collection Cache - target client: ",SharedSystemClient._identifier_to_system["target"].instance(SegmentAPI)._collection_cache)

Persistent Clients:  {'source': <chromadb.config.System object at 0x12ec38710>, 'target': <chromadb.config.System object at 0x12fa1bb10>}
Collection Cache - source client:  {UUID('dd371447-7607-4e85-84e0-662aae4a8700'): Collection(id=UUID('dd371447-7607-4e85-84e0-662aae4a8700'), name='my_source_collection', configuration_json={'hnsw_configuration': {'space': 'l2', 'ef_construction': 100, 'ef_search': 10, 'num_threads': 16, 'M': 16, 'resize_factor': 1.2, 'batch_size': 100, 'sync_threshold': 1000, '_type': 'HNSWConfigurationInternal'}, '_type': 'CollectionConfigurationInternal'}, metadata=None, dimension=384, tenant='default_tenant', database='default_database', version=0)}
Collection Cache - target client:  {UUID('64f08d94-cc1d-4ee5-8663-d56eed5b7805'): Collection(id=UUID('64f08d94-cc1d-4ee5-8663-d56eed5b7805'), name='my_target_collection', configuration_json={'hnsw_configuration': {'space': 'l2', 'ef_construction': 100, 'ef_search': 10, 'num_threads': 16, 'M': 16, 'resize_factor': 1.2, 'batch_size': 100, 'sync_threshold': 1000, '_type': 'HNSWConfigurationInternal'}, '_type': 'CollectionConfigurationInternal'}, metadata=None, dimension=384, tenant='default_tenant', database='default_database', version=0)}

Is it possible that your code somehow conflates/reuses objects that are not reinitialized such that they contain stale data?