No matching route for the current path. This is a bug.

Describe the bug
When opening Lens i received this error:
No matching route for the current path: /extension/lensapp--lenscloud-lens-extension/welcomepage which is the welcomeUrl. This is a bug.

To Reproduce
Steps to reproduce the behavior:

Open Lens app with Ubuntu 24.04
See error
Hotbar is not available at this point and all is greyed out

Expected behavior
Open lens as expected
Screenshots

Environment (please complete the following information):

Installed via Snap
Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
n/a

Hello @pimjansen,
Thank you for reporting this issue! It looks like your version is not the latest—please try installing a newer version. The version on the Snap Store is not up-to-date, but we are currently working on it. Here is a link to the latest beta version:
https://forums.k8slens.dev/t/early-access-for-linux-users/3241

That is weird indeed since snap reported latest.
I reinstalled the app and fully purged all Lens info and now it is back. It was also really slow before (needed minutes to start and also that is gone)


Charts

I want to draw donut chart which use response values. I get response values truly. But i didnt put it them chart's data. Can you help me ?
Here is my dialog's onOpenDialog method:
protected onDialogOpen() {
super.onDialogOpen();
MovieService.MoviesByGenre({}, response => {
this.donutChart = new Morris.Donut({
element: "sales-chart",
resize: true,
data: response.Values,
hideHover: 'auto'
});
})
}

I've added code to my repository that you can use with the Serenity ChartsInDialog Sample to see all 4 types of charts.
https://github.com/sayuga/AdminLTE-Widgets-in-Typscript/tree/master/Charts
I'll be adding the other 3 types of charts by end of week (ChartJs, Flot, and InlineCharts)

Thanks @sayuga


feat: added config filenames to hashFiles

This PR syncs config filenames to hashFiles for generating cache keys with DEFAULT_CONFIG_FILENAMES.
https://github.com/jdx/mise/blob/9a9924e6473036468176014fdac5e8e49ee8123e/src/config/mod.rs#L460-L500
Since I'm unsure about the policy supporting rtx, I didn't add them as they are also not listed in the docs.
https://mise.jdx.dev/configuration.html

Thanks for merging! I was sorry for not updating the dist.


Odds Feed not displaying

Hi,
It seems our API is not working for affiliates, not displaying on Covers and other affiliates are reporting a 404.
REQUEST
GET /api/v2/sports HTTP/1.1
Host: api.cloudbet.com
Authorization: Bearer ********
User-Agent: Public API Client/1.0
Accept: application/json
RESPONSE
Status: 404 Not Found

Hi Pauline,
The path they are using is incorrect. The documentation for the API is here:
https://docs.cloudbet.com/
They should be using the /api/v1/sports end points rather than 'v2' end points.


Create documentation for Readers

Add instructions how to deploy readers and read historic messages from DB.

Closed via https://github.com/mainflux/mainflux/pull/398


POMs in Maven Central have unresolvable versions for some dependencies

I assume this is a bug in the gradle configuration. For example from http://repo1.maven.org/maven2/io/zipkin/zipkin-web/1.30.0/zipkin-web-1.30.0.pom:
    <dependency>
      <groupId>com.github.spullara.mustache.java</groupId>
      <artifactId>compiler</artifactId>
      <version>${commonVersions.mustache}</version>
      <scope>compile</scope>
    </dependency>

Appears to be, yeah.. Those variables should never reach the repository!
@abesto if no other reasons than timezone and I'm headed out of country
tomorrow.. Mind having a look?

Sure thing. I'll have time on Saturday.

The issue was introduced in 2412c4b8, Gradle doesn't interpolate on ', only on ". PR coming up.

Awesome turnaround! Will cut a new release shortly


Logs generated with source_ip: "missing port in address"

We see log lines with
{
  "client": "",
  "file": "usr/local/go/src/net/http/server.go:2136",
  "func": "net/http.HandlerFunc.ServeHTTP",
  "host": "",
  "level": "info",
  "log_audit": true,
  "method": "GET",
  "msg": "HTTP call ended",
  "operation_id": "GetObject",
  "path": "",
  "request_id": "<elided>"
  "sent_bytes": 39,
  "service_name": "rest_api",
  "source_ip": "missing port in address",
  "status_code": 401,
  "time": "<elided>",
  "took": 45899,
  "took_str": "45.899µs"
}

They're generated by this line.  But arguably if we have a remote address that does not contain a port, we should log it entirely rather than a useless error message.

How does this happen?  Lua actions use half of a http.Request.  The Request constructor calls the following code
// removeEmptyPort strips the empty port in ":port" to ""
// as mandated by RFC 3986 Section 6.2.3.
func removeEmptyPort(host string) string {
	if hasPort(host) {
		return strings.TrimSuffix(host, ":")
	}
	return host
}

which obviously means the Host field might not contain a port.


print the SPSP endpoint when verifier starts running

to make it easier for website owners to replace their monetization meta tag

There's no longer a single SPSP endpoint worth printing (https://github.com/coilhq/receipt-verifier/pull/19)


muliti-gpu training support

Can this model support multi-gpu training to speed up training cycles?

There is no problem, we will solve the recent problems in next week's update, including support for multi-gpu.


[Improvement]: AMS server-expose-host should be adapted to domain name scenarios.

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
Currently, the value of AMS server-expose-host is an IP address, which must be readable from the network card.
This way of exposing the AMS access address only works when all components are in the same interconnected network environment. It cannot be used in other network structures, such as accessing through a domain name or with a proxy. This situation is quite common, such as in a K8S cluster. Therefore, it is necessary to redesign the way AMS exposes its access address.
The expose-host may be used in the following places:

When submitting to the Optimizer, it informs the Optimizer how to register itself with AMS.
In an HA scenario, it registers its access address with Zookeeper, including the Table Thrift address and the Optimizer Thrift address.
In InternalCatalog, it generates the Iceberg RestCatalog URI for client-side access.

We may need a new way to separately expose the HTTP access endpoint, Table Thrift endpoint, and Optimizer Thrift endpoint.
How should we improve?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Subtasks
No response
Code of Conduct

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

Regarding enabling AMS to correctly expose its access endpoints when deployed in a K8S environment, the following changes will be made to the config.
Currently:
ams:
  server-expose-host: "<IP_ADDRESS>"     # required, must be an ip address or ip address prefix.

  # the exposed port must be same with bind-port
  thrift-server:
    table-service:
      bind-port: 1260
    optimizing-service:
      bind-port: 1261
  http-server:
    bind-port: 1630

New plan:
ams:
  server-expose-address: "<IP_ADDRESS>"     # required, could be an ip address, ip address prefix, hostname, or domain.

  # the exposed port must be same with bind-port
  thrift-server:
    table-service:
      bind-port: 1260
      expose-endpoint: table.amoro.local:1260    # optional, could be an endpoint and will overwrite ams.server-expose-address
    optimizing-service:
      bind-port: 1261
      expose-endpoint: optimizing.amoro.local:1260    # optional, could be an endpoint and will overwrite ams.server-expose-address
  http-server:
    bind-port: 1630
    expose-endpoint: rest.amoro.local:1260    # optional, could be an endpoint and will overwrite ams.server-expose-address

Changes:

Rename ams.server-expose-host to ams.server-expose-address
ams.server-expose-address supports ip address, ip address prefix and hostname or a specific domain
Add optional ams.thrift-server.table-service.expose-endpoint, it will overwrite ams.server-expose-address if be configured.
Add optional ams.thrift-server.optimizing-service.expose-endpoint, it will overwrite ams.server-expose-address if be configured.
Add optional ams.http-server.expose-endpoint, it will overwrite ams.server-expose-address if be configured.
In HA mode,  the endpoints of different services will be injected into Zookeeper separately. and in the properties connected to AMS, the type of service to be accessed needs to be specified.

Hi，It seems that opening separate endpoint configurations for each service can indeed solve the problem in the K8S environment.
However, in more complex network environments, different optimizers may need to connect to AMS using different URIs, so perhaps we can think about the problem from the perspective of the optimizer. For example, we can open configurations for different optimizer groups and set the address they use when connecting to AMS. I think this solution may be more flexible.

Hi，It seems that opening separate endpoint configurations for each service can indeed solve the problem in the K8S environment.
However, in more complex network environments, different optimizers may need to connect to AMS using different URIs, so perhaps we can think about the problem from the perspective of the optimizer. For example, we can open configurations for different optimizer groups and set the address they use when connecting to AMS. I think this solution may be more flexible.

You're right, it may be more appropriate to support setting the access address from the perspective of the Optimizer Group.


No need to filter the person list to the current person when using findt and listt

deletet and summary now refer to the transaction list directly, instead of referring to the first person and their transaction list. So it might be better to remove the action that filters the person list to only one person to reduce side effects? Any thoughts? @beginner-web-developer @darkmoongreatsword

wait so in this case the transaction list should not be cleared after switching to person list view? If so i need to modify PR #121

also what are some side effects from filtering the person list? Are we allowing users to use all commands in both views?

No, the transaction list should be cleared.

It is just that we should prevent modifying the list when we don't have to?

Hmm sorry I was wrong. For deletet we still need to know the person in order to delete the transaction for them.

Please ignore this issue.


[ie/MagellanTV] Add extractor

Also improves utils.parse_duration so it can parse hrs? as hours
Closes #7529
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Fix or improvement to an extractor (Make sure to add/update tests)
[x] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at 9eb3193
Summary
🌐🎥🕒

Add support for MagellanTV video extraction. Define a new MagellanTVIE class in magellantv.py and import it in _extractors.py. Adjust parse_duration in _utils.py to handle different hour formats.

MagellanTVIE
Extracts videos and formats
Autumn of learning

Walkthrough

Add support for extracting videos from MagellanTV website (link, link)

Import MagellanTVIE class from magellantv.py module in _extractors.py (link)
Define MagellanTVIE class in magellantv.py module, inheriting from InfoExtractor (link)
Implement _VALID_URL and _real_extract methods to handle MagellanTV URLs and extract video information and formats (link)
Define test cases for the extractor in magellantv.py module (link)

Modify parse_duration function in _utils.py to allow for more variations of the word "hours" in the input string (link)

Adjust regular expression pattern to match "h", "hrs", or "hours" in the input string (link)
This is to accommodate the format used by MagellanTV, which sometimes uses different abbreviations for hours (link)

Thanks for your continued work!


