Add the ability to custom the cache namespace prefix

Which allow user to specify the correct namespace prefix by their own
New Pull Request Checklist

[x] I have read and understood the CONTRIBUTING guide

[x] I have read the Documentation

[x] I have searched for a similar pull request in the project and found none

[x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

[x] I have added the required tests to prove the fix/feature I am adding

[x] I have updated the documentation (if necessary)

[x] I have run the tests and they pass

[x] I have run the lint and it passes (pod lib lint)

This merge request fixes / reffers to the following issues: https://github.com/rs/SDWebImage/commit/a6bdba724e0ab0a8445aa23164845a6f1db054f1
Pull Request Description
Reason
In the previous renaming, we change the default image cache's prefix of namespace from com.hackemist.SDWebImageCache. to com.hackemist.SDImageCache.. However, we does not notice this will also cause the previous version of SDWebImage user will lost their cache folder because the we always prefix the namespace from the cache initializer arg.
Design
We'd better provide a config for this instead of hard-coded the string into the implementation files. It's easy to do this, just using the defaultCacheConfig and provide a new property contains the prefix string. We recommend to use the
Reverse domain name notation and keep the final dot (.) charactor. However, if you want, you can just using something like MyProject_, and your namespace will final become MyProject_default and treat this as the disk cache folder. It's not a enforcement.
Implementation
/**
 * The namespace prefix of cache. It's used to prefix the namespace you provide to the caches's initializer. You 'd better name it with reverse domain name notation and keep the final dot.
 * Defautls to `com.hackemist.SDImageCache.`, which will prefix your namespace such as `default` to final `com.hackemist.SDImageCache.default`.
 */
@property (copy, nonatomic, nonnull) NSString *namespacePrefix;

Codecov Report

Merging #2299 into 5.x will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              5.x    #2299      +/-   ##
==========================================
+ Coverage   68.81%   68.84%   +0.03%
==========================================
  Files          48       48
  Lines        6548     6552       +4
==========================================
+ Hits         4506     4511       +5
+ Misses       2042     2041       -1

Flag
Coverage Δ

#iOS
69.95% <100%> (ø)
:arrow_up:

#macOS
67.37% <100%> (+0.02%)
:arrow_up:

Impacted Files
Coverage Δ

SDWebImage/SDImageCache.m
67.29% <100%> (+0.15%)
:arrow_up:

SDWebImage/SDImageCacheConfig.m
100% <100%> (ø)
:arrow_up:

SDWebImage/SDWebImageDownloader.m
81.84% <0%> (+0.33%)
:arrow_up:

Continue to review full report at Codecov.

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


Init of controllers fails on HBA card

Hi,
filing another one.
Init of controllers fails on some cards on this line:
return [ctl['Ctl'] for ctl in common.response_data(out)['System Overview']]

The "System overview" appears to be "IT System Overview" sometimes.
Examples:
Output of HBA card:
CLI Version = 007.2309.0000.0000 Sep 16, 2022
Operating system = Linux 5.4.0-99-generic
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = ubuntu20-cuda
Operating System  = Linux 5.4.0-99-generic
StoreLib IT Version = 07.2400.0200.0100
StoreLib IR3 Version = 16.14-0

IT System Overview :
==================

---------------------------------------------------------------------------
Ctl Model        AdapterType   VendId DevId SubVendId SubDevId PCI Address
---------------------------------------------------------------------------
  0 HBA 9400-16i   SAS3416(B0) 0x1000  0xAC    0x1000   0x3000 00:3b:00:00
---------------------------------------------------------------------------

Output of RAID card:
CLI Version = 007.2309.0000.0000 Sep 16, 2022
Operating system = Linux 5.4.0-99-generic
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = ubuntu20-cuda
Operating System  = Linux 5.4.0-99-generic

System Overview :
===============

----------------------------------------------------------------------
Ctl Model     Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS  EHS ASOs Hlth
----------------------------------------------------------------------
  0 AVAGOJBOD    16  16   0     0   0     0 N/A On  1&2 Y      2 Opt
----------------------------------------------------------------------

Please, give me the output of storcli show J so I can add them directly to tests
Thank you!

Bug confirmed.
Bugfix published on branch develop
Please @ulmitov confirm me it is fixed


Support different x and y overlaps in the fileseries reader

Would like to suggest default to one overlap size for both x and y direction but also allow two overlap numbers for [x-overlap, y-overlap] or other reasonable formats.

Have you solved the problem? I modified the tile_position function in the fileseries script as follows:
from:
def tile_position(self, i):
row, col = self.tile_rc(i)
return [row, col] * self.tile_size(i) * (1 - self.overlap)
to:
def tile_position(self, i):
row, col = self.tile_rc(i)
return [row, col] * self.tile_size(i) * np.array([1 - self.overlapx,1 - self.overlapy])
It is found that there are longitudinal gaps in the Mosaic panoramic image.

In addition, I found obvious stitching traces on the edge of the mosaic image. Do you have any suggestions?

Thanks @rainwashautumn, I have used a similar approach for my use case.
For the issue you are seeing, I'd recommend trying out different blending modes, #110 would be a reference for that.
It might be helpful to also check out #92 and make some plots for quality check.


global transition-duration causes route/title change delay

Version
v2.9.2
Reproduction link
https://codesandbox.io/s/codesandbox-nuxt-ipv9k?fontsize=14
Steps to reproduce

Navigate between the pages by pressing the button
After 2-3 times the title change in the tab is delayed
Continue navigating between the pages and keep focus on the tab

What is expected ?

No route/title change delay
No fallback to default title

What is actually happening?

Route/title change is affected by global transition-duration
Default title visible in tab between change

Additional comments?
Caused by:
*, ::before, ::after {
  transition-duration: 250ms;
}

This bug report is available on Nuxt community (#c9703)

The first aspect (the delay for the title change) is intentional and fits to the transition duration.
What really bugs me is the default title (Transition Bug - Transition Bug) being visible after a few changes :thinking:

cc @pimlie 	Any idea?

Vue-meta will update the title whenever a change is detected, so I guess there is a measurable delay between the old page component being removed by nuxt and the new one being added.
Normally I would recommend to set refreshOnceOnNavigation in the vue-meta options, unfortunately I dont think you can do that with nuxt except for manually changing the @nuxt/vue-app/template/index.js file in node_modules.

@pimlie 	Do you think that'd be a nice addition/optional feature (to config vue meta settings for Nuxt.js via `nutx.config.js)?

Maybe it would be better/easier/quicker if we change vue-meta that you toggle that option during runtime. Looking at the other options the refreshOnce is a bit of an odd-ball anyway.

We are approaching the Nuxt 2 EOL date (June 30, 2024) - see this article for more information. This is advance warning that I'm going to close this issue then, as it's currently marked as a Nuxt 2 related bug.
If it's a critical or security issue, please do comment and let me know, in case it is possible to address it before the EOL date.
If it's a an issue you think is relevant for Nuxt 3, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏
Thank you for your understanding and for your contribution to Nuxt. ❤

It's the day, at last. Nuxt 2 is now marked end-of-life.
My apologies we never got round to resolving this bug in the 2.x branch, but we do have to draw a line somewhere. Again, if you think this is still relevant for Nuxt going forward, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏


Force publish virtualized lists 73.3

Please select one of the following

[ ] I am removing an existing difference between facebook/react-native and microsoft/react-native-macos :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos :thumbsup:
[ ] I am making a fix / change for the macOS implementation of react-native
[x] I am making a change required for Microsoft usage of react-native

Summary:
Since 0.73-stable now depends on a specific version of virtualized-lists, we need to publish said version from the main branch.
The latest version that we're requesting is 0.73.3. We set the patch version to 1 less than what we want because beachball will increment the patch number.
Changelog:
[INTERNAL] [CHANGED] - Bump virtualized-lists to 0.73.3
Test Plan:
No functional changes.

/azp run


go/lint: add butuzov/mirror linter

Project: https://github.com/butuzov/mirror
We can wait for inclusion into golangci-lint once https://github.com/golangci/golangci-lint/pull/3825 is merged.

Codecov Report
Patch and project coverage have no change.

Comparison is base (f344c34) 78.37% compared to head (77773b7) 78.37%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #269   +/-   ##
=======================================
  Coverage   78.37%   78.37%
=======================================
  Files           1        1
  Lines          37       37
=======================================
  Hits           29       29
  Misses          4        4
  Partials        4        4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Undefined property: stdClass::$name

When performing a checkout using paypalExpress, i´m getting:
at HandleExceptions->handleError('8', 'Undefined property: stdClass::$name', '/home/vagrant/Code/Laravel/cookinio/vendor/amsgames/laravel-shop-gateway-paypal/src/GatewayPayPalExpress.php', '131', array('order' => object(Order), 'payer' => object(Payer), 'list' => object(ItemList), 'details' => object(Details), 'amount' => object(Amount), 'transaction' => object(Transaction), 'redirectUrls' => object(RedirectUrls), 'payment' => object(Payment), 'e' => object(PayPalConnectionException), 'response' => object(stdClass))) in GatewayPayPalExpress.php line 131

Any way way to fix this?

This is what i get, when i´m dumping the response:
PayPalConnectionException {#443 ▼
-url: "https://api.paypal.com/v1/oauth2/token"
-data: "{"error":"invalid_client","error_description":"The client credentials are invalid"}"
#message: "Got Http response code 401 when accessing https://api.paypal.com/v1/oauth2/token."
#code: 401
#file: "/home/vagrant/Code/Laravel/cookinio/vendor/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php"
#line: 180
-trace: array:60 [▶]
}
{#426 ▼
+"error": "invalid_client"
+"error_description": "The client credentials are invalid"
}

Sandbox was turned off. Sorry.


Still cannot see the 'extension manager' after updating to 3.2.1-2

After the PR #322 is merged, I have updated to the most recent version of jupyterlab-desktop, which is 3.2.1-2, but still cannot see the extension manager yet.

According to the release page, jupyterlab extensions are now supported so I assumed we can see the extension manager at the left side-bar but it is not there.

I have set "true" to the "enabled" section in the advanced settings editor, and installed all the 'build dependencies', such as node.js. Why can't I see the extension manager?

That PR enabled installing and using prebuilt (aka federated) extensions that are installed with pip/conda and sometimes other package managers; The description of #322 specifically says:

Does not solve #269, i.e. the extension manager remains disabled as we do not offer support for source extensions but currently the extension manager assumes that both prebuild (federated) and source extension are supported.

I added clarifying comment in https://github.com/jupyterlab/jupyterlab-desktop/issues/269#issuecomment-958771989. Let's consolidate discussion in #289 which I purposefully left open to tracka did extension manager. Please feel welcome to contribute to upstream JupyterLab to make the extension manager support prebuilt extensions installation.


Difference in treating owise rules by llvm and haskell backends

Here is reproduction (version of K is tag: v5.0.0-3bfd4f8):
module A-SYNTAX
  imports INT-SYNTAX
  imports LIST

  syntax D ::= "d0" | "d1" | "d2"

  syntax V ::= value(D)
             | D

  syntax VL ::= List{V,";"}

  syntax A ::= Int
             | lst(VL,D)

  syntax KResult ::= A | V

endmodule

module A
  imports A-SYNTAX
  imports INT

  rule lst(value(Q); Rest, Q) => 5 [structural]
  rule lst(value(_); Rest, _) => 3 [structural, owise]
  rule lst(_, _) => 1 [structural, owise]

  configuration <k> $PGM:A </k>
endmodule

and two cases:
$ kompile --backend haskell a.k
$ krun p.txt
<k>
  3
</k>

and
$ kompile --backend llvm a.k
$ krun p.txt
<k>
  1
</k>

haskell backend gives all variants with --search-final:
$ krun --search-final p.txt
  {
    Result
  #Equals
    <k>
      1
    </k>
  }
#Or
  {
    Result
  #Equals
    <k>
      3
    </k>
  }

but in real k-spec (where I've found this issue), I was not be able to run --search-final with haskell backend because of fault during running spec (I suppose that 16G ram was not enough to make state-space search).
I understand that there is an ambiguity when one owise rule is a subpattern of another, but there should be some warning, for instance. Or (even better) rejecting such K spec as incorrect.
It seems to me that this sort of check between owise rules could be done via pairwise unification of owise rules, and it could help to reject such malformed owise rules (at least some part of them).
If someone point me to source code places where to start digging, it is possible that I can make such checks by myself.

I understand that non-determinism is normal beh. of system, described by K-specification.
My question is about non-determinism among owise rules. In my opinion, the situation like in aforementioned case, where several owise rules are enabled  simultaneously during execution, is highly likely not wanted and not expected by developer.
As I understand, owise pattern is shortcut to something like that: expanded/translated owise_pattern :=
owise_pattern and not (exists P:ALL_OTHER_PATTERNS, such that P).
So, I've expected, that there should be at most one enabled owise pattern in any given state during execution.
Am I wrong in treating owise patterns?

The owise attribute simply means that the rule has lower priority than all rules that don't have the owise attribute. (It's a bit more complicated than that when you consider the priority attribute, but I'm simplifying)
Thus, if two rules have the owise attribute, it simply means that both rules have priority lower than all the other rules. They still have the same priority with respect to one another.

Aha.
As I've understood, if pattern with higher priority was matched then all patterns with lower priority are just skipped.
And if there are several patterns with the same priority, then there is state bifurcation (point of non-deterministic choice between patterns)?
Is it correct?

In general, yes, although note this is not true of functions. When a production is tagged with the function attribute, it becomes a function, and of course functions can only have one value for any given input. This is not checked by K currently, but if you write such a function, the prover may be able to prove #False, ie, your semantics is logically not consistent, which in general means that proof results over such a semantics are essentially meaningless.
Note: this is not the same as saying that it's an error if more than one function rule applies on a given input. For example, this is a valid axiomatization of logical or:
rule true orBool B => true
rule B orBool true => true
rule false orBool false => false

Here it is not determined which of the first two rules applies to simplify the term true orBool true, but since both eventually rewrite to the same value, the definition is confluent, which means that it's not logically inconsistent. This makes the task of determining whether a set of rewrite rules for a function is confluent or not very difficult, and in general it requires more work than simply checking whether their left hand sides unify. Indeed, it can involve arbitrary computation since you will eventually need to check whether the two right hand sides of each critical pair rewrite to the same term. Since the right hand sides can contain arbitrary functions, in its fullest generality this problem is turing complete and thus undecidable. This is another reason we don't try to attempt to warn the user about things like this; it's just not computationally practical.
However, it may be possible for the haskell backend to be modified to check whether a particular input configuration is confluent; it would be extremely slow, but you could simply explore every path and check that they all reach the same output; however, you still have not solved the question of whether it is confluent for every input, and if the transition relation doesn't terminate, neither will k.

Thanks for clarification!
Is there some wiki pages/docs, etc where newbies like me can read about priorities in rules, functions and their limitations/nuances and so on?
BTW: I've noted some issues in requires conditions in rules:
module A-SYNTAX
  imports INT-SYNTAX
  imports BOOL-SYNTAX

  syntax BoolExp ::= Bool
                   | Exp "==" Exp [seqctrict]
                   | a(BoolExp) [strict]

  syntax Exp ::= Int
               | e(Exp) [strict]
               | BoolExp "?" Exp ":" Exp [strict(1)]

  syntax KResult ::= Bool | Int
endmodule

module A
  imports A-SYNTAX
  imports BOOL
  imports INT

  rule a(true) => false [structural]
  rule a(false) => true [structural]

  rule true ? E : _ => E [structural]
  rule false ? _ : E => E [strutural]

  rule L::Int == R::Int => L ==Int R [structural]

  rule e(I::Int) => 0
       requires a(I == 1)
       [structural]

  rule e(_) => 1 [structural, owise]

  configuration <k> $PGM:Exp </k>
endmodule

program in t.txt: e(2)
haskel backend gives next result:
$kompile --backend haskell a.k
$krun --search-final t.txt
  {
    Result
  #Equals
    <k>
      0
    </k>
  }
#And
  {
    a ( 2 == 1 )
  #Equals
    true
  }

but llvm backend cannot even kompile defintion:
$kompile --backend llvm a.k
/usr/bin/opt-8: tmp.KHeISIwsvf:4846:7: error: value doesn't match function result type 'i1'
  ret %block* %13
      ^
[Error] Critical: llvm-kompile returned nonzero exit code: 1
Examine output to see errors.

As I see, llvm backend expects only Bool sort in requires section of the rule definition.
What is limitations/constraints of requires parts in rules?

You need your term in requires to be sort Bool, yes

@vasil-sd can you confirm that this issue is resolved? If so, can you close it?

@ehildenb , yes, I'll close it.


Prefix version tags with 'v'

This got lost with mitmproxy 9 somehow. the plan is to recreate those tags with 'v', and then keep using 'v' going forward.

Note the changelog is not true. Sever does not require the v prefix nor is it actually valid. It's common and fine, but only the string after v is a valid semantic version.
See https://semver.org/#is-v123-a-semantic-version

Thanks. Not sure how I ended up with that, I removed the incorrect wording from the changelog.

Maybe because of the branch name. Anyway great my silly nitpick here were incooperated! 😜


How to make a function global?

The question title is a bit weird, but I'm going to explain it anyway :-)
Normally, in NodeJS or in a browser, when you store a variable or function on the global or window object it will be globally available in all scripts (without using window. or global. qualifiers), right? How can this be done in duktape? I already created a global object, but don't know how to continue.
Maybe I'm misunderstanding something here, so let me quickly explain what I'm actually trying to do: my app can now load the Jasmine test framework node module, which defines some functions like describe() or it(), just like Mocha does. You can usually just call them without a need to "require" something or have an object to call things on. However, in my test spec files I get an error that describe is unknown. So I wonder what could be wrong here? The frameworks seems to load fine (no errors and I get output from it).
The call stack is:
Could not load main script: main.js
ReferenceError: identifier 'describe' undefined
    at main (<path>/tests/self-tests/path-test.js:4)
    at require () native
    at forEach () native
    at runtTests (main.js:26)
    at global (main.js:35)
    at [anon] (node_modules/jasmine/lib/jasmine.js:198)
    at [anon] (eval:1)

and path-test.js contains:

"use strict"

describe("Blah", function() {
  it("Do it", function() {
    print("testing");
  });
});

I'm assuming you want to do this from Ecmascript (not C) code.
If a script just writes:
foo = 123;

it will establish a global "foo" property (assuming no shadowing variable exists) from either program code, eval code, or even function code (which includes modules).  If you say:
var foo = 123;

a global variable is established if the statement is executed as program code or eval code in the global context. In a function it establishes a local variable.
You can gain access to the global object from any scope as follows:
var global = new Function('return this;')();
global.myProperty = 123;

That looks a bit weird, but what it does is: (1) create a non-strict function that returns its "this" binding, and (2) call the function. The call uses "undefined" for the "this" binding, but because the function is not strict, it gets coerced to the global object (which is standard ES "this" binding handling) for the call. The return value is thus always the global object, regardless of where the idiom occurs.

Besides that low level answer it's a bit difficult to be sure what needs fixing in the setup.
Maybe something needs to do:
(function () {
    var global = new Function('return this;')();
    global.describe = require('something)'.describe;
    global.it = require('something)'.it;
    // ... more?
})();

in order to provide the global bindings?
Or, if all the symbols need copying, something like:
(function () {
    var global = new Function('return this;')();
    var mod = require('something');
    for (var k in mod) {
        global[k] = mod[k];  // copy symbols to global object
    }
})();

Hmm, since the node module is used as is in my app and works in NodeJS I assume its code is already correct. I guess it's something I must yet do to make it work, e.g. provide something that NodeJS does too. Look here. This is where described is defined. How can this go to the public scope so that I can use the function without any require and variable/module qualifier?
I'm sorry if that is mostly not related to duktape, but I believe it must have to do with something my app has to provide via duktape.

I just found this, which confirms my assumption that any assignment to the global module/namespace automatically makes that available globally. At the moment I have this:
  duk_push_object(ctx);
  Utils::registerFunctions(ctx, functionList);
  duk_put_global_string(ctx, "global");

in order to create such a global namespace. Now, what must be done so that every assignment to this global object is automatically visible in duktape`s global object?

I got it to work. A proxy is indeed the right approach. It simply forwards all calls to "get", "set", "ownKeys", "has" and "deleteProperty" to the global duktape object and voila, Jasmine runs nicely. Talking about a problem sometimes helps to solve it :-) Thanks.

Hmm, I'm not sure why a Proxy is needed though - couldn't the global object reference just point to the global object directly? :)

It seems like he was trying to get a module designed to be require()d to instead put its exports into the global scope, which is just not how CommonJS is designed to work.  The module code would have to be modified.

Right, but if one does that by writing to a Proxy object backed by the global object, why not write to the global object directly? This part I didn't understand.

No idea.  I suppose one could proxy module.exports to the global object if they didn't want to modify the module itself.

But why Proxy it? Why not just set module.exports = global?

@mike-lischke Great to hear you got it working :) If the solution is generally useful it'd be nice to document the setup for others.
Re: that Proxy/global thing, I'm not sure why a Proxy is required; would this work instead?
duk_push_global_object(ctx);
duk_put_global_string(ctx, "global");

This just registers a global symbol "global", pointing to the global object.

Well, I thought about simply replacing the global object (and actually even tried it), but then I have to mirror somehow everything that the global object does. I don't see how my replacement object could call the original global object. Hmm, maybe it could store a reference to it in a property? But then it's also kinda proxy, so it doesn't make a difference if I create an explicit proxy or just create an object that acts like one. Hence I decided for the explicit solution. The implementation is super simple anyway.

Re: that Proxy/global thing, I'm not sure why a Proxy is required; would this work instead?
duk_push_global_object(ctx);
duk_put_global_string(ctx, "global");
This just registers a global symbol "global", pointing to the global object.

This is what I used before (in one of my comments I posted that code). But this doesn't replace the global duktape object, but adds an object named global to th global duktape object. The thing here is that some libraries (like Jasmine) do this:
var realGlobal = <if browser> window else <if nodejs> global else {}
realGlobal.myFunction = function () { ... }

and later in a different file:
myFunction(...)

This only works when myFunction is available on both the global duktape object and the object propertyglobal of the global duktape object.

Not sure I understand - that code doesn't create a new object, it just adds a global variable global referencing the selfsame global object.  Objects in JS have reference semantics, assigning them doesn't create a copy.

In other words, if one does this:
var a = {};
var b = a;
b.foo = 812;
console.log(a.foo);

That should print 812.  The global reference is no different.


[web] SliverAppBar issue on dartpad after 2.5 update

this code sample was working on 2.2,
2.5 seems to have broken it

Hi @aoatmon Thanks for filing the issue, I am sorry but I could not see any difference in both the outputs (stable 2.2.3 and 2.5.0), Could you please share the expected and the actual output.

Outputs

Stable 2.2.3

Stable 2.5.0

flutter doctor -v
[✓] Flutter (Channel beta, 2.5.0-5.3.pre, on macOS 11.5.2 20G95 darwin-arm, locale en-GB)
    • Flutter version 2.5.0-5.3.pre at /Users/mahesh/Documents/flutter_beta
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a7fb06d6fa (8 days ago), 2021-09-02 09:07:14 -0700
    • Engine revision fcde2c8b2f
    • Dart version 2.14.0 (build 2.14.0-377.8.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.59.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.26.0

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • B622CBB7-F906-4FA7-8F49-FACEAAC905AB • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS
      11.5.2 20G95 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript •
      Google Chrome 93.0.4577.63

• No issues found!

[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.2 20G95 darwin-arm, locale en-GB)
    • Flutter version 2.2.3 at /Users/mahesh/Documents/flutter_dev
    • Framework revision f4abaa0735 (2 months ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.59.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.26.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 11.5.2 20G95 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 93.0.4577.63

• No issues found!

Thanks

@maheshmnj oh, maybe is a dartpad issue than sorry about that


[WIP] STM32C071 Support

stm32c071: update svd and various definitions.

I cleaned a few things up but only barely know what I'm doing.
There is a decision that has to be made regarding SPI. C071 has SPI1 and SPI2, so ST decided that SPI on C011 is now SPI1 in line with the updated reference manual. How should this be handled? Inconsistently the SVD for C031 still refers to it as SPI. I believe this is why mmaps fails, not entirely sure what that check is doing.

not entirely sure what that check is doing

It creates diff friendly representation of registers. Very helpful for review. But it needs to run successful.
You can run it manually with make mmaps or cargo make mmaps.
If you think SPI should be SPI1 you need to add _modify block in stm32c031.yaml:
_modify:
  SPI:
    name: SPI1

Thanks! It runs clean on the branch but it looks like the mmaps CI action is running the new patches against the old zip which I think might always fail.

If you think SPI should be SPI1 you need to add _modify block in stm32c031.yaml:

Well it looks like ST is headed towards it being SPI1 in the docs, but thats going to break any code built on SPI naming. I guess I'm looking for community guidelines on that? I think the answer here is move to SPI1 for the long term by breaking things now.

CI action is running the new patches against the old zip

You are right. A potential fix is #949. But I'm not good enough in CI to properly review it.

I think the answer here is move to SPI1 for the long term by breaking things now

Feel free in such changes. Also check RCC reset/enable registers for conformity.

Okay, have learned to use svdtools a bit better and made quite a few clean ups and fixes along with reviewing mmaps to make sure all the redundant prefixes are gone.
Its in a pretty good state now but I need to check it against the hal for c031 and c011 -- I've been focused on playing with the new c071 only.

What state of this PR?

What state of this PR?

I've been using it personally along with updates to the HAL, and rolled quite a number of small corrections into it from that effort.
I think its in a good place and could be a candidate for merging.
The generated registers I feel are in a very good place, I reviewed them at mmap level and made edits as necessary updating the HAL.
I'm not sure how clean my fixups are in the yaml files or if I've met other project standards. Could use a review if possible.
I don't think it should need many more tweaks unless the SVD itself has yet undiscovered errors.

I've merged #949. Could you rebase yet one time.

Done, and MMAP check is passing now with that merge, excellent!

Done, and MMAP check is passing now with that merge, excellent!

Check is passing, but now "compare mmaps" job fails.


Login and Register UI improved

The UI of the social login is improved.

closes #236

Squash your commits @Kanishka5
We have discussed that oauth buttons should be at the top ?

@Tushar19varshney I tried keeping in the top too, but this was looking better. Hope it's not an issue.

@Kanishka5 I also like this UI (login with facebook the bottom)
thanks : )


ESlint config changes will change --ext usage

An option to remove the passing of the --ext option for ESlint would be appreciated.
V9 of Eslint will be moving to flat configs with glob patterns which no longer will work correctly with --ext, An option to disable that would be useful

Thank you; my issue got marked stale :(
https://github.com/wearerequired/lint-action/issues/730

This is the problem with auto-marking things as stale.  This is an open issue.


Unused gql import on<EMAIL_ADDRESS>with external documents

Describe the bug
The update on gql import from @apollo/client package generates const gql = Apollo.gql unused on every file, as we import graphql files through webpack.
To Reproduce
Steps to reproduce the behavior:
https://codesandbox.io/s/graphql-codegen-bug-reproduce-kpbp6?file=/src/document.generated.tsx

My GraphQL schema:

Irrelevant

My GraphQL operations:

Irrelevant

My codegen.yml config file:

generates:
  src/graphql_definitions.ts:
    plugins:
      - "typescript"
  src/graphqldeclarations.d.ts:
    plugins:
      - "typescript-graphql-files-modules"
  src/:
    preset: near-operation-file
    presetConfig:
      extension: .generated.tsx
      baseTypesPath: graphql_definitions.ts
    plugins:
      - "typescript-operations"
      - "typescript-react-apollo"
    config:
      withMutationFn: true
      withRefetchFn: true
      documentMode: external
      importDocumentNodeExternallyFrom: near-operation-file
config:
  avoidOptionals: false
  immutableTypes: false
  # useTypeImports: true
  pureMagicComment: true

Expected behavior
If documentNode is external, the import of gql should be ignored I guess?
Environment:

OS: Ubuntu 20.04
@graphql-codegen/typescript-react-apollo: 2.0.4
NodeJS: 14

@YvanGuidoin I fixed it in: https://github.com/dotansimha/graphql-code-generator/pull/4516
Can you please try the alpha<EMAIL_ADDRESS>

@dotansimha the alpha fixes the issue, thanks for the quick resolve

Fix available in<EMAIL_ADDRESS>


landmark detector turns 170ms on my mobile phone(Android),how can I speed it up?

seems downscaling the image is useless for speed.
btw, 95M of dat file is too big. is that the reason for the slow?
I'v speed up the face detection to 17ms, but I cant speed the landmark detection up..
pls help.

That doesn't sound like the right speed.  But in any case, if you want a different model file you need to train your own.  The example programs show you how to do this.

will changing the model get better speed?

what's the right speed? what may cause my problem?

Read the documentation so you can understand what the model parameters do.
But in any event, no matter what you do the shape_predictor is at least an order of magnitude faster than the face detector.  So if you think the shape_predictor isn't faster you are doing something wrong.  Probably you are not measuring the time right.    I have no idea.  http://dlib.net/faq.html#Itdoesn'twork

Im not mean face detector is faster than shape_predictor.
I'm using opencv to do face detector,so I can resize the image to 4x smaller to do face detector.
then the time cost of face detector turns less than shape predictor.
I'm pretty sure I measured the process in right way.
both in Mac Pro or Android device.
but the best time I can minimize is about 170ms on shape predictor.
this cant get me a real-time face tracker...

now I get 19ms landmark + 8ms face detector to every frame on my Mac pro.
I have no idea on how to reduce the time anymore...

now I get 19ms landmark + 8ms face detection to every frame on my Mac pro.
I have no idea on how to reduce the time anymore...

How did the get the speed gains? Would be helpful if you mention that.


gh-pages/storybook on master is currently down! :alarm:

Working on it!

Related to https://github.com/airbnb/react-dates/commit/7eb21918799a9fbec7be615fed9d447e4c4f7c84
Storybook does not rely on the built files and ... I think it's not getting babel transformed in place as expected. @lencioni @ljharb ?


[backport] Fix code block in installation guide

Backport of #5033

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 4e196d41cec80d02c0156961c3a40a0989b5bd4c, target branch v9) failed with status FAILURE.


fix rebooter for solaris and background reboots

closes #5026

note that the existing specs are a big klunky and this certainly exposes that they're a bit klunky, but i don't have the cycles to clean everything up here right now....

i also didn't actually test the solaris code, but its super damn broken right now as it is, because solaris does not speak BSD shutdown.

@chef/client-maintainers pingles


关于只有声音没有图像的问题

能正常播放的视频，我用格式工程进行格式转换后(mp4,mov，其他格式没有尝试)，发现都只能播放出声音，没有图像，但是ios的的播放控件可以播放，android 的universalVideoView也可以播放，不知道是格式工厂转码的问题还是别的什么问题

这个应该是ijkplayer的配置问题，好多人反应你这个问题，能给个有问题的mp4文件或链接吗 我测试一下

我也遇到了这个问题，http://movement.gzstv.com/streams/video_url/835/ 这是一个链接

这个链接在chrome里播放也没有图像只有声音，看来mp4的猫腻也有很多

打印日志，提示No codec could be found with id 13这个警告
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: max_frame_duration: 10.000
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://movement.gzstv.com/streams/video_url/835/':
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:   Metadata:
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     major_brand     :
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: isom
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     minor_version   :
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 512
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     compatible_brands:
09-09 20:13:46.791 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: isomiso2mp41
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     encoder         :
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: Lavf54.6.100
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:   Duration:
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 00:01:59.24
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: , start:
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 0.000000
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: , bitrate:
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 1909 kb/s
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     Stream #0:0
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: (und)
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: : Video: mpeg4 (mp4v / 0x7634706D), none, 720x576, 1776 kb/s
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: ,
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 25 fps,
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 25 tbr,
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 25 tbn,
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: 25 tbc
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:  (default)
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     Metadata:
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:       handler_name    :
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: VideoHandler
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     Stream #0:1
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: (und)
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:  (default)
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:     Metadata:
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA:       handler_name    :
09-09 20:13:46.792 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: SoundHandler
09-09 20:13:46.794 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: SDL_Android_AudioTrack: CHANNEL_OUT_STEREO
09-09 20:13:46.794 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: SDL_Android_AudioTrack: ENCODING_PCM_16BIT
09-09 20:13:46.801 23855-23937/fm.jiecao.jiecaovideoplayer D/AudioTrack: audiotrack 0x7f6f89c100 set Type -1, rate 44100, fmt 1, chn 3, fcnt 4096, flags 0000
09-09 20:13:46.802 23855-23937/fm.jiecao.jiecaovideoplayer D/AudioTrack: mChannelMask 0x3
09-09 20:13:46.804 23855-23937/fm.jiecao.jiecaovideoplayer D/AudioTrackCenter: addTrack, trackId:0x7f5e5da000, frameCount:4096, sampleRate:44100, trackPtr:0x7f6f89c100
09-09 20:13:46.804 23855-23937/fm.jiecao.jiecaovideoplayer D/AudioTrackCenter: mAfSampleRate 44100, sampleRate 44100, AfFrameCount 1024 , mAfSampleRate 44100, frameCount 4096
09-09 20:13:46.805 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: SDL_Android_AudioTrack_new_from_spec: init volume as 1.000000/(0.000000,1.000000)
09-09 20:13:46.805 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: audio_session_id = 271
09-09 20:13:46.806 23855-23937/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: AudioCodec: avcodec, aac
09-09 20:13:46.806 23855-23937/fm.jiecao.jiecaovideoplayer W/IJKMEDIA: No codec could be found with id 13
09-09 20:13:46.806 23855-23935/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: ijkmp_get_msg: FFP_MSG_PREPARED
09-09 20:13:46.806 23855-23935/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: FFP_MSG_PREPARED:
09-09 20:13:46.806 23855-23954/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: SDL_RunThread: [23954] ff_audio_dec
09-09 20:13:46.807 23855-23935/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: FFP_MSG_BUFFERING_START:
09-09 20:13:46.807 23855-23855/fm.jiecao.jiecaovideoplayer I/JieCaoVideoPlayer: onPrepared  [198049015]
09-09 20:13:46.807 23855-23855/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: IjkMediaPlayer_start
09-09 20:13:46.807 23855-23855/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: ijkmp_start()
09-09 20:13:46.807 23855-23855/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: ijkmp_start()=0
09-09 20:13:46.808 23855-23953/fm.jiecao.jiecaovideoplayer I/IJKMEDIA: SDL_RunThread: [23953] ff_aout_android
09-09 20:13:46.809 23855-23935/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: ijkmp_get_msg: FFP_REQ_START
09-09 20:13:46.811 23855-23953/fm.jiecao.jiecaovideoplayer D/AudioTrack: pause 0x7f6f89c100
09-09 20:13:46.811 23855-23953/fm.jiecao.jiecaovideoplayer D/android.media.AudioTrack: [HSM] AudioTrace pause() uid: 10218, pid: 23855
09-09 20:13:46.814 23855-23956/fm.jiecao.jiecaovideoplayer V/JieCaoVideoPlayer: onProgressUpdate 0/119240 [923589511]
09-09 20:13:46.822 23855-23855/fm.jiecao.jiecaovideoplayer D/JieCaoVideoPlayer: onInfo what - 701 extra - 0
09-09 20:13:46.824 23855-23855/fm.jiecao.jiecaovideoplayer D/JieCaoVideoPlayer: MEDIA_INFO_BUFFERING_START
09-09 20:13:46.825 23855-23958/fm.jiecao.jiecaovideoplayer V/JieCaoVideoPlayer: onProgressUpdate 0/119240 [893223506]
09-09 20:13:47.125 23855-23958/fm.jiecao.jiecaovideoplayer V/JieCaoVideoPlayer: onProgressUpdate 0/119240 [893223506]
09-09 20:13:47.317 23855-23935/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: FFP_MSG_BUFFERING_END:
09-09 20:13:47.319 23855-23855/fm.jiecao.jiecaovideoplayer V/JieCaoVideoPlayer: onBufferingUpdate 1 [198049015]
09-09 20:13:47.319 23855-23855/fm.jiecao.jiecaovideoplayer D/JieCaoVideoPlayer: onInfo what - 702 extra - 0
09-09 20:13:47.322 23855-23953/fm.jiecao.jiecaovideoplayer D/android.media.AudioTrack: [HSM] AudioTrace play() uid: 10218, pid: 23855
09-09 20:13:47.323 23855-23964/fm.jiecao.jiecaovideoplayer V/JieCaoVideoPlayer: onProgressUpdate 0/119240 [106015011]
09-09 20:13:47.323 23855-23953/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: avcodec/Audio: first frame decoded
09-09 20:13:47.323 23855-23935/fm.jiecao.jiecaovideoplayer D/IJKMEDIA: FFP_MSG_AUDIO_RENDERING_START:

我感觉ffmpeg是支持播放它的，但是到了ijkplayer这层需要配置，再编译才能支持

这个问题解决了了吗，我也遇到了同样的问题

直接去ijkpayer，选择三个配置中的第一个，放开mpeg4,重新编译ffmpeg库，总之按readme的教程来就可以了，最后在用aar包替换掉当前的gradle依赖就可以了

对了，这个貌似ijkplayer0.61版本后才支持的，有兴趣的可以加群568707322，一起学习探讨

引擎换成exoplayer之后可以播放了，过几天及时升级JCVD版本


Give user friendly error if missing blockfrost instance

Would also be good validating if a function exists for given network.


Warning: You need to have Ruby and Compass installed and in your system path for this task to work

I am a complete noob when working with ruby and compass so please forgive me. I am trying to use grunt. I am trying to use Yeoman and I have been getting everything setup. Upon trying to run the server I get the error -
"Warning: Running "compass:dist" (compass) task
Warning: You need to have Ruby and Compass installed and in your system PATH for this task to work. More info: https://github.com/gruntjs/grunt-contrib-compass Use --force to continue."
Then it is forced to quit. I have googled and tried reading documentation and haven't found a clear answer and solution. I found this issue - https://github.com/gruntjs/grunt-contrib-compass/issues/61 but it didnt help me.
What am I doing wrong?
I am following this current tutorial - http://net.tutsplus.com/tutorials/javascript-ajax/building-apps-with-the-yeoman-workflow/
I apologize for my ignorance.

this fixed the issue for me "gem install compass"


Fix excessive warning

Are you still seeing the warnings after commit ab33614ab166d53d0a35837f2e9103f041378f9a?

Are you still seeing the warnings after commit ab33614?

Nope. I found this warning in the test log, but it must have been leftovers from some very old test tuns.


Legacy tokens going away  May 5th, 2020?

https://api.slack.com/legacy/custom-integrations/legacy-tokens says:
"This tool will not allow creation of new tokens on May 5th, 2020. Learn more about why you shouldn't use it anymore."
Does slackcat support this?

While legacy tokens will longer be of use, OAuth tokens support and generation is already available via slackcat --configure


[Bug]: Android physical back button exits the app

Version
5.2.3
Flutter Doctor Output
--

What platforms are you seeing the problem on?
Android, iOS
What happened?
I have 2 problems.
1- If I click on the current tab, it returns to the previous tab. This problem came after an update.
2- If I go to the next page with the navbar (Navigator.push), Android's return button takes me directly out of the application. I'm using GoRouter (if I go with gorouter without navbar there is no problem, but this time there is no navbar).
Steps to reproduce
1- If I click on the current tab, it returns to the previous tab. This problem came after an update.
2- If I go to the next page with the navbar (Navigator.push), Android's return button takes me directly out of the application. I'm using GoRouter (if I go with gorouter without navbar there is no problem, but this time there is no navbar).
Code to reproduce the problem
PersistentTabView(
                  controller: persistentTabController,
                  hideNavigationBar: viewModel.splashView,
                  navBarBuilder: (p0) =>
                      buildBottomAppBar(t, context, themeData, viewModel),
                  tabs: viewModel.viewList,
                  onTabChanged: (value) {
                    viewModel.currentIndex = value;
                    viewModel.currentIndexNotify.value = value;
                  },
                  //screenTransitionAnimation: const ScreenTransitionAnimation.none(),
                  handleAndroidBackButtonPress: true,
                  resizeToAvoidBottomInset: false,
                )

making handleAndroidBackButtonPress false will not solve the problem. This time my function to click on the same tab is not working.

Relevant log output
No response
Screenshots
No response

https://github.com/jb3rndt/PersistentBottomNavBarV2/assets/22865739/f0487bb0-f444-455f-8786-b9984eac6e2b

Hi, I see the issue you are having and I want to solve it.
Unfortunately, I need more information to be able to reproduce this specific behavior to then investigate what causes it. There are so many parts involved that currently I can only randomly guess what is going wrong.
So please provide a minimal reproducible example (a file, that I can run as is, without the need to adjust anything) that triggers this behavior. Boiling down your application to the least code necessary to showcase the problem might need some work on your side - I am sorry for that - (especially the contents of the screens are unnecessary).
If you have issues with that, a good approach is to take the example app from this project and iteratively add some code fragments of your app.

If I click on the current tab, it returns to the previous tab. This problem came after an update.
Can you please specify which update caused that? What was the old version?

Hi, I see the issue you are having and I want to solve it.
Unfortunately, I need more information to be able to reproduce this specific behavior to then investigate what causes it. There are so many parts involved that currently I can only randomly guess what is going wrong. So please provide a minimal reproducible example (a file, that I can run as is, without the need to adjust anything) that triggers this behavior. Boiling down your application to the least code necessary to showcase the problem might need some work on your side - I am sorry for that - (especially the contents of the screens are unnecessary). If you have issues with that, a good approach is to take the example app from this project and iteratively add some code fragments of your app.

If I click on the current tab, it returns to the previous tab. This problem came after an update.

Can you please specify which update caused that? What was the old version?

Hi, I simulated the code, you need to replace the main.dart code in your example with the following code to reproduce the bug.
`import "package:example/interactive_example.dart";
import "package:example/screens.dart";
import "package:flutter/material.dart";
import "package:flutter/services.dart";
import "package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart";
void main() {
WidgetsFlutterBinding.ensureInitialized();
// make navigation bar transparent
SystemChrome.setSystemUIOverlayStyle(
const SystemUiOverlayStyle(
systemNavigationBarColor: Colors.transparent,
),
);
// make flutter draw behind navigation bar
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
runApp(const PersistenBottomNavBarDemo());
}
class PersistenBottomNavBarDemo extends StatelessWidget {
const PersistenBottomNavBarDemo({super.key});
@override
Widget build(BuildContext context) => MaterialApp(
title: "Persistent Bottom Navigation Bar Demo",
home: Builder(
builder: (context) => Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(
onPressed: () =>
Navigator.of(context).pushReplacementNamed("/minimal"),
child: const Text("Show Minimal Example"),
),
const SizedBox(height: 16),
ElevatedButton(
onPressed: () =>
Navigator.of(context).pushNamed("/interactive"),
child: const Text("Show Interactive Example"),
),
],
),
),
),
routes: {
"/minimal": (context) => const MinimalExample(),
"/interactive": (context) => const InteractiveExample(),
},
);
}
class MinimalExample extends StatelessWidget {
const MinimalExample({super.key});
List _tabs() => [
PersistentTabConfig(
screen: const MainScreen(),
item: ItemConfig(
icon: const Icon(Icons.home),
title: "Home",
),
),
PersistentTabConfig(
screen: const MainScreen(),
item: ItemConfig(
icon: const Icon(Icons.message),
title: "Messages",
),
),
PersistentTabConfig(
screen: const MainScreen(),
item: ItemConfig(
icon: const Icon(Icons.settings),
title: "Settings",
),
),
];
@override
Widget build(BuildContext context) => PersistentTabView(
tabs: _tabs(),
navBarBuilder: (navBarConfig) => Style1BottomNavBar(
navBarConfig: navBarConfig,
),
avoidBottomPadding: true,
backgroundColor: Colors
.white,
handleAndroidBackButtonPress:
false,
resizeToAvoidBottomInset: true,
stateManagement: true,
popAllScreensOnTapOfSelectedTab:
false,
popActionScreens: PopActionScreensType.all,
screenTransitionAnimation: const ScreenTransitionAnimation.none(),
);
}
`

Hi, I dont see how this reproduces the issues mentioned by @bugrevealingbme. When setting handleAndroidBackButton: true like @bugrevealingbme did, I cannot reproduce any of the described behavior.

I think this problem is related to gorouter

This is an issue with new versions of Flutter and Android, because of the introduction of predictive back gestures, which is changing the whole way the back button is handled in Android. Basically if your app doesn't support predictive back gestures yet, then hitting Back will pop the whole app (close the app). Took me forever to figure this out.
Here is the issue: https://github.com/flutter/flutter/issues/135654
Here is the way I solved it -- call navigatorPop rather than Navigator.of(context).pop:
/// Used for obtaining a global [NavigatorState].
final navigatorKey = GlobalKey<NavigatorState>();

/// Get the global [NavigatorState] (for opening modals).
NavigatorState get navigator {
  final navigatorState = navigatorKey.currentState;
  if (navigatorState == null) {
    // Should not happen as long as there is a Navigator in the router
    throw 'navigatorKey.currentState is null';
  }
  return navigatorState;
}

/// Pop the current route if possible.
bool navigatorPop<T>([T? result]) {
  if (navigatorKey.currentState?.canPop() ?? false) {
    navigatorKey.currentState!.pop(result);
    return true;
  }
  return false;
}

Then in your MaterialApp use:
      navigatorKey: navigatorKey,

Is there anything this package can do differently to reduce problems with the predictive back?

I wish I had an answer to that question, but all the information I could find about this fundamental change was hazy at best. The Flutter issue link is a good place to start. Manually handling Back events with the code I shared solved the problem for me.
There is one other thing: there is an Android manifest value that can be set to enable predictive back, and if you enable that, the regular back event doesn't even reach Flutter. So there must be an actual API for predictive back that needs to be implemented.
Sorry, a lot of this is guesswork, or fuzzy memories, and I don't have time to go back and research this again!

Thanks for the reply and the investigation.
Unfortunately, I still dont entirely understand where the problem comes from. Can you confirm that the example of this repo works as inteded for you? If so, what is different in your application that requires the code patch you posted above? (Lets ignore the android manifest value to enable predictive back).

Basically if your app doesn't support predictive back gestures yet, then hitting Back will pop the whole app (close the app).

In which case does an app not support predictive back? When the app uses the deprecated WillPopScope?

In which case does an app not support predictive back? When the app uses the deprecated WillPopScope?

No, I wasn't using WillPopScope, but at some point I was dealing with the whole app being popped whenever Back was pressed. Unfortunately it was so long ago that I don't remember if I even got to the bottom of why this was happening in my app and not other apps. I did not have the new predictive back enablement attribute set in the Android manifest at the time.
I do know that at one point, I was using the following code, appropriately hooked into MaterialApp IIRC, but I ended up replacing it with the code I gave previously instead, with the same effect. Without one of these two fixes, the whole app would pop.
/// Make back button close any open dialogs first, and only pop the route
/// if there are no dialogs open. (Default behavior is to pop the app on
/// every back button press)
class FixedBackButtonDispatcher extends RootBackButtonDispatcher {
  @override
  Future<bool> didPopRoute() async {
    // Close any open modal dialog before attempting to pop route
    if (navigatorKey.currentState?.canPop() ?? false) {
      navigatorKey.currentState!.pop();
      return true;
    }
    // Pop route, or pop app if at top level
    return super.didPopRoute();
  }
}

I wish I could help further but my app has evolved far past the point where I was dealing with this, and I just don't remember any other details.

Could this be related?
https://github.com/flutter/flutter/issues/140296

Applying pageTransitionsTheme solved my problem.
return MaterialApp(
theme: ThemeData(
brightness: Brightness.light,
pageTransitionsTheme: const PageTransitionsTheme(
builders: {
// Use PredictiveBackPageTransitionsBuilder to get the predictive back route transition!
TargetPlatform.android: PredictiveBackPageTransitionsBuilder(),
},
),
),
home: const MyApp(),
);

Applying pageTransitionsTheme solved my problem.
return MaterialApp(
  theme: ThemeData(
    brightness: Brightness.light,
    pageTransitionsTheme: const PageTransitionsTheme(
      builders: {
        // Use PredictiveBackPageTransitionsBuilder to get the predictive back route transition!
        TargetPlatform.android: PredictiveBackPageTransitionsBuilder(),
      },
    ),
  ),
  home: const MyApp(),
);

Thanks for finding this, this is exactly the predictive back API that I suspected existed, but didn't know where to find!
The back problem recurred for me recently, despite the fixes I put in place already. I tried adding this PredictiveBackPageTransitionsBuilder fix, and it did not solve the problem, because my fix only works with a stack of modals -- it does not solve the back behavior for tab switching.
So the problem I have now is that if I switch tabs multiple times, then press Back, about 50% of the time the entire app is popped immediately -- the other 50% of the time, the app will switch between tabs in the reverse order that they were selected. There is no rhyme or reason as to when Back works properly and when it immediately pops the app.

I think there's something funky going on here, in persistent_tab_view.dart:
  @override
  Widget build(BuildContext context) {
    if (_contextList.length != widget.tabs.length) {
      _contextList = List<BuildContext?>.filled(widget.tabs.length, null);
    }
    if ((widget.handleAndroidBackButtonPress || widget.onWillPop != null) &&
        widget.navigationShell == null) {
      return PopScope(
        canPop: canPop,
        onPopInvoked: (didPop) async {
          if (didPop) {
            return;
          }
          final navigator = Navigator.of(context);
          final shouldPop = await _canPopTabView();
          // This is only used when onWillPop is provided
          if (shouldPop) {
            if (navigator.canPop()) {
              navigator.pop();
            } else {
              await SystemNavigator.pop();
            }
          }
        },
        // ...

and
  Future<bool> _canPopTabView() async {
    if (!widget.handleAndroidBackButtonPress && widget.onWillPop != null) {
      return widget.onWillPop!(_contextList[_controller.index]!);
    } else {
      final navigator = _navigatorKeys[_controller.index].currentState!;
      if (_controller.historyIsEmpty() && !navigator.canPop()) {
        if (widget.handleAndroidBackButtonPress && widget.onWillPop != null) {
          return widget.onWillPop!(_contextList[_controller.index]!);
        }
        // CanPop should be true in this case, so we dont return true because the pop already happened
        return false;
      } else {
        if (navigator.canPop()) {
          navigator.pop();
        } else {
          _controller.jumpToPreviousTab();
        }
        return false;
      }
    }
  }

And, in custom_tab_view.dart:
  @override
  Widget build(BuildContext context) => Navigator(
        key: widget.navigatorConfig.navigatorKey,
        initialRoute: widget.navigatorConfig.initialRoute,
        onGenerateRoute: _onGenerateRoute,
        onUnknownRoute: _onUnknownRoute,
        observers: _navigatorObservers,
      );
      // ...

There are some very complex things going on here, but I suspect that the interactions between the app's root Navigator, each CustomTabView's own Navigator, the value of handleAndroidBackButtonPress, and the presence or absence of onWillPop, mean that ultimately _controller.jumpToPreviousTab(); is not called when it should be. However, that still doesn't explain why the behavior that I observe is nondeterministic (sometimes the whole app pops, sometimes the previous tab is shown).
Why on earth is this so complex? Why not just use the root Navigator for all tabs, for starters?

OK, I found a solution to the issue that I mentioned in the previous comment -- wrapping PersistentTabView in PopScope with canPop: true:
PopScope(
        canPop: true,
        child: PersistentTabView(
          // ...

This seems to make PersistentBottomNavBarV2 work as expected (possibly in combination with the navigatorPop fix that I described earlier, since I still have that in place -- this pops modals on Back until there are no more modals to pop, ensuring that the app doesn't pop with modals on the stack).
With the above PopScope change, now when there are no more modals open, _controller.jumpToPreviousTab() is called on every Back action, until there are no more previous tabs -- then the whole app is popped. This is the expected behavior (and I think the correct behavior, according to the Material Design style guide).
Note that defining onPopInvoked in PopScope may break the Back behavior again, if you define it wrongly, so it's better to just use canPop: true as above.
Also, I removed popAllScreensOnTapOfSelectedTab: true and popActionScreens: PopActionScreensType.all from my definition of PersistentTabView, which I think is also needed to get the correct behavior.

I'm sorry, after trying around quite some time I still cant reproduce the error. Can anyone provide some example code? (that I can run as-is)

any update? still same

This problem only exists with go_router

No. As I said, I need something to reproduce the issue.


Publish docker containers with optional features enables

Component
Cast
Describe the feature you would like
Overview
Now that the --aws flag is  behind a feature toggle it is not included in the nightly built binary. This means that the foundry github action (foundry-rs/foundry-toolchain) won't work if you use any of the cloud signers (aws-kms, gcp).
My proposed fix is to update this repo's docker release CD so that it publishes additional docker images where the aws (and probably do one for gcp for good measure) are enabled for people to use in CI; then i'll make a PR to foundry-rs/foundry-toolchain (the GH action that currently won't work anymore)  to add an optional param to the github action to allow for people to request that it use the container with the feature enabled.
Happy to implement this as long as it feels like a good solution to folks.
Details
For the foundry docker release CD:

Add a parameter to the dockerfile to
Add a matrix of optional features that people would want built and then parameterize the build command to spawn multiple parallel docker release paths for each feature we want an image for
Publish all to github packages using a docker tag structure: maybe foundry:nightly-aws and foundry:nightly-gcp for example

For the foundry-toolchain github action

Update the README to reflect the new potential values for the version input that already can be specified

Additional context
No response

alternative suggestion as well after looking into the release workflow, could we update the release workflow specifically so it builds forge and cast binaries for the release with the aws-kms feature enabled so that i could continue to use the foundry-rs/foundry-toolchain github action as normal? Now that these features aren't included all of my ci is broken so i either need to start building foundry from scratch each time or maintain my own set of releases in the meantime with the feature enabled

I'd be okay with enabling it by default or at least ship the binary with this feature enabled

i'll make a pr with this


Add target blank to the publish button

Use target blank to open the form in other tab and continue with the info context.
If you think that more links should be target blank comment the PR

@sirgalleto LGTM!


SlidesPerGroup Change

[x] feature-discussion (RFC)

Swiper Version: 4.5.0

Hello, I am using your swiper with slidesPerView set to auto. My request is to set slidesPerGroup dynamically as sometimes it will need to be a value of 1, 2, or 3 depending on the width of the current slides.
I have tried to set params and updating the swiper on every slide change. The end result behavior is correct but the update is very heavy and lags the swiper very much:
// onSlideChange
swiper.params.slidesPerGroup = getNextPositionOffset()
swiper.updateSlides()

Do you have any advice on how to update slidesPerGroup dynamically?
Also, I'm looking for something along the lines of slidesPerGroupNext and slidesPerGroupPrevious to achieve complete dynamic control.
Thank you for consideration, any help would be appreciated!

@sethchhim why did you close this?
This is still a relevant feature discussion. We frequently use slidesPerView: 'auto' but usually also want a slidesPerGroup: 'auto', which is currently not possible. In our case, only advancing one slide, when there is e.g. 6 slides visible with the current viewport is not really useful.

@fritzmg I did not find resolution. I closed it because I switched framework and thought this issue only affected me. Hope you can figure it out.

Well it's a feature discussion ;)

I also find this feature useful. Clearly, slidesPerGroup should have an auto option.  And take slidesPerView as reference.
Please reopen .

It's an old request, btw
https://github.com/nolimits4web/Swiper/issues/338


[WIP] Add transpiling and linting

@NickTikhonov Finally got sometime to get started on this.
Transpiling
For transpiling I am using Babel and Webpack, which builds a bundle file called hyperline.js located in dist/.
I ran into an issue after transpiling and bundling, but haven't had a chance to troubleshoot. Below is a screenshot of what I'm experiencing. If you have any suggestions feel free to shoot them my way.

Linting
I haven't added any linting yet, but considered using ESLint.

@JerryLopez - strange! I'll take a look at it later today - looks like there's a bug in how the stats are wired in. I'm also all for ESLint - I'm using it in another project and it's great! We should add it early on so we can agree on a style standard before this plugin gets too big. Overall great work! 🎉 🎉

Hey @JerryLopez found why it shows these weird characters. You should add target: 'node' to webpack.config.js 👍

Took the time to just pull request it myself ;) https://github.com/JerryLopez/hyperterm-hyperline/pull/1

@timneutkens thanks a lot for fixing that 😁

Should have fixed those merge conflicts too :joy:

Not related to the pull request.. @JerryLopez @NickTikhonov are you guys on the ZEIT slack channel?

@timneutkens nope I'm not, but I'm joining now 👍 Are you on there?

But ofcourse 😄

@timneutkens done!

Great work @JerryLopez ! Definitely joining the Zeit Slack - thanks for letting me know it exists @timneutkens 👐


delete-root-analysis-artifact

Codecov Report

Merging #2244 into dev will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev    #2244      +/-   ##
==========================================
+ Coverage   92.81%   92.82%   +0.01%
==========================================
  Files         171      171
  Lines       18905    18906       +1
==========================================
+ Hits        17546    17549       +3
+ Misses       1359     1357       -2

Impacted Files
Coverage Δ

qiita_db/test/test_artifact.py
99.84% <100%> (ø)
:arrow_up:

qiita_db/artifact.py
98.54% <100%> (ø)
:arrow_up:

...t/handlers/api_proxy/tests/test_sample_template.py
98.66% <0%> (+0.88%)
:arrow_up:

Continue to review full report at Codecov.

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

If I understand correctly, if the user deletes the last artifact there will be an empty analysis (i.e. no artifacts) so the user can delete it. Did you test how the interface behaves with this case? I'm unsure if it will just go smooth or it will fail somewhere else...

Yes, that's correct and it works fine ... I guess you didn't tested when you wrote it :smile:


Cannot build documentation: no theme named 'sphinx_rtd_theme_cilium' found (missing theme.conf?)

Cilium 1.10 dev cycle, affects readthedocs builds on multiple branches as well as master branch when trying to locally repro. Seems to have begun to fail suddenly with no obvious code change that would cause it:
$ make render-docs
  GEN   Documentation/_api
[+] Building 1.3s (9/9) FINISHED
 => CACHED [internal] load remote build context                               0.0s
 => CACHED copy /context /                                                    0.0s
 => [internal] load metadata for docker.io/library/python:3.7.9-alpine3.11    1.3s
 => [1/5] FROM docker.io/library/python:3.7.9-alpine3.11@sha256:f3e3c9360bc2  0.0s
 => CACHED [2/5] RUN apk add --no-cache --virtual --update     aspell-en      0.0s
 => CACHED [3/5] ADD ./requirements.txt /tmp/requirements.txt                 0.0s
 => CACHED [4/5] RUN pip install -r /tmp/requirements.txt                     0.0s
 => CACHED [5/5] RUN install -m 0777 -d /usr/local/lib/python3.7/site-packag  0.0s
 => exporting to image                                                        0.0s
 => => exporting layers                                                       0.0s
 => => writing image sha256:05e852edc2ab78a09945dd52b6b06baed2c563940ecf107e  0.0s
 => => naming to docker.io/cilium/docs-builder                                0.0s
  GEN   Documentation/_build/html
Validating documentation (syntax, spelling)...
Building documentation (html)...
WARNING: extension 'sphinx_rtd_theme' has no setup() function; is it really a Sphinx extension module?

Theme error:
no theme named 'sphinx_rtd_theme_cilium' found (missing theme.conf?)
make[1]: *** [Makefile:48: html] Error 2
make: *** [Makefile:552: test-docs] Error 2

(For the reference, it appears that the WARNING message was normal and would always be printed even during successful builds in the past)
Last successful v1.8 build (Nov 30 2020): https://readthedocs.org/projects/cilium/builds/12451677/
Subsequent failed v1.8 build (Dec 2 2020): https://readthedocs.org/projects/cilium/builds/12472800/

Locally I found that reverting commit d1f2ddc5ea92 resolved the issue (/cc @Rolinh).

This appears to be an upstream bug in pip (https://github.com/pypa/pip/issues/9202). I found that when I applied this diff, the docs build worked locally:
diff --git a/Documentation/Dockerfile b/Documentation/Dockerfile
index 7b68403697ce..a4da19d79444 100644
--- a/Documentation/Dockerfile
+++ b/Documentation/Dockerfile
@@ -17,7 +17,9 @@ RUN apk add --no-cache --virtual --update \
     && true

 ADD ./requirements.txt /tmp/requirements.txt
-RUN pip install -r /tmp/requirements.txt
+RUN pip install --use-deprecated=legacy-resolver -r /tmp/requirements.txt

 ENV HOME=/tmp
 ENV READTHEDOCS_VERSION=$READTHEDOCS_VERSION

We could always apply this until upstream pip are able to put out a release that fixes the bug, however it will not fix the readthedocs builds. At first glance I see no way for us to influence RTD to fix the issue, as it would require either customizing the pip commandline or performing a two-phase install of downgrading pip + installing our theme. The RTD UI at least doesn't seem to have any options that might allow us to do this.

Fortunately it looks like this doesn't affect CI / github actions as they pull an image from docker.io which is not automatically updated.


Adding securityContext in splunk-otel-collector agent

Hi,
I'm trying to add a few securityContext exceptions to the splunk-otel-collector agent and this is how my values.yaml file looks like:

Even after adding the lines above, the agent pods and DaemonSet still gives out the same error messages as they were giving out before adding the securityContext.
The error messages looks like:

I'm a beginner and still learning, please let me know if anyone knows how to add securityContext and resolve these errors.
Thanks!

Hi!
I tested it with a basic config on my machine and it seems to be working fine, could you send me entire values file for testing?
As an example, below is a fil that I used:
`
clusterName: "test_cluster"
splunkPlatform:
endpoint: "https://x.x.x.x:8088/services/collector/event"
token: "00000000-0000-0000-0000-000000000000"
index: "main"
insecureSkipVerify: true
agent:
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
capabilities:
drop:
- ALL
runAsUser: 20000
runAsGroup: 20000
`
Regards, Szymon

We have not heard back ; please provide more information, if possible as a Splunk support request, so we can engage with you and help best. Closing as not planned.


Panic when walking a time.Time value

This is causing issues in Vault when doing audit inspection:
https://github.com/hashicorp/vault/issues/319

Not a reflectwalk bug, this walks the structures as is, it is up to higher level users to find richer types and decide to walk or not walk.
I'm looking at this in Vault.


Marketplace contract updates

We've iterated on the design of the marketplace contract. We should update the Kitty Items example to reflect those changes.

Stale.

Reopening this -- we want to bring in the NFTStorefront contract from this branch  into the main branch.


Gridmaps do not render when using Rooms and Portals System

Godot version
3.4.2 stable official (45eaa2daf)
System information
Windows 10, GLES 3, Nvidia Geforce 1660 Ti (<IP_ADDRESS>68)
Issue description

Gridmaps aren't rendered when placed inside of a Room node after calling the RoomManager's room_convert() function, because they do not inherit from CullingInstance. They remain thus invisible.

Steps to reproduce

Download and launch the project below.
Launch the World scene and notice that the white surface (gridmap) doesn't render.

Minimal reproduction project
Gridmap Culling.zip

Yes, that's a known limitation, gridmaps aren't currently supported (unless you can e.g. bake them out to regular nodes).

Thank you for the quick reply,
Is there any way to tell the Portal / Rooms system to ignore gridmaps? Even if I put the gridmap node outside of my room node, it doesn't render.
Alternatively, I've tried using the Occluder node to surround my gridmap, but the only OccluderShape available seems to be spheres. Is there a way for me to add cubes or planes or convex shapes instead?
I apologize for the many questions, but my entire project relies on gridmaps and I really don't know what I'm going to do if I don't find a workaround

Alternatively, I've tried using the Occluder node to surround my gridmap, but the only OccluderShape available seems to be spheres. Is there a way for me to add cubes or planes or convex shapes instead?

3.5beta4 has occluder polygons available, so you can use it to represent quads, boxes and the like.

Thank you so much for all the help, I really appreciate all the work you do!
I'm going to look into implementing Lod and also experiment with 3.5beta4 to see if occluders make a significant difference. Thank you again!

Reopening, as this limitation should still be documented.

To elaborate a little - the problem stems because the gridmap is rather special - it completely overrides the scene tree, and does everything itself internally. Whereas the room conversion code is based on, and assumes, a scene tree structure. So gridmap would probably need custom conversion code written to traverse it during the room conversion, and additionally it has no machinery for setting the portal mode. There would likely be other problems as a result of it not being part of the scene tree. This is not trivial, it may represent weeks of work, and would require testing etc.
A far more practical approach would be to simply bake the gridmap into normal scene tree nodes containing meshes and multimeshes. The result could then be processed as normal during room conversion. I don't know whether this functionality exists already, or perhaps someone enthusiastic could write this. But this is not really a "portals" problem, it could probably be written by anyone who is familiar or who wants to get familiar with gridmap.


Please do not change the tab order in the source control panel

Type: Bug
To create a commit I write the commit message, press tab and hit enter to commit.
The new AI icon should not be before the commit button in this order.
VS Code version: Code 1.84.2 (1a5daa3a0231a0fbba4f14db7ec463cf99d7768e, 2023-11-09T10:52:57.054Z)
OS version: Darwin arm64 23.0.0
Modes:

System Info

Item
Value

CPUs
Apple M1 Pro (8 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
4, 4, 4

Memory (System)
32.00GB (0.93GB free)

Process Argv
--crash-reporter-id 17e0a57f-0612-4756-93e9-f08010f3a041

Screen Reader
no

VM
0%

Extensions (48)

Extension
Author (truncated)
Version

vscode-sql-formatter
adp
1.4.4

bundle-size
amb
1.5.0

github-markdown-preview
bie
0.3.0

markdown-checkbox
bie
0.4.0

markdown-emoji
bie
0.3.0

markdown-footnotes
bie
0.1.1

markdown-mermaid
bie
1.20.0

markdown-preview-github-styles
bie
2.0.3

markdown-yaml-preamble
bie
0.1.0

vscode-tailwindcss
bra
0.10.3

multi-cursor-case-preserve
Car
1.0.5

vscode-eslint
dba
2.4.2

prettier-vscode
esb
10.1.0

figma-vscode-extension
fig
0.2.7

auto-rename-tag
for
0.1.10

vscode-glsl
GeF
0.3.0

copilot
Git
1.135.0

copilot-chat
Git
0.10.1

vscode-env
Iro
0.1.0

smart-react-component-extractor
klo
0.1.0

twig-language-2
mbl
0.9.4

template-string-converter
meg
0.6.1

dotenv
mik
1.0.1

sort-selection-concentrically
min
1.0.4

vscode-duplicate
mrm
1.2.1

remote-ssh
ms-
0.107.0

remote-ssh-edit
ms-
0.86.0

azure-repos
ms-
0.38.0

live-server
ms-
0.4.11

remote-explorer
ms-
0.4.1

remote-repositories
ms-
0.40.0

color-highlight
nau
2.5.0

material-icon-theme
PKi
4.31.0

polacode
pnp
0.3.4

excalidraw-editor
pom
3.6.1

bevy-snippets-rendaoer
ren
0.10.0

rust-analyzer
rus
0.4.1729

vscode-sanity
san
0.1.4

crates
ser
0.6.3

vscode-rustfmt
sta
0.1.2

vscode-styled-components
sty
1.7.8

svelte-vscode
sve
107.13.0

even-better-toml
tam
0.19.2

es6-string-html
Tob
2.12.1

alphabetical-sorter
ue
2.0.1

pretty-ts-errors
yoa
0.5.2

markdown-all-in-one
yzh
3.5.1

file-size
zh9
1.0.0

(2 theme extensions excluded)

to be clear: With the AI commit message thing it goes: "add xyz" > tab > enter > add xyz is changed to something else, which is not what i normally want.

(The button also has no focus state, which makes this extra annoying)

Adding @isidorn, @meganrogge to confirm that the recommended accessor for the source control input action button is pressing Tab while the input box is focused. Assuming that pressing Tab should indeed focus the action button you have couple of options:

Disable the action button by toggling the scm.showInputActionButton
Use Ctrl/Cmd + ENTER to commit after you entered the commit message
In case you have invoked the action button to generate a commit message that overrides the commit message that you have typed, you should be able to use the keybinding for "Undo" to undo the change and restore the original commit message

The focus indicator for the input button is fixed in the latest Insiders release and will be released to Stable later this week.

Yes. For accessibility - tab focus should move from left to right, from top to bottom. So the "Generate Commit Message" button should be focused when pressing the first tab.
What I find weird is that blue Commit button only gets focus after the toolbar in the Changes view gets focus. Ideally the Commit button would gets focus right after the "Generate Commit Message".

@isidorn, are you still able to reproduce this? When I focus the SCM input field and press tab twice, I end up with the focus on the Commit action button. I have spent quite some time toggling various settings that affect the layout of the Source Control view but I am not able to reproduce the issue.

This works well now. Thank you!

Thanks! I will go ahead and close this issue as "by design".


Fix attachment rendering within Govspeak

Trello: https://trello.com/c/zMYmFTPx/801-show-metadata-for-attachments
This PR does a few things to demonstrate attachment components in a govspeak context (info in commits) and then looks at fixing a styling issue caused by specificity problems between govspeak and attachment component.
Before:

After:

Thanks @alex-ju this is good for review now


Dynamic tabs in tabbar

Feature Request
Describe the Feature Request
We've got about 5 tabs but 3 of them are dependent on the rights a user has when he logs in. When a user has no right to a tab this tab should not be shown. However applying a *ngIf does not work because turning that if value to true does not make it appear if it previously was false. (we assume false until said otherwise by our back-end for security purpose).
I found a older ionic 3 forum ticket that explained to load them with a ngFor loop and only add them to the array if there suppose to be shown. This does show the tab button but no pages are shown just empty blank pages.
Describe Preferred Solution
Add a option to ion-tab called hidden or something similar. (probably not hidden because its already used by angular) too hide the tab.
Describe Alternatives
Not sure. Maybe i'm missing something and thats why its not working. But our tabs worked fine until i started implementing them being dynamic.

What about <tab show=MyCondition></tab> ? (doc).
Also, I noticed that the initial value of MyCondition has to be set to false, setting the value from undefined or null to true didn't trigger tab display, whereas it does work with explicit false initial value.


[Student View] Move TabbedContainer and StudyPlan into ./study_plan folder

Since these 2 components are only unique to study_plan, we keep them in the same folder so that we don't need to keep navigating up and down the file hierarchy

Refactored after adding this feature in #167, so this is alright now!


Need to be root to access unix socket ?

Hi,
I have a php app running in a container as www-data user (with nignx et php-fpm)
The /var/run/docker.sock is mout inside the container.
With this config I can't access the socket (permission denied).
So what is the best practice here ? running all as root ? (but I don't think it's a good idea). Change permission or group to allow www-data to access the socket ? Or maybe running a "wrapper" as root that the www-data user can call ?
How do you do that ?
Thanks :)

For now I ran
socat TCP-LISTEN:2380,bind=<IP_ADDRESS>,fork UNIX-CONNECT:/var/run/docker.sock
inside host so I can access the socket from the API :
    $client = new DockerClient([
        'remote_socket' => 'tcp://<IP_ADDRESS>:2380',
        'ssl' => false,
    ]);
    $docker = new Docker($client);

it works but I don't think it's the right way ....

You can normally use the group docker (add www-data to the docker group), but you have to map the correct gid from your host to the container, and also make sure that the socket is writable and readable on the group .5. (this is by default if my memory is good).

Hi,
it's bassically what I've done
Inside the host i'm www-data, member of the docker group :
$ id uid=33(www-data) gid=33(www-data) groups=33(www-data),999(docker)
Inside the container I'm www-data (same id=33) should I add the docker group (with id 999) inside the container too ?
$ docker-compose exec app bash -c 'su - www-data' www-data@e9642e093f64:~$ id uid=33(www-data) gid=33(www-data) groups=33(www-data) www-data@e9642e093f64:~$ socat - UNIX-CONNECT:/var/run/docker.sock 2016/08/02 15:03:58 socat[124] E connect(5, AF=1 "/var/run/docker.sock", 22): Permission denied

Inside the container I'm www-data (same id=33) should I add the docker group (with id 999) inside the container too ?

Yes, i think this should work

Yes I've added this to my dockerfile and it works ;)
RUN groupadd -r -g 999 docker
RUN usermod -aG docker www-data


Fix typo in interface

Overview
The interface has a small typo in Dislike

@thibautRe Haha I totally did not realize that, whoops, nice catch!


Change some more int32_t to uint32_t for pids on the client

Some leftovers from the big transition from int32_t to uint32_t, as
correctly pointed out by the IDE.
Test: Take a capture (with thread state enabled), check that things look in
order.

Thanks for this @dpallotti


Opt: refector tag list pagination support

Not need to list all tag in paging.

Can you please describe in detail what is it you are trying to accomplish with this PR.

Can you please describe in detail what is it you are trying to accomplish with this PR.

@milosgajdos https://github.com/distribution/distribution/discussions/4315#discussioncomment-8973739

yeah that's not been released yet

yeah that's not been released yet

Yeah, maybe we shall wait until a new stable release is cut

yeah that's not been released yet

@milosgajdos
This pull request (PR) can be executed in two stages:

to optimize the tag list pagination. I propose transitioning from loading all tags simultaneously into memory to a mechanism that leverages the last  parameter for pagination. This method will start querying from the last fetched item, reducing memory load. I think this stage could merge to upstream firstly.
after the release of a new version of the distribution-spec, we plan to expand the maximum page size allowed for pagination. This enhancement aims to prepare for future scalability needs.

I will submit another PR to complete the first stage.


frint-compat: empty the package.

Closes #266

Coverage increased (+0.05%) to 97.556% when pulling 228ab5ce10f441299f7a60f1a64f796a38336259 on empty-frint-compat into 9a6a22df9eaa319582faecdcb6d5634792ea408f on master.

Coverage increased (+0.05%) to 97.556% when pulling 228ab5ce10f441299f7a60f1a64f796a38336259 on empty-frint-compat into 9a6a22df9eaa319582faecdcb6d5634792ea408f on master.

Coverage increased (+0.05%) to 97.556% when pulling a7606fb81ffc872d586e5ae96049c5a884c93811 on empty-frint-compat into 9a6a22df9eaa319582faecdcb6d5634792ea408f on master.

will be taken care of when we are about to release the next major semver.

Also closes https://github.com/Travix-International/frint/issues/149

Coverage decreased (-0.03%) to 97.241% when pulling 6639136c20365c1a8d43495007c1b0164abaa4d4 on empty-frint-compat into aeda7881de494c559a72777ab119444076ffdbd0 on master.


More description of log in new processes

Other change:  make some sections to level 2 so that their titles will show up in links section at the top.

@benchwang : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good to me.

@benchwang it sounds like you'll create a PR in the private repo for these updates, so we'll close this PR. Let us know if you have concerns or need to reopen it. Thanks.

Thank you for taking care of this, @ktoliver.


BUG/ENH: pysat upgrades compatibility and community docs

Addresses #16 and #19.
Summary

Added community documents
Updated to new travis structure
Fixed a bug due to new pysat code organization

Something is wrong with my fork.  Closing this branch and starting anew.  Will redo these as separate pulls.


Default page blueprint issues

Hi JT,
First thanks for this really nice theme :)
I'm having an issue with the fact this theme overrides the default Grav page blueprint. I want to add a blog to my site and customize the theme a bit. This theme extends the Default system blueprint with its own Default:
https://github.com/jtbray/brilliant-resume/blob/master/blueprints/default.yaml
This means when I add a new page the fields are all locked to the many fields in your theme. I created a new theme to extend brilliant-resume, and in that I specified a new blueprint:
title: Blog
'@extends':
  type: default
  context: 'blueprints://pages'

The problem is that this extends brilliant-resume's default blueprint, not the System default blueprint, which is what I want for my blog post page types. Is there a way in my override I can specify the default to be /system/blueprints/pages/default instead of /user/themes/brilliant-resume/blueprints/default.
I've tried various paths to try to force it and extend the parent as documented here (https://learn.getgrav.org/forms/blueprints/example-page-blueprint) but no matter what I try everything picks up the Brilliant version of default instead of Grav's core one.
Let me know if there's any way I can get around this, thanks!

Hi Chad!
Thank you for your feedback! 👍
For now, you could use the plugin "Themer" available via GPM & here's the git repo...
Themer plugin creates a new select box at the bottom of the Advanced => Overrides section of your page admin area with a dropdown to select any other installed (non-active) theme to display on that page.
I suppose this is not ideal considering how long it's been since that repo has been updated (although it certainly still works). I will be sure to test out a new template for the homepage to include with the next round of updates...
Just remember, only use this theme if you want more money & a better job!

Jason

Possibly the next update will be to include blog & post templates & a fix for this issue as well...

For the time being I've simply copied the contents of of the system default blueprint to a new blog.yaml.
This effectively recreates the default content type without needing an extra plugin; but it does feel a tad dirty still. I was hoping one could specify exactly which blueprint.yaml to extend from as the base.
Anyway; thanks for listening and the ideas 👍


HIP17 support: reward scaling value in transaction details

New PoC transactions when HIP 17 is implemented will include a new value called "Reward Scaling". This number is unique to each poc transaction and is determined at challenge time and comes from the challengee reward scaling value.
Here is an example of a beacon:
https://explorer.helium.com/txns/3R9fE76_idrLiG_lA7lOOiLy3_Mq0f1OhzC-5Mg8Pq4
Add a new row below Block Height titled "Challengee Reward Scaling", with the value being a number coming from ETL.
We will also need a tool tip to explain what Reward Scaling is. The copy is TBD.

only new beacons (once hip 17 is implemented) will have this reward value. Any previous poc transaction will not have a reward scaling value.


Mention libxcb-xfixes0-dev and libxcb-shape0-dev in README

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Yes. cargo install kdash will fail on a fresh install of Ubuntu Desktop, with xorg-dev installed as per the README, because of missing dependencies
Describe the solution you'd like
A clear and concise description of what you want to happen.
The solution to the issue is to install libxcb-xfixes0-dev and libxcb-shape0-dev, the non--dev packages are not enough. The proposed solution is to add the following to the README for Ubuntu/Debian:
sudo apt install -y libxcb-xfixes0-dev and libxcb-shape0-dev

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
N.A.
Additional context
Add any other context or screenshots about the feature request here.
Output from rustc:
   Compiling kdash v0.2.4
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/cargo-installGcVkvt/release/deps/kdash-3cd074a07c9a7e61.kdash.d81f41e3-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/tmp/cargo-installGcVkvt/release/deps" "-L" "/tmp/cargo-installGcVkvt/release/build/openssl-sys-8b6d1c8eda31ec5e/out/openssl-build/install/lib" "-L" "/tmp/cargo-installGcVkvt/release/build/ring-7cd5715780f3a214/out" "-L" "/home/tobias/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/rustciKrNKZ/libopenssl_sys-91ac39aed5aff684.rlib" "/tmp/rustciKrNKZ/libring-e3238ae251d7e213.rlib" "-Wl,--start-group" "-Wl,--end-group" "/home/tobias/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-dd7db1bec6909f24.rlib" "-Wl,-Bdynamic" "-lxcb" "-lxcb-render" "-lxcb-shape" "-lxcb-xfixes" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/tobias/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/cargo-installGcVkvt/release/deps/kdash-3cd074a07c9a7e61" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs"
  = note: /usr/bin/ld: cannot find -lxcb-shape
          /usr/bin/ld: cannot find -lxcb-xfixes
          collect2: error: ld returned 1 exit status

Sure!