Adjust credits spacing and alignment

Description

Adjust attribution styles slightly to provide better alignment

All elements should lean into the inline nature of how they're displayed. If you have an image the recommendation now is to make sure any text in the log aligns how you want with other text using vertical-align or transparent padding in the image itself.

Change Viewer behavior slightly to avoid long credits clipping behind the fullscreen button

Issue number and link
Fixes: https://github.com/CesiumGS/cesium/issues/11912

Testing plan

Open any sandcastle and check the credits
Open the google 3d tiles sandcastles and see how they align (will require a change in ion)
Test with both the default ion token and your own to show with and without the long "default token" warning

Author checklist

[x] I have submitted a Contributor License Agreement
[x] I have added my name to CONTRIBUTORS.md
[x] I have updated CHANGES.md with a short summary of my change
[ ] I have added or updated unit tests to ensure consistent code coverage
[x] I have updated the inline documentation, and included code examples where relevant
[x] I have performed a self-review of my code

@angrycat9000 Would you be able to take a quick pass on this from a CSS/style perspective?

@angrycat9000 Would you be able to take a quick pass on this from a CSS/style perspective?

Yes.  I'll review first thing tomorrow.

Is there a reason why the credits need to be structured like they currently are?

I agree with all your comments, I think this area could definitely use some improvement and modernization. However what's there works and I wanted to just make the smaller, more minimal change, to fix the spacing issues instead of spending the time on a full rework of these classes an elements right now.

@angrycat9000 Thanks for the comments, I think this should be good now

@jjspace Can you include an update to CHANGES.md? I see it's checked off in the PR description, but I don't see it in the change list.

Thanks @jjspace! Just one comment and this should be good to merge.

Looks great! Thanks @jjspace!


feat: require variable only when displayed ADDON-67013

https://splunk.atlassian.net/browse/ADDON-67013
Add possibility to make a field required when displayed.
It is done via separate variable as for this ticket we do not want to make that variable necessarily from backend perspective.

@soleksy-splunk we miss at some testing here.

@soleksy-splunk we miss at some testing here.

yea thats actually the problem, as currently we do not have standard mechanism to change that state of a component, so i would need to create a custom mechanism just to check it.
I will add those tests with incoming feature, "display/hide components on other component value"

@soleksy-splunk we miss at some testing here.

yea thats actually the problem, as currently we do not have standard mechanism to change that state of a component, so i would need to create a custom mechanism just to check it.
I will add those tests with incoming feature, "display/hide components on other component value"

@artemrys  Now when i read it might be unclear,
currently in ucc generator we do not have any mechanism to display/hide standard form fields, so there isn't any standard mechanism to actually be used here, but a there is another ticket to implement such mechanism (https://splunk.atlassian.net/browse/ADDON-67012), and that ticket will also contain tests for this variable


Bug: startTransition is causing TypeError when used directly from react

Description
Getting this error message when using SWR with expo SDK 52, this issue was not present in expo SDK 51. This issue is only present on android and ios for react native web the SWR calls works without any type error.
TypeError: Cannot read property 'add' of undefined
On Expo snack the error says
Error: "Cannot read property 'add' of undefined" in TypeError: Cannot read property 'add' of undefined <<     at requestUpdateLane (/data/user/0/host.exp.exponent/files/.expo-internal/5cb1b0c52b8fcab94364327c83b808ee:18892:43) <<     at dispatchSetState (/data/user/0/host.exp.exponent/files/.expo-internal/5cb1b0c52b8fcab94364327c83b808ee:16726:33) <<     at anonymous (swr.mutation:12:14616)
This is how SWR is using the startTransition API, When I tried using the startTransition from the useTransition hook the problem got solved
export const startTransition: (scope: TransitionFunction) => void =
  IS_REACT_LEGACY
    ? cb => {
        cb()
      }
    : React.startTransition

And use like this
startTransition(() =>
   setState({ data, isMutating: false, error: undefined })
)

Code from this repository https://github.com/vercel/swr/blob/1585a3e37d90ad0df8097b099db38f1afb43c95d/src/mutation/state.ts#L5-L10
Some of my findings are here - https://github.com/facebook/react/issues/31622
Steps to reproduce

Run the code example https://snack.expo.dev/@raajnadar/swr-error-in-expo-sdk-52
Run android or ios, the web version works without the error
Click the "Call the API button" button inside the mobile app
Check the logs tab, when switched to axios there is no issue
This happens with swr because it uses startTransition internally