[FEA][Audit] - Push down StringEndsWith/Contains to Parquet

Is your feature request related to a problem? Please describe.
We have copied code to GpuParquetScan where we are using pushDownStringStartWith .  Below PR replaces that with `parquetFilterPushDownStringPredicate' . Need to evaluate if we will have to pull in this change.
Spark commit - https://github.com/apache/spark/commit/1b7c636445

This has been fixed.


Support other catalogs (currently version-hint.text is required)

Just want to confirm:  seems that the extension currently only supports HDFS catalog as it is looking for the version-hint.text.
Im using the Glue Catalog and dont have version-hint.text
any way to override this?

Hey @a-agmon, with other issues asking for more catalogs already existing, including the Glue catalog you mention here, i think this one can be closed as a duplicate.
The current workaround is to use external tooling to read the catalog, then pass the direct link to the version file to the iceberg scan as described in https://github.com/duckdb/duckdb_iceberg/pull/18


10th version of plugin broke getToken method on iOS

Hello! On 10 version of plugin for iOS - FirebasePlugin.getToken(token => console.log(token),error =>console.error(error)) always returns undefined, because logic of method was broken:
now getToken in Objective-C source not use callback from javascript FirebasePlugin.getToken call, it use sendToken method https://github.com/dpa99c/cordova-plugin-firebasex/blob/82d1ddbfac9e9de23f3d3439d94dff00281b2c6d/src/ios/FirebasePlugin.m#L151-L156
which always checks tokenRefreshCallbackId (which sets only by onTokenRefresh method)
https://github.com/dpa99c/cordova-plugin-firebasex/blob/82d1ddbfac9e9de23f3d3439d94dff00281b2c6d/src/ios/FirebasePlugin.m#L369-L371
and send token only to this callback
https://github.com/dpa99c/cordova-plugin-firebasex/blob/82d1ddbfac9e9de23f3d3439d94dff00281b2c6d/src/ios/FirebasePlugin.m#L430-L434
and this is totally wrong and breaks specification.
So if you didn't call onTokenRefresh and call FirebasePlugin.getToken(token => console.log(token),error =>console.error(error)) plugin not send token at all.

This has been fixed in<EMAIL_ADDRESS>


First time that you set up repo builds will fail

The first time you run a build will fail because the build image will not yet be in the container registry

This issue is technically mitigated by publishing the images to this repo.  However, the docs should be updated to help people who update the container URL immediately since they will trip into it


Move account/signers handing into cli library

Smart contract invokers and NEP transfers are very similar in their handling of wallets/accounts/signers. It all boils down to an actor instance that then does something for us. We can merge this code into some options.GetActor, but it requires some untangling of the current status quo since different commands have slightly different options and some have signers used for invoker.

canceltx also use actor, ref. #3151.


[Python APIView] Need to transition away from Python 3.6 by Jan 1st, 2022

Effective Jan 1st, 2022 we are dropping support for Python 2.7 and 3.6. We need to transition APIView to Python 3.7 or higher by this date.
cc/ @johanste @lmazuel

In general, we should make sure that we support extracting packages that require the latest version of Python in API View. While we have a common baseline for which version a package should support, there will be exceptions to the rule where a given package needs/takes advantage of features in a newer version (e.g. data classes etc.). Not being able to handle those packages will be a problem.

Since this is specific language parser support in ApiView this work should be owned by that language team. @praveenkuttappan will be available to consult/assist as needed.

Current limitation is due to python version support inside Azure web app. Azure web app has python 3.6 extension only. I will check if we can upgrade python version somehow. But our long term goal is to move away from parsing wheel or source inside APIView server and generate token file by PR and CI pipeline. I am currently working on this solution. I am also working on a solution to support similar sandboxing approach for manual review upload and parser upgrades.

@praveenkuttappan I'm a little confused, as there is definiltey more Python available on Web App:


Impact of unfilled columns

Suppose we have 50 columns in a table and data is present for only 5 column, will it create any performance issue, or size issue

Nullable columns always negatively impacts performance, so we can use to substitute default values https://clickhouse.com/docs/en/cloud/bestpractices/avoid-nullable-columns

Task
Create a table with 50 column

Run a query to insert into all 50 columns
Run a query to insert into only few 10,20,25, etc..
Measure the query execution time and run time memory

It's taking extra space as compared to fewer number of columns


Route [filament.auth.login] not defined

Route [filament.auth.login] not defined after upgrade filament v2 to 3 and upgrade filament-access-management v1 to 2

do you add ?
->plugin(FilamentAccessManagementPanel::make());

I'm now having the same issue. What should I do to resolve this?

The  installation instructions have been updated, please reference this and re-try the installation.
(If you're using Filament v3, please upgrade the "solution-forest/filament-access-management" package to "^2.2.0"
The key points are:

Clear your caches
Ensure you have the Filament panel provider set up
Add the Filament Access Management plugin  (SolutionForest\FilamentAccessManagement\FilamentAccessManagementPanel) to your panel provider
Upgrade the package version if you're using Filament v3
Refresh your browser cache


Fix old jsonSchema manifest

Description
Changes proposed in this pull request:

Fix old jsonSchema manifest

Related issue(s)

Please see this comment: https://github.com/capactio/capact/pull/440#discussion_r686205779


libcifpp-2.0.4 fails tests

I get:
ctest -j 9 --test-load 999
Test project /var/tmp/portage/sci-libs/libcifpp-2.0.4/work/libcifpp-2.0.4_build
    Start 1: rename-compound-test
    Start 2: structure-test
    Start 3: unit-test
1/3 Test #1: rename-compound-test .............***Failed    0.00 sec
2/3 Test #2: structure-test ...................***Failed    0.16 sec
3/3 Test #3: unit-test ........................   Passed    0.22 sec

33% tests passed, 2 tests failed out of 3

Total Test time (real) =   0.23 sec

The following tests FAILED:
	  1 - rename-compound-test (Failed)
	  2 - structure-test (Failed)
Errors while running CTest
Output from these tests are in: /var/tmp/portage/sci-libs/libcifpp-2.0.4/work/libcifpp-2.0.4_build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.

Thanks a lot

LastTest.log

That's curious.
Just checked this:
git clone
git checkout v2.0.4
mkdir build
cd build
cmake .. -DCIFPP_BUILD_TESTS=ON
cmake --build .
ctest .
And that works without a problem.
The log file you sent contains the error that indicates the file rsrc/pdbx_mmcif_v50.cif cannot be found. Did you build it somewhere else, some other directory perhaps?

oh wait.. yes you do.
OK, so I need to fix the make file to take care of this.

Should be fixed in trunk.

Applying
https://github.com/PDB-REDO/libcifpp/commit/2527aa5ea619c7022cbc03732df4e76d0ee90798.patch
Fixes structure-test but rename-compound-test keeps failing
ctest -j 9 --test-load 999
Test project /var/tmp/portage/sci-libs/libcifpp-2.0.4/work/libcifpp-2.0.4_build
Start 1: rename-compound-test
Start 2: structure-test
Start 3: unit-test
1/3 Test #1: rename-compound-test .............***Failed    0.00 sec
2/3 Test #3: unit-test ........................   Passed    0.22 sec
3/3 Test #2: structure-test ...................   Passed    0.47 sec
67% tests passed, 1 tests failed out of 3
Total Test time (real) =   0.47 sec
The following tests FAILED:
1 - rename-compound-test (Failed)
Errors while running CTest
Output from these tests are in: /var/tmp/portage/sci-libs/libcifpp-2.0.4/work/libcifpp-2.0.4_build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
LastTest.log

Well, that was at least one failed test less than where we started with. ;-)
I've checked in another change, could you please try again?

It is this commit: https://github.com/PDB-REDO/libcifpp/commit/2b6f1bd9ee656a8c13a948b2b7fcc3b41736a1b9
That is in trunk. It is a rather trivial change and before adding a version tag to it I'd like to know if this solves the problem you are seeing.

I tried it too, but keeps failing :(
[LastTest.log](https://github.com/PDB-REDO/libcifpp/files/7603223/LastTest.log)
ctest -j 9 --test-load 999
Test project /var/tmp/portage/sci-libs/libcifpp-2.0.4/work/libcifpp-2.0.4_build
    Start 1: rename-compound-test
    Start 2: structure-test
    Start 3: unit-test
1/3 Test #1: rename-compound-test .............***Failed    0.00 sec
2/3 Test #3: unit-test ........................   Passed    0.25 sec
3/3 Test #2: structure-test ...................   Passed    0.53 sec

67% tests passed, 1 tests failed out of 3

Total Test time (real) =   0.54 sec

The following tests FAILED:
	  1 - rename-compound-test (Failed)
Errors while running CTest
Output from these tests are in: /var/tmp/portage/sci-libs/libcifpp-2.0.4/work/libcifpp-2.0.4_build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.

The log file contains:
Error loading dictionary "/var/tmp/portage/sci-libs/libcifpp-2.0.4/work/libcifpp-2.0.4/test/REA.cif"
Does that file exist? And is it readable by the build proces?

Ah, found it. You are not using resources, obviously. And you did not have a previous libcifpp installed.
This problem should now be fixed. Really.

It works perfectly indeed :D
Thanks a lot!


Virtual obstacles in move base

Time permitting, would it be possible to have the virtual fence in vizanti output in well-known text representation of geometry?
As an example of wkt:
   - POLYGON ((-12 30, 9 30, 9 -2, -12 -2))
The reason I ask is I often use this virtual obstacle package to create virtual fences in move_base for my UGV:
https://github.com/GMahmoud/virtual_costmap_layer/tree/feature-big-refactoring
Note that the main branch works with Melodic, but the feature-big-refactoring branch works in Noetic.
The idea is to draw the virtual fence in vizanti and the virtual obstacles package would add the virtual fence to the virtual obstacle layer in move_base.
Note there is also a service call to clear the virtual obstacles which I think could be assigned to a custom button in vizanti.
Please let me know what you think. In my head, it is another way to tie vizanti's features into move_base. This is mainly for ROS Noetic. I think NAV2 has something built in to deal with no-go zones, but I haven't looked into it yet.

Hmm given that it's Noetic specific and not entirely a part of the ROS convention I'm not entirely sure if it would make sense to add it natively.
I think a more practical option would be to instead have a helper node that does the conversion. One that subscribes to a Path/PoseArray topic and calls those services with the correct formatting, then you also have a lot more control over what gets called when, and you can also convert path data from other sources than just Vizanti. On the ros2 branch there is a demo node that does a similar thing for Nav2's NavigateThroughPoses.
Here's an example from gpt-4o that looks roughly correct at first glance but might needs some tweaking (to give you a general idea anyway):
#!/usr/bin/env python

import rospy
from nav_msgs.msg import Path
from virtual_costmap_layer.srv import AddElement, AddElementRequest, AddElementResponse
from virtual_costmap_layer.msg import Form
from geometry_msgs.msg import PoseStamped
import time

def path_to_wkt(path):
    """
    Converts a ROS Path message into Well-Known Text (WKT) POLYGON representation.
    """
    # Extract points from the Path message
    points = []
    for pose_stamped in path.poses:
        x = pose_stamped.pose.position.x
        y = pose_stamped.pose.position.y
        points.append((x, y))

    # Close the polygon by repeating the first point at the end
    if points[0] != points[-1]:
        points.append(points[0])

    # Create WKT POLYGON string
    wkt_polygon = "POLYGON ((" + ", ".join(f"{x} {y}" for x, y in points) + "))"
    return wkt_polygon

def path_callback(path_msg):
    """
    Callback function that is called when a new Path message is received.
    """
    rospy.loginfo("Received a new Path message. Converting to WKT...")

    # Convert the Path message to WKT format (Polygon)
    wkt_polygon = path_to_wkt(path_msg)

    # Prepare the AddElementRequest message for the service call
    add_element_req = AddElementRequest()
    form = Form()
    form.type = Form.TYPE_POLYGON  # Set the type as POLYGON
    form.data = wkt_polygon
    form.lifetime = rospy.Duration(0)  # Set lifetime to 0 (forever)

    add_element_req.form = form

    # Call the service to add the virtual costmap layer element
    try:
        rospy.loginfo("Calling the virtual_costmap_layer/add service...")
        add_element_service = rospy.ServiceProxy('virtual_costmap_layer/add', AddElement)
        response = add_element_service(add_element_req)

        if response.success:
            rospy.loginfo(f"Successfully added element to virtual costmap layer. UUID: {response.uuid}")
        else:
            rospy.logwarn(f"Failed to add element: {response.message}")
    except rospy.ServiceException as e:
        rospy.logerr(f"Service call failed: {e}")

def main():
    """
    Main function to initialize the ROS node and start the Path subscriber.
    """
    rospy.init_node('path_to_wkt_node')

    # Wait for the virtual_costmap_layer/add service to become available
    rospy.wait_for_service('virtual_costmap_layer/add')

    # Subscribe to the /fence topic that provides Path messages
    rospy.Subscriber('/fence', Path, path_callback)

    # Keep the node running
    rospy.loginfo("path_to_wkt_node is running and waiting for Path messages...")
    rospy.spin()

if __name__ == '__main__':
    try:
        main()
    except rospy.ROSInterruptException:
        pass

Note there is also a service call to clear the virtual obstacles which I think could be assigned to a custom button in vizanti.

Well it seems to be Trigger service call, and the button currently only works with Empty/Bool topic messages. It would be very useful to add that sometime though. Or just some general service manager where you can trigger any service similar to the reconfigure widget.

I am going to mark this as closed. I plan on trying this soon. I like the fact that your suggestion uses area planner to select the no go zones.


global usings when using asp.net core APIs in a class library

[EDIT by guardrex to add the metadata. @freddyrios ... In the future, open an issue with the This page feedback form at the bottom of any article to automatically add the metadata and ping the author of the topic.]
This issue https://github.com/dotnet/AspNetCore.Docs/issues/22048 links to documentation on how to reference the core shared framework.
However, when doing so you get no implicit usings like you do on a project that uses Microsoft.NET.Sdk.Web. Is there any documented way to enable that for class libraries?

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

ID: 98629146-7d64-9f48-6e45-51bafe8c7116
Version Independent ID: cdb2b89f-bf1c-f313-0062-7f6b7ef8b611
Content: Use ASP.NET Core APIs in a class library
Content Source: aspnetcore/fundamentals/target-aspnetcore.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: scaddie

Context: while adding a web subsystem to a class library used by some hosts, I tried using the minimal APIs.
It works nicely, but had the same trouble as the issue I linked and after fixing the framework reference, it still seemed to fail but was just the missing (global) using.
Since the doc I linked seems to be precisely about running asp.net code in a class library and that's about the only case where you won't get an intellisense suggestion for the missing namespace it seemed like that right place for it.

It works nicely, but had the same trouble as the issue I linked and after fixing the framework reference, it still seemed to fail but was just the missing (global) using.

I don't think I understood your ask then. Can you be more specific? What exactly did you do ... show the Using(s) that you added to the class lib's project file that the section isn't covering.

@Rick-Anderson ... Turns out that this will be one of yours to triage.

Specifically:

added code to a class library like the first example here https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-7.0. This fails to build as expected.
not knowing how minimal APIs worked underneath, I looked for a solution to run them in a class library and ended up finding this issue https://github.com/dotnet/AspNetCore.Docs/issues/22048 and applied the framework reference mentioned at documentation
tried building again and failed. This surprised me because the failure looked the same as in step 1.
I tried the Sdk.Web and that worked. This lead me to understand that this was adding global usings
Moved back to Sdk and used intellisense to add the using at the file level for me

The end result at 5 is fine, but going from 3 to 5 was not obvious given the sequence of steps that got me there. I only tried 4 because I saw it in the issue I linked (where it is mentioned that has issues, so not proper), but without it and only the doc it could have taken much longer to figure out.

However, when doing so you get no implicit usings like you do on a project that uses Microsoft.NET.Sdk.Web. Is there any documented way to enable that for class libraries?

What's wrong with explicit using ?


Getting error while installing turso cli on my windows machine

Operating system MINGW64_NT-10.0-22631 is not supported by this installation script

Even after installing through WSL I'm still getting the error Error: failed to open auth URL: exec: "xdg-open,x-www-browser,www-browser": executable file not found in $PATH. Working with turso is nearly impossible on windows

https://medium.com/@kanrangsan/wsl-error-exec-xdg-open-x-www-browser-www-browser-wslview-executable-file-not-found-in-path-3fdea92e4ed5
Found a fix for this error here.

@TaylorS15 How did you get it to install through WSL? I'm not familiar at all with it. I tried running
wsl curl -sSfL https://get.tur.so/install.sh | bash
But this throw syntax error near unexpected token 'c'
However, when I just open bash and run the installer, I get the following:
Operating system MINGW64_NT-10.0-22631 is not supported by this installation script
Very odd, and annoying. I searched high and low for the database backend I was going to use for a new project... And can't get the darn thing installed.


Product/Version for BitsTransfer module and commands doco

I can see BitsTransfer powershell commands on my Windows 7 system, but the docs here does not provide a Windows 7 or Server 2008 R2 version option in the product/version list.  Would help if  windows remote admin version was also mentioned in the compatibility lists (Win 10 or Win 8.1 etc) - as I suspect that is how we have BitsTransfer on Windows 7 (I've got WRM3/Powershell 3).

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

ID: 0c9e10e0-fce5-88b0-c1c4-7e18e67c7f34
Version Independent ID: ea117ce8-f118-53fb-e01b-0ecbe8b93f8c
Content: BitsTransfer
Content Source: docset/windows/bitstransfer/bitstransfer.md
Product: w10
GitHub Login: @brianlic-msft
Microsoft Alias: brianlic

Hello, @LUCScape
Windows 7 and Windows 2008 PowerShell versions will not be covered in this documentation as Windows 7 will reach its end of life in less than a year.
Thank you for providing feedback.

@officedocsbot close


[feat]

Description
While we are able to use axe-core to accessibility test components, we can't account for what content authors are actually putting into light DOM.
We should create a controller that uses axe-core and can be run on when content is in authoring mode or with analytics reporting, to check actual light DOM content for accessibility and log issues.
Acceptance Criteria

[ ] Design done
[ ] Development done

Image
No response
Link to design doc
No response
Other resources
[Axe Javascript Accessibility API](https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#section-2-api-reference for configuration)

We'd like to use something like @paceaux's selector hound to do static analysis instead.


Use an interface for AnimationKeyFrame

It's currently not possible to write web-animations-js on DefinitelyTyped to be both backward-compatible and not conflict with the current definition of AnimationKeyFrame. For some reason it is currently declared as:
type AnimationKeyFrame = {offset?: number | null | (number | null)[]} & {[key: string]: string | number | number[] | string[]};

, where if it were declared as an interface it would not conflict with the definition in web-animations-js.

Thought the definition we had was more accurate, I have changed it to an interface for now.

Apparently this still isn't possible because we can't write a string index signature twice. (DefinitelyTyped/DefinitelyTyped#23793)
interface I {
    [s: string]: any;
}
interface I {
    [s: string]: any; // Error
}


[improvement](multi catalog)paimon support filesystem metastore

Proposed changes
Issue Number: close #xxx
1.support filesystem metastore
2.support predicate and project when split
3.fix some bug
todo:
1.Now you need to manually put paimon-s3-0.4.0-incubating.jar in be/lib/java_extensions when use s3 filesystem
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run p0

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.63 seconds
stream load tsv:          505 seconds loaded<PHONE_NUMBER>9 Bytes, about 141 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>2 Bytes

LGTM


Figure out ingress controller

WIP notes/design here
TLDR: ingress-nginx w/ ssl certs.

6/25 meet:  For Packet prototype, ingress over 80 only.  Defer cross-cluster communication to the overlay release where it naturally belongs


Make deprecation more obvious

I see that this module has been deprecated.  It's noted in README.md but not in README, which is unfortunate.  It would be helpful to add some documentation to lib/Net/Braintree.pm noting that the module is deprecated, as that is where most people would expect to find this.  Adding it to the README proper would be good too.

@oalders Thank you for pointing this out and sorry for not getting back to you sooner. I have updated both the README and lib/Net/Braintree.pm to include notices that the library is deprecated. We will be releasing an updated version with these changes shortly.
Cheers!

@pblesi sounds good. Thanks for taking care of this. 👍


Added --nodefaultlibs option to compiler

Attempting to cross-compile in an environment like Yocto is problematic with the current method of searching for libraries because the system libraries are hard-coded and cannot be excluded. With Yocto, all libraries are provided in an alternate folder, allowing the build to be agnostic of any build host configuration issues.
In an effort to not break existing builds, I've made changes to the compiler so that the --nodefaultlibs (Utilizing the -nodefaultlibs GCC option) option prevents the compiler from using potentially incorrect or incompatible libraries.

Previous discussion in #8046

Should we go with CRYSTAL_CONFIG_LINK_FLAGS at build time and CRYSTAL_LINK_FLAGS so default libs can be overridden when bundling the compiler and via de wrapper script?

The main issue I'm trying to overcome with this approach is to remove the hard-coded library paths. Existing setups should be fine, as they won't be passing this new flag. Just don't want to have to go through the steps of recompiling the compiler in order to use Crystal in Yocto.

I agree with RX14: this approach is wrong. We shouldnt have default paths. I believe we can use system environment variables that LD will recognize and maybe add a CLI argument to add paths to search for (i.e. -L path). But not a CLI argument to remove default paths.

So then, should we opt not to add the default paths if provided with LIBRARY_PATH, or something along those lines?

@RX14 @ysbaddaden So regarding this you would prefer to

Replace library_path = ["/usr/lib", "/usr/local/lib"] with the values of LIBRARY_PATH env variable.
Adapt wrapper scripts on distribution packages in case /usr/lib, /usr/local/lib is missing from the LIBRARY_PATH and actually needed.
Do not have a way to embed during the compiler compilation default paths to be added.

Did I get that right?

Also, if LIBRARY_PATH is not set we can keep the current fixed paths

If LIBRARY_PATH isn't set then the linker will know the paths.
There's more things wrong with the linking support in crystal than this, (like the pkg-config support in @[Link]), but this is a good start.

Setting library_path to be ENV["LIBRARY_PATH"] is unnecesary because the linker looks at LIBRARY_PATH itself.

I've been thinking about the linking code, and I propose removing the static: true option for @[Link] annotations. Traditional linkers, and pkg-config, support linking executable statically or dynamically, but they do not support linking some libraries statically and some dynamically. The problem which appears when trying to accomplish this is libraries with dependencies.
When trying to link dynamically to a library with dependencies, the .so file contains all the dependencies, and there's no problem. When trying to link statically, the .a file doesn't contain any dependency information, and pkg-config is essentially required. However using pkg-config --libs --static is designed for use when everything is being linked statically. For example pkg-config --libs --static libssl will return -lssl -lcrypto -ldl -pthread, where what you probably meant was to attempt to link libssl.a and libcrypto.a, but not libdl, or libpthread, which are considered part of libc.
If we're fine with removing @[Link("foo", static: true)] in favour of --static, then the link implementation becomes trivial: first try pkg-config --libs (with --static if we're linking statically), then fall back to -lfoo. The only place where static: true is used in crystal right now is for linking libgc, which on linux we distribute as a static library anyway, unless people are using a distro specific package.

@RX14 There I think we can discuss evolution of the Link flow outside this particular issue. There are some ideas I can't find reference right now.
Since the lookup of static libraries today uses library_path = ["/usr/lib", "/usr/local/lib"] I think we should set it's value to ENV["LIBRARY_PATH"]. Maybe that will go if we redo how linking work.
To be able to express better if a static is allowed or is mandatory would be a win. I think. But also to allow customizing the linking without touching the source code. That requires some further design iteration outside this issue.
I will try to make the change for reading LIBRARY_PATH and fallback if not set to the current values as a migration path. That should unlock this story, right @dburnsii? The wrapper scripts will allow to remove the default by setting an empty LIBRARY_PATH, or set the right values for the host os.
But yes, there are stories to improve on the linking, but I think they can be handled later.

"Design" doesn't help when you're limited by the limitations of the platform. Why keep tweaking this and fixing edge cases when we can simplify it and remove all the edge cases?

@bcardiff , Yes, the only thing we need to move forward and bring this into Yocto, is to have the option NOT to include /usr/lib and /usr/local/lib when running crystal build. I am all for fixing this the right way, but it sounds like that might require quite a bit of rework. If we can get those hard-coded path removed, we can get a recipe going that doesn't need source code modifications.

I think there is value in changing this, but that is a bigger story and requires some further thinking. In particular, the link attribute is good for defaults, but some platforms named the libs different, or requires some dependencies, so to have a complete solution we need to take into consideration how to override that.
I've found the topic in the forum I mean before: https://forum.crystal-lang.org/t/rfc-link-configuration/546 . We can iterate ideas there.
Yet, I think there is value to unlock this scenario without revamping the whole link story.

The solution here should be to not apply "/usr/lib", "/usr/local/lib" at all (other than OSs that have no default themselves). ld itself already uses LIBRARY_PATH and has these defaults. There's no need for a flag, the changed behavior will always work on Linux.


I cannot set MaxToken in a .Net framework project (C# language version problem)

Hi there,
Thank you for creating such an amazing library! However, I encountered an issue when using it in a .NET Framework project. I'm unable to set the MaxToken value. This limitation prevents me from configuring it as needed within the .NET Framework environment.
Error (active)	CS8370	Feature 'init-only setters' is not available in C# 7.3. Please use language version 9.0 or greater.
ChatCompletionOptions options = new ChatCompletionOptions()
{
    MaxTokens = 2000,
    //Temperature = (float) 0.7
};

We have the same problem, our application is .NET framework 4.8 and we can't set properties on ANY class that has the property defined as { set; init; }. Is there any way around this?

We have the same problem, our application is .NET framework 4.8 and we can't set properties on ANY class that has the property defined as { set; init; }. Is there any way around this?

We need an update from the library development team at OpenAI to define these 'init-only setters' properties in a traditional manner that is compatible with older versions of C#.
Background
In C# 9.0 and later, 'init-only setters' are used to make properties immutable once they are initialized. Here is an example:
public class Example
{
    public string Name { get; init; }
}

Request
To support older versions of C#, we need these properties to be defined using a traditional approach with a private setter. Here is how this can be done:
public class Example
{
    public string Name { get; private set; }

    public Example(string name)
    {
        Name = name;
    }
}

Hello! Heads up: We just merged a change that updates uses of init to set. We will be pushing a new version to NuGet soon.

Hi @joseharriaga, that is awesome, thank you!


DDragon Helpers + CDragon + blahblahblah

In light of my lack of static compatibility to prevent breaking code, I'll be working also on a few things over the next few days to help out everyone, and be working on things early (pushed ChampionRotation yesterday) and so I have much more time to think about releases. I'll admit that sometimes I don't prioritize certain new things because I don't have to use them (I didn't use static endpoints for example. My app pretty much just uses matchlist+challenger league+master league+literally saved copies of static data). However, I do want kayn to be easy-to-use and have a lot of examples, docs, and copy-pastable code, + good defaults so...

My static endpoints are already broken, and I'm sure users either swapped libraries, swapped to DDragon, etcetc. So, they will be removed eventually as it's too late anyways... But:

CDragon will be added
DDragon helpers will be added

Types will be addressed
A ton of more ES5 callback examples and ES6+ async/await examples will be added. These examples will be based on real code used by others or myself (https://github.com/cnguy/kayn/issues/46). I added an example early on how to use the new ChampionRotation endpoints and then convert it into the correct DDragon champion objects, for example.
Improve docs so it's easier to refer to examples and endpoint APIs, coverage pic (low priority obviously), tests (these tests are simple to make, low priority)

One example of a DDragon helper is:
For example, DDragon.Champion.get(266) =>
await DDragon.Champion.get(266) // If cache is enabled, DDragon.Champion.list is cached
/*
{
	"version": "6.24.1",
	"id": "Aatrox",
	"key": "266",
	"name": "Aatrox",
	"title": "the Darkin Blade",
	"blurb": "Aatrox is a legendary warrior, one of only five that remain of an ancient race known as the Darkin. He wields his massive blade with grace and poise, slicing through legions in a style that is hypnotic to behold. With each foe felled, Aatrox's ...",
	"info": {
		"attack": 8,
		"defense": 4,
		"magic": 3,
		"difficulty": 4
	},
	"image": {
		"full": "Aatrox.png",
		"sprite": "champion0.png",
		"group": "champion",
		"x": 0,
		"y": 0,
		"w": 48,
		"h": 48
	},
	"tags": [
		"Fighter",
		"Tank"
	],
	"partype": "BloodWell",
	"stats": {
		"hp": 537.8,
		"hpperlevel": 85,
		"mp": 105.6,
		"mpperlevel": 45,
		"movespeed": 345,
		"armor": 24.384,
		"armorperlevel": 3.8,
		"spellblock": 32.1,
		"spellblockperlevel": 1.25,
		"attackrange": 150,
		"hpregen": 6.59,
		"hpregenperlevel": 0.5,
		"mpregen": 0,
		"mpregenperlevel": 0,
		"crit": 0,
		"critperlevel": 0,
		"attackdamage": 60.376,
		"attackdamageperlevel": 3.2,
		"attackspeedoffset": -0.04,
		"attackspeedperlevel": 3
	}
}
*/

In v0.8.21:
DDragon.Champion.getDataById(championName: string)
DDragon.Champion.getDataByIdWithParentAsId(championName: string)
DDragon.Champion.listDataById()
DDragon.Champion.listDataByIdWithParentAsId()
DDragon.Champion.listFullDataById()
DDragon.Champion.listFullDataByIdWithParentAsId()

Currently experimenting with an optional version where the version, for each endpoint, is derived from whatever version map (Realm.list) is currently cached, or from your default region.

v0.8.22 Adding a manual version() call to DDragon requests for data (champion.json, item.json, etc) is now optional. It works off either your default region, or a manual region() call passed to the request.
Default region
const kayn = Kayn()({ region: 'euw' })
const europeanList = await kayn.DDragon.Champion.list()

Manual region call
For the current request, it overrides the default region.
const kayn = Kayn()({ region: 'na' })
const europeanList = await kayn.DDragon.Champion.list().region('euw')

@cnguy I've run into an issue related to the above optional version() call for DDragon requests. The runes reforged endpoint errors out because the realms endpoint doesn't have a version for it. I've tracked it down to the error handling around the version, would you like me to include the information here or open a new issue for it?

I'll make an issue, since this one is kinda feature-packed as well as old.


Show tag during countdown

It'd be great if it could show the current tag during countdown. Helps to know if you're tracking correct tag if you have multiple

Fixed and will be included in the next release this weekend
51b25a7e2bd0c6837aa268f7091cb695a4aeb51f


Add DCMI "Get Power Reading" and "Get Asset Tag"

This commit adds support for two commands from the Intel DCMI [1] extenstions for IPMI. DCMI uses the Net Function "Group Extension", ID 0xDC. Two commands implemented in the library, GetDCMIPowerReading and GetDCMIAssetTag. The corresponding commands are added to the CLI tool and the documentation in the README.
Tested against SuperMicro hardware.
[1] https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/dcmi-v1-5-rev-spec.pdf

Hi there! Maintainer of ipmi_exporter here. Just came across your library, and really like it. I am evaluating using it for ipmi_exporter. There is just a few tiny bits missing (like this part), so I would be very happy if we can work together to add it :slightly_smiling_face:

Thank you so much for your pull request. I'm also happy that this library can be useful for the ipmi_exporter project.
Just feel free to open issues or PRs for fixes/features.


Filter panel and log content are disappeared from Pod "View Log" function

Setup

Rancher version: 2.6.5
Browser type & version: Chrome Version 102.0.5005.63 (Official Build) (64-bit)

Describe the bug

Cannot view logs having all permissions - not even the filter panel is visible
To Reproduce
What I remember, I set the filter to see ALL logs of POD and then some days passed. After this, I cannot see anything anymore for any pods. We have another installation of ranchere where I can see the logs and the filter panel
Result
Expected Result
To see again all logs and the filter panel
Screenshots
Here the working rancher:

Not working (It was working, I still have access to logs and I can watch them through kubectl, so I should have permissions):

Additional context
This is what I can see in my chrome console only using the button View Logs from a pod

Thank you very much for any help

I temporarily solved the problem with the command:
kubectl delete preferences.management.cattle.io -n [userID] logs-range

Similar to this issue - https://github.com/rancher/dashboard/issues/5984 which has been fixed on 2.6head and will be part of 2.6.6 release

I temporarily solved the problem with the command:
kubectl delete preferences.management.cattle.io -n [userID] logs-range

this command will be executed by our kubernetes/rancher administrator - I do not have these permissions (waiting to see the result)
Thank you for your both replies, let's wait the incoming release also!

Closing as duplicate of https://github.com/rancher/dashboard/issues/5984


Chrome 75: Chrome alert exits the full screen mode and return to default size

I tested this on Safari 12.1.1, Firefox 68.0.1, and Google Chrome 75.0.37.
On chrome, the full screen mode exits when alert dialog is showing.
Other browsers seem to be ok.

Seeing the same. I have a two-tab app where one is fullscreen on a second monitor and all the sudden alert and confirm are causing it to drop out of fullscreen mode, even when they happen on the non-fullscreen browser tab. Yikes.
I've noticed that modal pop-ups don't cause this to happen, so a work-around is using a modal-type alert versus and actual javascript alert or confirm.

How to fix this problem in fullscreen alert show


Cannot use constants as the textdomain parameter in translation functions

POT files are generated from the source files themselves, the PHP is not parsed, so the textdomain must be a string literal to be GNU gettext compatible.
INCORRECT
<?php _e( 'Test', MEDIUM_TEXTDOMAIN ); ?>

CORRECT
<?php _e( 'Test', 'medium' ); ?>

Ugh, I used to know this. Has been too long. Thanks!

@majelbstoat No problem!


Implement JTAG support

I've made a start at this in ffp firmware, but only arbitrary sequences, I don't yet have a TAP state machine that can do JTDP accesses. I plan to add such a thing but don't know what the timeline will be.
The ffp version is bitbanged because there's no second SPI peripheral, so the actual underlying data shifting will want to use the SPI peripheral instead in the BSP.


vertical_advection_dycore fails with gtc:dace backend when GreedyMerging is not applied

To reproduce check out commit 8ca2a04 from #571 and execute pytest --keep-gtcache -k "vertical_advection_dycore and gtc:dace"

I can't repro this on master (skipping HorizontalExecutionMerging )


[KBM] Changing Edit Shortcuts / Remap UI

As mentioned in this closed issue: #2196 , adding buttons along with other ideas @niels9001 suggested

More suggestions in #2705, linking it here to track the suggestions.

https://user-images.githubusercontent.com/9866362/79687330-dae53f00-8246-11ea-863d-508c1ce25684.gif

marking as P2 as the current UI works but this would be a drastic improvement.

Lets migrate this issue to #2027 as a single tracking entity


Adding support for proper layout margins, XAML-style

Assume I have the following layout:
<LMColumnView spacing="0">
    <UILabel text="Big" font="System 15"/>
    <UILabel text="Small" font="System 8" />
</LMColumnView>

If I wanted to add a leading space of 10 units to the first view only, I'd be out of luck. Only way to do it is by adding a LMRowView like so:
<LMColumnView spacing="0">
    <LMRowView spacing="0">
        <LMSpacer width="10"/>
        <UILabel text="Big" font="System 15"/>
    </LMRowView>
    <UILabel text="Small" font="System 8" />
</LMColumnView>

...which is cumbersome. I suggest supporting the following syntax:
<LMColumnView spacing="0">
    <UILabel margin="0 0 0 10" text="Big" font="System 15"/>
    <UILabel text="Small" font="System 8" />
</LMColumnView>

Where margin will be decoded to UIEdgeInsets and interpreted by superview when performing layout. It will support RTL by mapping UIEdgeInsets.left/UIEdgeInsets.right properties to Leading/Trailing constraints respectively.

This is actually by design. MarkupKit doesn't make a distinction between "padding" and "margin" like some other toolkits do. Instead, it uses "layout margins" (defined by UIKit) and "spacing" (provided by MarkupKit).
While this may make certain layouts slightly more verbose, it keeps the framework simple, both to implement and to document. In practice, I haven't found it to be a major limitation. In fact, I've found Android's lack of a "spacing" concept to be much more frustrating.

By the way, another option is to use a nested row view with a layoutMarginLeft value. For example:
<LMColumnView spacing="0">
    <LMRowView layoutMarginLeft="10">
        <UILabel text="Big" font="System 15"/>
    </LMRowView>
    <UILabel text="Small" font="System 8" />
</LMColumnView>

This way, you wouldn't need the extra LMSpacer view.

While the considerations are understandable, in my experience there hasn't been much use to layout margins, for two reasons:

Designers like being in control of individual margins for elements and layout margins are applied on the superview level.
They are not RTL-capable. Our userbase consists of a significant number of RTL users so anything that doesn't understand Leading/Trailing isn't used.

I know that some other toolkits do apply layout margins at the superview level and padding at the subview level. However, in iOS layout margins are more akin to padding, and spacer views are often used to create space (either fixed or flexible) between views. The spacing property (supported by LMRowView, LMColumnView, and UIKit's UIStackView class) can also be used to create space between views.
Since MarkupKit is an iOS-specific framework, I've tried to make it as consistent with existing platform conventions as possible. That means that it needs to support UIKit's definition of "layout margins", and it needs to mirror behaviors users will expect from UIStackView (such as spacing). This does imply that you may need to do things slightly differently than you might on other platforms, but I think this is preferable to the confusion that breaking with established platform conventions might create.
Given your RTL requirements, a leading LMSpacer view seems like the right approach.

Just out of curiosity, have you tried using layout margins with an RTL locale? LMRowView does apply an NSLayoutAttributeLeadingMargin constraint to the first subview when layoutMarginsRelativeArrangement is true (the default), so it could work. I'll give it a try myself when I get a chance.

Layout margins are exactly what gave me grief on RTL. The auto layout constraints may be leading/trailing, but if your left margin is 10 and the right is 20, it will stay left and right no matter RTL state.
Layout margins seem to predate auto layout's RTL support on iOS.

That's possible (and unfortunate). I'll try it out myself and will let you know if I learn anything useful.

You appear to be correct. The left/right layout margins do not seem to respect RTL layouts. That seems like a major oversight on Apple's part. It definitely limits the usefulness of layout margins, at least in situations where the left and right margins are different.
It is unfortunate, but on the other hand it is a good use case for spacer views inside of row views.

I doubt they ever will, just like you don't expect them to make .frame RTL-compliant.
Which is why I always set layout margins to 0 and just lay everything with autolayout.

Unless there's any objection, I'm going to close this issue. I'm glad that you brought it up because it is definitely a shortcoming that I wasn't aware of. However, since it's an issue that applies to all iOS applications, not just MarkupKit apps, I think it is best left to Apple to resolve.
However, I will keep it in mind. If I can come up with a better solution than using spacer views, I'll reopen the issue.

FWIW, this is now supported in MarkupKit. The leadingSpacing and trailingSpacing properties can be used to specify locale-aware padding. Layout margins in iOS 11 are also optionally locale-aware.


App is showing errors while removing a song from the list

torvalds.dev is analyzing the ticket

From the code provided, the social links in the footer are modified within the Footer component. This can be found in the src/components/Footer/index.tsx file. There's a SocialLink component defined there, which consists of each individual social link, including the URL to which it redirects, and the respective icon from the SVG file.
Here is the way to modify the social links:

Find the SocialLink component within the Footer component.

For each social link, a SocialLink component is rendered with href and src properties.
<SocialLink
  href="https://github.com/Adrinlol/create-react-app-adrinlol"
  src="github.svg"
/>

To change the link or the source (image) of a social network, you'll need to modify the href and src properties respectively.

For example, to change the GitHub link and use a different image, the component would look as follows:
<SocialLink
  href="https://my-new-link.com"
  src="my-image.svg"
/>

Here, href is the URL to which the link will redirect and src is the name of the image file which will be displayed as an icon. This file should be located in the same directory where the current icons are stored.

If you want to add a new social link, simply add a new SocialLink component with the href and src properties for the new social network:

<SocialLink
  href="https://new-social-network.com/myprofile"
  src="new-social-network-icon.svg"
/>

Remember that any changes to code should be followed by testing. After modifying the social links, please ensure to run your application and check if the changes are correctly displayed.


Runtime auto-upgrade mechanism for hosted bots

Scenarios
Those following scenarios will not work if we don't  auto-grade runtime for hosted bots
Pre-setup: I have a simple bot MyBot and created with composer 1.0.2 (4.9 c#), and i run it without issues.
Implications:  There are two folder, one hold the decalrtive assets,

asset folder A: ~/Documents/MyBot
cache folder B: /some/path/to/plugin/hostedBots/MyBot  (with runtime and version 4.9)

S1: my bot is not working if add new actions (for example a qna action, onKBmatch trigger, all that)
Any new actions added in my bot, will serialized to folder A first, and send over to B to run, then because my sdk is 4.9, there is no qna actions or some new actions. my bot fails to run.
S2: my bot is not working if i use new features (for example qna)
After updating to 1.1.1, suddenly i have a qna page, if i ever touch anything there, or using the qna importing feature, my bot won't work, because the version in folder B is still 4.9
S3: a updated version of runtime don't fix my problem
Assume i found a bug in runtime template, and reported, i expect 1.1.1 carry the fix, but if i open with 1.1.1 and start my bot, my bot is still complaining. Because folder B isn't updated.
S4: my bot stop working once i updated to new version of composer (schema change, setup change)
I have a action which created with older version of 4.9, which has breaking change, and my bot won't work after upgrade to 1.1.1
Context
Prior to #3198, at the time of user first started their bot, a folder (a cache) will be generated in hostedBots containing the runtime assets this bot will be run against. After this folder is created, it will never be refreshed no matter Composer's version has updated or the SDK template is updated or whatever unless user create a new bot..
This never-refreshing cache will bring troubles to many scenarios, just list a few:

SDK fixes won't work. If a user met an issue which requires a fix in SDK, and we fixed it in new Composer version, but the user won't benefit from it because of the cache, unless user re-create a bot in new version.
New SDK action won't work. For the same reason, new SDK actions won't work, unless you create new bot.
New runtime structure. If we restructure our runtime template or updating the publishing protocol (like we did in R10 of passing one more qna key), the cache will definitely bring troubles.

This behavior was not noticeable previously, because we don't have much updates in runtime of between 1.0.0 and 1.0.2. In the 1.1.0 cycle, we are updating from a major SDK version from 4.9 to 4.10, and lots of new schemas and actions were brought in. So in 1.1.0, the expected behavior of opening a old bot and creating a "cross-train-recoginzer" for example (or any other features in new feature), is it won't work because cache not refreshed.
But the actual behavior is it works correctly, because a mis-written conditional statement in #3198 (https://github.com/microsoft/BotFramework-Composer/blob/065d065f06d77607f4088f3dbd129060d0a8519a/Composer/plugins/localPublish/src/index.ts#L242) is accidentally clean and rebuild the cache whenever user click start.
So in short, a bug is accidentally doing the correct thing and helping refreshing this cache and prevent bigger issues.
Solution
We need is a systematic mechanism to auto-upgrade this runtime cache for user, instead of depending a bug.
The goal is to make sure all Composer hosted bots (excluding the ejected ones) are running on top of runtime template this Composer instance pined to, by default. Thus we will have the best consistency and minimal confusing.
To achieve this goal, a proposed workflow is

We will need a cheap way to compare the template used in previous run and the runtime template associated with this Composer instance. We will discuss the options later.
This comparison is performed at every bot start.
Once there is a mismatch detected, the runtime will be replace with the latest version by default. Maybe we should consider make this action configurable via a settings like "upgrade: auto\none\ask" (ask means ask for user confirm).

Comparison methods
The options to comparing two runtime template can be largely grouped into two categories in high level

(recommended) Creating a new handler to indicate the template version. For example, a version.txt. This approach may seems to create some redundancy, but the benefit it we can take totally control of "what's encoded in this version.txt", it's a piece of information dedicated designed to indicate the metadata of this runtime template, so that it be used later after ejecting, like doing a re-ejecting.

Calculating a hash based on the assets inside a runtime template. This would save some maintenance effort once this is correctly designed and settled but would be less control than option 1.

.
R11 plan
A actionable plan in R11, is

create a version.txt in runtime folder starting from 4.10.2-composer and use this file to compare (note this version is a generic hash instead of just capture SDK version, for example if we enabled a new middleware we can say 4.10.2-composer-1)
add a boolean flag in setting field in runtime section called autoUpgrade: true\false, default is true
perform the comparsion at every bot start and upgrade it if autoUpgrade is true and a mismatch is detected.

@boydc2014, Thanks for the investigation. I have two questions.

We have similar issue here https://github.com/microsoft/BotFramework-Composer/issues/3406.
and I think we can use the version field in runtime template too. like package.json in js runtime and version in csproj of dotnet runtime. Do you think it's doable?
I think autoUpgrade: true\false more like the app settings than bot setting, what do you think?

@benbrown can you help take a look at this proposal, i think may helps the re-ejecting scenario that you were opening in another ticket.

Auto-updates should only apply to managed bots. If the code has been ejected, I believe this should be a manual process as described in #3406. The ejected runtime defines the schema / version of the SDK to use.

I think we should use the package.json version and/or version in csproj file. This defines the version of the RUNTIME, not the SDK version.

I do not think this replaces #3406 - we still need a manual way to indicate the ejected runtime is out of date and offer the ability to update it.

I do not think this replaces #3406 - we still need a manual way to indicate the ejected runtime is out of date and offer the ability to update it.

yes, this is not intended to replace #3406, it's just the comparison method(change detection) can be shared to #3406, and yes, as the title says this only applies to hosted (managed) bots.
But I think we should not use package.json or csproj, because as listed above, this is only tighten to the SDK version used, not enough to represent the changes in Composer's usage. For example, i may alter some structure in our runtime template, or fix an issue in startup.cs but not necessary update my SDK version, in that case,my runtime template's version is already updated but can't be represented by csproj or package.json.
so i'm proposing we create another version.txt just used in Composer's case to represent a version in Composer's POV to perform later change dection,which will also benefict #3406, what do you think?

Moving to R12

We're no longer going to be managing runtimes for solutions. Removing from R12

We're no longer going to be managing runtimes for solutions. Removing from R12

This issue is invalid now. close it.


Raw counts from data integration

Hi there,
I've successfully run MIntO with metaG and metaT datasets using a set of my own MAGs. I'm trying to perform a compositional data analysis which requires non-normalised read counts for each feature/gene. So, I was wondering if the raw counts for each MAG-annotated gene are available or can be derived from either {omics}/9-mapping-profiles or the data integration outputs (i.e. GA/GE/GT.tsv) without MAG normalisation?
Thanks,
Cam

Hi Cam,
The raw read counts from bed multicov (in v2.2) or samtools bedcov (in v2.3+) are available in {omics}/9-mapping-profiles/{minto_mode}/gene_abundances.p97.bed. For example, in the IBD_tutorial, this is how it looks:
[bash]$ head metaG/9-mapping-profiles/MAG/gene_abundances.p97.bed | cut -f1-5
ID      gene_length     metaG.CD1_36    metaG.CD1_38    metaG.CD1_40
DKLPEHKGKC_00001        1158    0       54      53
DKLPEHKGKC_00002        558     0       14      26
DKLPEHKGKC_00003        1149    0       45      32
DKLPEHKGKC_00004        843     0       40      26
DKLPEHKGKC_00005        813     0       48      35
DKLPEHKGKC_00006        837     0       31      33
DKLPEHKGKC_00007        849     0       37      26
DKLPEHKGKC_00008        930     0       37      31
DKLPEHKGKC_00009        654     0       33      33

Compare this with {omics}/9-mapping-profiles/{minto_mode}/gene_abundances.p97.bed:
[bash]$ head metaG/9-mapping-profiles/MAG/gene_abundances.p97.MG.tsv | cut -f1-4
ID      metaG.CD1_36    metaG.CD1_38    metaG.CD1_40
DKLPEHKGKC_00001        0       1.00708818810657        1.46897312735298
DKLPEHKGKC_00002        0       0.541846332987646       1.49549749504103
DKLPEHKGKC_00003        0       0.845813839445468       0.893874381450515
DKLPEHKGKC_00004        0       1.02474242944283        0.989902256504029
DKLPEHKGKC_00005        0       1.27506696386761        1.38173271256275
DKLPEHKGKC_00006        0       0.799868396315097       1.26542095734241
DKLPEHKGKC_00007        0       0.941187900964407       0.982906480839689
DKLPEHKGKC_00008        0       0.859213470880411       1.06985590029859
DKLPEHKGKC_00009        0       1.08972896195222        1.61950663806667

Is this what you are looking for?
Best,
Mani

Hi Mani,
Exactly what I'm looking for, thank you!
Could this be added to the wiki Inputs&Outputs section? The file is not currently described there.
Cheers,
Cam

Hi Cam,
Yes, good point, thanks. We will do that.
Best,
Mani


Fix when MultiJson is using adapters other than Oj

Whenever Yajl is used for MultiJson, before this patch,
Rollbar would find ::Yajl instead of Rollbar::JSON::Yajl,
and ::Yajl does exist but it does not respond to options,
causing failures.
It's surprising that Rollbar::JSON.const_get(:Yajl) would
find ::Yajl instead, it's like using Rollbar::JSON::Yajl to
refer to ::Yajl, this is really unfortunate for Ruby.
But given current status, we cannot rely on const_get in
this case. Therefore we'll need to search on constants
instead.
This has another advantage -- we no longer need to rescue,
saving an exception.

@godfat good catch
I think I'd feel more comfortable using const_get("::Rollbar::JSON::#{module_name}") instead find on constants. What do you think?

As long as it works, I am ok with it, but does it work?
>> Rollbar::JSON.const_get("Rollbar::JSON::Yajl")
=> Yajl

@godfat Object.const_get("::Rollbar::JSON::Yajl")
If this doesn't work then use constants may be ok, but I don't like that find too much.

Alternatives:
constants.include?(module_name.to_sym)
# I would try to avoid #to_sym though, and old rubies
# could return a list of strings rather than symbols

constants.map(&:to_s).include?(module_name)
# An extra array and complexity: 2n

Oh, change find to any should also work:
constants.any?{ |const| const.to_s == module_name }

@godfat I've been trying with this snippet:
module A
end

module B
  extend self

  def get_a
    puts const_get('::B::A')
  end

  def is_defined_a
    puts const_defined?('::B::A')
  end
end

B.get_a
B.is_defined_a

Output:
A
false

I'd like use const_defined? instead look at constants, any opinion about this?
Thanks!

It seems const_defined? with full name should work:
>> Rollbar::JSON.const_defined?("Yajl")
=> true
>> Rollbar::JSON.const_defined?("::Rollbar::JSON::Yajl")
=> false
>> Rollbar::JSON.const_defined?("::Rollbar::JSON::Default")
=> true

So I think that could be the best choice given current status.
Thanks!
Do you want me to commit and optionally rebase, or do you want to apply the change?

@godfat if you are interested  on fix the PR we'll be happy to merge it. If you don't find a moment to do it we'll do soon :smile:
Thanks!

Great! I've committed. I am eager to fix this right now, thank you for the immediate help!

Awesome! When the tests pass we can merge it.
Thanks!

My change in spec/rollbar/json_spec.rb would reveal this, so I think it's good enough. It won't hurt to have another test case though, of course.

hey @godfat, may tests are failing in travis. if you want to take a look at them it'd be nice to have this merged soon. if you don't find a time to it we'll analyze them ourself.
Thanks.

I don't see why they were failing and it's a bit random to me. It looks like you're running a lot of tests with the same ruby version and one could pass but not the other one. So I would guess it's a Travis thing and maybe it would fix itself by rerunning them. (I am not very sure if const_defined? would work for older rubies though)
I would also suggest to reduce the combination of options on Travis because a lot of rubies look exactly the same.
Thanks for analyzing the tests.

I tried RB 2.4.0 in a project with Yajl and sidekiq rollbar flooded my sidekiq rollbar queue with thousands of errors with message
undefined method `options' for Yajl:Module

I stopped my sidekiq worker and manually removed all those errors from queue. I think this issue is the cause, am I right?

Hi @fabn, sorry about this.
This PR will fix your problem yes. We still need to take in deep a look into the code and the tests since they are failing.
We hope we can merge this and release it soon.

Ok, I'll follow this issue. I'd suggest to put a big warning in your readme for 2.4.0 because I stopped sidekiq after 2 minutes at ~90000 errors queued. I think because this code was triggered by internal reports and every processed job enqueue a new one flooding the queue.
This can cause a DOS in your app in minutes if not immediately detected and manually stopped.


Auto corrected by following Format Ruby Code

Auto corrected by following Format Ruby Code
Click here to configure it on awesomecode.io

Coverage decreased (-0.03%) to 80.126% when pulling 5ebe4c1bd23731461bb8139408a69f495d4db159 on awesomecode-format-ruby-code-48108 into 56112c1553662e475be05580a121e51cc264c283 on master.


Add support for NX, XX, GT, LT, etc. to EXPIRE and EXPIREAT commands

The EXPIREAT command supports a set of options:
NX -- Set expiry only when the key has no expiry
XX -- Set expiry only when the key has an existing expiry
GT -- Set expiry only when the new expiry is greater than current one
LT -- Set expiry only when the new expiry is less than current one
A non-volatile key is treated as an infinite TTL for the purpose of GT and LT. The GT, LT and NX options are mutually exclusive.
We need to add support for these options in our implementations of these commands.