React Native Version
0.76.3
Affected Platforms
Runtime - Android, Runtime - iOS
Output of npx react-native info
System:
  OS: macOS 14.2.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 102.55 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.19.0
    path: ~/.nvm/versions/node/v18.19.0/bin/node
  Yarn:
    version: 1.22.19
    path: /usr/local/bin/yarn
  npm:
    version: 10.2.3
    path: ~/.nvm/versions/node/v18.19.0/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.12.0
    path: /Users/chris/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.4
      - iOS 17.4
      - macOS 14.4
      - tvOS 17.4
      - visionOS 1.1
      - watchOS 10.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2024.2 AI-242.21829.142.2421.12409432
  Xcode:
    version: 15.3/15E204a
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.12
    path: /usr/bin/javac
  Ruby:
    version: 2.7.5
    path: /Users/chris/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.0.1
    wanted: 15.0.1
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.76.2
    wanted: 0.76.2
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs
TypeError: Cannot read property 'add' of undefined
    at requestCurrentTransition (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:13106:36)
    at requestUpdateLane (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:15752:50)
    at dispatchSetState (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:9607:37)
    at anonymous (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:373831:17)
    at anonymous (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:373890:32)
    at startTransition (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:20591:16)
    at ?anon_0_ (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:373889:30)
    at next (native)
    at asyncGeneratorStep (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:23563:19)
    at _next (http://localhost:8081/index.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&app={BUNDLE_ID}:23577:29)
    at tryCallOne (address at InternalBytecode.js:1:1180)
    at anonymous (address at InternalBytecode.js:1:1874)

Reproducer
https://snack.expo.dev/@raajnadar/swr-error-in-expo-sdk-52
Screenshots and Videos
No response

Maybe related issue? https://github.com/facebook/react-native/issues/47730

Please open this issue against gh/expo/expo

It seems the expo team is not interested in looking into the issue, they closed the issue saying this issue is from react native core.
It is surprising to see why other devs are not getting this issue, I though SWR is a popular library or maybe devs are not using SWR with react native.

It is surprising to see why other devs are not getting this issue, I though SWR is a popular library or maybe devs are not using SWR with react native.

To be fair, I had to google was SWR is. That's the first time I see it mentioned in the issue tracker for React Native in 3+ years

It's from Vercel so I assumed it to be popular maybe RN devs don't prefer using SWR

But this issue seems related and posted by another dev with more information https://github.com/facebook/react-native/issues/47730

same

But the "State of React Native" survey has the mention of SWR in the data fetching section


Only write body to request when the body is not nil

Description
The body won't be written to the request if it's empty.
Closes #1199

sorry for the long wait, I'm in the middle of moving homes.


feat: placeholder for windows next-gen networking func

What type of PR is this?
/kind feature
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Requirements:

[x] uses conventional commit messages
[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
This function is a placeholder that we plan to override in testing to verify the installation process (dynamically override Windows CSE package). Once the install script is fully tested, this function will be updated.
A follow-on PR will update kuberneteswindowssetup.ps1 to source nextgennetworking.ps1 and invoke Start-InstallWindowsNextGenNetworking
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.021%

Totals

Change from base Build<PHONE_NUMBER>9:
0.0%

Covered Lines:
2566

Relevant Lines:
3613

💛  - Coveralls


Improve docs for jnp.roots and jnp.polyfit

Part of #21461

Should I remove the entire 'Note' or just the statement about rcond?

Thanks! Squashed into single commit.

@rajasekharporeddy — It looks like the import is failing because of a merge conflict, even though we don't see that reported here. Could you try rebasing your branch onto the current upstream main to see if that does it? Thanks!

Hi @dfm, rebased on onto the current upstream main and squashed into single commit.


[Feature] improve picker window position when invoked over the desktop.

When called from the desktop, the picker window is center over the entire dekstop. In multi-monitor configuration, this may cause the window be split between two screen. The picker should be position at the center of the monitor the cursor is currently over. If not possible the primary monitor should be used.
The problem is illustrated in the video in this comment.

Fixed. If the desktop is active, the picker will pop on the window containing the cursor.


Support signed/unsigned floored division (like Python // operator or divmod)

Some number-theoretical calculations are more straightforward with support of signed and unsigned floored quotient and remainder.
This is similar to the //-operator in  Python or Python's divmod() function. This is also consistent with Mathematica(R)'s QuotientRemainder[] function.

As in Python, we will call this function divmod() and it will return a pair of results representing the quotient/remainder.

Fixed by #343

Millions of tests have run locally using the QuotientRemainder[] function


Modernize universal tests

Stack:

#1489
#1488
#1487
#1486
#1485
#1480
#1479

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

can you update the description with command used/ how you did to modernize the tests?

Change base to master, as this no longer depend on the stack.


Update gradle version to 2.11

Please review it.

Maybe it looks good.But I cannot be sure...
Can anybody review it? :bow:

Looks good!

@gfx Thanks!


Fix nil pointer dereference in GetBinary (Fixes #264)

This PR resolves issue #264 by adding nil checks in the GetBinary method of DataBytesOrJSON

Could you let me know how long it typically takes to accept this pull request?

lgtm, thank you!


Fixes: #1167 CompletionStage should print stacktrace on failed assert…

…ion with failed-future
Check List:

Fixes #1167
Unit tests : YES
Javadoc with a code example (API only) : NA

@joel-costigliola As I mentioned before that the stacktrace is different and we cannot assert message 1to1 so I introduced stacktrace regex and I used hasMessageMatching method to assert the message for failed future.

@joel-costigliola can you take a look to that fix? thanks!

Integrated thanks @pswiatowski.


I-ALiRT: L0 parsing

Change Summary
Overview
Decom I-ALiRT packet data and create xarray.
New Dependencies
None
New Files

decom_ialirt.py

Decom I-ALiRT packet data and create xarray.

Testing

test_decom_ialirt.py

Tests that decom was successfully performed.

Note:
No test data was provided so far, so further tests will be added at a later date.

I intend to add more tests once I have test data. Just FYI.

I am going to look at this once more on Monday. So please don't review again yet.

pre-commit.ci autofix


CLI: better option engine or usage

As an IMPROVER CLI developer I want to know how to parse and generate help for options in the best way possible so that my CLI is easy to understand and develop.
Acceptance criteria:

Investigate alternative option parsers, with focus on handling different sets of exclusive options
Also investigate how to do this with argparse
Spend no more than 5 days on this
Report back

Additional investigations added by Fiona after developer catch up:

Investigate using a directory tree structure of CLIs to handle cases where we have exclusive options.
Investigate using dictionaries of options specific to exclusive options that we could pass into the plugins. Be aware of security concerns.

@LaurenceBeard has pointed out that we're currently using a mixture of the default argparse functionality, as well as wrapping the argparse functionality argparser.py. If, after investigating this issue, we're sticking with argparse then we should decide whether we're going to use argparser.py within all CLIs. @benfitzpatrick

clize work has superseded this


tune rolling update strategy for istio

(NOTE: This is used to report product bugs:
To report a security vulnerability, please visit https://istio.io/about/security-vulnerabilities/
To ask questions about how to use Istio, please visit https://discuss.istio.io
)
Bug description
Related to https://github.com/istio/istio/issues/13552
We need to merge https://github.com/istio/istio/pull/15586 to new installer and add corresponding API for new installer.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ X ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version)
How was Istio installed?
Environment where bug was observed (cloud vendor, OS, etc)
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

cc @howardjohn @costinm
We are now using istio/installer charts directly so it should go in there.


Add installation instructions for the example

Can we add installation instructions for the included example? I ran npm install on the directory but I'm not sure where to go from there.  It also looks like the webpack configuration relies on an old version, but I'm not 100% sure since I suck at webpack :P

Indeed, we should add a line on how to launch demo. Normally, just executing a make run should be enough. Can you try and open a PR? :)

I would love to send a PR but I'm neither familiar with make or webpack :P


[WFLY-17210] Integration testsuite docs don't properly render single testcase examples

https://issues.redhat.com/browse/WFLY-17210

Hello, cam-rod. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

/ok-to-test

Thanks @cam-rod


enhance pos tagging with transformers function

In PR #857 , pos_tag_transformers was added which consist of 3 models, however, to call and engine, the full name of it must be specified, also the output still not the same format as another tagger. For example
pos_tag_transformers(words="แมวทำอะไรตอนห้าโมงเช้า", engine = "bert-base-th-cased-blackboard")
# outputs
# [{'entity_group': 'NN', 'score': 0.910759, 'word': 'แมวมา', 'start': 0, 'end': 5},
#  {'entity_group': 'VV', 'score': 0.9462489, 'word': '##ทำ', 'start': 5,  'end': 7},
# {'entity_group': 'NN', 'score': 0.8325567, 'word': '##อะไรตอนห้าโมงเช้า',  'start': 7, 'end': 24}]

which is very hard for the normal user to remember its entire name (at least me to remember "bert-base-th-cased-blackboard" is impossible),  and may result in more mess in the internal code if another transformers model trained on new corpus are added. we will end up with a lot of if-else condition in order to call a model in the future
According to that i've cleaned up the code to let a user call a model with parameters named engine and corpus same as what we have from the former function that is pos_tag and pos_tag_sents and also fix output format in PR #865. This will reduce how hard to remember the entire model name, and better experience for users. What do you think ? @wannaphong

close this issue since i already fixed it in PR #865 krub 👍🏻


feat: added ENV variable, non-json log messages for development

FLASK_ENV is deprecated in Flask 2.2:

The FLASK_ENV environment variable and app.env attribute are deprecated, removing the distinction between development and debug mode. Debug mode should be controlled directly using the --debug option or app.run(debug=True).

https://github.com/pallets/flask/blob/main/CHANGES.rst#version-220


Tab indicator not working inside ng-view

The tab indicator is not working for active tabs when the code for tabs is put inside a view and that is loaded in ng-view directive of angularjs dynamically.
Main Page:

//Necessary libraries included

View Page :

Contact Us

Privacy Policy

Terms & Conditions

It needs to be initialized

The Main Page is :

//Necessary libraries included

How do I initialize that ?

http://materializecss.com/tabs.html#initialization
On Tue, Aug 15, 2017 at 12:38 AM, rupakrockthecse100 <
<EMAIL_ADDRESS>wrote:

How do I initialize that ?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Dogfalo/materialize/issues/5111#issuecomment-322397957,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACpax0PfjD7yHATqms4nkJHPv7On4ugsks5sYUr1gaJpZM4O3Rs1
.

--
Doggy sends his greetings from Mars.

Thanks bro...


What is the correct way to install automations-extension.js ?

Hi,
I`m newby on z2m and I need test your automations extension but seeing all the whole files on github repository and see instructions on (https://www.zigbee2mqtt.io/advanced/more/user_extensions.html) still cannot figure what files from your github and how to propper install them on z2m.
Thanks.

Open Extensions page in z2m frontend, create new extension and copy content from dist/automations-extension.js file there.
Then create your first automation in configuration.yaml file.

So I answer this myself. It was a permission error: (like EACCES no permission,...)

chown -R pi /opt/zigbee2mqtt
chgrp -R pi /opt/zigbee2mqtt

https://github.com/Koenkk/zigbee2mqtt/issues/10591


Missing package reainternal

Hey!
I enjoyed your paper and wanted to retrain ForecastPFN, but ran into the issue that the package reinternal which contains the class CloudLocation is not part of this repo.
Could you add it to make the repo self-contained?
Best,
Julien

I have the same problem.

Have same issue. Anyone resolve this one?

I have same issue.


Implement uv init

Summary
Implements the uv init command, which initializes a project (pyproject.toml, README.md, src/__init__.py) in the current directory, or in the given path. uv init also does workspace discovery.
Resolves https://github.com/astral-sh/uv/issues/1360.

Sorry I only got part way through reviewing and had to go — I'll try to give it another look soon.

Let me know when this is ready for another look


Property 'map' does not exist on type 'AngularFireAuth'

Hi,
I've upgraded to latest Angular 2.0.0 and Angular-cli webpack. But when trying to .map an Observable, TS returns this error Property 'map' does not exist on type 'AngularFireAuth'
Here is the AuthGuard service where I'm trying to return an Observable:
import { Injectable }             from '@angular/core';
import { CanActivate, Router,
         ActivatedRouteSnapshot,
         RouterStateSnapshot }    from '@angular/router';
import { AngularFire } from 'angularfire2';
import { AuthService } from '../services/auth.service';

@Injectable()
export class AuthGuard implements CanActivate {

  constructor(
    private af: AngularFire,
    private router: Router,
    public AuthService: AuthService) {}

  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
    return this.af.auth.map((auth) => {
        if (!auth) {
          this.AuthService.loggedIn = false;
          this.router.navigateByUrl('');
          return false;
        }
        this.AuthService.loggedIn = true;
        return true;
    });
  }
}

Any ideas? Thanks!

Try adding at the top
import 'rxjs/add/operator/map'

I also had to add the same line for .take(1) but it worked. Thanks!
Seems like a workaround to me though. Is it a problem with Angular or AngularFire? And if so, is it going to be fixed in the future?

It's not a work-around. I am sure you can find a lot of info on internet, but let me give you my simple theory.
ReactiveX library has lot of functions, which does a variety of magic for you. If you don't want to import specific functions in your app, then you can download this entire library with one single import
"import 'rxjs/Rx'"
The down-side of using this import is, for example: when a user is accessing your app using mobile phone, the entire library will be downloaded on his phone and you may not be even using all of the functions of the library. so Seems like Google guys have come up with a strip-down version of ReactiveX library, which contains standard functions and any other functions like .map, .flatMap etc can be imported on need basis.
Hope this helps.
@katowulf any thoughts ??

I see, great explanation. Thanks!


[Bug]: Required field is not detected with computed-name-field

Description
Please check the following code. Inside the select clause, the record should be identified as Ry, and the missing default field y should be identified.
Steps to Reproduce
type Rx record {|
    int i;
    string x;
|};

type Ry record {|
    int j;
    string y;
|};

type R1 record {|
    int i1;
    Rx[] rx;
|};

type R2 record {|
    int i2;
    Ry[] ry;
|};

function baz(R1 r1, R2 r2) returns R2 => {
    ...r2,
    ["ry"]: from var rx in r1.rx
                select {
                    j: rx.i
                    // y: rx.x
                }
};

Affected Version(s)
8.2
OS, DB, other environment details and versions
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Looks more like a query issue. Doesn't have to have computed keys.
type Foo record {|
    int i;
    string x;
|};

type Bar record {|
    int j;
    string y;
|};

type Baz record {|
    Foo[] fooArr;
|};

function fn(Baz baz) {
    int|Bar[] _ = from var foo in baz.fooArr
        select { // no compilation error
            j: foo.i
            // y: foo.x
        };

    Foo foo = baz.fooArr[0];
    int|Bar[] _ = [ // compilation error as expected
        {
            j: foo.i
            // y: foo.x
        }
    ];
}


social icons and better author links

This branch builds on #1341 and fixes #1349 by converting the current author link field to links, a fully-fledged processed field in the Author model that takes an array of links represented in the markdown frontmatter in either string shortform ("https://twitter.com/myprofile") or object longform (site: "twitter", url: "https://twitter.com/myprofile", username: "myprofile").
Strings are converted into the object format at build-time, and they can be queried throughout the rest of the site for anywhere they're needed, like these social icons or a bigger descriptive list in an Author page.
Very likely will feed into #1364
Addresses #1161 even more

The new changes I made address all the prior points, but also introduce enough new code (at build time) to warrant a re-review.

I think it's hard to justify that we have 3 files for a function that parses links. I can appreciate the generalization and modularity of the approach you has taken, but I would say in this case it's a bit too much. Ideally we all should keep in mind - best code == no code :) In this specific case, I would recommend to try to keep it within a file (at least do not extract utils that are actually being used only in one place and specific to that place - they should be private members). Embed some helpers. Try to a bit less verbose comments - a lot of comments, large comments sometimes a sign of some too complicated code (consider making function names more explicit? split one line into two lines with some vars that describe the flow, etc).

I hear you on the split files and big comments. They come from my personal style, but I'll go back over them and see what's worth cutting. At the very least the string parser can be combined with the multi-type parser.
I think two files would be best because the strength of this implementation is that we abstract away the details of common patterns found in social links while still being able to mix-and-match them alongside JS-based custom logic, especially as we add more sites to the recognized list.
Thanks for the feedback!

I ended up going with one file, two lacks the advantages of both three and one. It's all the same code, and I ran another build just to make sure, so we should be good to merge!

Nicely done @rogermparent !


new endpoint to unban a user

https://ucsc-cgl.atlassian.net/browse/SEAB-3170
I wasn't sure how to write a test for getting a new Dockstore token. But when a user logs in, a new token is created if we don't find one in the db.

It might be good to clarify the language used around this feature throughout the code base. Since we use "ban" in the code that seems like a better term than terminate.

1. Continue with this approach and model more like we do limits, returning/requiring a Ban object. Although I'm having hard time finding justification/precendent for that pattern (that I did). :(

Maybe https://github.com/dockstore/dockstore/blob/develop/dockstore-webservice/src/main/java/io/dockstore/webservice/api/PublishRequest.java and associated endpoint


建议把 AutoDSE 和 Merlin Compiler 直接打包在一起

建议把 AutoDSE 和 Merlin Compiler 直接打包在一起，一起编译一起配置。
Merlin Compiler 用的很多库都比较古老（AutoBridge 也有同样的问题，我也已经提交了 Issue），特别是 LLVM 好像只能用 6/7 版本（现在都 13/14 了），很不好编译，挑环境比较严重。

Please use English.
This repo is mainly for the AutoDSE paper. By that time Merlin compiler hasn't been open source. Since Merlin is open source already, you could find the corresponding AutoDSE in the Merlin compiler repo as one of its component. Merlin and AutoDSE should work together without issues there.

I have checked the Merlin repo, but cannot find AutoDSE.
Here is where I checked in, is that a wrong place I entered?
https://github.com/Xilinx/merlin-compiler/tree/main/trunk

Here: https://github.com/Xilinx/merlin-compiler/tree/main/trunk/optimizers/autodse, although it might be a bit diverge compared to this repo.

Thanks for the feedback. We will expand the description on AutoDSE's usability soon.


Upgrade to the latest gradle

Note that I also updated the Spotless plugin to the latest version since the older version doesn't work with the latest gradle.
Also, re-formatted the code.

Seems like the CI is not run.

Mind explaining what is "RTM"?
Updated the PR to make sure ./gradlew clean check && ./gradlew -b toothpick-sample/build.gradle clean check passes.

Coverage remained the same at 95.583% when pulling 118d564ba8167a4c96688d86621185f2646ff18d on davidsun:master into 92ed7deed8745775170a210e046163522e43a57e on stephanenicolas:master.

Please also merge for me. Don't have write access to the repo. Thanks!

Just one small comment about something that i missed

Merged! Thx @davidsun


its only capture ip address only

anyone can give me solution please

yaah... only capturing ip address unless there is a 'allow' option of camera


Caching addon

Provides a mixin to apply to Actions that lets you specify caching strategies declaratively for that action.

Closing in favor of http://discuss.denalijs.org/t/call-for-addon-denali-cache/23


[Bug]: page.url() returns an empty string when browser is launched with a starting URL

Minimal, reproducible example
import puppeteer from 'puppeteer-extra';

const browser = await puppeteer.launch({
  args: [
    '--incognito',
    'https://www.example.com',
  ],
});

const [page] = await browser.pages();

console.log('The current address is: "', page.url(), '"');
// The current address is: ""

await page.goto('https://www.example.com');

console.log('The current address is:', page.url());
// The current address is: " https://www.example.com "

Error string
N/A
Bug behavior

[ ] Flaky
[ ] PDF

Background
Chrome can be launched with a starting URL by supplying it after all the arguments.
Expectation
page.url() return the current value of the address bar (which I confirmed is indeed also the value of location.href in the page's browser console).
Reality
Puppeteer does launch Chrome with that address, but page.url() instead returns an empty string.
Puppeteer configuration file (if used)
No response
Puppeteer version
21.6.1, 21.7.0
Node version
20.10.0
Package manager
npm
Package manager version
10.2.3
Operating system
macOS

I am unable to reproduce locally but, in general, the URL should be there once the page finished navigating. page.goto waits for navigation and for the page loaded via args there is no way to wait reliably.

Gah, sorry, I JUST realised that was the problem 🤦♂
I added
await new Promise((ready) => page.on('load', ready));

Just before the page.url(), and voila.


Hardware Divider/Modulo support

See section <IP_ADDRESS> of the reference manual for more info on this peripheral.
This is part of the SIO peripheral, and may require use of a mutex or the hardware spinlocks provided by the SIO to use safely. In the initial implementation, having it block until complete would be recommended.
You can also assume (for the initial implementation) that it's never used by interrupts or by the 2nd core.
Minimum deliverable should be standalone function(s) with examples that demonstrate that results match built-in / and % operators.

I'd like to contribute to this issue but I'm new to embedded rust. Would this be a good first issue nonetheless?

I think it is a good first issue if you're interested in getting into Embedded Rust HALs.
If you're just starting out you might find it a bit intimidating, but please feel free to ask for help or advice if you need it.

If I understand correctly it is a hardware accelerated division (or modulo), right?
I’ll then have to get the SDK and try to implement it.
How is the PR linked to this specific issue? Is it the SIO spin lock implementation?

The hardware is described in detail in the datasheet that is linked in the issue description.
We aren't using the SDK, you would be accessing the hardware through the PAC crate https://github.com/rp-rs/rp2040-pac.
This is already included as a dependency of the HAL, so you can clone this repo, add a new file to rp2040-hal/src/, and start writing the function.

The PR linked to this issue was related to splitting out the SIO peripheral into chunks.
Until then, it was used exclusively by the GPIO module.
The most common model for Embedded Rust HALs is that a single module will own a portion of the memory-mapped register space, as that eliminates issues around concurrent access to the registers.
The SIO is used for GPIO, divide/modulo, spinlocks, message passing. Those things don't really all belong under the GPIO module, hence the PR to allow other modules to own their own space.

Initial support was merged in PR https://github.com/rp-rs/rp-hal/pull/40
It could use more testing, and will need some work to make it safe across interrupts and multiple cores - if anyone is interested in working on these tasks please open a new issue / draft PR.

Yeah sorry, I had a look but now I’m rather busy…


Fixes literally not forcing re-dispatch for inline='always'

As title.
Fixes #5887

I approve 34294d6, thanks.


Show charts with cumulative doses delivered vs. administered per vaccine type

Requested by @evilpie, here: https://twitter.com/evilpies/status/1398310284809412608

Very cool, thank you! As an additional bonus the sum of all weeks would also be interesting.
From my understanding the vaccine deliveries on https://impfdashboard.de/ don't actually include the current week. So in theory you can get more than 100%. But I haven't checked if you are actually using that information.

From my understanding the vaccine deliveries on https://impfdashboard.de/ don't actually include the current week. So in theory you can get more than 100%. But I haven't checked if you are actually using that information.

Correct. We automatically display a warning when doses administered exceeds doses delivered: https://github.com/mathiasbynens/covid-19-vaccinations-germany/blob/b7643861ebf2a9bf4405f93a6d07aeccf4355b0e/templates/chart.template#L54-L56

I've added an initial version of this now, albeit per-day rather than per-week.
I've noticed there's a drop on 2021-04-26 in the per-vaccine charts for both Pfizer/BioNTech and Oxford/AstraZeneca. TODO: investigate whether this matches the source spreadsheets.

I actually think this version is better than just per week. One graph per vaccine makes this very readable. Great work.

Thanks :)
I'll keep the issue open until we figure out what's going on with the 2021-04-26 drop. I won't get to this today, so in case anyone wants to help, here's what to do: compare the Pfizer/BioNTech- and Oxford/AstraZeneca-specific numbers in the following two source sheets:

https://github.com/evilpie/Impfquotenmonitoring/blob/master/Impfquotenmonitoring-2021-04-24T07:59:54.xlsx
https://github.com/evilpie/Impfquotenmonitoring/blob/master/Impfquotenmonitoring-2021-04-26T06:51:22.xlsx

…and report back.

I think the relevant files for 2021-04-26 are

https://github.com/evilpie/Impfquotenmonitoring/blob/master/Impfquotenmonitoring-2021-04-27T07:13:08.xlsx
https://github.com/evilpie/Impfquotenmonitoring/blob/master/Impfquotenmonitoring-2021-04-27T07:44:50.xlsx

At least for Pfizer/Biontech there was some change here from 19,603,335 in the 07:13 file to 18,830,416 in the 7:44 file. The former is probably closer to reality. But neither match the 16,309,838 on the chart. And it's actually higher than what is reported for 4-27 on the chart again.

I also noticed that 7:44 added a column for Jansen.

In https://github.com/evilpie/Impfquotenmonitoring/blob/master/Impfquotenmonitoring-2021-04-27T07:44:50.xlsx, the result of D22+I22 is 16,309,838.


Add shellcheck

This PR would...

[x] add a shellcheck https://www.shellcheck.net/ test

This would make sure that we do everything the "right way"! 😊

./src/clone.sh:47:8: warning: Declare and assign separately to avoid masking return values. [SC2155]
./src/init.sh:47:8: warning: Declare and assign separately to avoid masking return values. [SC2155]

Merging this as I think this is a pretty safe "add checks to make better code" change.


Proper monorepo setup

Right now we have two wholly separate NPM packages in the same repo. We should set up a proper monorepo setup with yarn workspaces to make setup and builds easier.

Done

Done


Xiaolepr

There are 2 commits. fixed an issue for the SVGsymbol tool. fixed an security issue for icon-font.

I reviewed and merged


28 add unit tests to profilestypef90 functions

closes #28
The updated documentation can be found here. Please note that I added several tables for the keys of the profiles and wether they are optional or required.
I also moved radiator and radiative_transfer tests into the unit tests directory

Codecov Report

Merging #134 (a8facd9) into main (0eafedd) will increase coverage by 0.41%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #134      +/-   ##
==========================================
+ Coverage   81.35%   81.77%   +0.41%
==========================================
  Files         100      100
  Lines        5299     5299
==========================================
+ Hits         4311     4333      +22
+ Misses        988      966      -22

Impacted Files
Coverage Δ

src/profiles/from_config.F90
100.00% <100.00%> (ø)

src/profiles/surface_albedo.F90
100.00% <100.00%> (+100.00%)
:arrow_up:

src/interpolate.F90
82.22% <0.00%> (-0.75%)
:arrow_down:

src/profiles/profile_utils.F90
92.47% <0.00%> (+3.22%)
:arrow_up:

src/profile_factory.F90
100.00% <0.00%> (+6.25%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@mattldawson I did remove the surface albedo. The last two commits, 165b433 and d3b28d8, are relevant to that. The first one changed the configuration to make the same test pass with the from config file profile. The second removed all references (I think) to surface albedo. I'm still looking at your other comments.


Checklist.py should verify the copyright headers on each file.

The current standard for scikit-bio's copyright headers is defined here. What checklist should be able to validate:
If there is a module level docstring:

The docstring appears at the top of the file. Variant isn't important (can be r""".... or plain """.... and any style of quotation).
This docstring is immediately followed by a new line.
After this new line, our copyright header appears in full.
Finally another new line.

If there is no module level docstring:

The copyright header appears at the top of the file in full.
Followed by a new line.

I would suggest using the tokenize module in the standard library to accomplish this as it can identify comments while the AST module has already stripped them.

@ebolyen I would like to give a shot to this issue. Could you please assign?

@gregcaporaso, @vivekiitkgp needs to be added as a contributor to be assigned issues.
In the mean-time, @vivekiitkgp is handling this issue.
Thanks!

I've sent @vivekiitkgp an invitation to join the team.

@ebolyen Can you please review the PR?


Link to playground from homepage

What about something on top of the page, similar to ampproject on top, where it says: "Save the date: Tune in live on March 7/8 or join us in person in NYC for our first-ever AMP Conf.". We could have one like: Try the new AMP playground

I've been looking for a good excuse to get rid of the device screenshot for a while now ;-)

Otherwise I'd preferred your suggestion ;-)/

LGTM as first step.
If possible, we should go back on restyling the main page. I suggest to remove the AMP logo from "Try the new..." as we have already a logo on top.


TypeError issue while Running MobileSAM and EdgeSAM

Hi @Celebio @nlutsenko @colesbury @pdollar @calebrob6
Thanks for the great work.I was trying to run Grounded MobileSAM and EdgeSAM which is of course importing functions from SAM.Following issue I was facing from predict_masks function in SAM code.Can you pls help me in fixing this ?
/opt/conda/lib/python3.10/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3526.)
return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
final text_encoder_type: bert-base-uncased
/opt/conda/lib/python3.10/site-packages/transformers/modeling_utils.py:942: FutureWarning: The device argument is deprecated and will be removed in v5 of Transformers.
warnings.warn(
/opt/conda/lib/python3.10/site-packages/torch/utils/checkpoint.py:429: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.
warnings.warn(
/opt/conda/lib/python3.10/site-packages/torch/utils/checkpoint.py:61: UserWarning: None of the inputs have requires_grad=True. Gradients will be None
warnings.warn(
Detections(xyxy=array([[ 74.942444,  82.034515, 936.3782  , 920.2074  ]], dtype=float32), mask=None, confidence=array([0.9357401], dtype=float32), class_id=array([0]), tracker_id=None, data={})
Before NMS: 1 boxes
After NMS: 1 boxes
Traceback (most recent call last):
File "/home/ubuntu/slime/Grounded-Segment-Anything/EfficientSAM/grounded_edge_sam.py", line 94, in
detections.mask = segment(
File "/home/ubuntu/slime/Grounded-Segment-Anything/EfficientSAM/grounded_edge_sam.py", line 82, in segment
masks, scores, logits = sam_predictor.predict(
File "/opt/conda/lib/python3.10/site-packages/segment_anything/predictor.py", line 154, in predict
masks, iou_predictions, low_res_masks = self.predict_torch(
File "/opt/conda/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/segment_anything/predictor.py", line 229, in predict_torch
low_res_masks, iou_predictions = self.model.mask_decoder(
File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/segment_anything/modeling/mask_decoder.py", line 94, in forward
masks, iou_pred = self.predict_masks(
File "/opt/conda/lib/python3.10/site-packages/segment_anything/modeling/mask_decoder.py", line 127, in predict_masks
src = torch.repeat_interleave(image_embeddings, tokens.shape[0], dim=0)
TypeError: repeat_interleave() received an invalid combination of arguments - got (tuple, int, dim=int), but expected one of:

(Tensor input, Tensor repeats, int dim, *, int output_size)
(Tensor repeats, *, int output_size)
didn't match because some of the keywords were incorrect: dim
(Tensor input, int repeats, int dim, *, int output_size)

Have you solved this problem? Thanks

Anyone solved this?


create service accounts for the adapter to run

currently when we create a rolebinding, the service account assumed is "default", because the adapter runs as default. Once we change that, create a service account for the adapter to run as and then create a rolebinding for it.

/assign


Add support for Mongo JDBC as JobStore

Hello,
Recently Mongo has released a JDBC driver for their Atlas Services.
This is the reference site for the mongo JDBC driver: www.mongodb.com/docs/atlas/data-federation/query/sql/drivers/jdbc/connect
This is the maven artifact: https://search.maven.org/artifact/org.mongodb/mongodb-jdbc
For the latest version, which at the time of writing this issue is version 2.0.1, the driver Class Name is: com.mongodb.jdbc.MongoDriver
Can you add support for this driver? i.e. create a suitable SQL file here? https://github.com/quartz-scheduler/quartz/tree/master/quartz-core/src/main/resources/org/quartz/impl/jdbcjobstore
Any help provided is appreciated. Thanks in advance,
Erik

This support doesn't make sense as the Atlas SQL API is read-only. Instead, having JobStore with a proper MongoDB client implementation would be useful.

Contributions are welcome. 😉


tour: [Exercise fibonacci closure]

Context: http://<IP_ADDRESS>:3999/moretypes/23
The following code will run the Fibonacci sequence without issues up to the number 93. After that it returns negative values for few of the values where the integer is bigger than 93. I have tested the code in Python 2.7.6.
package main

import "fmt"

// fibonacci is a function that returns
// a function that returns an int.
func fibonacci() func() int {
	fib1, fib2 := 0, 1
	return func() int {
		fib:= fib2+fib1
		fib1 = fib2
		fib2 = fib
		return fib1
	}
}

func main() {
	f := fibonacci()
	for i := 0; i < 100; i++ {
		fmt.Println(f(), i)
	}
}

It's overflowing the int (64-bit when running locally,
32-bit when running on the playground.)
Python does transparent bignum for you, so it
works there.
If you want to have that for Go too, see the
math/big package at https://golang.org/pkg/math/big.
And btw, please ask questions like this on other
mediums, this issue tracker is for bugs and
proposals only. See https://golang.org/wiki/Questions.

I am sorry for having posted it in this medium. I thought it might be a bug on the tour.
Thank you


Integrate CosmWasm

In order to allow custom applications to implement their features the best way possible without having to fork the Desmos chain, I think we should start taking a look at CosmWasm.
This Cosmos module, developed by Ethan Frey, allows anyone to write smart contracts that can later run on the chain itself.
This could be particularly useful for example when integrating custom posts reporting logics as described inside #50.

I was in their community call today. The current design of CosmWASM is to have its own state for each smart contract. I think this is very good when we have different dapps running on Desmos. Even for the flagging issue, different dapps can keep their states whether a post should be visible or not. I have also asked the upgradability of the contracts and they are tracking this feature here.

different dapps can keep their states

This is great!

This should be doable now, I can follow the wasmd example which is already compatible with stargate.


Ebook dapr new

Added forward by Mark Russinovich.

@robvet While generating the PDF, we noticed an empty References section in the-world-is-distributed.md file. Can you add references or remove the section entirely?


Option no_width should be documented in README.md

In certain situations, we might not know total in advance but we might still want to display a progress bar that shows the current count and elapsed count.
I was going to create an issue and start working on PR for this but then I noticed that there's an option called no_width that addresses this already. Is there a reason it's not in the README? I could take a stab at documenting it. I also noticed that some of the formatters rely on having total available to them.

Hi Andrew,
Thanks for using tty-progressbar.
The no_width option doesn't do anything. It's there as a remnant from early code refactorings and probably should've been removed long time ago. In the past, I thought about having 'indeterministic' progression but decided against the idea and instead created tty-spinner. The spinner allows you to display arbitrary info including current count etc... You could split the processing into spinner for the indeterministic part and replace it later with progression once the total is known.
As for having indeterministic progression in tty-progressbar, I'm seeing few issues with it. Mostly, how would the progression behave? Let's say you set count to some value and this brings the progression halfway. What if later the current position is only a small portion of the total, do you backtrack progression or freeze it for the time it needs to 'catchup'?  From the user perspective, it's important to get clear behaviour which may not be a trivial problem to solve. I could argue that if you don't know the initial total then you can use any 'reasonable' estimation like double the current count until you know the precise value.
Having said all that, if you have an idea and want to discuss or submit PR I'm more than happy to review and provide feedback.

Thanks for the explanation. Adding the no_width: true option was enough to prevent a crash on advance() because of this guard. It's working fine as long as I change the format string to not include fields that require total.
Some context: I'm writing a CLI tool that runs ETL jobs where the number of items might not be known in advance. I'd love to use the same progress bar class for both scenarios. As long as you don't remove the line of code I linked to above, things are working fine. :)
Previous to tty-progressbar, I was using ruby-progressbar which has an option to for unknown progress. It's basically a vertical spinner as well as "??" for fields like ETA or the total. Details here.. There's no concept of progression or estimation of remaining time; there's simply an incrementing count as well as the tracking of total time and mean rate.
Do you see this sort of feature belonging in this gem?

I'm convinced, let's add this feature!
Thanks for providing the context and I don't want to break things unnecessarily so I won't remove the option. However, I'm not sure that no_width is an appropriate name for 'unknown' progress. If I recall correctly, what I was trying to do here is provide an alternative to setting specific width. This is all to say that I would welcome some new option name here or make the total configuration recognise value like :unknown etc...
I like the idea of animation for indeterminate progress, how about having ==  move left and right? For formatters like ETA I would display --:-- rather than ?? as a lot of terminal tools work this way and that would be familiar. To direct the effort what I would like to see PRs that address the following(in no particular order):

Animation/beahviour for indeterminate progress with tests
Changes to formatters to account for no total with tests(ideally test behaviour for all formatters)
Example in the examples
Readme entry

Sounds good! I can take a stab at this.
What do you think of the idea of using total: nil to trigger indeterminate behaviour instead of passing an unknown: true?

I'm not so sure about total: nil. In general, I see nil as an anti-pattern for configuration options as nil can stand for the value of nil or lack of any value. So if total becomes nil, does that mean that it was intentional or is it possible there is a bug that caused total to be nil? What if someone fails to specify total option altogether? As for gem maintenance and code readability, the logic that deals with nil starts to show very little meaning and makes nil errors harder to identify. I kind of lean towards :indeterminate as actual configuration option? The :unknown seems too vague for this purpose. We could then have indeterminate? check on the progress bar instance itself. I think this would lead to more transparent code in formatters as well as in the client code.

@hyfen Any progress?

@hyfen Good news, I've added support for indeterminate progress! I went with the total: nil as using indeterminate: true made for more cumbersome implementation and user exeperience. Please see indeterminate example of how this works. Looking for your feedback!

Hi Piotr, this looks great and I'm excited to try it out! I'm not able to be at my computer much this month but I'll try to have a look in the next week.

@hyfen I'm planning to make a release this coming weekend and would love to hear your opinion before I publish a new version. Do you think you could find a minute to check this out?


[Feat]: I want to add my profile

What feature?
I want to add my profile
Add screenshots
Add screenshots

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@codeaashu  please assign me

Hi @vinitk1509 , thanks for your interest in contributing to DevDisplay!
Before we proceed, we noticed you adding your profile on #DevDisplay but forgot to star the repo. It's like making an amazing sandwich and forgetting to take a bite! -- I think our repo's feeling a little lonely without your 🤗 So, be sure to star the DevDisplay GitHub Repository. 🌟
💌 This is a mandatory step for all contributors. & It's is the first priority of contribution in DevDisplay 💌
🚀 We look forward to your contribution once these steps are completed. 🚀
Thanks 👍🏻


⚠ SkipTheCommericals has degraded performance

In c7408ea, SkipTheCommericals ($STC) experienced degraded performance:

HTTP code: 200
Response time: 5764 ms

Resolved: SkipTheCommericals performance has improved in a72a1e3.


Add 1.6 version dropdown and make it latest version

Signed-off-by: Anna Jung (VMware<EMAIL_ADDRESS>
Add 1.6 dropdown
(cleanup) remove v0.2 dropdown
Make 1.6.0 the latest version

cc @kubeflow/release-team
/hold until docs deadline Aug 31st

/lgtm
/approve
Thank you so much Anna!

will hold until the 1.6 release day

/hold cancel


Update Jimple

What does this PR do?
It updates Jimple to the latest version from its original package, removing the custom fork I've been using.
It also updates wootils and projext, which were also using the custom fork.
How should it be tested manually?
npm test
# or
yarn test

Pull Request Test Coverage Report for Build 99

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 96:
0.0%

Covered Lines:
432

Relevant Lines:
432

💛  - Coveralls


Modify Grid.js to respect layer's maxExtent in singleTile mode

A wms layer with singleTile:true would always use the full visible map extent * layer.ratio regardless of any maxExtent set property set on the layer. This corrects that issue.
Tests passed in IE8, IE9, FF & Chrome.

@ahocevar Had concerns about the interaction with wrapDateLine, however, this property doesn't effect singleTile:true layers. Coordinates are not modified when they straddle the date line and single tile wms will always, by it's nature, cross the date line if the date line meridian is in the map and the single tile wms layer.
However, if the maxExtent property is set to an unwrapped value which crosses a date line meridian ie: [-200,40,-160,80] then initSingleTile will properly handle that and restrict the bounds to that maxExtent value

Merged @ahocevar pull request. All grid, wms & wrapDateLine tests pass on IE8 IE9 Chrome & FF


Re-add interpolation to replace_column_void

Closes #81.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

6 of 7 (85.71%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.09%) to 89.793%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pygef/gef.py
4
5
80.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.09%

Covered Lines:
1126

Relevant Lines:
1254

💛  - Coveralls


ENYO-5426: Adjust paddings in GridListImageItem

Issue Resolved / Feature Added
I found there were two issues in GridListImageItem.
Issue 1>
When using caption and sub-caption together, the space height for the caption and the sub-caption was 96px even though the sum of the height of the caption and the sub-caption was 93px.
Issue 2>
When using only caption or only sub-caption, the space height for them was 42px even thought the caption height was 45px and the sub-caption height was 48px.
Resolution
To fix the issue 1,
I tried to reduce the height for the caption and the sub-caption together to 93px ( 45px + 48px = 93px ).
To fix the issue 2,
I tried to change the height for only the caption to 45px, the height for only the sub-caption to 48px.
Additional Considerations
Links
ENYO-5426
Comments
Enact-DCO-1.0-Signed-off-by: YB Sung<EMAIL_ADDRESS>

I'll update CHANGELOG.md later.

LGTM

Closing in favor of #1864


Failing tests

not ok 360 PhantomJS 1.9 - Unit | Component | sl tab pane: Can provide content via "templateName" property
---
actual: >
null
message: >
Died on test #1     at http://localhost:7357/assets/test-support.js:2934
at test (http://localhost:7357/assets/test-support.js:1826)
at http://localhost:7357/assets/dummy.js:27715
at http://localhost:7357/assets/vendor.js:150
at tryFinally (http://localhost:7357/assets/vendor.js:30)
at http://localhost:7357/assets/vendor.js:156
at http://localhost:7357/assets/test-loader.js:29
at http://localhost:7357/assets/test-loader.js:21
at http://localhost:7357/assets/test-loader.js:40
at http://localhost:7357/assets/test-support.js:6647: 'undefined' is not an object (evaluating 'env.data.view')
Log: |
...

This issue can be closed. This test was removed in: https://github.com/softlayer/sl-ember-components/commit/982f74e1b003f78679fac3b1e3db07ac6ba86e2e


Suite with multiple groups of same Model Type

Have you come across an issue when using multiple groups within the suite which use the same validation suite.  For example I have  a company with OfficeAddress and BillingAddress, so in my suite I have 2 groups which use the same AddressValidations.
    group('officeAddress', () => {
      addressValidations(model.officeAddress!);
    });
    group('billingAddress', () => {
      addressValidations(model.billingAddress!);
    });

The NgForm validation works fine, i.e. ngForm.form.valid is invalid until both addresses pass validation, but when executing the test to get the overall validation results from Vest it only shows the errors for the first group.
This maybe sounds like a Vest issue, but was just wondering if you have come across a similar situation at all?

Hi @mellondev, which version of Vest do you have installed?
If you are using V5 onwards, Vest automatically stops execution of fields once they failed once. You can override this behavior using an alternative execution mode:
https://vestjs.dev/docs/writing_your_suite/execution_modes#all-mode

Thanks @ealush I have just posted an issue on Vest, and as soon as I posted it I remembered the Upgrade Guide mentioning the Eager execution by default.
I am using Vest v5


BookStack is not available to me from host machines on the network

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
Good afternoon,
Help me to understand. Please!!!
I have a network <IP_ADDRESS>/24
I have Ubuntu Server (<IP_ADDRESS>)
Host (win 10) <IP_ADDRESS>
Operating System: Ubuntu 22.04.1 LTS
Kernel: Linux 5.15.0-48-generic
Architecture: x86-64width: 64 bits;
Product: Intel(R) Celeron(R) J4105 CPU @ 1.50GHz; size: 8GiB
I have Docker installed:
Client: Docker Engine - Community
Version: 20.10.18
API version: 1.41
Go version: go1.18.6
Git commit: b40c2f6
Built: Thu Sep 8 23:11:43 2022
OS/Arch: linux/amd64
Context: default
experimental: true
Server: Docker Engine - Community
engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Portainer Community Edition 2.15.1
I installed BookStack linuxserver/docker-bookstackdocker 5 days ago (not latest version. Last update was 3 days ago).
I used Stack file for installation. Here he is:

version: "2"
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- APP_URL=
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASS= constantin
- DB_DATABASE=bookstackapp
volumes:
- /path/to/data:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=
- TZ=Europe/Paris
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=constantin
volumes:
- /path/to/data:/config
restart: unless-stopped
I get 2 bookstack and bookstack_db containers working.
I am trying to access <IP_ADDRESS>:6875 from HOST. Instead, I get: "Can't access the site. Site <IP_ADDRESS> cannot connect."
Help me figure out why BookStack is not available to me from host machines on the network? I can't open it from any address on the network.
(I even wrote:
iptables -t nat -A POSTROUTING -s <IP_ADDRESS> ! -d <IP_ADDRESS>/24 -j MASQUERADE
After that, the hostes of my network became available to me from the bookstack container.) But I still don’t see the BookStack from the network
Help me please!!!
Exact BookStack Version
v22.09.1-ls42
Log Content
No response
PHP Version
No response
Hosting Environment
Ubuntu 22.04.1 LTS
Kernel: Linux 5.15.0-48-generic

I am just using BookStack so not much experience yet.
Could it be the empty setting : APP_URL= ?

I had BookStack installed on another similar computer. I decided to move the installation to a new one. In the past, everything worked fine (to tell the truth there was an older version - 2 years ago).
I saved a Stack file from an old computer. There I did not specify the APP_URL= value. To tell the truth, I do not really understand what it means and what its format should be.
Address: - This is the network address of the room where I install BookStack. This is an external address. When accessing a private network address, a transition occurs to the external address of the entire subnet (the external address of the router). It is very strange. I don't understand where the internal network address translation to the external network.

I did specify the APP_URL when I did a fresh deploy of the stack.
Did you also moved some volumes to the new computer?
Could they contain some old network information?
e.g. https://hub.docker.com/r/linuxserver/bookstack states that parameter environment variable is needed:

for specifying the IP:port or URL your application will be accessed on (ie. http://<IP_ADDRESS>:6875 or https://bookstack.mydomain.com

@Kostosso As suggested by @G0lfH0t3l, please could you set the APP_URL value. This should be the full base URL, including protocol, that you'd expect to access BookStack on, and a domain/IP that should resolve to the Bookstack host.
Example: APP_URL=http://<IP_ADDRESS>:6875.
Without this set, BookStack will infer it's host name from the request, and then use that for redirects & URL generation.
I'm guessing this is where the <IP_ADDRESS> is coming from.

Thank you all very much for your advice and help, but the situation is not resolved.
Here is what the stack file looks like:
version: "2"
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- APP_URL=http://<IP_ADDRESS>:6875
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASSWORD=constant
- DB_DATABASE=bookstackapp
volumes:
- /path/to/data:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=constant
- TZ=Europe/Paris
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=constant
volumes:
- /path/to/data:/config
restart: unless-stopped
This is iptables:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- <IP_ADDRESS>/0 !<IP_ADDRESS>/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- <IP_ADDRESS>/16 <IP_ADDRESS>/0
MASQUERADE all -- <IP_ADDRESS>/16 <IP_ADDRESS>/0
MASQUERADE tcp -- <IP_ADDRESS> <IP_ADDRESS> tcp dpt:9443
MASQUERADE tcp -- <IP_ADDRESS> <IP_ADDRESS> tcp dpt:8000
MASQUERADE tcp -- <IP_ADDRESS> <IP_ADDRESS> tcp dpt:80
Chain Docker (2 references)
target prot opt source destination
RETURN all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0
RETURN all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0
DNAT tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 tcp dpt:9443 to:<IP_ADDRESS>:9443
DNAT tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 tcp dpt:8000 to:<IP_ADDRESS>:8000
DNAT tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 tcp dpt:6875 to:<IP_ADDRESS>:80
This is what it looks like
wget --spider <IP_ADDRESS>:6875
Spider mode enabled. Check if remote file exists.
--2022-10-13 14:14:30-- http://<IP_ADDRESS>:6875/
Connecting to <IP_ADDRESS>:6875... failed: Connection refused.
curl <IP_ADDRESS>:6875
curl: (7) Failed to connect to <IP_ADDRESS> port 6875 after 0 ms: Connection refused

But on another machine - COMPLETELY similar with exactly the same stack file
Iptables:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- <IP_ADDRESS>/0 !<IP_ADDRESS>/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- <IP_ADDRESS>/16 <IP_ADDRESS>/0
MASQUERADE all -- <IP_ADDRESS>/16 <IP_ADDRESS>/0
MASQUERADE all -- <IP_ADDRESS>/23 <IP_ADDRESS>/0
MASQUERADE tcp -- <IP_ADDRESS> <IP_ADDRESS> tcp dpt:80
MASQUERADE tcp -- <IP_ADDRESS> <IP_ADDRESS> tcp dpt:9000
MASQUERADE tcp -- <IP_ADDRESS> <IP_ADDRESS> tcp dpt:80
MASQUERADE tcp -- <IP_ADDRESS> <IP_ADDRESS> tcp dpt:8000
Chain Docker (2 references)
target prot opt source destination
RETURN all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0
RETURN all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0
RETURN all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0
DNAT tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 tcp dpt:4357 to:<IP_ADDRESS>:80
DNAT tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 tcp dpt:9000 to:<IP_ADDRESS>:9000
DNAT tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 tcp dpt:6875 to:<IP_ADDRESS>:80
DNAT tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 tcp dpt:8000 to:<IP_ADDRESS>:8000
wget --spider <IP_ADDRESS>:6875
Robot mode enabled. Checking for the existence of a remote file.
--2022-10-13 17:13:49-- http://<IP_ADDRESS>:6875/
Connecting to <IP_ADDRESS>:6875... connection established.
HTTP request sent. Waiting for response… 302 Found
Address: http://<IP_ADDRESS>:6875/login [jump]
Robot mode enabled. Checking for the existence of a remote file.
--2022-10-13 17:13:49-- http://<IP_ADDRESS>:6875/login
Connecting to <IP_ADDRESS>:6875... connection established.
HTTP request sent. Waiting for response… 200 OK
Length: no data [text/html]
The deleted file exists and may contain additional
links, but recursion is disabled - does not load.
curl <IP_ADDRESS>:6875

     <title>Redirecting to http://<IP_ADDRESS>:6875/login</title>

     Redirecting to <a href="http://<IP_ADDRESS>:6875/login">http://<IP_ADDRESS>:6875/login.

I just don't understand what could be the cause... and what can I check and fix!!!

Can you ensure there's some form of connection via ping <IP_ADDRESS>
Could you try running nmap -p 6875 <IP_ADDRESS>
Could you confirm where you are running these commands, relative to <IP_ADDRESS> (In terms of devices and systems along the route)

Response from <IP_ADDRESS>: number of bytes=32 time<1ms TTL=64
Response from <IP_ADDRESS>: number of bytes=32 time<1ms TTL=64
Response from <IP_ADDRESS>: number of bytes=32 time<1ms TTL=64
Response from <IP_ADDRESS>: number of bytes=32 time<1ms TTL=64

Starting Nmap 7.92 ( https://nmap.org ) at 2022-10-13 22:43
Nmap scan report for <IP_ADDRESS>
Host is up (0.00088s latency).
PORT     STATE  SERVICE
6875/tcp closed unknown
MAC Address: 00:E0:8F:68:12:2B (Cisco Systems)
Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds

All devices are on the same peer-to-peer network. Physically connected to a single unmanaged router. The network is not divided into subnets. The server on which BookStack works normally is physically located on the same network. Connected to the same router and has the address <IP_ADDRESS>. (I regret that I have to replace him. He does his job perfectly. And I don’t want to lose the Wiki, there is a lot of information ...

So based on that, looks like you can connect to the host but not on port 6875.
I can't remember exactly how portainer works, especially with docker-compose files, and I'm not really familiar with iptables.

Does the running container within the portainer interface clearly show port 6875 as being mapped?
Is the bookstack container definitely not showing any errors during start-up which may prevent the starting of its webserver?
Are there any docker networks involved for this container in portainer?

I found the reason why BookStack didn't work!
I completely rearranged the Ubuntu server. Reinstalled Docker and Portainer. Installed BookStack (BookStack - Linuxserver.io version:- v22.09.1-ls44 Build-date:- 2022-10-13T18:12:14 02:00; Mariadb - Linuxserver.io version:- 10.6.9-r0-ls71 Build -date:- 2022-10-12T00:12:56 02:00 ) from the Stack file I have (with APP_URL specified).
And everything worked great!!! The bookstack site is available on port 6875. You can create new entries!
After that I tried to restore the backup databases.
( BookStack - Linuxserver.io version:- v21.11-ls170 Build-date:- 2021-11-18T17:00:48 01:00 (v.21.11) Mariadb - Linuxserver.io version:- 10.5.13- r0-ls43 Build-date:- 2021-11-13T14:03:18 01:00)
I did the backup of the database as follows:
• in the bookstack_db container
mysqldump -u bookstack -p bookstackapp > bookstack_backup.sql
• in the bookstack container
 tar -czvf bookstack -files-backup.tar.gz
I restored the backup in the following way:
• in the bookstack_db container
 mysql -u bookstack -p bookstackapp < bookstack_backup.sql
I specify psw
• in a bookstack container
tar -xvzf bookstack-files-backup.tar.gz
After recovery, I could go to <IP_ADDRESS>:6875 but immediately an error occurs (Unknown error). You can try to log in again, but with the same results.
If you restart the bookstack and bookstack_db containers, then the message "Cannot access the site" appears.

However, when trying to install the bookstack again using the stack file, immediately when <IP_ADDRESS>:6875 is accessed, the message “Cannot access the site” appears and nothing more can be done.
Therefore, the reason for the denied access is an attempt to restore a backup copy of the data from old version.
Tell me please. How can I fix this error. It is probably necessary to update the original database to the current version and then make a backup. Or maybe there are other ways.
Thanks in advance.

Therefore, the reason for the denied access is an attempt to restore a backup copy of the data from old version.

When restoring, you need to ensure you restore into an empty database first.
If you restore into a new instance, that's had it's database structure already created, you'll have problems.
From that point on, the container will migrate the data upon startup. This means you should not start the bookstack container at all until you've restored your database. So generally:

Ensure you have an original backup first.
On the new setup, Start only the database container.
Restore the database content.
Start the BookStack container. Watch the container logs for any errors. Should see multiple lines mentioning "migrating" during startup as the container/bookstack runs its migrations.

Alas, I have not found a solution to this problem. I reinstalled the system again and BookStack works fine on a clean system.
I decided not to waste any more time and in 4 hours I copied / pasted all the most necessary records from the old server to the new one.
Horror! But it turned out to be a faster way.
I hope someone finds a solution to this problem. I would really like to know him.
Thanks to everyone who tried to help solve this problem.


JS Version seems to provide different results than online version

Hey so I'm trying to write a little CLI around this where a user can pass in a glob pattern of files to be matched, and it will find the files, loop over the lines in said files to find regexes, and finally test those against this checker.
So far so good, everything is working - however I can't get it to come up with a positive match although I've verified two results in my test file should trigger a positive (i.e. "vulnerable") match.
Here's my two test regexes and the output of running check(testRegex) on them:
1. /^([a-zA-Z0-9-_@]+|\.\/)+\.(png|jpg|jpeg|pdf)$/m
{
  source: '/^([a-zA-Z0-9-_@]+|\\.\\/)+\\.(png|jpg|jpeg|pdf)$/m',
  flags: '',
  status: 'safe',
  checker: 'automaton',
  complexity: { type: 'linear', summary: 'linear', isFuzz: false }
}

2. /^(a|a)*$/
{
  source: '/^(a|a)*$/',
  flags: '',
  status: 'safe',
  checker: 'automaton',
  complexity: { type: 'linear', summary: 'linear', isFuzz: false }
}

I see on the first one in "source" it seems to have done some escaping of the backslashes itself, but I pasted both the escaped and unescaped version into your online checker, and they both came back vulnerable every single time, no matter which checker I used (fuzz or automaton).
Do I need to set any flags or anything in the second parameter of the check() function? I didn't see any examples of flags or anything that could be set there.
Thanks for this cool checker!

Pass the source string as the first argument of check and flags as the second. For example,
const { check } = require('@makenowjust-labo/recheck');

const regex = /^([a-zA-Z0-9-_@]+|\.\/)+\.(png|jpg|jpeg|pdf)$/m
check(regex.source, reges.flags);

And the third argument is a configuration for analysis (e.g. timeout, checker).

@MakeNowJust fyi - my cli package based on your library here is up! Well, the first working version is out haha.
It's on npm, so users can run it via npx ... and i'm using vercel/pkg to generate statically linked binaries, available under github releases for macos, linux and windows.
https://github.com/ndom91/recheck-cli
Thanks!


@edge-runtime/jest-environment fails when you include 'next/navigation'

Bug Report
Current behavior
When you import next/navigation (and possibly others) in a test that uses @edge-runtime/jest-environment - you get a react import error:
/**
 * @jest-environment @edge-runtime/jest-environment
 */
import { redirect } from 'next/navigation';

describe('tmp', () => {
  test('should create a state', async () => {
    expect(redirect).toBeDefined();
  });
});

Fails with:
  ● Test suite failed to run

    This entry point is not yet supported outside of experimental channels

      at node_modules/react/cjs/react.shared-subset.development.js:18:7
      at Object.<anonymous> (node_modules/react/cjs/react.shared-subset.development.js:19:5)
      at Object.<anonymous> (node_modules/react/react.shared-subset.js:6:20)

Expected behavior/code
Test should pass with 'next/navigation' included.
Additional context/screenshots
It works in 2.1.0, fails in 2.2.0

https://replit.com/@AdamMcGrath/LustrousCheeryDictionary (run jest from shell)

@adamjmcgrath thanks for reporting. A big refactor was shipped between 2.1.0 and 2.2.0. I'm trying to understand the jest error 🤔

Can you confirm https://github.com/vercel/edge-runtime/releases/tag/%40edge-runtime%2Fjest-expect%401.1.2 fixed the issue? 🙂

https://github.com/vercel/edge-runtime/releases/tag/%40edge-runtime%2Fjest-environment%402.2.4 works for me 👍 thanks @Kikobeats


Make the status bar a bit more complete

The new status bar on the bottom of the screen is a great start, but it could be even better:

green sections are fine, but then do it for all groups of information.
big empty spaces in the bar make it look less clean.
first section only works in way zoomed out mode. Why not add useful related info in zoomed in mode?

Describe the solution you'd like
See attached screenshots for old and possible new situation:

Describe alternatives you've considered
No other alternatives considered.
Additional context
Add any other context or screenshots about the feature request here.

Is fine now


refactor(compaction): stall compaction scheduler when there is no available compactor.

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
Stall compaction scheduler, to avoid repeatedly picking and cancelling compaction tasks even when there is no available compactor.
Checklist

[x] I have written necessary rustdoc comments
- [ ] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)
fix https://github.com/risingwavelabs/risingwave/issues/5399

lol, I was about to submit a PR for that 🤣


add calc_array parameter

Codecov Report
Patch coverage: 79.16% and project coverage change: -0.74 :warning:

Comparison is base (b63b82b) 85.46% compared to head (eaf1278) 84.73%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #120      +/-   ##
===========================================
- Coverage    85.46%   84.73%   -0.74%
===========================================
  Files            5        5
  Lines          516      524       +8
===========================================
+ Hits           441      444       +3
- Misses          75       80       +5

Impacted Files
Coverage Δ

cashflower/cashflow.py
93.96% <79.16%> (-1.22%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Update Kafka 3.7.x

This PR adds a recently released Kafka 3.7.2 and also it removes 3.7.1 from our supported matrix.

Do we really need Kafka 3.7.2? We will never use it anywhere else as Strimzi.

Do we really need Kafka 3.7.2? We will never use it anywhere else as Strimzi.

Well, I am just updating x.y.max(z) as having a convention in it. I mean I can remove such a version but then we could have another discussion about version less than 3.7.2 (i.e.,
2.8.2
3.0.2
3.1.2
3.2.3
3.3.2
3.4.1
3.5.2
3.6.2

If we think it's useless to keep those versions then I can remove it.

Is anyone using it? I don't think any Strimzi project uses anything else than the latest version.

I would follow the support matrix of Strimzi, which also supports just two latest minor versions. I follow this pattern in test-clients as well - that's because we are running tests with all of the supported versions of Kafka by Strimzi.

Do we really need Kafka 3.7.2? We will never use it anywhere else as Strimzi.

Well, I am just updating x.y.max(z) as having a convention in it. I mean I can remove such a version but then we could have another discussion about version less than 3.7.2 (i.e.,
2.8.2
3.0.2
3.1.2
3.2.3
3.3.2
3.4.1
3.5.2
3.6.2

If we think it's useless to keep those versions then I can remove it.

Is anyone using it? I don't think any Strimzi project uses anything else than the latest version.

I thought Quarkus was using some older versions, but looking at the codebase, they are using just the latest version or the option to inject image via a constructor parameter (which would use different versions).


Ractchet with pthread not working

I try to do a long operation (an unarchiving) inside a Ratchet server.
For that, I have recompile PHP 5.6.8 with ZTS support and added pthread module.
In launch the Ratchet server with this code
require '../vendor/autoload.php';
$app = new Ratchet\App('<IP_ADDRESS>', 4242, '<IP_ADDRESS>');
$app->route('/test/{id}', new CommonDashboard\webSocket\TestWebSocket(), array('*'));
$app->run();

And my class behind
namespace CommonDashboard\webSocket;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;

class TestThread extends \Thread{
    public function __construct(){}
    public function run(){
        sleep(3); // Should be an unarchiving
    }
}

class TestWebSocket implements MessageComponentInterface {
    protected $clients;

    public function __construct() {
        $this->clients = new \SplObjectStorage;
    }

    public function onOpen(ConnectionInterface $conn) {
        $this->clients->attach($conn);
        $query = $conn->WebSocket->request->getQuery();
        echo "New connection! ({$conn->resourceId} - {$query['id']})\n";
    }

    public function onMessage(ConnectionInterface $from, $msg) {
        $numRecv = count($this->clients) - 1;

        echo "Start process for $from->resourceId \n";

        $test = new TestThread();
        $test->start(); //Should be non blocking

        echo "End process for $from->resourceId \n";

        foreach ($this->clients as $client) {
            if ($from !== $client) {
                // The sender is not the receiver, send to each client connected
                $client->send($msg);
            }
        }
    }

    public function onClose(ConnectionInterface $conn) {
        $this->clients->detach($conn);
        echo "Connection {$conn->resourceId} has disconnected\n";
    }

    public function onError(ConnectionInterface $conn, \Exception $e) {
        echo "An error has occurred: {$e->getMessage()}\n";
        $conn->close();
    }

}

My problem is that the thread->start() block my server. Each long process are not executed in the same times.
So do you have any ideas ?
Thanks in advance for your help

@Ducatel  you have exit? Tell me how please

@elaine342 unfortunately no ....
I found a "workaround" (it's a little bit complex but I don't have any blocking call.) with RabbitMQ


Board Reports: Sort tags on each Report alphabetically

On the Board Reports search results page, each report has a set of tags displayed below it. This should be sorted alphabetically (unless it is determined they are already sorting based on relevancy score).

Closed in #504


Remove originalPaths from collectWarningsFromSarif method in WarnPlugin

originalPaths  - is useless and can be replaced by a path from originalPath , as method collectWarningsFromSarif  already has originalPath inside:
    originalPath: Path,
    originalPaths: List<Path>,

As we see it. originalPaths is not needed and can be replaced by something else.
This can be tested by SarifWarningAdapterTest.kt - tests are already in place. The be running on examples/kotlin-diktat/sarif directory, detect and get all warnings from save-warnings.sarif file.
Right now the logic is the following:

we try to get EXPECTED warnings from the SARIF input:

        val expectedWarningsMap: WarningMap = copyPaths.zip(originalPaths).associate { (copyPath, originalPath) ->
            val warningsForCurrentPath =
                    copyPath.collectExpectedWarningsWithLineNumbers(warnPluginConfig, generalConfig, originalPaths, originalPath)
            copyPath.name to warningsForCurrentPath
        }

for each originalPath we also provide ALL originalPaths  to collectExpectedWarningsWithLineNumbers. But it looks useless

If You're not doing , can you assign it to me?

@RishiKumarRay sure, welcome!

@petertrr can guide and describe the logic

@akuleshov7 As I see the the originalPath is not needed and not the originalPaths, isn't it?
originalPath removed in https://github.com/analysis-dev/save/pull/365, which probably can close this issue too

@kgevorkyan yes, good, thank you


Docker container cannot start due to permission errors?

We're trying to use the Azure driver to externalize our volumes for Docker in order to run MongoDB. I've setup the azurefile-dockervolumedriver and created two volumes. This created the shares in our Azure Storage account.
However when I try to run a MongoDB container it shuts down again immediately with the following errors for which I have no idea on how to solve it as I followed all procedures:
kernel: aufs au_opts_verify:1597:dockerd[1594]: dirperm1 breaks the protection by the permission bits on the lower branch
kernel: aufs au_opts_verify:1597:dockerd[3695]: dirperm1 breaks the protection by the permission bits on the lower branch
systemd-udevd[37637]: Could not generate persistent MAC address for vethf345bd2: No such file or directory
kernel: device veth97a0c1e entered promiscuous mode
kernel: IPv6: ADDRCONF(NETDEV_UP): veth97a0c1e: link is not ready
systemd-udevd[37638]: Could not generate persistent MAC address for veth97a0c1e: No such file or directory
kernel: eth0: renamed from vethf345bd2
kernel: IPv6: ADDRCONF(NETDEV_CHANGE): veth97a0c1e: link becomes ready
kernel: docker0: port 1(veth97a0c1e) entered forwarding state
kernel: docker0: port 1(veth97a0c1e) entered forwarding state
kernel: docker0: port 1(veth97a0c1e) entered disabled state
kernel: vethf345bd2: renamed from eth0
kernel: docker0: port 1(veth97a0c1e) entered disabled state
kernel: device veth97a0c1e left promiscuous mode
kernel: docker0: port 1(veth97a0c1e) entered disabled state

Any suggestions would be greatly appreciated.

@ropstah have you tried using it with a regular volume? Where are the kernel: logs coming from, where do you see these logs?

@ropstah please consider closing if you are no longer seeking an answer.

@ahmetalpbalkan you are right. I found the problem is not related to the driver but to MongoDb in conjunction with Docker.


operator kernel-module-management (1.1.0)

Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[x] Did you create a ci.yaml file according to the update instructions?
[x] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@mporrato @Allda our Deployment's labelSelector has changed between 1.0.0 and 1.1.0. Can you please advise on how to proceed in that case? Thanks!

@qbarrand I see new versions of the operator have been released since this one. Is this still relevant or can it be closed?

Closing this, thanks @Allda.


BEEFY - justifications sync protocol

This issue replaces https://github.com/paritytech/grandpa-bridge-gadget/issues/20 and tracks implementing #3 below:
A node running BEEFY worker/gadget, generates/imports and stores BEEFY justifications as follows:

when synced, it participates in voting gossip and builds BEEFY justifications itself from gossiped votes,
when behind, it imports BEEFY justifications alongside imported blocks (as part of block import - added in #11821 and #11959),
runs dedicated BEEFY justifications sync protocol as a libp2p RequestResponse protocol - where node can request BEEFY justifications for certain blocks from connected peers, and also answer any requests it gets.

#3 above is required when syncing from a peer that might be missing some/all BEEFY justifications.

I'm seeing all current RequestResponse protocols in Substrate network are built around sync and are also kind of hardcoded, not really "pluggable".
Should we also "hardcode" BEEFY support (at most wrap it around an Option<>, just like warp sync)?
Should we add it to (Protocol as NetworkBehavior)::poll() just like the others, maybe even through the ChainSync trait member?
Since this would be a separate sync, we'll end up with mixed state (some block-sync-specific and some BEEFY-sync-specific) in struct ChainSync, struct PeerSync and struct PeerSyncState. Any concerns here?
In case we get justifs from other sources is there any way to cancel any pending request?
What kind of peer selection strategy should we use?
@andresilva @bkchr @tomaka ^

I'm seeing all current RequestResponse protocols in Substrate network are built around sync and are also kind of hardcoded, not really "pluggable".

If you take a look at Polkadot you see pluggable protocols and this is the way forward. We will not accept anymore hardcoded protocols if there is not any special reason for this.

Should we also "hardcode" BEEFY support (at most wrap it around an Option<>, just like warp sync)?

No please don't do this. It should be its own protocol, living in its own crate.
Also just no to the other stuff above :see_no_evil:

In case we get justifs from other sources is there any way to cancel any pending request?

I don't think there is a way currently. What would be other sources to receive a justification?

What kind of peer selection strategy should we use?

I think for now we should be able to just follow the Event::SyncConnected/Event::SyncDisconnected: https://github.com/paritytech/substrate/blob/40703f41167c718e13b491228efeafb4a6194448/client/network/common/src/protocol/event.rs#L50-L60
You can get these by getting an event_stream: https://github.com/paritytech/substrate/blob/40703f41167c718e13b491228efeafb4a6194448/client/network/src/service.rs#L1042
One problem is probably to know what blocks/justification a peer has. Maybe we should have our completely own protocol on top of sc-network that at least gossips to all peers when it has a certain justification imported?

I don't think there is a way currently. What would be other sources to receive a justification?

Block import with attached justifications
Gossiped votes -> enough of them trigger a locally generated justification

I guess it's fine even without canceling a pending request, we'll just drop the obsolete response.

One problem is probably to know what blocks/justification a peer has. Maybe we should have our completely own protocol on top of sc-network that at least gossips to all peers when it has a certain justification imported?

We could use the votes gossiping to determine which peers have what (mandatory) justifications: any peer voting on block N will have all mandatory BEEFY justifications < N.
I'll also think about justification gossiping, see if we need that for any corner case.

If you take a look at Polkadot you see pluggable protocols and this is the way forward. We will not accept anymore hardcoded protocols if there is not any special reason for this.

Ok, got it. Will develop this as its own protocol, living in its own crate, "pluggable" into sc-network.

We could use the votes gossiping to determine which peers have what (mandatory) justifications: any peer voting on block N will have all mandatory BEEFY justifications < N.
I'll also think about justification gossiping, see if we need that for any corner case.

So all validators will have the justifications and only normal nodes will need to request them from validators? While doing major sync we send the BEEFY justification directly alongside the block? (Just trying to understand when we will need to request a justification)

While doing major sync we send the BEEFY justification directly alongside the block?

yup, and the worker/voter gets them through BlockImport/JustificationImport.

Just trying to understand when we will need to request a justification

A validator was offline for a while and when coming back up syncs blocks from a node that also doesn't have (latest) BEEFY justifications => no justifs through block import, no justifs through voting because those rounds ended a while ago.
Worker/voter can then fallback to on-demand request missing mandatory justifications from peers.

A validator was offline for a while and when coming back up syncs blocks

Okay, so the validator comes back online. Syncs blocks without justfication. While doing this its already running the BEEFY protocol and listens for votes. Any node that votes on stuff with a higher block number than we are missing the justification for should have all justifications of all blocks before including the one we are searching for?

Any node that votes on stuff with a higher block number than we are missing the justification for should have all justifications of all blocks before including the one we are searching for?

Yes, that’s right, any node voting for higher blocks should (if behaving correctly) have all mandatory block justifications leading to block number they’re currently voting on. And we’re only on-demand syncing mandatory ones so this approach should work.


OLS-204: logging refactoring

This unifies app logging. You can't have different logging configurations within a single app instance now (eg. some parts of app having a debug level while others have info).
Third-party libs logging level can be changed.
Renamed config to logging_config
Logging config is initiated after config is loaded.
I've added the logger name to the msg format. You can easily distinguish app and third-party loggers.
Eg.2024-01-25 12:51:48,880 [httpcore.http11:_trace.py:45] DEBUG: send_request_header...
2024-01-25 13:55:12,045 [ols.src.ui.gradio_ui:gradio_ui.py:34] INFO: Using histo...

All application logging is done via module level logger = logging.getLogger(__name__) now.

Given the number of changes, I can't guarantee I've updated everything, but the configuration seems to be doing what it is supposed to do, and /the query endpoint works as usual, so that gives me at least some level of confidence.

/approve
@tisnik can finish iterating on the review+lgtm

/approve
@tisnik can finish iterating on the review+lgtm

on it

It looks ok + coverage is still 100%. I'm ok :)
/lgtm


Fixes #1495 - incorrectly spaced commas are aligned properly

Description
Per issue #1495, contributor names in other editors portion of the Contributor Fragment had misaligned commas when separating the list of additional contributors (besides original contr. and last edited contr.). These changes fix the extra space after the name and add a space after the comma while maintaining the underlying activity link in each contributor's name.
Related issues and discussion
#1495
Screen-shots, if any

2 out of the 4 tests passed; I'm not sure what I need to do on my end to get additional tests to pass (and I'm brand new to Travis testing):
com.android.builder.testing.ConnectedDevice > runTests[test(AVD) - 5.0.2] FAILED
	com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTALL_FAILED_DEXOPT
		at com.android.builder.testing.ConnectedDevice.installPackage(ConnectedDevice.java:128)
[no message defined]
com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTALL_FAILED_DEXOPT

Caused by: com.android.ddmlib.InstallException: INSTALL_FAILED_DEXOPT
	at com.android.ddmlib.Device.installRemotePackage(Device.java:1004)
	at com.android.ddmlib.Device.installPackage(Device.java:911)
	at com.android.builder.testing.ConnectedDevice.installPackage(ConnectedDevice.java:122)
	... 59 more
:app:connectedObfDebugAndroidTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:connectedObfDebugAndroidTest'.
> There were failing tests. See the report at: file:///home/travis/build/openfoodfacts/openfoodfacts-androidapp/app/build/reports/androidTests/connected/flavors/OBF/index.html

Similarly, the app:connectedOffDebugAndroidTest test failed; connectedOpfDebugAndroidTest and connectedOpffDebugAndroidTest passed.

Hey @etcadinfinitum,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because something unrelated to the tests, like a problem a dependency or the build process itself.

Hey @etcadinfinitum,
Your changes look good to me!

@etcadinfinitum  I have fixed the failing build by restarting it a couple of times . The PR is good for merging .

Thank you @PrajwalM2212!

Thanks @etcadinfinitum . You are now a contributor to OFF.