Could you please assign this to me ? @JyotinderSingh

Could you please assign this to me ? @JyotinderSingh

Assigned.


Bug 1737081: fix e2e failure

Back to back delete and recreate of a subscription object causes
operator install to fail.
How to reproduce:

Create a CatalogSource object
Create a subscription that refers to the CatalogSource above.
Wait for the operator to install successfully.
Update the CatalogSource
Wait for the CatalogSource to become healthy
Delete the Subscription object ( from above ).
Create the Subscription object ( no time delay between delete
and create ). Delete and Create can be done one after another,
there is no need to make them concurrent.

The operator install will fail, Subscription status will have an error
condition ReferencedInstallPlanNotFound. The new install plan object
created by OLM gets deleted by GC.
Root cause:

OLM uses a lister to get the list of Subscription(s) in a given
namespace and sets the relevant subscriptions(s) found in the list as
owner of the installplan object(s).
Because lister uses cache, it will return a deleted subscription
until the cache is synced.
The new installplan object may get an owner ref that points to the
deleted subscription.

Subscription reconciler reports that the new InstallPlan object is
missing and moves the Subscription to a Failed state.

The api audit log has entries that validates that GC is rightfully
"deleting" the new InstallPlan object.
Fix:

For now, use a direct non-cached client to retrieve the list of
Subscription.

Can we pull in @galletti94 's test case and get both in this PR?

Can we pull in @galletti94 's test case and get both in this PR?
Do you want both fixes in the same PR? This might delay other PR(s) blocked. Can we get this merged and unblock folks and then we can focus on the issue @galletti94 is working?

/lgtm

/bugzilla refresh


Feat/textarea

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

12 of 12 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 99.327%

Totals

Change from base Build<PHONE_NUMBER>8:
0.1%

Covered Lines:
5335

Relevant Lines:
5354

💛  - Coveralls


Issue 48500: Fix display for multi-valued column with single amount that is empty

Rationale
Issue 48500
Changes

update AmountDataColumn to handle a string value (in particular, an empty string value) well.

Do we want this in a 24.3 maintenance release? I'm not sure of the urgency for the customer(s) who hit it

It has not been requested for 24.3 because it comes up rarely (since the functionality in our apps is not officially supported) and currently has happened for customers who get monthly releases.  it's easy enough to back port if we find we need it there, but I'll leave it targeting develop for now.


Nose produces a large amount of output in Output panel when running "Discover Unit Tests"

Environment data

VS Code version: 1.24.1
Extension version (available under the Extensions sidebar): 2018.6.0
OS and version: Windows 10 1803 (17134.137)
Python version (& distribution if applicable, e.g. Anaconda): 3.7.0
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: nosetests 1.3.7

Actual behavior
SO MANY debug output when I run "Discover Unit Tests"
Expected  behavior
Nothing in output, or just turn out how many tests you have found
Steps to reproduce:

Write a test file by nosetests
Run "Discover Unit Tests"

Logs
I added nothing but "python.unitTest.nosetestsEnabled": true in my config
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$']
nose.plugins.manager: DEBUG: Configuring plugins
nose.plugins.manager: DEBUG: Plugins enabled: [<nose.plugins.capture.Capture object at 0x000002082CA41F98>, <nose.plugins.logcapture.LogCapture object at 0x000002082CA4B6A0>, <nose.plugins.deprecated.Deprecated object at 0x000002082CADBAC8>, <nose.plugins.skip.Skip object at 0x000002082CB27470>, <nose.plugins.collect.CollectOnly object at 0x000002082CBC7828>]
nose.core: DEBUG: configured Config(addPaths=True, args=(), configSection='nosetests', debug=None, debugLog=None, env={}, exclude=None, files=[], firstPackageWins=False, getTestCaseNamesCompat=False, ignoreFiles=[re.compile('^\\.'), re.compile('^_'), re.compile('^setup\\.py$')], ignoreFilesDefaultStrings=['^\\.', '^_', '^setup\\.py$'], include=None, includeExe=True, logStream=<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>, loggingConfig=None, options=<Values at 0x2082cbde278: {'version': False, 'showPlugins': False, 'verbosity': 4, 'files': None, 'where': None, 'py3where': None, 'testMatch': '(?:^|[\\b_\\.\\-])[Tt]est', 'testNames': None, 'debug': None, 'debugLog': None, 'loggingConfig': None, 'ignoreFiles': [], 'exclude': [], 'include': [], 'stopOnError': False, 'addPaths': True, 'includeExe': True, 'traverseNamespace': False, 'firstPackageWins': False, 'byteCompile': True, 'attr': None, 'eval_attr': None, 'capture': True, 'logcapture': True, 'logcapture_format': '%(name)s: %(levelname)s: %(message)s', 'logcapture_datefmt': None, 'logcapture_filters': None, 'logcapture_clear': False, 'logcapture_level': 'NOTSET', 'enable_plugin_coverage': None, 'cover_packages': None, 'cover_erase': None, 'cover_tests': None, 'cover_min_percentage': None, 'cover_inclusive': None, 'cover_html': None, 'cover_html_dir': 'cover', 'cover_branches': None, 'cover_xml': None, 'cover_xml_file': 'coverage.xml', 'debugBoth': False, 'debugFailures': False, 'debugErrors': False, 'noDeprecated': False, 'enable_plugin_doctest': None, 'doctest_tests': None, 'doctestExtension': None, 'doctest_result_var': None, 'doctestFixtures': None, 'doctestOptions': None, 'enable_plugin_isolation': None, 'detailedErrors': None, 'noSkip': False, 'enable_plugin_id': None, 'testIdFile': '.noseids', 'failed': False, 'multiprocess_workers': 0, 'multiprocess_timeout': 10, 'multiprocess_restartworker': False, 'enable_plugin_xunit': None, 'xunit_file': 'nosetests.xml', 'xunit_testsuite_name': 'nosetests', 'enable_plugin_allmodules': None, 'collect_only': True}>, parser=<optparse.OptionParser object at 0x000002082BC98748>, parserClass=<class 'optparse.OptionParser'>, plugins=<nose.plugins.manager.DefaultPluginManager object at 0x000002082BBF49B0>, py3where=(), runOnInit=True, srcDirs=('lib', 'src'), stopOnError=False, stream=<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>, testMatch=re.compile('(?:^|[\\b_\\.\\-])[Tt]est'), testMatchPat='(?:^|[\\b_\\.\\-])[Tt]est', testNames=['.'], traverseNamespace=False, verbosity=4, where=(), worker=False, workingDir='f:\\Todo')
nose.importer: DEBUG: Add path f:\Todo
nose.plugins.collect: DEBUG: Preparing test loader
nose.core: DEBUG: test loader is <nose.loader.TestLoader object at 0x000002082CBDE4E0>
nose.core: DEBUG: defaultTest .
nose.core: DEBUG: Test names are ['.']
nose.core: DEBUG: createTests called with None
nose.loader: DEBUG: load from . (None)
nose.selector: DEBUG: Test name . resolved to file ., module None, call None
nose.selector: DEBUG: Final resolution of test name .: file f:\Todo module None call None
nose.plugins.collect: DEBUG: TestSuite([<nose.suite.LazySuite tests=generator<PHONE_NUMBER>104)>])
nose.plugins.collect: DEBUG: Add test <nose.suite.LazySuite tests=generator<PHONE_NUMBER>104)>
nose.core: DEBUG: runTests called
nose.suite: DEBUG: precache is []
nose.loader: DEBUG: load from dir f:\Todo
nose.importer: DEBUG: Add path f:\Todo
nose.selector: DEBUG: wantFile f:\Todo\todo.py? None
nose.selector: DEBUG: wantFile f:\Todo\test.py? True
nose.loader: DEBUG: load from f:\Todo\test.py (None)
nose.selector: DEBUG: Test name f:\Todo\test.py resolved to file f:\Todo\test.py, module None, call None
nose.selector: DEBUG: Final resolution of test name f:\Todo\test.py: file f:\Todo\test.py module test call None
nose.importer: DEBUG: Import test from f:\Todo
nose.importer: DEBUG: Add path f:\Todo
nose.importer: DEBUG: find module part test (test) in ['f:\\Todo']
nose.loader: DEBUG: Load from module <module 'test' from 'f:\\Todo\\test.py'>
nose.selector: DEBUG: wantModule <module 'test' from 'f:\\Todo\\test.py'>? True
nose.selector: DEBUG: wantFunction <function test_create at 0x000002082CC12268>? True
nose.selector: DEBUG: wantFunction <function test_get_command at 0x000002082CA3C950>? True
nose.selector: DEBUG: wantFunction <function test_get_fields at 0x000002082CC12158>? True
nose.selector: DEBUG: wantFunction <function test_run_command at 0x000002082CC121E0>? True
nose.plugins.collect: DEBUG: TestSuite(<nose.suite.ContextList object at 0x000002082CC0E828>)
nose.plugins.collect: DEBUG: Add test test.test_get_command
nose.plugins.collect: DEBUG: Add test test.test_get_fields
nose.plugins.collect: DEBUG: Add test test.test_run_command
nose.plugins.collect: DEBUG: Add test test.test_create
nose.plugins.collect: DEBUG: Preparing test case test.test_get_command
test.test_get_command ... ok
nose.plugins.collect: DEBUG: Preparing test case test.test_get_fields
test.test_get_fields ... ok
nose.plugins.collect: DEBUG: Preparing test case test.test_run_command
test.test_run_command ... ok
nose.plugins.collect: DEBUG: Preparing test case test.test_create
test.test_create ... ok
nose.suite: DEBUG: precache is []

----------------------------------------------------------------------
Ran 4 tests in 0.006s

OK

@gyj1109 this is output from nose itself and not us, so we don't really control what it says. Best we could do is not run with verbose mode on, but then some people find it useful to help debug when a plug-in isn't working or why their tests were not discovered. We will think about whether we want to change running nose with verbose output on, though.

@brettcannon
With verbose mode on, Nosetests will output the full name of the test, such as
test.test_get_command ... ok
test.test_get_fields ... ok
test.test_run_command ... ok
test.test_create ... ok

Nosetests doesn't output debug messages unless the debug option of Nosetests is added. So I think it might be that the debug option was added by mistake, this is not the output that the verbose mode should have.
These debug output does help to debug the plugin, but I don't think everyone need it. So maybe you can provide an option which will adding the debug option when call nosetests to let Nosetests output debugging information.
By the way, when running "Discover Unit Tests", I think it better say "Found 4 tests in XXs" instead of "Ran 4 tests in XXs".

These debug output does help to debug the plugin, but I don't think everyone need it.

Agreed.
This output is used for test discovery and is not useful for users. This could possibly be turned off, and turned on as part of some logging flag in the extension.
@brettcannon I've created a label to keep track of issues that need logging related changes.

Thanks! Closing as we're not planning to do this for now.


Feature Request StartForeground Android

Hi, I enjoy working with the library.
I'd like to propose a feature to "StartForeground" service for Android. It requires a notification though to be shown when the service is moved to foreground. Service can be moved from foreground by using "StopForeground", without stopping the service itself.  This allows the service to run even if the UI is swipe-closed, and when the app is launched again it can reconnect to the running service. It also prevents the Android to kill the service if it consumes too much CPU.
https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/services/foreground-services
I know it is a cross-platform library and I didn't find any similar feature for iOS services, didn't look into other platforms. Do you feel that it is something nice to have?

The usage example can be a GPS running app which can be minimized and should be prevented from killing by the System. On iOS the app is killed after around 45 minutes if it is minimized and still running the services.

did you solve it? because I'm looking for that too.


use input-device-specific outlines

Currently, outlines on buttons and links are disabled by default. This is an accessibility issue. To improve on the UX, we can use focus-visible for outlines on tabbed items, and fall back to focus for devices that do not support focus-visible

:tada: This issue has been resolved in version 4.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Password field in Basic authentication not masked

Expected Behavior
When the setting "Reveal passwords" is turned off in the settings, I expect the passwords to be hidden/masked by default. An eye button should be present for me to temporarily reveal the password (or any sensitive information), similar to API key:

Actual Behavior
When the setting "Reveal passwords" is turned off in the settings, passwords are revealed regardless.

Reproduction Steps

Ensure the "Reveal passwords" setting is turned off
Inside a collection, create a request
Set the Auth to Basic auth
Enter a username and password
Password is revealed regardless of settings

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
v10.1.0
What operating system are you using?
Windows
Operating System Version
Windows 11 Enterprise, 23H2, OS-build 22631.4169
Installation method
Download from insomnia.rest
Last Known Working Insomnia version
No response

Found the issue, the basic-auth.tsx does not mention "mask" causing it to be revealed as-if it is a regular field.
api-key-auth.tsx for example does.


Improve slash handling for buffer files in list_files

Makes sure that the leading slash is stripped after doing something like add_buffer_file("/file", ...). Also fixes list_files("dir/") not working for buffer files.

Thank you!


feat: astype: accept a kind of data type

https://github.com/data-apis/array-api/issues/841#issuecomment-2392032433 @rgommers

Gentle reminder of the 2024 milestone here!


Add student.txt

Just a reminder sir.

Just a reminder sir.

@kasunjayasingha Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Enclose pygame error types in quotes

e.g. event.type == 'QUIT'

see line 596 of build 14

Fixed by merging mongoosehunter's pull request.


Index optimization

Currently the index stores a lot of redudant information. Look into ways of optimizing its space footprint and/or methods of compression that are compatible with CRA/Webpack.

Findings: gzipping the index and storing it as Base64 is definitely promising, since it reduces the unpacked size of websoc-fuzzy-search to around 400 kB from the current 1.6 MB. However, it also introduces some client-side overhead, since the data has to be decompressed on every page load.
TODO: aim to reduce redundant data in the index before adopting compression.


API Syntax error in role creation

This is true at least in 8.12.x, but the API call to make the role had a syntax error, it should NOT include the line:
  "myrole": {

And it's corresponding closing brace.
Therefore the full block should instead be:
PUT _security/role/YOURROLE
{
  "cluster": [
    "monitor"
  ],
  "indices": [
    {
      "names": [
        "logs-*-*"
      ],
      "privileges": [
        "auto_configure",
        "create_doc"
      ],
      "allow_restricted_indices": false
    },
    {
      "names": [
        "app-write",
        "audit-write",
      ],
      "privileges": [
        "create_doc",
        "read"
      ],
      "allow_restricted_indices": false
    }
  ],
  "applications": [],
  "run_as": [],
  "metadata": {},
  "transient_metadata": {
    "enabled": true
  }
}

The new version of the blog, which is online contains the aforementioned fix. Thank you very much for the feedback!


backgroundColor in Text widgets not shown correctly in arabic texts(rtl) when rendering a space character

Hello @adals !
Thank you for posting an issue here.
Can you please also provide additional information such as an output of the flutter doctor -v command?
Thank you.

$ flutter doctor -v
[✓] Flutter (Channel dev, v1.10.3, on Mac OS X 10.14.6 18G95, locale en-SA)
• Flutter version 1.10.3 at /Users/aaa/flutter
• Framework revision 2f3515de31 (5 days ago), 2019-09-13 17:52:41 -0400
• Engine revision 7d8c6d9c1a
• Dart version 2.6.0 (build 2.6.0-dev.0.0 a554c8be6b)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
• Android SDK at /Users/aaa/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.3, Build version 10G8
• CocoaPods version 1.7.5
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 39.0.3
• Dart plugin version 191.8423
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.38.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.4.1
[!] Connected device
! No devices available
! Doctor found issues in 1 category.

Could you tell us what you made different between the two screenshots above?

Could you tell us what you made different between the two screenshots above?

nothing I just wanted to see if there is any different "rendering" between ios and android

Sorry, I missed that one was iOS, thanks for clarifying

no problem

Thanks a lot! Could you now just paste your code here as code snippet so that the flutter team can copy it out,

import 'package:flutter/material.dart';

void main() => runApp(
      MaterialApp(
        home: Container(
//        padding:EdgeInsets.only(top:35.0),
          child: SafeArea(
            child: Column(
              children: <Widget>[
                Text(
                  "انا اريد",
                  style: TextStyle(
                      backgroundColor: Colors.blue,
                      fontStyle: FontStyle.normal,
                      decoration: TextDecoration.none,
                      color: Colors.amber),
                ),
                Text(
                  "ich wünche ",
                  style: TextStyle(
                      backgroundColor: Colors.red,
                      fontStyle: FontStyle.normal,
                      decoration: TextDecoration.none,
                      color: Colors.green),
                ),
                Text(
                  "I Want ",
                  style: TextStyle(
                      backgroundColor: Colors.brown,
                      fontStyle: FontStyle.normal,
                      decoration: TextDecoration.none,
                      color: Colors.lightGreenAccent),
                ),
              ],
            ),
          ),
        ),
      ),
    );

A workaround fot this issue (until it's fixed): use a custom Arabic font. Any Arabic font (other that the default font in Android) should work fine.

@OsamaAbbas yes tested and it works with 'Cairo' fonts

This is most likely due to different fonts being on iOS and android. Using a custom font guarantees the same font is being used on all platforms.
If there are no further questions comments, I will close this :)

This is most likely due to different fonts being on iOS and android. Using a custom font guarantees the same font is being used on all platforms.
If there are no further questions comments, I will close this :)

While I don't know for sure, I think it's because the font engine (when dealing with some fonts that may have different height settings for glyphs) considers the space charachter a latin charachter, so it gets the height of latin charachters instead of the surrounding Arabic (or Hebrew, or RTL in general) charachters. It could also be related to the other long standing issues [39755 and 44449] of mixed charachters in the case of justified text.


Test/airgapped

Coverage increased (+2.32%) to 95.51% when pulling ce4cdfd4011722a5ece133a195bd6830ea44d69c on isocolsky:test/airgapped into e9a9491b53e53054b45f04811a5b19a9e00fde50 on bitpay:master.